OSNAP函数
你好,如何找出哪些模式有效?
(setq pp (osnap p "_end,_mid,_cen,_nod") )
4种模式中哪一种对pp有影响?
提前谢谢。 请参阅OSMODE的值。 GP_,
OSMODE变量的值是一个整数,但它们的反应是什么? OSMODE是GP_给出的所有活动捕捉的总和
点捕捉到的对象捕捉模式无法从组合了多种模式的单个osnap表达式中确定,因为osnap函数仅返回捕捉的点坐标或零,而不返回任何补充信息。
您需要分别测试每个模式,例如:
(vl-some '(lambda ( m ) (if (setq pp (osnap p m)) m) '("_end" "_mid" "_cen" "_nod"))) 谢谢李,
你的想法更简洁。
我在想这样的事情:
(setq litos (list "_end,_mid,_cen,_nod")) ; has a variable content
(setq llitos (length litos)i -1op nil) ;_ end of setq
(while (< (setq i (1+ i)) llitos)
(setq el (nth i litos)) ;_ end of setq
(if (setq op (osnap p el)) (setq i llitos)) ;_ end of if
) ;_ end of wh <
但是当litos列表呈现出这种形式时,我无法获得ENDP,
或者,如果列表中有直线、象限和圆心,则无法获得圆心等的OSMODE。
本主题是以下内容的继续:
http://www.cadtutor.net/forum/showthread.php?77110-vla移动和OSMODE问题。
因为我必须重新发明OSMODE标志。
如何将字符串显示为鼠标光标附近的注释(例如OSMODE值)? 打字错误:
(vl-some '(lambda ( m ) (if (setq pp (osnap p m)) m)) '("_end" "_mid" "_cen" "_nod"))
在我的ACAD中,当选取点p作为圆的象限时,李的示例返回“u cen”witch is true(圆没有结束、中间和点头捕捉)
应及时填写Litos清单:
(setq litos (list "_end,_mid,_cen,_qua,_nod"))
(vl-remove-if-not '(lambda ( m ) (if (setq pp (osnap p m)) m)) '("_end" "_mid" "_cen" "_nod" "_qua"))
=>("_cen" "_qua")
1.好的,但我想知道到底是哪一个导致了OSMODE点?
2.如果我想在“cen”上获得OSMODE,我不能,因为“qua”和最后一个OSMODE在它上面。
页:
[1]
2