非常感谢。
当然
- (defun c:test ( / ent lst obj sel )
- (if (setq sel (ssget "_+.:E:S" '((0 . "LWPOLYLINE"))))
- (progn
- (setq ent (ssname sel 0)
- obj (vlax-ename->vla-object ent)
- lst (mapcar '(lambda ( x ) (trans x ent 0)) (LM:groupbynum (vlax-get obj 'coordinates) 2))
- )
- (foreach int (LM:groupbynum (vlax-invoke obj 'intersectwith obj acextendnone) 3)
- (if (not (vl-some '(lambda ( vtx ) (equal int vtx 1e-) lst))
- (entmake (list '(0 . "POINT") (cons 10 int)))
- )
- )
- )
- )
- (princ)
- )
- ;; Group by Number - Lee Mac
- ;; Groups a list into a list of lists, each of length 'n'
- (defun LM:groupbynum ( l n / r )
- (if l
- (cons
- (reverse (repeat n (setq r (cons (car l) r) l (cdr l)) r))
- (LM:groupbynum l n)
- )
- )
- )
谢谢
好的,Stefan,我承认我没有考虑过这种特殊的可能性——不过,我不确定检查交点的曲线参数是否是可行的解决方案,例如,考虑以下多段线的交点参数:
对于上述情况,我收到三个具有以下参数的交点:
|