十分感谢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,不知道以上代码有什么问题,望各位高手多多指教。感谢! |