外部参照中pline的扩展数据,pline中用于计算块的选择边界
本人';我有一个程序;我正在研究连接到pline的扩展数据 ;然后,该线将用作计算该线内块的选择边界 ;现在我';我开始考虑能够从外部参照中读取pline上的扩展数据-我不知道;t认为#039;这太难了 ;我';我很难把我的头绕过去,这部分是关于使用外部参照中的pline作为选择边界的 ;该过程是否类似于宿主图形中的选择集 ;如何确定嵌套pline中是否包含块 ;这将是一个非常头痛的任务吗 ;如果主体图形在外部参照的pline内有块呢 ;主持人';s块被计算在内 ;(我希望不会)I港#039;除了简单地计算所有块(包括宿主图形中的块)之外,t从外部参照中访问信息做得太多了
对此有什么想法或智慧之言吗?
伪思维:使用pline的坐标,并将其传递给WP方法的选择集,当然使用过滤
我走对了吗? 这将是一项非常困难的任务……我将通过绑定外部参照来完成;s作为插入和分解-然后从那里做选择,就像我在show your stuff中最新的superburst和mytrim代码示例中所做的那样…但等待真正的大师。。。。。 它的难度取决于你的设置
通常,当块在零旋转和原点零处提供信息时,您使用矩阵来确定独立实体在块参照或外部参照中的位置
如果外部参照的比例为1;原点为0,0,0,不旋转,法线为0,1,则不需要矩阵
下面的代码假设了所有这些(使用selset函数),并使用一个只有一个矩形的外部参照
Sub SELFROMX()
Dim x As AcadExternalReference
Dim B As AcadBlock
Dim SS As AcadSelectionSet
Dim xname As String
xname = "3"
Set SS = SSet(2, xname)
If SS.count1 Then Exit Sub
Set x = SS(0)
SS.Delete
Dim E As AcadEntity, P As AcadLWPolyline
For Each E In ThisDrawing.Blocks(xname)
If TypeOf E Is AcadLWPolyline Then
Set P = E
Exit For
End If
Next
Dim P1(2) As Double, P2(2) As Double
P1(0) = P.Coordinate(0)(0)
P1(1) = P.Coordinate(0)(1)
P1(2) = P.Elevation
P2(0) = P.Coordinate(2)(0)
P2(1) = P.Coordinate(2)(1)
P2(2) = P.Elevation
Set SS = ThisDrawing.SelectionSets.Add("SS")
SS.Select acSelectionSetWindow, P1, P2
Debug.Print SS.count
End Sub
我认为Matt希望从外部参照中选择对象,而不是从当前图形中。正当
啊哈 ;本人';我已经从当前图形中获得了信息 ;我希望将所有文件外部参照到一个临时图形中,然后使用我现有的扩展数据线作为边界进行大规模提取。
页:
[1]