使用xline切片
这个漂亮的xline怎么能用来切片对象(定义了3个点:int pt1 pt2)并将ucs设置到这个平面上呢?这些添加的线把我带到了那里,只是p1和pt2的格式似乎不正确(?)http://www.cadtutor.net/forum/showthread.php?100283-创建-construcion-line-between-2-construction-line-or-line-or-polylines-HELP&p=682015&viewfull=1#后682015
**编辑**
(defun c:test2 ( / Ent1 Ent2 EntDxf1 EntDxf2 Pkt1 Pkt2 Pkt3 Pkt4 Xpoint )
(setq Ent1 (entsel "Xline1" ) )
(setq Ent2 (entsel "Xline2" ) )
;(setq Pkt1 (assoc 10 Ent1)); somethings wrong here..
;(setq Pkt3 (assoc 10 Ent2)) ; somethings wrong here too
(setq EntDxf1 (entget (car Ent1 )) )
(setq EntDxf2 (entget (car Ent2 )) )
(setq Pkt2 (polar (cdr (assoc 10 EntDxf1 )) (angle (list 0 0 0 ) (cdr (assoc 11 EntDxf1 )) ) 1 ) )
(setq Pkt4 (polar (cdr (assoc 10 EntDxf2 )) (angle (list 0 0 0 ) (cdr (assoc 11 EntDxf2 )) ) 1 ) )
(setq Xpoint (inters (cdr (assoc 10 EntDxf1 )) Pkt2 (cdr (assoc 10 EntDxf2 )) Pkt4 nil ) )
; (command "ucs" ..)) ; do 3D stuff with Xpoint Pkt1 Pkt3 as three defined points on a plane ..)
你好
我可能找到了一段更好、更简单的代码(见上文)。
我的问题是:我怎样才能在一个像样的情况下得到xline(assoc 10)的xyz,或者我可以使用它?
不良关联列表:(-98.4044 132.005 0.0)) 您的线程似乎更适合AutoLISP、Visual LISP和DCL论坛。 这里的问题是xline没有起点或终点吗?它们的长度是无限的。
您可能需要更多的处理来确定XLine的方向。
(可能在xline上选择2个点?)。 对于切片,我需要三个点中的两个
xline的两个“inspoints”(如果平行,则结束并继续切片…)
第三个可能是这些xline的交叉点(我已经准备好了代码)
我现在的问题是,我需要一个带有entget或其他东西的xline对象的插入点
希望你理解我想要实现的目标。
(cdr (assoc 10 (entget (car (entsel))))) 我在想这个主意毕竟不太好
因为很多时候xline是非共面的。
但是,我想学习如何检索给定xline上的一些xyz点
你能指出为什么这失败了,因为我不知道。
命令:测试
选择第一条xline:
选择2st xline:;错误:错误的参数类型:listp
<p> </p><p> </p><p>The idea ..</p><p>inthis gif.. </p><p> </p><p> </p><p> </p><p>https://drive.google.com/file/d/0B6-6JB1a0xTcTVg1aVdtRk52QzA/view?usp=sharing</p><p> </p><p>(defun c:test ( / Ent1 Ent2 Pkt1 Pkt2 )</p><p>(setq Ent1 (entsel "\nSelect 1st xline: "))</p><p>(setq Ent2 (entsel "\nSelect 2st xline: "))</p><p>(setq Pkt1 (cdr (assoc 10 (car Ent1))))</p><p>(setq Pkt2 (cdr (assoc 10 (car Ent2))))</p><p>...</p><p>[\code]</p><p><img src="https://www.cadtutor.net/forum/uploads/monthly_2017_04/2017-04-03_22-54-26.jpg.044ac96d56ca91173e2902d5afd9814e.jpg" ></p> 你忘了获取实体,汉斯。 我知道(entsel)和(entget)不一样。。mcgyver在这里仍然迷路。。
; 错误:错误的参数类型:lentyp“\n选择第一个xline:”
页:
[1]