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 Variant
 ThisDrawing.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),然后再进一步细化检查。

以上部分来自网络,不正之处欢迎批评指正。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/425907.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

(3)(3.1) FlightDeck FrSky发射器应用程序

文章目录 前言 1 概述 2 Turnkey Packages 3 参数说明 前言 ​Craft and Theory 的 FlightDeck 可让你轻松查看飞行模式、高度、速度、姿态和关键系统警报,包括故障保护和电池错误,如电池不平衡警告和发射机低电量警报。 1 概述 Craft and Theory 的…

防抖和节流的实现

《防抖和节流》 防抖1. 概念介绍2. 函数实现3. 应用场景 节流1. 概念介绍2. 函数实现3. 应用场景 防抖 1. 概念介绍 在没有使用防抖函数之前:当我们需要搜索某些物体信息时会导致浏览器压力很大,性能很低。"防抖函数"的作用就是等到用户停止…

双周回顾#006 - 这三个月

断更啦~~ 上次更新时间 2023/11/23, 断更近三个月的时间。 先狡辩下,因为忙、着实忙。因为忙,心安理得给断更找了个借口,批评下自己~~ 这三个月在做啥?跨部门援助,支援公司互联网的 ToC 项目,一言难尽。 …

sql 注入 之sqli-labs/less-6 双注入,双引号报错注入

和第五关类似,只不过闭合符号是双引号 1,查数据库 1"and%20(updatexml(1,concat(0x7e,(select%20database()),0x7e),1))%20-- 2.查表 内容有多行,所以使用limit依次查询 1"and%20(updatexml(1,concat(0x7e,(select%20table_nam…

一款汇聚 精美UI+AI内容生成助手 的实用白板工具

大家好,我是Mandy。今天给大家分享的内容是,如何利用AI快速生成思维导图、PPT、绘画等功能,本文分享的AI功能是基于boardmix实现。 boardmix是一款非常精美的在线白板工具,是一个实时协作的智慧白板上、一键生成PPT、用AI协助创作…

Benchmark学习笔记

小记一篇Benchmark的学习笔记 1.什么是benchmark 在维基百科中,是这样子讲的 “As computer architecture advanced, it became more difficult to compare the performance of various computer systems simply by looking at their specifications.Therefore, te…

项目设计:基于Qt和百度AI的车牌识别系统(嵌入式ARM)

基于Qt和百度AI智能云实现的智能车牌识别系统,具体可实现为停车场管理系统、智能计费停车系统…等。 1.系统实现思路及框架 1.1实现思路 要实现一个车牌识别系统,有多种方法,例如用opencv图像算法实现,或用第三方算法接口&#x…

02-设计概述

上一篇:01-导言 本章重点讨论 JNI 中的主要设计问题。本节中的大多数设计问题都与本地方法有关。调用 API 的设计将在第 5 章:调用 API 中介绍。 2.1 JNI 接口函数和指针 本地代码通过调用 JNI 函数来访问 Java 虚拟机功能。JNI 函数可通过接口指针使用…

设计模式(九)模版方法模式

请直接看原文:设计模式(九)模版方法模式_模板方法模式的优缺点-CSDN博客 -------------------------------------------------------------------------------------------------------------------------------- 1.模版方法模式简介 模版方法模式介…

无人机巡检技术方案,无人机智能化巡检在火电厂的应用场景分析

无人机智能化巡检是一种将先进的无人机技术与人工智能、大数据分析等现代信息技术相结合的新型巡检方式,主要用于替代或辅助传统的人工巡检,在多个领域实现高效、精准和安全的巡查工作。 无人机技术在火电厂巡检中的应用: 无人机电力巡航&a…

中科大计网学习记录笔记(十七):拥塞控制原理 | TCP 拥塞控制

前言: 学习视频:中科大郑烇、杨坚全套《计算机网络(自顶向下方法 第7版,James F.Kurose,Keith W.Ross)》课程 该视频是B站非常著名的计网学习视频,但相信很多朋友和我一样在听完前面的部分发现信…

(每日持续更新)jdk api之PipedReader基础、应用、实战

博主18年的互联网软件开发经验,从一名程序员小白逐步成为了一名架构师,我想通过平台将经验分享给大家,因此博主每天会在各个大牛网站点赞量超高的博客等寻找该技术栈的资料结合自己的经验,晚上进行用心精简、整理、总结、定稿&…

多路转接之epoll

常用的三个API: epoll_create(); //例如 int epfd epoll(10);创建一棵有10个结点的红黑树,注意:这个数只是对内核建议的数值,内核参照这个参数去构建epoll_ctrl();//参数2 op可以取值 EPOLL_CTL_ADD/MOD/DELevents:EPOLLIN/…

C++进阶(二) 多态

一、多态的概念 多态的概念:通俗来说,就是多种形态, 具体点就是去完成某个行为,当不同的对象去完成时会 产生出不同的状态。举个栗子:比如买票这个行为,当普通人买票时,是全价买票;学…

Sora:探索大型视觉模型的前世今生、技术内核及未来趋势

Sora,一款由OpenAI在2024年2月推出的创新性文生视频的生成式AI模型,能够依据文字说明,创作出既真实又富有想象力的场景视频,展现了其在模拟现实世界方面的巨大潜能。本文基于公开技术文档和逆向工程分析,全面审视了Sor…

java八股文复习-----2024/03/03

1.接口和抽象类的区别 相似点: (1)接口和抽象类都不能被实例化 (2)实现接口或继承抽象类的普通子类都必须实现这些抽象方法 不同点: (1)抽象类可以包含普通方法和代码块&#x…

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…

腾讯云4核8G服务器申请费用多少?性能如何?支持几个人?

腾讯云4核8G服务器支持多少人在线访问&#xff1f;支持25人同时访问。实际上程序效率不同支持人数在线人数不同&#xff0c;公网带宽也是影响4核8G服务器并发数的一大因素&#xff0c;假设公网带宽太小&#xff0c;流量直接卡在入口&#xff0c;4核8G配置的CPU内存也会造成计算…

【详识JAVA语言】面向对象程序三大特性之三:多态

多态 多态的概念 多态的概念&#xff1a;通俗来说&#xff0c;就是多种形态&#xff0c;具体点就是去完成某个行为&#xff0c;当不同的对象去完成时会产生出不同的状态。 多态实现条件 在java中要实现多态&#xff0c;必须要满足如下几个条件&#xff0c;缺一不可&#xf…

Sqli-labs靶场第20关详解[Sqli-labs-less-20]自动化注入-SQLmap工具注入

Sqli-labs-Less-20 通过测试发现&#xff0c;在登录界面没有注入点&#xff0c;通过已知账号密码admin&#xff0c;admin进行登录发现&#xff1a; 登录后会有记录 Cookie 值 设想如果在Cookie尝试加上注入语句&#xff08;报错注入&#xff09;&#xff0c;测试是否会执行…