[列表]
[*]提示用户选择行(假设此时所有行都是行-稍微简化了一些事情)。
[/列表]
[列表]
[*]将SelectionSet转换为VLA对象列表(更易于使用)。
[/列表]
[列表]
[*]依次为每个对象找到该对象与SelectionSet中每个其他对象之间的交点。
[/列表]
[列表]
[*]对于每一组交叉点,在列表中的前两个交叉点处打断对象(使用用法图的合理假设以及我们仅处理直线的事实)
我使用的库函数:
将选择集转换为VLA对象列表:
;; ss~SelectionSet
(defun LM:ss->vla ( ss )
;; © Lee Mac~15.06.10
(if ss
(
(lambda ( i / e l )
(while (setq e (ssname ss (setq i (1+ i))))
(setq l (cons (vlax-ename->vla-object e) l))
)
l
)
-1
)
)
)
返回对象和对象列表之间的交点列表:
3
祝你好运 嗨,李,谢谢你的耐心和帮助,但我不明白,我不知道什么是vla。。。无论如何,非常感谢。。。。。。 你试过了吗? 嗨,利马克,我不知道我所做的是否正确。。我所做的是复制并粘贴代码,并将其另存为。记事本中的lsp(例如LM.lsp)。。。再次感谢李,我真的很感谢你的帮助和耐心。。 这些是可能用于创建程序的唯一库函数,它们本身不是程序。
你以前写过LISP吗? 再次感谢李,不幸的是我以前没有写过Lisp程序。这是我的大问题,我也想学习。
我做到了。
顺便说一句,李,我不久前在这个论坛上发现了这个Lisp程序的词,但X不起作用。请查看附件。谢谢
墙壁。lsp
你检查过这些了吗?
http://www.afralisp.net/
http://www.jefferypsanders.com/autolisptut.html
http://ronleigh.info/autolisp/index.htm
页:
1
[2]