;;; 此程序用于绘制图框. ;;;-------------------------------------------------------------------------
(setq i (getvar "dimscale")) ;获取比例 (setvar "regenmode" 1) ;保证AutoCAD不询问是否重新生成 (setvar "cmdecho" 0) ;屏蔽command显示 (setq cl (getvar "clayer") osm (getvar "osmode")) (command "limits" "OFF") (setvar "osmode" 0) (initget "0 1 2 3 4") (princ "\nSMCAD-LSP, 绘制图框 ...") (setq tf (getkword "\n选择标准图幅(0-4)<4>:")) (if (not tf) (setq tf 4) (setq tf (atoi tf))) (if (= tf 4) (progn (initget "Hor Ver") (setq hv (getkword "\nStyle(Ver/Hor)<Ver>:")) (if (not hv) (setq hv "Ver")) (if (= hv "Hor") (setq bb 210. ll 297.) (setq bb 297. ll 210.))) ROGN ) ;if (cond ((= tf 0) (setq bb 841. ll 1188.)) ;841x1188 ((= tf 1) (setq bb 594. ll 841.)) ;546X841 ((= tf 2) (setq bb 420. ll 594.)) ((= tf 3) (setq bb 297. ll 420.)) ) ;COND (setq aa 25 I II) (if (< tf 3) (setq cc 10) (setq cc 5)) (setq aa (* aa i) ll (* ll i) bb (* bb i) cc (* cc i)) (command "layer" "s" "0" "") (command "pline" '(0 0) "W" (* I 0.5) (* I 0.5) (polar '(0 0) 0 (- ll aa cc)) (polar (getvar "lastpoint") (/ pi 2) (- bb cc cc)) (polar '(0 0) (/ pi 2) (- bb cc cc)) "cl") (command "layer" "s" "0" "") (command "pline" (SETQ PTI (list (- aa) (- cc))) "w" 0 0 (polar (getvar "lastpoint") 0 ll) (SETQ PTM (polar (getvar "lastpoint") (/ pi 2) bb)) (polar (list (- aa) (- cc)) (/ pi 2) bb) "cl") (command "limits" (polar PTI -2.356 i) (polar PTM 0.785 i) "ZOOM" "E") (setq fn (strcat " FILE NAME: " (strcase (getvar "DWGNAME")) ".DWG")) (COMMAND "insert" "/block/sign.dwg" "0,0" i i 0 "TEXT" (LIST (* -1.5 i) (* 105 I)) (* I 3) 90 FN) (command "layer" "s" cl "") (setvar "osmode" osm) (princ) (defun c:autostbk() (princ "\nAuto CAMD (Ver.szp), Automatic-set a block...") (setq osmode_save (getvar "osmode")) (setvar "osmode" 0) (setq sss (ssget "_X")) (if sss (progn (setq cd (rtos (getvar "cdate") 2 6)) (setq cd (substr cd (- (strlen cd) 5))) (command "block" (strcat "auto-set-" cd) (getvar "viewctr") sss "") (command "insert" (strcat "auto-set-" cd) (getvar "viewctr") 1 1 0) ) ;progn ) ;if (setvar "osmode" osmode_save) (princ) ) (c:autostbk) |