用Autocad VBA如何判断整个界面内是否存在图形(多段线)相交情况?求大神解答!

 我来答
朱06CAD
2016-03-11 · 知道合伙人软件行家
朱06CAD
知道合伙人软件行家
采纳数:4172 获赞数:18068
高中,熟悉AutoCAD。会autolisp及VBA程序。

向TA提问 私信TA
展开全部
;求交点,
(vla-intersectwith VLA对象 VLA对象 延伸模式)
;延伸模式为 0~3 的整型(0--不延伸,1--延伸基本对象,2--延伸参数传递的对象,3--延伸)

思路1:

  1. 选择多段线。

  2. 循环函数while或repeat来检查。

  3. 如果数量少的话没有问题,如果数量多的话不适合。

思路2:

  1. 选择多段线

  2. 提取多段线包围盒两个点。

    (vla-GetBoundingBox &ob1 'pt1 'pt2)

    (setq pt1 (vlax-safearray->list pt1));转换坐标【右下角点】

  3. 函数(ssget "c" pt1 pt2 '((0 . "LWPOLYLINE")))搜索多段线,while函数检查是否有交点。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式