这允许多线圆角。它使用3个拾取来计算圆角方向。在双线相交的地方,有4个圆角选项
- (setq ncr (getpoint "\npick point on inside near corner: "))
- (command "zoom" "c" ncr zsc)
- ;perrp is 128
- (setq old_mode (getvar "osmode"))
- (setvar "osmode" 512)
- ;(command "osnap" "near")
- (princ "\nPick 1st inner wall: ")
- (COMMAND "_.LINE" ncr "_perp" pause "")
- (setq tp1 (getvar "lastpoint"))
- (setq tpp1 (entget (entlast)))
- (setq pt1 (cdr (assoc 10 tpp1)))
- (setq pt2 (cdr (assoc 11 tpp1)))
- ; check that angle is 90 in correct direction
- (SETQ ANG1 (ANGLE pt1 pt2))
- (COMMAND "ERASE" "L" "")
- (princ "\nPick 2nd inner wall: ")
- (COMMAND "_.LINE" ncr "_perp" pause "")
- (setq tp2 (getvar "lastpoint"))
- (setq tpp2 (entget (entlast)))
- (setq pt3 (cdr (assoc 10 tpp2)))
- (setq pt4 (cdr (assoc 11 tpp2)))
- ; check that angle is 90 in correct direction
- (SETQ ANG2 (ANGLE pt3 pt4))
- (COMMAND "ERASE" "L" "")
- (setvar "osmode" 0)
- (command "fillet" tp1 tp2)
- (setq tp3 (polar tp1 ang1 w4))
- (setq tp4 (polar tp2 ang2 w4))
- (command "fillet" tp3 tp4)
只需将w4替换为您的宽度
我有另一个lisp试图找到它,将任何数量的圆角多行,不需要知道平行线的宽度,它使用一个起点,然后拖动一条线在第一组,然后第二组嘿,普雷斯托所有圆角。如果有用的话,我可以告诉你,它使用一条新线与旧线的交点,使用起来非常快。 |