cj52000 发表于 2009-7-15 22:20:00

[求助]求两条垂直线段的交点,并使UCS原点设在交点上?

大家好,想求一个程序,就是两条垂直线,但不相交,想找到它们的交点,并同时使ucs原点设在交点上,这样的目的是方便标注,谢谢各位!

淮上 发表于 2009-7-15 22:52:00

<p>求出两条直线的端点,pt1 pt2 pt3 pt4 </p><p>(setq ins (inters pt1 pt2 pt3 pt4 nil)) 求出交点</p><p>(command "_.ucs" ins "")</p>

cj52000 发表于 2009-7-16 19:51:00

<p>楼上的能不能说明白点啊,或者是帮忙编个程序啊,谢谢!</p>

cj52000 发表于 2009-7-17 20:23:00

各位能不能帮忙写个程序,谢谢!

淮上 发表于 2009-7-18 08:45:00

;;已经说得这么明白!!
(defun c:tt (/ e1 e2 ins)
(setq e1 (entsel "\n选择第一条直线: "))
(setq e2 (entsel "\n选择第二条直线: "))
(setq e1 (entget (car e1)))
(setq e2 (entget (car e2)))
(setq ins (inters (cdr (assoc 10 e1))
                  (cdr (assoc 11 e1))
                  (cdr (assoc 10 e2))
                  (cdr (assoc 11 e2))
                  nil
))
(command "_.ucs" "_non" ins "")
(princ)
)

cj52000 发表于 2009-7-18 19:38:00

谢谢楼上的热心,但是无法使用啊,提示无效的函数,请各位在看看啊

cj52000 发表于 2009-7-18 19:39:00

<p>谢谢楼上的热心,但是无法使用,提示无效的函数,请各位再看看啊</p>

淮上 发表于 2009-7-18 20:00:00

把错误提示信息发上来看看

cj52000 发表于 2009-7-18 22:40:00

<p>好的!</p><p>命令: tt<br/>选择第一条直线:<br/>选择第二条直线: _.ucs<br/>当前 UCS 名称: *世界*<br/>输入选项 <br/>[新建(N)/移动(M)/正交(G)/上一个(P)/恢复(R)/保存(S)/删除(D)/应用(A)/?/世界(W)] <br/>&lt;世界&gt;: _non<br/>无效的选项关键字。<br/>; 错误: 函数被取消</p><p>输入选项 <br/>[新建(N)/移动(M)/正交(G)/上一个(P)/恢复(R)/保存(S)/删除(D)/应用(A)/?/世界(W)] <br/>&lt;世界&gt;:</p>

淮上 发表于 2009-7-18 23:30:00

<p>;;版本差异的原因</p><p>(defun c:tt (/ e1 e2 ins)<br/>&nbsp; (if (and (setq e1 (entsel "\n选择第一条直线: "))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq e2 (entsel "\n选择第二条直线: "))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp; (progn<br/>&nbsp;&nbsp;&nbsp; (setq e1 (entget (car e1)))<br/>&nbsp;&nbsp;&nbsp; (setq e2 (entget (car e2)))<br/>&nbsp;&nbsp;&nbsp; (setq ins (inters (cdr (assoc 10 e1))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (cdr (assoc 11 e1))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (cdr (assoc 10 e2))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (cdr (assoc 11 e2))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nil<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp; (command "_.ucs" "_new" "_non" ins)<br/>&nbsp; )<br/>&nbsp; )<br/>&nbsp; (princ)<br/>)</p>
页: [1] 2
查看完整版本: [求助]求两条垂直线段的交点,并使UCS原点设在交点上?