如果直线坐标与
您好CadTutorers:)我当天的问题如所附图片所示。
例如,用于此类问题的函数或涉及此主题的链接,我们将不胜感激
这很有帮助。
(defun get_all_inters_in_SS (SS /
SSL ;length of SS
PTS ;returning list
aObj1 ;Object 1
aObj2 ;Object 2
N1;Loop counter
N2;Loop counter
iPts ;intersects
)
(setq N1 0 ;index for outer loop
SSL (sslength SS))
; Outer loop, first through second to last
(while (< N1 (1- SSL))
; Get object 1, convert to VLA object type
(setq aObj1 (ssname SS N1)
aObj1 (vlax-ename->vla-object aObj1)
N2 (1+ N1)) ;index for inner loop
; Inner loop, go through remaining objects
(while (< N2 SSL)
; Get object 2, convert to VLA object
(setq aObj2 (ssname SS N2)
aObj2 (vlax-ename->vla-object aObj2)
; Find intersections of Objects
iPts (vla-intersectwith aObj1
aObj2 0)
; variant result
iPts (vlax-variant-value iPts))
; Variant array has values?
(if (> (vlax-safearray-get-u-bound iPts 1)
0)
(progn ;array holds values, convert it
(setq iPts ;to a list.
(vlax-safearray->list iPts))
;Loop through list constructing points
(while (> (length iPts) 0)
(setq Pts (cons (list (car iPts)
(cadr iPts)
(caddr iPts))
Pts)
iPts (cdddr iPts)))))
(setq N2 (1+ N2))) ;inner loop end
(setq N1 (1+ N1))) ;outer loop end
Pts) ;return list of points found 我认为以下功能会有所帮助,请阅读帮助文档以获取更多解释
vla-intersectwith 很好,谢谢,我会调查的 我想这个例子就足够了
(defun c:Test (/ l b) (vl-load-com)
(if (and (setq l (car (entsel "\n Select line :")))
(setq b (car (entsel "\n Select Block :")))
)
(if (vlax-invoke (vlax-ename->vla-object l) 'Intersectwith
(vlax-ename->vla-object b)
AcExtendNone
)
(alert "Yes, The two objects are Intersected with each others")
(alert "No, There are not Intersected at all ")
)
)
(princ)
)
-当目标在我脑海中确定下来时,我必须达到它,并将其掌握在手中,无论它付出什么代价,无论它在哪里,我永远不会放弃。塔瓦特说
你是否在实现目标的同时对其进行评估?(我的意思是继续分析目标的重要性,努力回报率?
我的观点是,你描述了一种狂热的思维方式。我没有说它不好。
对不起,我扯到这个话题了,
一个很好的问题,
实际上,我还没有满足,所以我一直在寻找更多。 谁知道人们应该努力达到的真正正确的目标(上帝除外)?我,我只是希望我的目标是对的。 那么,你现在是否达到了代码的目标? 我没有看到,你回答得太快了:),没有,我还没有理解,但我喜欢那种简化的结构
页:
[1]
2