00X集——vba獲取CAD圖中圖元類名objectname

?

????????在CAD中,通過快捷鍵PL(即POLYLINE命令)繪制的線屬于AcDbPolyline。AcDbPolyline也被稱為LWPOLYLINE,即簡單Polyline,它所包含的對象在本身內部。

????????此外,CAD中還有另一種二維多段線對象,稱為AcDb2dPolyline(也被稱為POLYLINE)。這是一個復雜的實體,所包含的對象并不在本身內部,而是獨立的點對象。但在現代的CAD使用中,AcDb2dPolyline已經逐步被淘汰,不常用了。因此,通過快捷鍵PL繪制的線,一般被認為是AcDbPolyline(LWPOLYLINE)。

????????AcDb2dPolyline與AcDbPolyline是AutoCAD中兩種不同類型的二維多段線對象,它們在功能和使用上有一些區別。

  1. 效率與結構:AcDbPolyLine類是一個優化過的類,它的效率更高,可以直接訪問頂點信息。而AcDb2DPolyLine類定義的實體是一個復雜的實體,需要遍歷該對象包含的AcDb2dVertex對象才能訪問到頂點信息。
  2. 組碼與對象包含:AcDbPolyline的組碼是LWPOLYLINE(LW-Low Level),這是一個簡單的Polyline,它所包含的對象都在其內部。而AcDb2dPolyline的組碼是POLYLINE,這是一個復雜的實體,它所包含的對象并不在其本身內部,而是獨立的點對象。
  3. 常用程度與淘汰:AcDbPolyline(LWPOLYLINE)是常用的類,而AcDb2dPolyline是舊版的類,不常用,并逐步在淘汰中。
  4. 創建方式:在AutoCAD中,使用PLINETYPE命令可以控制如何使用PLINE命令創建新多段線以及是否轉換早期版本圖形中的現有多段線。例如,將PLINETYPE的新值設置為0,將使用優化的二維多段線,即AcDbPolyline。

總的來說,AcDbPolyline(LWPOLYLINE)是一個更優化、更常用且結構簡單的類,而AcDb2dPolyline是一個復雜且逐步被淘汰的類。在實際使用中,推薦使用AcDbPolyline類。

請注意,以上信息可能因CAD版本的不同而有所差異,建議參考具體版本的官方文檔或相關資料以獲得最準確的信息。

????????在AutoCAD中,AcadPolyline通常指的是通過AutoCAD VBA(Visual Basic for Applications)訪問的二維多段線對象,它是AutoCAD中的一個實體類型。二維多段線是由一系列直線段和/或圓弧段組成的連續曲線,所有這些段都位于同一個平面上。在AutoCAD的VBA環境中,你可以使用AcadPolyline對象來創建、編輯和查詢二維多段線的屬性和幾何信息。

????????然而,AcDbPolyline實際上并不是一個直接在AutoCAD VBA中使用的對象類型。相反,AcDbPolyline是AutoCAD的數據庫API(通常是.NET API或ObjectARX API)中的一個類,用于表示存儲在數據庫中的二維多段線數據。這個類提供了對多段線數據的底層訪問,允許你進行更復雜的操作,比如直接操作數據庫中的多段線數據。

????????簡而言之,AcadPolyline是在AutoCAD VBA環境中用于操作和交互的二維多段線對象,而AcDbPolyline是在AutoCAD的數據庫API中用于表示和操作二維多段線數據的類。這兩者之間的關系類似于AutoCAD用戶界面和底層數據庫之間的關系:一個是用戶交互的接口,另一個是存儲和操作數據的底層機制。

????????需要注意的是,AutoCAD的API和VBA環境可能會隨著軟件版本的更新而發生變化,因此建議查閱你正在使用的AutoCAD版本的官方文檔以獲取最準確的信息。

????????在AutoCAD中,通過快捷鍵PL繪制的線實際上是一個聚合線(Polyline),而不是AcadPolyline對象。聚合線(Polyline)是由一系列相連的直線段組成的對象,它不同于二維多段線(2D Polyline)。

????????盡管聚合線(Polyline)和二維多段線(2D Polyline)在外觀上可能很相似,但它們在功能和屬性上有所不同。二維多段線(2D Polyline)是一個更復雜的對象,可以包含直線段和圓弧段的組合,并且具有更多的屬性和設置選項。相比之下,聚合線(Polyline)僅由直線段組成,并且其屬性和功能相對有限。

因此,通過快捷鍵PL繪制的線屬于聚合線(Polyline),而不是AcadPolyline對象。要創建二維多段線(2D Polyline),你可以使用其他方法,例如在命令行中輸入2DPOLY命令或選擇相應的菜單選項。

????????獲取類名代碼如下:

'2024年3月3日21:38:39 copyrights@ qq443440204
Sub 獲取objectname類名()
Dim obj As Object
Dim pt(2) As VariantThisDrawing.Utility.GetEntity obj, pt, "請選擇"
MsgBox obj.ObjectName
If TypeOf obj Is AcadObject Then
MsgBox "好"
End If
End Sub

?

?

在AutoCAD VBA中,你可以使用TypeOf來檢查對象是否為特定的AutoCAD對象類型。AutoCAD VBA支持的對象類型非常多樣化,涵蓋了AutoCAD中幾乎所有的實體和組件。以下是一些常見的AutoCAD對象類型,你可以在TypeOf語句中使用它們來檢查對象的類型:

  1. 基礎對象類型
    • AcadBlockReference:塊參照(Block Reference)
    • AcadDimension:標注(Dimension)
    • AcadHatch:填充(Hatch)
    • AcadLayer:圖層(Layer)
    • AcadLine:直線(Line)
    • AcadMLine:多線(Multiline)
    • AcadPoint:點(Point)
    • AcadPolyline:二維多段線(2D Polyline)
    • Acad3DPolyline:三維多段線(3D Polyline)
    • AcadCircle:圓(Circle)
    • AcadArc:圓弧(Arc)
    • AcadEllipse:橢圓(Ellipse)
    • AcadText:文本(Text)
    • AcadInsert:插入(Insert)
    • AcadRay:射線(Ray)
    • AcadXLine:構造線(Xline)
    • AcadSpline:樣條曲線(Spline)
  2. 高級對象類型
    • AcadBlockTable:塊表(Block Table)
    • AcadBlockTableRecord:塊表記錄(Block Table Record)
    • AcadDictionary:字典(Dictionary)
    • AcadDictionaryEntry:字典條目(Dictionary Entry)
    • AcadLayout:布局(Layout)
    • AcadObjectId:對象ID(Object ID)
    • AcadObject:基礎對象(Generic Object)
    • AcadSelectionSet:選擇集(Selection Set)
    • AcadTransaction:事務(Transaction)
  3. 集合和數組
    • AcadObjectIdArray:對象ID數組
    • AcadObjectArray:對象數組
    • AcadBlockTableRecordIterator:塊表記錄迭代器
  4. 其他
    • AcadDatabase:數據庫(Database)
    • AcadDocument:文檔(Document)
    • AcadApplication:應用程序(Application)
    • AcadUtility:實用工具(Utility)

請注意,隨著AutoCAD版本的更新,新的對象類型可能會被添加,而舊的對象類型可能會被棄用或替換。因此,為了獲得最準確的信息,你應該查閱與你正在使用的AutoCAD版本相對應的官方文檔或幫助文件。

使用TypeOf時,你需要確保你正在檢查的對象確實是你期望的類型,否則你可能會遇到運行時錯誤。如果你不確定對象的類型,你可以先使用TypeOf來檢查它是否屬于一個更通用的類型(如AcadObject),然后再進一步細化檢查。

以上部分來自網絡,不正之處歡迎批評指正。?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/717269.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/717269.shtml
英文地址,請注明出處:http://en.pswp.cn/news/717269.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ViewModel 原理

在現代Android應用開發中,ViewModel是架構組件庫的一個關鍵部分,它在提高應用的穩定性和性能方面發揮著重要作用。在這篇文章中,我們將深入探討ViewModel的工作原理和最佳實踐。 ViewModel簡介 ViewModel是Android Jetpack架構組件的一部分…

ubuntu安裝Avahi發現服務工具

一、簡介 解決設置固定ip后無法連接外網的問題,目前采用動態獲取ip,可以不用設置設備的固定IP,直接可以通過域名來訪問設備,類似樹莓派的連接調試 二、安裝 本文使用的是ubuntu23.10.1上安裝 1.安裝工具 sudo apt install av…

2.模擬問題——4.日期問題

日期問題難度并不大,但是代碼量非常大,需要較高的熟練度,因此需要著重練習,主要涉及數組和循環兩個方面的知識點,需要熟練的測試代碼。 兩個經典題型 閏年 閏年滿足以下兩個條件的任意一個 能夠被400整除不能夠被1…

MyBatis攔截器實現打印完整SQL語句

我們在執行語句的時候會使用Mybatis自帶的日志打印工具,但是打印的時候參數會用?代替,顯得看起來不是那么直觀,所以通過實現了InnerInterceptor接口,并重寫了beforeQuery和beforeUpdate方法。在這兩個方法中,它會獲取…

【Acwing】差分矩陣

圖1&#xff1a;a和b數組映射表 由于a是b的前綴和數組&#xff0c;因此改變b[ x1][ y1]之后&#xff0c;受到影響的a中元素如右半圖所示 圖2&#xff1a;求b數組的前綴和 #include<bits/stdc.h> using namespace std;int n,m,q; int a[1010][1010]; int b[1010][1010]…

work 3/1

1>機械臂 #include <head.h> #define SER_POTR 8899 #define SER_IP "192.168.125.223" int main(int argc, const char *argv[]) {//創建套接字int cfdsocket(AF_INET,SOCK_STREAM,0);if(cfd-1){perror("");return -1;}//鏈接struct sockaddr_i…

一文搞懂瀏覽器緩存機制

文章目錄 概述強制緩存協商緩存總結參考文章 概述 瀏覽器的緩存機制也就是我們說的HTTP緩存機制&#xff0c;其機制是根據HTTP報文的緩存標識進行的 瀏覽器第一次向服務器發送HTTP請求, 瀏覽器拿到請求結果后&#xff0c;會根據響應報文的緩存標識&#xff0c;決定是否進行緩存…

機器學習:數據處理基操

在處理完數據之后&#xff0c;選擇好模型&#xff0c;就可以用訓練集訓練模型&#xff0c;用測試集輸入模型 然后輸出需要預測的結果啦&#xff5e; 一、模塊導入 import numpy as np import pandas as pd #讀入數據 二、pandas數據 一、dataframe基礎 一、dataframe的創建…

github新手使用詳解及環境搭建案例

對于 GitHub 的新手使用以及環境搭建&#xff0c;以下是詳細的步驟和案例&#xff1a; 一、GitHub 新手使用詳解 注冊 GitHub 賬號&#xff1a;首先&#xff0c;你需要在 GitHub 官網上注冊一個賬號。填寫必要的個人信息&#xff0c;如用戶名、郵箱和密碼等。注冊完成后&…

【代碼】Android|判斷asserts下的文件存在與否,以及普通文件存在與否

作者版本&#xff1a;Android 11及以上 主要是發現網上沒有完整的、能跑的代碼&#xff0c;不知道怎么回事&#xff0c;GPT給我重寫的。我只能保證這個代碼尊嘟能跑&#xff0c;不像其他的缺胳膊少腿的。 asserts 貼一下結果&#xff1a; boolean isAssertFileExists(String …

Nginx配置php起WoWSimpleRegistration服務

WoWSimpleRegistration服務的git地址&#xff1a; GitHub - TrinityCore/WoWSimpleRegistration: Simple Registration page for TrinityCore/AzerothCore/AshamaneCore/CMangos 下載WoWSimpleRegistration 首先git下載&#xff1a; git clone https://github.com/TrinityC…

kafka消費者接收不到消息

背景&#xff1a; 對kafka消息進行監聽&#xff0c;生產者發了消息&#xff0c;但是消費端沒有接到消息&#xff0c;監聽代碼 消費端&#xff0c;kafka配置 spring.kafka.bootstrap-serverskafka.cestc.dmp:9591 spring.kafka.properties.sasl.jaas.configorg.apache.kafka.…

29.HarmonyOS App(JAVA)通知

普通通知: 通知渠道,彈出消息后&#xff0c;自動消失 長文本通知 //多行文本通知 //圖片通知 //社交通知 //媒體通知--經測試&#xff0c;圖片無法顯示&#xff0c;文字不顯示 場景介紹 HarmonyOS提供了通知功能&#xff0c;即在一個應用的UI界面之外顯示的消息&#xff0c;主…

C++之結構體以及通訊錄管理系統

1&#xff0c;結構體基本概念 結構體屬于自定義的數據概念&#xff0c;允許用戶存儲不同的數據類型 2&#xff0c;結構體的定義和使用 語法&#xff1a;struct 結構體名{ 結構體成員列表}&#xff1b; 通過結構體創建變量的方式有三種&#xff1a; 1&#xff0c;struct …

【簡說八股】面試官:你知道什么是AOP么?

回答 AOP(Aspect-Oriented Programming)&#xff0c;即面向切面編程&#xff0c;是一種編程范式&#xff0c;它的主要思想是將應用程序中的橫切關注點&#xff08;如日志記錄、性能統計、安全控制等&#xff09;從業務邏輯中剝離出來&#xff0c;然后通過特殊的方式將這些橫切…

設計模式學習筆記 - 設計原則 - 8.迪米特法則(LOD)

前言 迪米特法則&#xff0c;是一個非常實用的原則。利用這個原則&#xff0c;可以幫我們實現代碼的 “高內聚、松耦合”。 圍繞下面幾個問題&#xff0c;來學習迪米特原則。 什么是 “高內聚、松耦合”&#xff1f;如何利用迪米特法則來實現 高內聚、松耦合&#xff1f;哪些…

程序員求職

程序員的金三銀四求職寶典 隨著春天的腳步漸近&#xff0c;對于許多程序員來說&#xff0c;一年中最繁忙、最重要的面試季節也隨之而來。金三銀四&#xff0c;即三月和四月&#xff0c;被廣大程序員視為求職的黃金時期。在這兩個月里&#xff0c;各大公司紛紛開放招聘&#xf…

技術實踐|百度安全「大模型內容安全」高級攻擊風險評測

1、引子 2023年10月16日&#xff0c;OWASP發布了《OWASP Top 10 for LLM Applications》&#xff0c;這對于新興的大語言模型安全領域&#xff0c;可謂一份綱領性的重要報告。 OWASP是開放式Web應用程序安全項目&#xff08;Open Web Application Security Project&#xff0…

【Linux網絡命令系列】ping curl telnet三劍客

&#x1f49d;&#x1f49d;&#x1f49d;歡迎來到我的博客&#xff0c;很高興能夠在這里和您見面&#xff01;希望您在這里可以感受到一份輕松愉快的氛圍&#xff0c;不僅可以獲得有趣的內容和知識&#xff0c;也可以暢所欲言、分享您的想法和見解。 推薦:kwan 的首頁,持續學…

【C++】vector的使用和模擬實現(超級詳解!!!!)

文章目錄 前言1.vector的介紹及使用1.1 vector的介紹1.2 vector的使用1.2.1 vector的定義1.2.2 vector iterator 的使用1.2.3 vector 空間增長問題1.2.3 vector 增刪查改1.2.4 vector 迭代器失效問題。&#xff08;重點!!!!!!&#xff09;1.2.5 vector 在OJ中有關的練習題 2.ve…