求个平行直线定距打断并封口,以下代码有点问题,高手看看!
本帖最后由 cdm1999 于 2021-10-28 12:06 编辑下面程序有点问题,高手有空帮忙改下:想实现直线开门功能
(defun c:km()
(command "osnap" "nea" "blipmode" "on")
(setq chklay (tblsearch "layer" "1"))
(if (= chklay nil)
(command"layer""n""1""c""7""1""");新建1层把色7(白色)付给1层
)
(command "layer" "s" "1" "")
(setq p1 (getpoint "\n 选择一点:"))
(setq ent (entget (car (entsel))))
(setq pt1 (cdr (assoc 10 ent)))
(setq pt2 (cdr (assoc 11 ent)))
(setq ang (angle pt1 pt2))
(if (>= ang pi) (setq ang (- ang pi)))
(setq p2(polar p1 ang 0.7))
(command "break" p1 p2)
(setq ang1 (angle pt1 p1))
(if (<= ang1 90.0) (setq ang1 (- ang1 ang))) (setq a (cos ang1))
(setq txt(distance pt1 p1))
(setq s (* txt a))
(setq p3 (polar pt1 ang s))
(setq p4(polar p3 ang 0.7))
(command "break" p3 p4)
(command "line" p1 p3 "")
(command "line" p2 p4 "")
(command "osnap" "end")
(command "redraw")
(princ))
页:
[1]