CAD VBA中如何才能区分选中与未选中的线

最近在学习CADVBA的一些内容遇到问题不能解决了一个CAD图中有N条线而用人工点选了某些线在CADVBA中有没有什么属性用来区分这两部的线?谢谢... 最近在学习CAD VBA的一些内容遇到问题不能解决了
一个CAD图中有N条线
而用人工点选了某些线

在CAD VBA 中有没有什么属性用来区分这两部的线?
谢谢
展开
 我来答
wzm1968yhm2012
2011-11-13 · TA获得超过5531个赞
知道大有可为答主
回答量:1572
采纳率:0%
帮助的人:583万
展开全部
Dim myset As AcadSelectionSet
Set myset = ThisDrawing.SelectionSets.Add("aaa")
myset.SelectOnScreen
n = myset.Count - 1
For i = 0 To n
MsgBox myset(i).Handle
Next
在以上代吗中,选择集“aaa中的所有对象就是你己选择的,本代码罗列出所有你选中对象的句柄,根据句柄你可以访问选择集内的任意对象。当然,你也可能根据选集中的对象属性是否为直线来做一些其它工作。因此,VBA完全可以将选择集内外的线加以区别的.
追问
问题我已知道,因为我是在excel中写VBA必须要将cad的屏激活才能使用myset.SelectOnScreen
否则出错的

请教多一个问题:
我想只要0层的线,只要实线线形的线,只要圆,圆弧,与直线
如何做过滤
因小的初学,请帮忙,谢谢
追答
Sub selectfortype()
Dim myset As AcadSelectionSet
For Each myset In ThisDrawing.SelectionSets
If myset.Name = "aaa" Then
ThisDrawing.SelectionSets.Item("aaa").Delete
Exit For
End If
Next
Set myset = ThisDrawing.SelectionSets.Add("aaa")
Dim fType(0 To 7) As Integer
Dim fData(0 To 7) As Variant
fType(0) = -4
fType(1) = -4
fType(2) = 0
fType(3) = 0
fType(4) = 0
fType(5) = -4
fType(6) = 8
fType(7) = -4
fData(0) = ""
fData(6) = "0"
fData(7) = "and>"
myset.SelectOnScreen fType, fData
n = myset.Count
MsgBox n

End Sub
冠一虞泽惠
2019-06-02 · TA获得超过1097个赞
知道小有建树答主
回答量:1700
采纳率:100%
帮助的人:7.7万
展开全部
if
typeof
obj
is
acadmline
then
如果cad是完整版的则在vba编辑器中有帮助文档
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
鱼不能没有水1
2011-11-13
知道答主
回答量:2
采纳率:0%
帮助的人:3264
展开全部
蓝色的点是选中的!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式