本帖最后由 作者 于 2006-12-29 14:29:36 编辑
这个是我的新建标注样式的程序,看是否对你有帮助 ________________________________________________2.10 自动建立标注样式
(defun c:nd (/ sct sca dsname SCALL SCTEXT) (princ "\n命令解释为 D)imstyle (M)aker") (setvar "cmdecho" 0) (princ "\n形成的标注样式名为:SMDIMA-B:") (setq scall (getint "\n请输入比例值A:")) (setq sctext (getint "\n请输入比例值B:")) (if (and sctext scall) (progn (setq sca (rtos scall) sct (rtos sctext) dsname (strcat "SMDIM" sca "-" sct) ) (if (and (tblsearch "STYLE" "SM") (not (tblsearch "DIMSTYLE" dsname)) ) (progn (princ (strcat "\n新添加的标注样式名称将被命名为: " dsname)) (entmake (list '(0 . "DIMSTYLE") '(100 . "AcDbSymbolTableRecord") '(100 . "AcDbDimStyleTableRecord") (cons 2 dsname) '(70 . 0) '(3 . "") '(4 . "") '(5 . "") '(6 . "") '(7 . "") (cons 40 (distof (rtos scall))) '(41 . 2.5) '(42 . 0.625) '(43 . 3.75) '(44 . 1.25) '(45 . 0.0) '(46 . 0.0) '(47 . 0.0) '(48 . 0.0) '(140 . 3.0) '(141 . 2.5) '(142 . 0.0) '(143 . 0.0393701) (cons 144 (distof (rtos sctext))) '(145 . 0.0) '(146 . 1.0) '(147 . 0.625) '(71 . 0) '(72 . 0) '(73 . 0) '(74 . 1) '(75 . 0) '(76 . 0) '(77 . 1) '(78 . 8) '(170 . 0) '(171 . 3) '(172 . 1) '(173 . 0) '(174 . 0) '(175 . 0) '(176 . 3) '(177 . 3) '(178 . 3) '(270 . 2) '(271 . 0) '(272 . 0) '(273 . 2) '(274 . 3) (cons 340 (tblobjname "style" "SM")) '(275 . 0) '(280 . 0) '(281 . 0) '(282 . 0) '(283 . 0) '(284 . 8) '(285 . 0) '(286 . 0) '(287 . 3) '(288 . 0) ) ) (command "-DIMSTYLE" "r" dsname) (setvar "DIMFIT" 1) (setvar "DIMUPT" 1) (setvar "DIMtad" 2) (command "-dimstyle" "save" (strcat dsname "$3")) (command "-dimstyle" "save" (strcat dsname "$4")) (setvar "DIMtad" 2) (setvar "DIMtih" 1) (setvar "DIMtoh" 1) (setvar "DIMfit" 1) (setvar "DIMUPT" 1) (command "-dimstyle" "save" (strcat dsname "$2")) ) (princ "\n该样式可能已经曾在,或本图不曾在SM字体!") ) ) ) (princ) ) |