AutoCAD开发1---获取块属性
Private Sub CommandButton1_Click()
Dim pEntity As AcadObject
Dim pBlock As AcadBlockReference
Dim pPolyline As AcadLWPolyline
Dim pSlct As AcadSelectionSet
'若 Entity 选择集存在,则删除选择集,删除后并添加
For i = 0 To ThisDrawing.SelectionSets.Count - 1
If ThisDrawing.SelectionSets.Item(i).Name = "Entity" Then
Set pSlct = ThisDrawing.SelectionSets.Item(i)
pSlct.Delete
End If
Next i
Set pSlct = ThisDrawing.SelectionSets.Add("Entity")
'隐藏窗体,并用 SelectOnScreen 方法选择
UserForm1.Hide
pSlct.SelectOnScreen
'定义要获取的数据的类型和数据载体
Dim pXDataType As Variant
Dim pXDatavlaue As Variant
'定义块的插入点,坐标存放数组
Dim pInsertPt As Variant
Dim pCoords As Variant
Dim sCoor As String
For Each pEntity In pSlct
'Debug.Print pEntity.ObjectName
If pEntity.ObjectName = "AcDbBlockReference" Then
Set pBlock = pEntity
pBlock.GetXData "SOUTH", pXDataType, pXDatavlaue
pInsertPt = pBlock.InsertionPoint
'Debug.Print pXDataType(0) & "," & pXDataType(1)
'Debug.Print pXDatavlaue(1) & "," & pInsertPt(0) & "," & pInsertPt(1) & "," & pBlock.Linetype & "," & pBlock.LinetypeScale & "," & pBlock.Lineweight & "," & pBlock.HasAttributes & "," & pBlock.XScaleFactor & "," & pBlock.YScaleFactor&; "," & pBlock.ZScaleFactor
'Debug.Print pBlock.Name & "," & pBlock.Layer
'Debug.Print pBlock.ObjectID & "," & pBlock.Handle & "," & pXDatavlaue(1) & "," & pInsertPt(0) & "," & pInsertPt(1)
'Debug.Print pBlock.Linetype & "," & pBlock.LinetypeScale & "," & pBlock.Lineweight
'Debug.Print pBlock.XScaleFactor & "," & pBlock.YScaleFactor & "," & pBlock.ZScaleFactor
'Debug.Print
MsgBox "块 名:" & pBlock.Name & Chr(13) & "所在层:" & pBlock.Layer & Chr(13) & "编 码:" & pXDatavlaue(1) & Chr(13) & "坐 标:" & Format(pInsertPt(0), "0.0000") & "," & Format(pInsertPt(1), "0.0000")
ElseIf pEntity.ObjectName = "AcDbPolyline" Then
Set pPolyline = pEntity
pPolyline.GetXData "SOUTH", pXDataType, pXDatavlaue
pCoords = pPolyline.Coordinates
'Debug.Print pXDatavlaue(1) & "," & pPolyline.ObjectID
For j = 0 To UBound(pCoords)
If j Mod 2 = 0 Then
'Debug.Print sCoor
sCoor = ""
End If
sCoor = sCoor & pCoords(j) & ","
Next j
Debug.Print
End If
Next pEntity
pSlct.Delete
'UserForm1.Show
End Sub
AutoCAD开发1---获取块属性的更多相关文章
- NX二次开发-UFUN获取块的参数UF_MODL_ask_block_parms
NX11+VS2013 #include <uf.h> #include <uf_modl.h> #include <uf_ui.h> UF_initialize( ...
- AutoCAD开发4--添加块)
Private Sub CommandButton3_Click() Dim pInsertPnt As Variant 'pInsertPnt(0) = 100.5141: pInsertPnt(1 ...
- AutoCAD开发2--添加带属性的点
Private Sub CommandButton11_Click() Dim pPoint As AcadPoint Dim DataType(0 To 1) As Integer Dim Data ...
- C#.Net实现AutoCAD块属性提取
https://blog.csdn.net/dengyiyu/article/details/2201175 本文主要给大家介绍一下SmartSoft中用C#.Net实现AutoCAD块属性提取的方法 ...
- C#开发BIMFACE系列18 服务端API之获取模型数据3:获取构件属性
系列目录 [已更新最新开发文章,点击查看详细] 本篇主要介绍如何获取单文件/模型下单个构建的属性信息. 请求地址:GET https://api.bimface.com/data/v2/fil ...
- C#开发BIMFACE系列20 服务端API之获取模型数据5:批量获取构件属性
系列目录 [已更新最新开发文章,点击查看详细] 在<C#开发BIMFACE系列18 服务端API之获取模型数据3:获取构件属性>中介绍了获取单个文件/模型的单个构建的属性,本篇介绍 ...
- Python中如何获取类属性的列表
这篇文章主要给大家介绍了在Python中如何获取类属性的列表,文中通过示例代码介绍的很详细,相信对大家的学习或者工作具有一定的参考借鉴价值,有需要的朋友可以参考借鉴,下面来一起看看吧. 前言 最近工作 ...
- JS中isPrototypeOf 和hasOwnProperty 的区别 ------- js使用in和hasOwnProperty获取对象属性的区别
JS中isPrototypeOf 和hasOwnProperty 的区别 1.isPrototypeOf isPrototypeOf是用来判断指定对象object1是否存在于另一个对象object2的 ...
- js中获取css属性
直接获取 window.onload = function() { var but = document.getElementById('button'); var div = document.ge ...
随机推荐
- PAT 甲级 1005 Spell It Right (20 分)
1005 Spell It Right (20 分) Given a non-negative integer N, your task is to compute the sum of all th ...
- kafka partition(分区)与 group(转)
原文 https://www.cnblogs.com/liuwei6/p/6900686.html 一. 1.原理图 2.原理描述 一个topic 可以配置几个partition,produce发送 ...
- 上线啦,PP.io!
经过我们PPIO团队成员们在20天零13小时零14分的辛勤努力下,我们的官网终于上线了! 是的,14年前我们就是东半球第一个P2P技术团队.我们的征程始于2004年春天一个温暖的午后.寝室里笨拙的 ...
- 20165312 2017-2018-2 《JAVA程序设计》第6周学习总结
20165312 2017-2018-2 <JAVA程序设计>第6周学习总结 一.在本周学习过程中遇到的问题以及对上周测试的查漏补缺 编写110页代码时出现问题,主类Test中创建CPU对 ...
- c# 抽象类 抽象函数 接口
抽象类与抽象方法: 被abstract关键字修饰的类叫做抽象类 被abstract关键字修饰的方法叫做抽象方法 1.抽象方法必须放在抽象类中 2.抽象方法不可以实现代码,用空语句替代 3.抽象方法可以 ...
- springBoot 整合mybaits 逆向工程
pom.xml文件中增加配置项 <build> <plugins> <plugin> <groupId>org.springframework.boot ...
- The perception and large margin classifiers
假设样例按照到来的先后顺序依次定义为.为样本特征,为类别标签.任务是到来一个样例,给出其类别结果的预测值,之后我们会看到真实值,然后根据真实值来重新调整模型参数,整个过程是重复迭代的过程,直到所有的样 ...
- Flask与WSGI
刚开始接触到python及Flask框架时,总是会听到 wsgi等等相关的名词,以及 项目部署时会用到nginx+gunicorn等等,但是对于一个请求从 nignx到gunicorn再到falsk框 ...
- leetCode26.删除排序数组中的重复项
给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成. 示例 1 ...
- JVM 垃圾回收GC Roots Tracing
1.跟搜索算法: JVM中对内存进行回收时,需要判断对象是否仍在使用中,可以通过GC Roots Tracing辨别. 定义: 通过一系列名为”GCRoots”的对象作为起始点,从这个节点向下搜索,搜 ...