 - (defun c:NN (/ os olddix pt1 pt2 ptlistx ptlists enx eny ss2 reg1 reg2)
- (setvar "cmdecho" 0)
- (setq os (getvar "osmode"))
- (setvar "osmode" 0)
- (if (null DIX)
- (setq DIX (getdist "\n请输入要连接的距离:"))
- (progn
- (setq OLDDIX DIX
- DIX (getreal (strcat "输入要连接的距离<"(rtos OLDDIX 2 4)">")))
- (if (null DIX) (setq DIX OLDDIX))
- )
- )
- (command "._undo" "begin")
- (setq pt1 (getpoint "\n输入第一点"))
- (setq pt2 (getpoint pt1 "\n输入下一点"))
- (setq ptlist (list pt1 pt2)
- angx (angle pt1 pt2))
- (setq ptlistx
- (mapcar '(lambda (x) (polar x (+ (/ pi 2) angx) DIX)) ptlist))
- (setq ptlistx (reverse ptlistx))
- (setq ptlists (append ptlist ptlistx))
- (command "pline") (mapcar 'command ptlists) (command "c")
- (setq enx (entlast))
- (setq ss (ssget "f" ptlistx))
- (setq ss (ssdel enx ss))
- (command "region" enx "")
- (setq reg1 (entlast))
- (command "region" ss "")
- (setq reg2 (entlast))
- (command "subtract" reg2 "" reg1 "")
- (setq eny (entlast))
- (command "explode" eny)
- (setq ss2 (ssget "p"))
- (setvar "PEDITACCEPT" 1)
- (command "PEDIT" ss2 "j" "all" "" "")
- (setvar "PEDITACCEPT" 0)
- (command "._undo" "end")
- (setvar "osmode" os)
- (princ "\n完成连线操作")
- (prin1)
- )
|