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---获取块属性的更多相关文章

  1. NX二次开发-UFUN获取块的参数UF_MODL_ask_block_parms

    NX11+VS2013 #include <uf.h> #include <uf_modl.h> #include <uf_ui.h> UF_initialize( ...

  2. AutoCAD开发4--添加块)

    Private Sub CommandButton3_Click() Dim pInsertPnt As Variant 'pInsertPnt(0) = 100.5141: pInsertPnt(1 ...

  3. AutoCAD开发2--添加带属性的点

    Private Sub CommandButton11_Click() Dim pPoint As AcadPoint Dim DataType(0 To 1) As Integer Dim Data ...

  4. C#.Net实现AutoCAD块属性提取

    https://blog.csdn.net/dengyiyu/article/details/2201175 本文主要给大家介绍一下SmartSoft中用C#.Net实现AutoCAD块属性提取的方法 ...

  5. C#开发BIMFACE系列18 服务端API之获取模型数据3:获取构件属性

    系列目录     [已更新最新开发文章,点击查看详细] 本篇主要介绍如何获取单文件/模型下单个构建的属性信息. 请求地址:GET https://api.bimface.com/data/v2/fil ...

  6. C#开发BIMFACE系列20 服务端API之获取模型数据5:批量获取构件属性

    系列目录     [已更新最新开发文章,点击查看详细] 在<C#开发BIMFACE系列18 服务端API之获取模型数据3:获取构件属性>中介绍了获取单个文件/模型的单个构建的属性,本篇介绍 ...

  7. Python中如何获取类属性的列表

    这篇文章主要给大家介绍了在Python中如何获取类属性的列表,文中通过示例代码介绍的很详细,相信对大家的学习或者工作具有一定的参考借鉴价值,有需要的朋友可以参考借鉴,下面来一起看看吧. 前言 最近工作 ...

  8. JS中isPrototypeOf 和hasOwnProperty 的区别 ------- js使用in和hasOwnProperty获取对象属性的区别

    JS中isPrototypeOf 和hasOwnProperty 的区别 1.isPrototypeOf isPrototypeOf是用来判断指定对象object1是否存在于另一个对象object2的 ...

  9. js中获取css属性

    直接获取 window.onload = function() { var but = document.getElementById('button'); var div = document.ge ...

随机推荐

  1. vagrant up报错 Warning: Authentication failure. Retrying...解决方案

    参照链接 https://www.cnblogs.com/zqifa/p/vagrant-1.html 可以解决问题.

  2. laravel5.5 excel扩展包的安装和使用

    (文章引用来源 http://www.cnblogs.com/djwhome/p/9322112.html   有自己的补充用于记录) (在此次项目中,本人亲自尝试,标题中文无论如何转换(GBK.gb ...

  3. Windows驱动开发

    http://blog.csdn.net/sagittarius_warrior/article/details/51000241

  4. kafka集群的错误处理--kafka一个节点挂了,导致消费失败

    今天由于kafka集群搭建时的配置不当,由于一台主消费者挂掉(服务器崩了,需要维修),导致了所有新版消费者(新版的offset存储在kafka)都无法拉取消息. 由于是线上问题,所以是绝对不能影响用户 ...

  5. 0003 - 基于xml的Spring Bean 的创建过程

    一.目录 前言 创建 Bean 容器 加载 Bean 定义 创建 Bean Spring Bean 创建过程中的设计模式 总结 二.前言 2.1 Spring 使用配置 ApplicationCont ...

  6. solidworks建立三维模型里面的几何对象和工程图里面的元素的联系

    本文是帮助里面的一个例子, 首先打开一个三维模型和对应的工程图,保持三维模型为当前激活窗口,在三维模型里面选中一个面或者一个边,然后运行下面的代码, 会将工程图里面的第一视图里面对应的投影元素的线型的 ...

  7. 【Linux】【Jenkins】配置过程中,立即构建时,maven找不到的问题解决方案

    在Linux环境下配置Jenkins执行时,发现不能执行Maven,这个比较搞了. A Maven installation needs to be available for this projec ...

  8. 【JVM底层策略 一】GC roots如何判断对象不可达

    查找内存中不再使用的对象 引用计数法 引用计数法就是如果一个对象没有被任何引用指向,则可视之为垃圾.这种方法的缺点就是不能检测到环的存在. 2.根搜索算法 根搜索算法的基本思路就是通过一系列名为”GC ...

  9. android 开发 我的高德地图代码例子

    下载高德地图依赖库和相关注册方式,请查看高德开发者网站:http://lbs.amap.com/api/android-sdk/summary  点击打开链接 高德地图坐标拾取器:http://lbs ...

  10. 003之MFCSocket异步编程(指针机制)

    002篇是采用传统方式创建,不适应动态的网络环境,服务器为客户端保留着断开连接时的套接字,不够灵活.而采用指针机制不仅可以更加灵活性,而且能使代码更集中,更具有条理性.将其转变成指针机制.功能及运行保 ...