怎样在指定层提取对象属性
public acadobj as acadobjectpublic line as acadline
public sub auto()
dim startpt1 as variant
dim startpt2 as variant
set acadobj=thisdrawing.activedocument.modelspace.item(0)
set line=thisdrawing.activedocument.modelspace.item(0)
startpt1=line.startpoint(0)
startpt2=line.startpoint(1)
end sub
VB环境下,其中thisdrawing已是创建过的AUTOCAD应用。
为什么我一将第1层设为当前层,在调用提取属性函数,提取的还是第0层的对象属性
这跟层是没有关系的。
使用ModelSpace枚举的实体都是在所有的层上,而跟当前层的设置没有关系,如果只对某一层的实体进行操作,要跟据实体的Layer属性来判断是哪一个层的。还有一种方法是使用选择集,当然还有过滤机制。具体的可以看帮助文件。下面是选择集的一个用法。之后可以使用像sstext.Item(0)来访问选择集中的实体。Sub Ch4_FilterLayer()
Dim sstext As AcadSelectionSet
Dim FilterType(0) As Integer
Dim FilterData(0) As Variant
Set sstext = ThisDrawing.SelectionSets.Add("SS2")
FilterType(0) = 8 '代表层的组码
FilterData(0) = "1" '层的名称
sstext.SelectOnScreen FilterType, FilterData
End Sub
非常感谢你指点迷津,再帮帮我
文档第0层是老师出的考题,第一层是老师的答案层,我只是想提取答案层的对象属性。selectionsets还是不能区别出对象是哪个层的。怎样可以解决这个问题。谢谢。
页:
[1]