明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1551|回复: 2

怎样在指定层提取对象属性

[复制链接]
发表于 2003-5-23 09:52 | 显示全部楼层 |阅读模式
public acadobj as acadobject
public 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层的对象属性
发表于 2003-5-23 13:08 | 显示全部楼层

这跟层是没有关系的。

使用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
 楼主| 发表于 2003-5-23 20:13 | 显示全部楼层

非常感谢你指点迷津,再帮帮我

文档第0层是老师出的考题,第一层是老师的答案层,我只是想提取答案层的对象属性。selectionsets还是不能区别出对象是哪个层的。怎样可以解决这个问题。谢谢。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-6-17 02:20 , Processed in 0.135442 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表