本帖最后由 bloodtempt 于 2019-5-4 16:01 编辑
 - (setq ss1 (ssget "F" (list
- (setq pt1 (vl-remove (last (setq pt1 (getpoint "选择第一组线:"))) pt1))
- (setq pt2 (vl-remove (last (setq pt2 (getpoint pt1))) pt2)))))
- (setq ss2 (ssget "F" (list
- (setq pt3 (vl-remove (last (setq pt3 (getpoint "选择第二组线:"))) pt3))
- (setq pt4 (vl-remove (last (setq pt4 (getpoint pt3))) pt4)))))
- (setq i 0)
- (repeat (min (sslength ss1)(sslength ss2))
- (command "_.CHAMFER"
- (osnap (onwplpt (ssname ss1 i) pt1 pt2) "Near")
- (osnap (onwplpt (ssname ss2 i) pt3 pt4) "Near")
- )
- (setq i (1+ i))
- )
- (defun onwplpt (en p1 p2 / linept lwpt pt)
- (defun LWPt (en /)
- (mapcar 'cdr
- (vl-remove-if-not
- '(lambda (x) (or (= (car x) 10) (= (car x) 11)))
- (entget en)
- )
- )
- )
- (defun LInept (lst )
- (if (>= (length lst) 2)
- (cons (list (car lst)(cadr lst))
- (LInept
- (vl-remove
- (car Lst)
- lst
- )
- )
- )
- )
- )
- (mapcar '(lambda (x / inte)
- (if (setq inte (inters (car x) (cadr x) p1 p2 nil))
- (if (IsOnLine (car x) (cadr x) inte )
- inte
- )
- )
- )
- (LInept (lwpt en))
- )
- inte
- )
-
;批量倒角,代码错误,不知道错在哪里了,大家给看看
|