根据明经里面的一些更改的cad快速创建标注样式,都是用command命令实现
;主程序;(princ "\n新建标注样式快捷键:nds")
(defun c:nds( / sc a b c name CMDECHO_BACK)
(setq cmdecho_back(getvar "cmdecho"))
(setvar "cmdecho" 0)
(if (not (tblsearch "style" "isocp" ))
(C:nws) )
(setq sc (getreal "\n输入标注比例因子<1>:"))
(if (= sc nil)
(setq sc 1))
(setq a(getint "\n关闭公差<0>或者打开公差<1>:\n<0>关闭公差,<1>打开公差<0>:"))
(if(= a nil)
(setq a 0))
(dim_information)
(cond ((= a 0)
(dimtol_0) )
((= a 1)
(dimtol_1))
(t (alert "\n关闭公差<0>或者打开公差<1>:")
(c:nds)) )
(setvar "cmdecho" cmdecho_back)
(print)
)
;;子程序1
;;设为当前样式
(defun current_style_0( / CMDECHO_BACK );标注样式存在
(setq cmdecho_back(getvar "cmdecho"))
(setvar "cmdecho" 0)
(command "dimstyle" "r" name "")
(princ "\n将标注样式")
(princ name)
(princ "设为当前样式:")
(setvar "cmdecho" cmdecho_back)
(print)
)
;;子程序2
;;新建标注样式
(defun current_style_1( / cmdecho_back);标注样式不存在
(setq cmdecho_back(getvar "cmdecho"))
(setvar "cmdecho" 0)
(setvar "dimscale" sc) ;全局比例
(princ "\n新建标注样式:")
(princ name)
(print)
(setvar "cmdecho" cmdecho_back)
(princ)
(print)
)
;;子程序3
;公差关闭时设置
(defun dimtol_0(/ cmdecho_back)
(setq cmdecho_back(getvar "cmdecho"))
(setvar "cmdecho" 0)
(setvar "dimtol" 0) ;公差关
(setq name(princ
(strcat "1-"(rtos sc)"")))
(cond((not (tblsearch "dimstyle" name))
(current_style_1)
(command "dimstyle" "S" name "" "") ;建立标注样式
(command))
((tblsearch "dimstyle" name)
(current_style_0))
)
(setvar "cmdecho" cmdecho_back)
(princ)
(print)
)
;;子程序4
;公差打开时设置
(defun dimtol_1( / cmdecho_back)
(setq cmdecho_back(getvar "cmdecho"))
(setvar "cmdecho" 0)
(dimtol_information)
(setvar "dimtol" 1) ;公差打开
(setq name(princ(strcat "1-"(rtos sc)"-有公差")))
(command "dimstyle" "S" name "" "") ;建立标注样式
(command)
(setvar "cmdecho" cmdecho_back)
(princ)
(print)
)
;;子程序5
;公差打开时设置
(defun dimtol_information(/ b c)
(setq b(getreal "\n请输入上偏差<0.1>:"))
(if (= b nil)
(setq b 0.1))
(setq c(getreal "\n请输入下偏差<0.1>:"))
(if (= c nil)
(setq c 0.1))
(setvar "dimtol" 1) ;公差开
(setvar "DIMAZIN" 2) ;角度消零
(setvar "DIMTFAC"1) ;公差文字高度比例因子
(setvar "DIMZIN" 8) ;公差消零
(setvar "DIMTOLJ" 1) ;公差垂直对齐
(setvar"DIMTDEC" 2) ;公差小数位数
(setvar "DIMTP" b) ;上偏差
(setvar "DIMTM" c) ;下偏差 ;(setvar "dimtm" c)
(setvar "DIMALTTD" 2) ;换算公差小数位数
(setvar "DIMALTTZ" 0) ;换算公差消零
(print)
)
;;子程序6
;设置标注信息
(defun dim_information( / cmdecho_back)
(setq cmdecho_back(getvar "cmdecho"))
(setvar "cmdecho" 0)
(setvar "DIMADEC" 2) ; 角度小数位数
(setvar "DIMALT" 0) ;选定的换算单位关(1为开)
(setvar "DIMALTD" 2) ;换算单位小数位数
(setvar "DIMALTRND" 0) ; 换算单位舍入值
(setvar "DIMALTU" 2) ;换算单位
(setvar "DIMALTZ" 0) ;换算单位消零
(setvar "DIMARCSYM" 0) ;弧长符号
(setvar "dimasz" 2) ;控制尺寸线和引线箭头的大小。并控制基线的大小
(setvar "DIMATFIT" 3) ;箭头和文字调整
(setvar "DIMAUNIT" 0) ;角度单位格式
(setvar "DIMASZ" 2) ;箭头大小
(setvar "DIMAZIN" 2) ;角度消零
(setvar "dimblk" ".") ;引线箭头(建筑标记)
(setvar "dimblk1" ".") ;箭头(建筑标记)
(setvar "dimblk2" ".") ;箭头(建筑标记)
(setvar "DIMCEN" 0) ;圆心标记大小
(setvar "dimclrd" 150) ;为尺寸线、箭头和标注引线指定颜色
(setvar "dimclre" 150) ;为尺寸界线指定颜色
(setvar "dimclrt" 121) ;为标注文字指定颜色
(setvar "dimdec" 2) ;精度小数位数
(setvar "DIMDLI" 0.5) ; 尺寸线间距
(setvar "DIMDSEP" ".") ;小数分隔符
(setvar "dimexe" 0.5) ;指定尺寸界线超出尺寸线的距离
(setvar "dimaltf" 25.4)
(setvar "dimexo" 0) ;起点偏移量
(setvar "DIMFRAC" 0) ;分数格式
(setvar "DIMFXL" 1) ;固定的延伸线
(setvar "DIMFXLON" 0) ;启用固定的延伸线
(setvar "dimgap" 0.625) ;文字从尺寸线偏移
(setvar "dimjust" 0) ;文字水平位置(居中)
(setvar "DIMLDRBLK" ".") ;引线块名
(setvar "DIMLFAC" 1) ;线性单位比例因子
(setvar "DIMLIM" 0) ;生成标注界限
(setvar "DIMLTEX1" ".") ;线型延伸线 1
(setvar "DIMLTEX2" ".") ;线型延伸线 2
(setvar "DIMLTYPE" ".") ;标注线型
(setvar "DIMLUNIT" 2) ;线性单位格式
(setvar "DIMLWD" 9) ;尺寸线和引线线宽
(setvar "DIMLWE" 9) ; 延伸线线宽
(setvar "DIMRND" 0) ;舍入值
(setvar "DIMSD1" 0) ;隐藏第一条尺寸线
(setvar "DIMSD2" 0) ;隐藏第二条尺寸线
(setvar "DIMSE1" 0) ;隐藏第一条延伸线
(setvar "DIMSE2" 0) ;隐藏第二条延伸线
(setvar "DIMSOXD" 0) ;隐藏外侧尺寸线
(setvar "dimtad" 1) ;文字垂直位置(上方)
(setvar "DIMTFILL" 1) ;背景已启用
(setvar "dimtfillclr" 0) ;文字背景颜色
(setvar "DIMTIH" 0) ;延伸线内侧的文字水平放置
(setvar "DIMTIX" 0)
(setvar "dimtmove" 0) ;文字不在默认位置时,放在 尺寸线上方,不加引线
(setvar "DIMTOFL"0) ;强制在延伸线内侧画尺寸线
(setvar "DIMTOH" 0) ;外侧文字水平放置
(setvar "DIMZIN" 8) ;消零
(setvar "DIMTSZ" 0) ;标记大小
(setvar "DIMTVP" 0) ;文字垂直位置
(setvar "dimtxsty" "isocp") ;指定标注的文字样式
(setvar "dimtxt" 2.5) ;指定标注文字的高度
(setvar "dimtad" 1) ;文字垂直位置(上方)
(setvar "DIMTXTDIRECTION" 0) ;标注文字的方向
(setvar "DIMUPT" 0) ;用户定位的文字
(setvar "cmdecho" cmdecho_back)
(princ)
(print)
)
路过,支持楼主 标注上的东西全了… 学习了,谢谢 谢谢,新人前来学习
页:
[1]