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

最新文章

  1. JS 深浅拷贝
  2. ****Linux MySQL命令运用个人总结
  3. Chrome谷歌浏览器下不支持css字体小于12px的解决办法
  4. JQuery 图片略缩与弹出预览 jqthumb fancybox
  5. android 基础控件(EditView、SeekBar等)的属性及使用方法
  6. 【poj3537】 Crosses ans Crosses
  7. MyEclipse8.5启动无法选择工作空间的问题
  8. php_2
  9. PYTHON不定参数与__DOC__
  10. 不同浏览器使用Content-disposition时filename带空格的处理方式不同
  11. Eclipse部署Web项目(图文讲解)
  12. PM学习梳理--搭建产品架构
  13. 打成Jar包后运行报错 Unable to locate Spring NamespaceHandler for XML schema namespace
  14. (四)JavaScript 注释
  15. a排兵布阵
  16. Struts2+Hibernate4+Spring4框架整合搭建Java项目原型
  17. java NIO (二) 一个故事讲清楚NIO
  18. 【从0開始Tornado建站】显示全部注冊用户
  19. OpenSL的使用
  20. openjudge-NOI 2.5-1789 算24

热门文章

  1. 加密与解密md5 3des
  2. 【spring】之基于注解@ComponentScan的一些使用
  3. servlet-jsp-EL 表达式
  4. problem:浏览器如何区分html超文本和普通文本
  5. 如何将maven依赖项打进jar包,将一个完整的项目打进jar包
  6. html/css/js-如何利用jq来更改属性的值和获取属性的值
  7. Linux安装rz/sz,htop插件
  8. jsp jstl quote symbol expected
  9. 设置了error_reporting(E_ALL)还是不显示错误
  10. ajax单删