dcg553496180 发表于 2013-10-11 08:38:44

新手菜鸟求助vla-intersectwith命令的问题

编了如下一个测试vla-intersectwith的程序:
(defun c:qdz ()
    (setq se_1 (entsel "\n 选择第一条曲线:"))
    (setq se_2 (entsel "\n 选择第二条曲线:"))
    (vl-load-com)
    (setq pt (vla-intersectwith se_1 se_2 3))
)
但是CAD加载显示: 错误: 参数类型错误: VLA-OBJECT (<图元名: 7ef76820> (112526.0 43280.1 0.0))
这是什么问题导致的呢,请各位大神解答

fangmin723 发表于 2016-10-2 13:07:11

自贡黄明儒 发表于 2013-10-11 16:02
(defun c:cs (/ OBJ1 OBJ2 PT1 PT6)
(setq obj1 (vlax-ename->vla-object (car (entsel "\n 选择对象: ...

这个确实不错,但是如果有两个交点的话他返回的是一个表,不知道能不能让他返回成一个点表

dcg553496180 发表于 2013-10-11 09:15:39

自己顶一个

Andyhon 发表于 2013-10-11 11:16:14



http://bbs.mjtd.com/thread-57227-1-1.html

dcg553496180 发表于 2013-10-11 11:23:06

Andyhon 发表于 2013-10-11 11:16 static/image/common/back.gif
http://bbs.mjtd.com/thread-57227-1-1.html

(setq sel_line (command "line" pt6 pt1 ""))
我这样能表示一个对象吗?

Andyhon 发表于 2013-10-11 11:25:33

(command "line" pt6 pt1 "")
(setq sel_line (entlast))

dcg553496180 发表于 2013-10-11 11:30:36

Andyhon 发表于 2013-10-11 11:25 static/image/common/back.gif
(command "line" pt6 pt1 "")
(setq sel_line (entlast))

非常感谢。。

dcg553496180 发表于 2013-10-11 15:25:28

Andyhon 发表于 2013-10-11 11:25 static/image/common/back.gif
(command "line" pt6 pt1 "")
(setq sel_line (entlast))

(defun c:cs ()
    (setq sel_dd (entsel "\n 选择对象:"))
    (setq pt1 (getpoint "\n 请选择一个点:"))
    (setq pt6 (getpoint "\n 请选择一个点:"))
    (command "line" pt6 pt1 "")
    (setq sel_l (entlast))
    (setq pt_int (jd sel_dd sel_l))
    ! pt_int
)

(defun jd (se_1 se_2)
(vl-load-com)
(setq a (car se_1))
(setq b (car se_2))
(setq pts (vla-IntersectWith (vlax-ename->vla-object a) (vlax-ename->vla-object b) 3))
)
这是我编的求交点的测试程序,但是运行结果是: 错误: 参数类型错误: consp <图元名: 7ef63188>
请您指点

自贡黄明儒 发表于 2013-10-11 15:28:37

本帖最后由 自贡黄明儒 于 2013-10-11 15:30 编辑

(setq b (car se_2))
应为(setq bse_2)

还有,不要! pt_int

dcg553496180 发表于 2013-10-11 15:32:45

自贡黄明儒 发表于 2013-10-11 15:28 static/image/common/back.gif
(setq b (car se_2))
应为(setq bse_2)



但是这样运行的结果是:错误: 参数类型错误: lentityp (<图元名: 7ef63160> (13922.1 36947.3 0.0))
其实我主要的困惑在于vla-intersectwith的用法不是很清楚

dcg553496180 发表于 2013-10-11 15:41:18

dcg553496180 发表于 2013-10-11 15:32 static/image/common/back.gif
但是这样运行的结果是:错误: 参数类型错误: lentityp ( (13922.1 36947.3 0.0))
其实我主要的困惑在于v ...

我是一只一条曲线,然后自己做一条直线求交点,在程序中 (setq sel_dd (entsel "\n 选择对象:")) 就是选择已知的曲线,
   (setq pt1 (getpoint "\n 请选择一个点:"))
   (setq pt6 (getpoint "\n 请选择一个点:"))
   (command "line" pt6 pt1 "")
   (setq sel_1(entlast))
就是我自己做的这条直线
页: [1] 2
查看完整版本: 新手菜鸟求助vla-intersectwith命令的问题