(defun ddstyle ( / sc)
(setq sc 1)
(setq sc (cdr (assoc 18 Data))) 绘图比例
(setvar "cmdecho" 0)
(setvar "dimclrd" 0) 为尺寸线、箭头和标注引线指定颜色
(setvar "dimclre" 0) 为尺寸界线指定颜色
(setvar "dimclrt" acwhite) 为标注文字指定颜色
(setvar "dimdle" (* sc 100)) 当使用小斜线代替箭头进行标注时,设置尺寸线超出尺寸界线的距离(超出标记)
(setvar "dimexe" (* sc 100)) 指定尺寸界线超出尺寸线的距离
(setvar "dimexo" (* sc 250)) 起点偏移量
(setvar "dimblk" "_ARCHTICK") 箭头(建筑标记)
(setvar "dimasz" (* sc 100)) 控制尺寸线和引线箭头的大小。并控制基线的大小
(setvar "dimcen" 0) 圆心标记-无
(setvar "dimarcsym" 0) 弧长符号-前辍
(setvar "dimjogang" (* sc 45)) 折弯角度
(setvar "dimtxsty" "TSSD_Dimension") 指定标注的文字样式
(setvar "dimtxt" (* sc 300)) 指定标注文字的高度
(setvar "dimtad" 1) 文字垂直位置(上方)
(setvar "dimjust" 0) 文字水平位置(居中)
(setvar "dimtih" "off") 线内文字对齐(与尺寸线对齐)
(setvar "dimtoh" "off") 线外文字对齐(与尺寸线对齐)
(setvar "dimgap" (* sc 100)) 文字从尺寸线偏移
(setvar "dimtix" "on") 文字始终保持在尺寸界线之间
(setvar "dimtmove" 2) 文字不在默认位置时,放在 尺寸线上方,不加引线
(setvar "dimscale" 1) 全局比例
(setvar "dimtofl" "on") 在尺寸线之间绘制尺寸界线
(setvar "dimdec" 0) 精度
(setvar "dimlfac" 1) 测量比例因子
(command "-dimstyle" "S" "TSSD_100_100" "" "")建立标注样式
)
标注样式要先建立字体样式。
如果箭头没有块的话,要建立块。
主程序标注样式(defun TextDim ()
(tssd2)
(if (null (tblsearch "DIMSTYLE" "TSSD_50_50-250"))1
(progn
(if (null (tblobjname "BLOCK" "_ARCHTICK"))
(progn
(entmake (list '(0 . "BLOCK") '(100 . "AcDbEntity") '(67 . 0) '(8 . "0") '(100 . "AcDbBlockBegin") '(70 . 0) '(10 0.0 0.0 0.0) '(2 . "_ARCHTICK") '(1 . "")))
(entmake (list '(0 . "LWPOLYLINE") '(100 . "AcDbEntity") '(67 . 0) '(8 . "0") '(62 . 0) '(6 . "ByBlock") '(100 . "AcDbPolyline") '(90 . 2) '(43 . 0.15) '(10 -0.5 -0.5 0.0) '(10 0.5 0.5 0.0) '(210 0.0 0.0 1.0)))
(entmake (list '(0 . "ENDBLK")))
(entupd (tblobjname "Block" "_ARCHTICK"))
)
)
(entmake (list '(0 . "DIMSTYLE")
'(100 . "AcDbSymbolTableRecord")
'(100 . "AcDbDimStyleTableRecord")
'(70 . 0)
'(2 . "TSSD_50_50-250") 标注样式名
'(3 . "") 标注前缀
'(4 . "")
'(40 . 0.0) 标注特征比例,缩放到布局
'(41 . 60) 箭头尺寸
'(42 . 50) 起点偏移量
'(43 . 0) 基线间距
'(44 . 0) 超出尺寸线
'(47 . 0.000) 上偏差
'(48 . 0.000) 下偏差
'(71 . 0) 公差无
'(73 . 0) 设置对齐或水平的内部文字
'(74 . 0) 设置外部文字对齐或水平
'(77 . 2) 文字在尺寸线外部
'(140 . 230) 文字高度
'(141 . 0) 圆心标记
'(142 . 0) 箭头斜线的大小
'(144 . 1.0) 测量比例单位
'(146 . 0.5) 公差高度比例
'(147 . 60) 文字从尺寸线偏移
'(172 . 2) 尺寸界线间连线
'(173 . 0) 绘制箭头的用户定义块
'(174 . 4) 限制文字在延伸线间
'(176 . 256) 随层
'(177 . 256) 随层
'(178 . 256) 随层
'(271 . 0) 尺寸标注精度
'(272 . 3) 公差标注精度
'(275 . 0) 角度标注制式,十进制。
'(280 . 0) 确定文字的水平位置
'(283 . 1) DIMTOLJ 通用 设置公差文字的竖向位置
'(288 . 0) 手动放置尺寸
'(279 . 2) 文字移动
(cons 340 (tblobjname "style" "TSSD_Dimension")) 文字样式名
(cons 342 (cdr (assoc 330 (entget (tblobjname "BLOCK" "_ARCHTICK")))))DIMBLK:
)
)
)
)
)
建立TSSD_Dimension字体
(defun TSSD2 ( / newt)
(if (null (tblsearch "style" "TSSD_Dimension"))
(progn
(if (null vlax-dump-object) (vl-load-com) )
(setq newT (vla-add (vla-get-TextStyles (vla-get-activedocument (vlax-get-acad-object))) "TSSD_Dimension"))
(vla-put-fontfile newT "tssdeng.shx")
(vla-put-bigfontfile newT "hztxt.shx")大字体为hztxt
(vla-put-height newT 0)高度0
(vla-put-width newT 0.5)宽度因子0.6
(vla-put-obliqueAngle newT (/ (* pi 3) 180))倾斜角度3
)
)
)【注意:字体库里面必需有"tssdeng.shx""hztxt.shx"两个字体】
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)