标注样式要先建立字体样式。62616964757a686964616fe78988e69d8331333337616533
如果箭头没有块的话,要建立块。
;;;主程序标注样式
(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"两个字体】