;;建立标注式 (defun dimblk1(/ p1 p2 mp p3 p4 ent1 ent2 ifdimblk ) (setq p1 (list 0 0) p2 (polar p1 (* 0.25 pi) 2) mp (list (* 0.5 (car p2)) (* 0.5 (cadr p2))) p3(list (- (car mp) 1.5) (cadr mp)) p4(list (+ (car mp) 1.5) (cadr mp)) ) (command "line" p3 p4 "") (setq ent1 (entlast)) (command "pline" p1 "w" 0.5 0.5 p2 "") (setq ent2 (entlast)) (setq ifdimblk (tblsearch "block" "DIM1")) (if ifdimblk (command "block" "DIM1" "y" mp ent1 ent2 "") (command "block" "DIM1" mp ent1 ent2 "") ) (princ) ) (defun dimblk2(/ p1 p2 p3 arrowblock flag) (setq p1 (list 0 0) p2 (list -2.5 0.43) p3 (list -2.5 -0.43) ) (command "solid" p1 p2 p3 p1"") (setq arrowblock (entlast)) (setq flag (tblsearch "block" "dim2")) (if (null flag) (command "block" "dim2" p1 arrowblock "") (progn (command "block" "dim2" "n") (entdel arrowblock)) ) )
(defun dimset(/ ifdimt ) (dimblk1) (dimblk2) ;;; (if (null (tblsearch "style" "DIMT"))(command "style" "DIMT" "txt.shx" 0 0.70 "" "" "" "" )) (command "style" "DIMT" "txt.shx" 0 0.70 "" "" "" "" ) (setq ifdimt (tblsearch "style" "DIMT")) (if (not ifdimt) (progn (princ "\n 没有相应的字体")(exit))) (setq version (atof (substr (getvar "acadver") 1 2))) (setvar "dimexe" 1.25) (setvar "dimcen" 2.5) (setvar "dimgap" 0.625) (setvar "dimsah" 1) (setvar "dimblk1" "DIM1") (setvar "dimblk2" "DIM1") (setvar "dimasz" 1) (setvar "dimtxt" 3) (setvar "dimtxsty" "DIMT") (if (>= version 15)(setvar "dimldrblk" "DIM2")) (if (>= version 16)(setvar "dimdsep" ".")) (setvar "dimclre" 0) (setvar "dimclrd" 0) (setvar "dimclrt" 0) (setvar "dimexo" 2.5) (if (>= version 15)(setvar "dimtmove" 2)) ) (defun c:bz() (ini) (dimset) (setvar "dimscale" scal) (if (= scal 1) (setvar "dimlfac" 10)(setvar "dimlfac" 0.1)) (if (not (tblsearch "dimstyle" "SCAL10")) (command "dimstyle" "s" "SCAL10") (command "dimstyle" "s" "SCAL10" "y") ) (if (= scal 1) (setvar "dimlfac" 20)(setvar "dimlfac" 0.2)) (if (not (tblsearch "dimstyle" "SCAL20")) (command "dimstyle" "s" "SCAL20") (command "dimstyle" "s" "SCAL20" "y") ) (if (= scal 1) (setvar "dimlfac" 30)(setvar "dimlfac" 0.3)) (if (not (tblsearch "dimstyle" "SCAL30")) (command "dimstyle" "s" "SCAL30") (command "dimstyle" "s" "SCAL30" "y") ) (if (= scal 1) (setvar "dimlfac" 50)(setvar "dimlfac" 0.5)) (if (not (tblsearch "dimstyle" "SCAL50")) (command "dimstyle" "s" "SCAL50") (command "dimstyle" "s" "SCAL50" "y") ) (if (= scal 1) (setvar "dimlfac" 100)(setvar "dimlfac" 1.0)) (if (not (tblsearch "dimstyle" "SCAL100")) (command "dimstyle" "s" "SCAL100") (command "dimstyle" "s" "SCAL100" "y") ) (princ "\n已经建立了20 30 50 100 比例的标注样式") (reset) (princ) ) 我以前写过一个,你自己看看吧, |