所以我终于花了一点时间研究了交叉点代码,但我使用了李提供的atm示例,只是看看它是如何工作的。我遇到的问题是,它目前不起作用,我正在使用一个圆和一条线,与这些命令相交。
从此处链接
-
- ;; ;;
- ;; Returns a list of all points of intersection between ;;
- ;; two objects ;;
- ;;------------------------------------------------------------;;
- ;; Author: Lee Mac, Copyright © 2011 - www.lee-mac.com ;;
- ;;------------------------------------------------------------;;
- ;; Arguments: ;;
- ;; obj1, obj2 - VLA-Objects ;;
- ;;------------------------------------------------------------;;
- ;; Returns: List of intersection points, or nil ;;
- ;;------------------------------------------------------------;;
- (defun LM:GetIntersections ( obj1 obj2 )
- (LM:GroupByNum (vlax-invoke obj1 'IntersectWith obj2 acExtendNone) 3)
- )
然后我运行这个命令。
-
- (defun c:test1 ( / e1 e2 ) (vl-load-com)
- (if
- (and
- (setq e1 (car (entsel "\nSelect First Object: ")))
- (setq e2 (car (entsel "\nSelect Second Object: ")))
- )
- (foreach x (LM:GetIntersections (vlax-ename->vla-object e1) (vlax-ename->vla-object e2))
- (entmakex (list (cons 0 "POINT") (cons 10 x)))
- )
- )
- (princ)
- )
我得到了一个:CALLBACK-ENTRY,在last break source中。
所以我定义了这个错误处理程序
(
之后,我在命令提示符下收到了这个消息。
我不知道那是什么意思。我做错什么了吗?
谢谢大家。 |