CAD lisp求多段线与直线的交点,不用VLISP ,用autolisp

如题所述

    电脑系统【卸载或更改程序】,点击AutoCAD,添加功能【Express Tools】。

    (setq ss1 (acet-geom-intersectwith ent1 ent2 0));取得两个对象交点集合,如果没有交点nil。

追问

这个是val这种函数吗,是不是要对象转换,还是直接用

追答

对象不用转换,直接使用。
是Express Tools里面的函数。

追问

不对哦,你给看看 是这么用吗

追答

(setq dx1 (ssget));选择两个以上对象

(setq ent1 (ssname dx1 0));取得一个对象

(setq ent2 (ssname dx1 1));取得第二个对象

(setq ss1 (acet-geom-intersectwith ent1 ent2 0));取得两个对象交点集合,如果没有交点nil。

同时要添加功能Tools才可以运行。

追问

我再试试

追答

图元与选择集根本不同,注意函数的使用。

追问

还是不行

追答

ssname不是ssnanme,注意函数写的对不对。

追问

ssname不是ssnanme 这个我发现 改了但然后提示no function definition: ACET-GEOM-INTERSECTWITH express tools都安装过了

追答

有些AutoCAD版本无法安装Tools,如【AutoCAD2014版本无法安装】。

没有办法了,用以下方法检查交点:

(setq e1 (vlax-ename->vla-object(car(entsel)))
      e2 (vlax-ename->vla-object(car(entsel)))
)
(setq @pt2 (vlax-invoke e1 'IntersectWith e2 0));取得对象交点集合;点坐标
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答