在AUTOCAD中如何用lisp语言新建一个标注样式 5

标注样式管理器中显示的结构如下:bz<=====首先新建一个名为bz的样式||--线性<=====再新建一个名为bz下的线性样式|--角度<=====再新建一个名为bz下... 标注样式管理器中显示的结构如下:
bz <=====首先新建一个名为bz的样式
|
|--线性 <=====再新建一个名为bz下的线性样式
|--角度 <=====再新建一个名为bz下的角度样式
standard
展开
 我来答
朱06CAD
推荐于2016-01-29 · 知道合伙人软件行家
朱06CAD
知道合伙人软件行家
采纳数:4172 获赞数:18067
高中,熟悉AutoCAD。会autolisp及VBA程序。

向TA提问 私信TA
展开全部
  1. 标注样式要先建立字体样式。

  2. 如果箭头没有块的话,要建立块。

  3. ;;;主程序标注样式
    (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"两个字体】
urljit
2007-03-30 · TA获得超过480个赞
知道小有建树答主
回答量:659
采纳率:0%
帮助的人:230万
展开全部
(setq
etmkrtn (entmake (list
(cons 0 "DIMSTYLE")
(cons 100 "AcDbSymbolTableRecord")
(cons 100 "AcDbDimStyleTableRecord")
(cons 2 "Sdimstyle_by_chen")
(CONS 5 "_ARCHTICK")
(CONS 6 "_ARCHTICK")
(CONS 7 "_ARCHTICK")
(cons 40 0.01)
(cons 41 120.0)
(cons 42 200.0)
(cons 43 200.0)
(cons 44 200.0)
(cons 45 10.0)
(cons 70 0)
(cons 73 0)
(cons 74 0)
(cons 77 1)
(cons 78 12)
(cons 140 280.0)
(cons 141 1.0)
(cons 143 1.0)
(cons 144 100.0)
(cons 145 1.6667)
(cons 146 0.1667)
(cons 147 100.0)
(cons 171 0)
(cons 172 1)
(cons 173 1)
(cons 174 1)
(cons 176 256)
(cons 177 256)
(cons 178 3)
(cons 274 0)
(cons 284 12)
(cons 285 12)
(cons 286 12)
(cons 340 dltxt)
)
)
)
)
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友892159d
2007-03-25 · TA获得超过5028个赞
知道大有可为答主
回答量:2629
采纳率:0%
帮助的人:2622万
展开全部
直接使用ddim命令不是很方便吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式