明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 5056|回复: 18

[已解答] 新手菜鸟求助vla-intersectwith命令的问题

[复制链接]
发表于 2013-10-11 08:38 | 显示全部楼层 |阅读模式
编了如下一个测试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))
这是什么问题导致的呢,请各位大神解答
发表于 2016-10-2 13:07 | 显示全部楼层
自贡黄明儒 发表于 2013-10-11 16:02
(defun c:cs (/ OBJ1 OBJ2 PT1 PT6)
  (setq obj1 (vlax-ename->vla-object (car (entsel "\n 选择对象: ...

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2013-10-11 09:15 | 显示全部楼层
自己顶一个
发表于 2013-10-11 11:16 | 显示全部楼层


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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2013-10-11 11:23 | 显示全部楼层
Andyhon 发表于 2013-10-11 11:16
http://bbs.mjtd.com/thread-57227-1-1.html

(setq sel_line (command "line" pt6 pt1 ""))
我这样能表示一个对象吗?
发表于 2013-10-11 11:25 | 显示全部楼层
(command "line" pt6 pt1 "")
(setq sel_line (entlast))
 楼主| 发表于 2013-10-11 11:30 | 显示全部楼层
Andyhon 发表于 2013-10-11 11:25
(command "line" pt6 pt1 "")
(setq sel_line (entlast))

非常感谢。。
 楼主| 发表于 2013-10-11 15:25 | 显示全部楼层
Andyhon 发表于 2013-10-11 11:25
(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 | 显示全部楼层
本帖最后由 自贡黄明儒 于 2013-10-11 15:30 编辑

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

还有,不要! pt_int
 楼主| 发表于 2013-10-11 15:32 | 显示全部楼层
自贡黄明儒 发表于 2013-10-11 15:28
(setq b (car se_2))
应为(setq b  se_2)

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

点评

(car (entlast))错了,与vla-intersectwith无关  发表于 2013-10-11 15:34
 楼主| 发表于 2013-10-11 15:41 | 显示全部楼层
dcg553496180 发表于 2013-10-11 15:32
但是这样运行的结果是:错误: 参数类型错误: 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))
就是我自己做的这条直线
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-10 05:34 , Processed in 0.154700 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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