明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1744|回复: 6

在选择集时能不能用画一条直线来选择图元?

[复制链接]
发表于 2006-8-26 12:52:00 | 显示全部楼层 |阅读模式

在选择集时能不能用画一条直线来选择图元,而不用框选的方式?

意思就是画一条直线,跟这个直线相交的所有图元均被选中

发表于 2006-8-30 12:11:00 | 显示全部楼层
在图元很多的时候这样要比框选要慢
发表于 2006-8-30 13:35:00 | 显示全部楼层
沿着直线做若干个选择集.
 楼主| 发表于 2006-9-1 09:16:00 | 显示全部楼层

发贴心情 
沿着直线做若干个选择集. ?

  这说的轻巧,但要怎样实现得了呢

发表于 2006-9-2 18:01:00 | 显示全部楼层
以直线的包装盒为线框用选择集选择,然后依次判断各实体是否与直线相交
发表于 2006-9-3 13:48:00 | 显示全部楼层
WHOLIN高明之士,实现应不难:1)直线设定为N等份,求出各等份点坐标,2)以各等份点建立选择集,3)建立1-N的循环.
发表于 2006-9-3 16:04:00 | 显示全部楼层
哪有没这么复杂的?建立选择集有acSelectionSetFence方式的
   '起点
   FromPnt = ThisDrawing.Utility.GetPoint(, vbCrLf & "扯旗线起点: ")
   If err Then
       err.Clear
       End
   End If
   
   '终点
   Topnt = ThisDrawing.Utility.GetPoint(FromPnt, vbCrLf & "扯旗线终点: ")
   If err Then
       err.Clear
       End
   End If
    
   '画标注线
   Set LineObj = ThisDrawing.ModelSpace.AddLine(FromPnt, Topnt)
   
   '与标注线相交的线段组成选择集
   Set ssetobj = CreateSelectionSet("ObjSet")
   mode = acSelectionSetFence
   pointsArray(0) = FromPnt(0): pointsArray(1) = FromPnt(1): pointsArray(2) = 0
   pointsArray(3) = Topnt(0): pointsArray(4) = Topnt(1): pointsArray(5) = 0
   gpCode(0) = 0: dataValue(0) = "LINE"
   ssetobj.SelectByPolygon mode, pointsArray, gpCode, dataValue
  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-26 23:46 , Processed in 0.188879 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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