明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1162|回复: 4

问题出在哪里了?请指教!!!!

[复制链接]
发表于 2005-4-29 17:26:00 | 显示全部楼层 |阅读模式
用以下代码实现对当前模型空间中的3维多段线的选择,为什么会不成功呢? Dim sset As AcadSelectionSet Dim i As Integer
i = ThisDrawing.SelectionSets.Count
While (i > 0)
Set sset = ThisDrawing.SelectionSets.Item(i - 1)
If sset.Name = "3dPLine" Then
sset.Delete
End If
i = i - 1
Wend
'建立3维多段线选择集
Set sset = ThisDrawing.SelectionSets.Add("3dPLine")
Dim gpCode(1) As Integer
Dim dataValue(1) As Variant
gpCode(0) = 2
dataValue(0) = "AcDb3dPolyline"
gpCode(1) = 8
dataValue(1) = "ExtrudePath" 'ExtrudePath 已经置为当前层
Dim groupCode, dataCode As Variant
groupCode = gpCode
dataCode = dataValue

Dim cw1, cw2
cw1 = ThisDrawing.Utility.GetPoint(, "请框选第一点:")
cw2 = ThisDrawing.Utility.GetCorner(cw1, "请输入对角点:")
sset.Select acSelectionSetCrossing, cw1, cw2, groupCode, dataCode msgbox"3维多段线总共有:" & sset.count
可明明有几条3维多段线存在于ExtrudePath层上,信息提示框却总显示结果 0 问题出在什么地方了?用什么方法可以正确获得指定层上面的三维多段线呢?望各位高手指教!!
发表于 2005-4-29 20:51:00 | 显示全部楼层
gpCode(0) = 0
dataValue(0) = "Polyline"
发表于 2005-4-29 20:53:00 | 显示全部楼层
gpCode(0) = 2应该是gpCode(0) = 0

 楼主| 发表于 2005-5-5 09:48:00 | 显示全部楼层
谢谢大家的热情回复!可运行结果还是一样啊!
 楼主| 发表于 2005-5-5 10:47:00 | 显示全部楼层
可以用objectName作为过滤条件的,当然lzh741206ljpnb说的也可以,之所以无法选择是因为我用了sset.Select acSelectionSetCrossing, cw1, cw2, groupCode, dataCode进行了选择.用以下语句进行就可以得到正确的运行结果了! sset.SelectOnScreen gpcode, datavalue
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-27 18:36 , Processed in 0.169741 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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