明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2304|回复: 3

[讨论]Select acSelectionSetCrossing的奇怪想象!

[复制链接]
发表于 2005-6-1 12:31:00 | 显示全部楼层 |阅读模式
有这样一段代码(其中objline 是存在的一条三维多段线): Dim endpoint1(0 To 2) As Double
Dim endpoint2(0 To 2) As Double
Dim coord1 As Variant
Dim coord2 As Variant '获得该三维多段线的的第一点和第三点 coord1 = objline.Coordinate(0)
coord2 = objline.Coordinate(3) endpoint1(0) = coord1(0): endpoint1(1) = coord1(1): endpoint1(2) = coord1(2)
endpoint2(0) = coord2(0): endpoint2(1) = coord2(1): endpoint2(2) = coord2(2)
objline.Delete dim gpcode(1) as integer dim datavalue(1) as variant
gpcode(0) = 0
datavalue(0) = "line" gpcode(1) = 8
datavalue(0) = "0" setb.Select acSelectionSetCrossing, endpoint1, endpoint2, gpcode, datavalue setb.erase 可运行的时候并没有将0层里面的直线清空啊!! 是不是Select acSelectionSetCrossing的点参数不能够是直接给的点,而必须是用户框选某些对象时获得的点呢?
发表于 2005-6-1 18:21:00 | 显示全部楼层
个人认为,首先你的过录器变量类型不对。再一个你用的交叉选择不可能把整层的要素删除。要清空0层的直线用带过录器的全选就可以了。 dim gpcode(1) as integer dim datavalue(1) as variant dim groupcode as variant dim groupvalue as variant
gpcode(0) = 0
datavalue(0) = "line" gpcode(1) = 8
datavalue(0) = "0" groupcode = gpcode:groupvalue = datavalue setb.Select acSelectionSetAll,,, groupcode, datavalue setb.erase
 楼主| 发表于 2005-6-1 18:49:00 | 显示全部楼层
首先感谢2楼的热情回答,但这里我想知道的是
Select acSelectionSetCrossing的点参数是否可以是直接给的点,而不一定必须是用户框选某些对象时获得的点!
发表于 2005-6-1 18:55:00 | 显示全部楼层
可以
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-27 14:52 , Processed in 0.175274 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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