|
发表于 2007-6-8 11:51:00
|
显示全部楼层
十分感谢zhuxuhong兄的指点
另请问一下附加和获取XDATA是不是这样(以pline1为例)
附加属性
Dim pline1 As AcadLWPolyline
Dim DataType(0 To 3) As Integer
Dim Data(0 To 3) As Variant
TextBox1.text = "电力电缆"
TextBox2.text = "200"
TextBox3.text = "XY"
Set pline1 = ThisDrawing.ModelSpace.AddLightWeightPolyline(arr)
DataType(0) = 1001: Data(0) = TextBox1.text
DataType(1) = 1040: Data(1) = TextBox2.Value
DataType(2) = 1000: Data(2) = TextBox3.text
pline1.SetXData DataType, Data
获取属性
(以下代码:遍历图层“电缆”中所有多位线,如果它与pt1、pt2所围成的矩形有交点,则获取它的截面属性。)
Dim plln As AcadLWPolyline
Dim asss As AcadSelectionSet
Dim ftype1(0) As Integer, fdata1(0) As Variant
Set asss = ThisDrawing.SelectionSets.Add("asss")
If Err Then Set asss = ThisDrawing.SelectionSets.Add("asss")
asss.Clear
ftype1(0) = 8: fdata1(0) = "电缆"
asss.Select acSelectionSetCrossing, pt1, fpt2, ftype1, fdata1
For Each plln In asss
With plln
plln.GetXData "", DataType(1), Data(1)
Dim cc1 As AcadCircle
Set cc1 = ThisDrawing.ModelSpace.AddCircle(point, Data(1))
End With
Next plln
asss.Delete
小弟刚入手VBA,不知道以上代码有什么问题,望各位高手多多指教。感谢!
|
|