遍历AcDbRotatedDimension实体,获取尺寸线各项参数
通过以下语句,可以获得AcDbRotatedDimension实体名,ID号等数据Dim xx As AcadEntity
For Each xx In ThisDrawing.ModelSpace
Debug.Print xx.ObjectName
Next
可以得到 多义线实体AcDbPolyline和尺寸线实体AcDbRotatedDimension
''
通过以下语句可得到一个矩形多义线的顶点坐标
Dim i, n As Integer
'Dim newObjs As AcadPolyline
Dim newObjs As AcadLWPolyline
Dim retCoord As Variant
Dim points(500) As Double
n = ThisDrawing.ModelSpace.Count
Debug.Print n
Dim iii As Integer
For i = 0 To n - 1
Debug.Print
If ThisDrawing.ModelSpace.Item(i).ObjectName = "AcDbPolyline" Then
Set newObjs = ThisDrawing.ModelSpace.Item(i)
retCoord = newObjs.Coordinates
mynpoint = (UBound(retCoord) + 1) / 2
Debug.Print mynpoint, "fdsafdsafdsa"
For iii = 0 To mynpoint * 2 - 1
Debug.Print ThisDrawing.ModelSpace.Item(i).ObjectID & " point(" & iii & ") = " & retCoord(iii)
Next iii
'.......
End If
Next i
结果是
2130183496 point(0) = .231424421804538
2130183496 point(1) = 7.30334885445212
2130183496 point(2) = 12.245379023135
2130183496 point(3) = 7.30334885445212
2130183496 point(4) = 12.245379023135
2130183496 point(5) = -3.22310514584269
2130183496 point(6) = .231424421804538
2130183496 point(7) = -3.22310514584269
问:如何获得尺寸线实体数据,与绘图原状相同.
用list命令得到直径尺寸数据
DIMENSION图层: 0
空间: 模型空间
句柄 = 364
关联: 是
类型: 直径
定义点: X=18.9297Y=-0.8477Z= 0.0000
定义点: X=26.2498Y= 5.5871Z= 0.0000
用户指定 文字位置: X=18.1133Y=-1.5654Z= 0.0000
默认文字
标注样式:ISO-25
标注样式替代:
DIMUPT 开
用list命令得到垂直尺寸线的参数
DIMENSION图层: 0
空间: 模型空间
句柄 = 34B
关联: 是
类型:垂直
第一尺寸界线 定义点: X= 0.2314Y=-3.2231Z= 0.0000
第二尺寸界线 定义点: X= 0.2314Y= 7.3033Z= 0.0000
尺寸线 定义点: X=-4.1720Y= 7.3033Z= 0.0000
默认 文字位置: X=-6.2553Y= 2.0401Z= 0.0000
默认文字
标注样式:ISO-25
用list命令得到水平线参数
DIMENSION图层: 0
空间: 模型空间
句柄 = 332
关联: 是
类型:水平
第一尺寸界线 定义点: X= 0.2314Y= 7.3033Z= 0.0000
第二尺寸界线 定义点: X=12.2454Y= 7.3033Z= 0.0000
尺寸线 定义点: X=12.2454Y= 8.8798Z= 0.0000
默认 文字位置: X= 6.2384Y=10.9631Z= 0.0000
默认文字
标注样式:ISO-25
页:
[1]