ssyfeng 发表于 2023-12-19 09:40:13

ZJ135016 发表于 2023-12-18 15:05
就是打开别人建好的图档,自动插入自己的标注字体

先写好新建标注样式或字体样式的程序,把他放到启动组中让他自动启动就可以了

hhh454 发表于 2023-12-19 10:11:19

ssyfeng 发表于 2023-12-16 14:58
高版本CAD都不自带VBA了,还要单独安装。运用模板最简单。

通过猫老师的插件可以生成lisp源代码,高底版本通用的

hhh454 发表于 2023-12-19 11:27:27

源代码:
(defun c:tt ();;;也可以去掉第一行和末尾),加载后直接就执行了
(setvar "cmdecho" 0)
(if (= nil (tblsearch "STYLE" "标注01"));;;假如没有这个字体就创建
    (progn (command "-STYLE" "标注01" "黑体" "0" "1" "0" "n" "n"))
)
(if (= nil (tblsearch "DIMSTYLE" "bz001"));;;假如没有这个标注样式就创建
    (progn (command "-DIMSTYLE" "an" "y" "bz001" "s" ""))
)
(setvar "cmdecho" 1)
)
文件和上面的一样,直接复制就行


以下是可视化执行过程,便于理解代码的运行过程,
标注样式的其他参数在下方,直接执行命令就行
例如修改标注字体高度:在上面的代码最后加上 (setvar "DIMTXT" 50) 就可以了
新建字体相关:
命令: -STYLE
输入文字样式名或 [?] <Standard>: 标注01


新样式。
指定字体名或字体文件名(对于 SHX) <txt>: 黑体
指定文字高度或 [注释性(A)] <0.0000>:
指定宽度因子 <1.0000>:


指定倾斜角度 <0>:
是否反向显示文字?[是(Y)/否(N)] <否>: N
是否颠倒显示文字?[是(Y)/否(N)] <否>: N



“标注01”是当前文字样式。


标注样式相关:调整对应的参数
命令: -DIMSTYLE

当前标注样式: 001   注释性: 否
输入标注样式选项
[注释性(AN)/保存(S)/恢复(R)/状态(ST)/变量(V)/应用(A)/?] <恢复>: AN
创建注释性标注样式 [是(Y)/否(N)] <是>: Y

输入新标注样式名或 [?]: 002
输入标注样式选项
[注释性(AN)/保存(S)/恢复(R)/状态(ST)/变量(V)/应用(A)/?] <恢复>: ST

DIMASO      关                  创建标注对象
DIMSTYLE    002                  当前标注样式 (只读)

DIMADEC   0                  角度小数位数
DIMALT      关                  选定的换算单位
DIMALTD   3                  换算单位小数位数
DIMALTF   0.0394               换算单位比例因子
DIMALTMZF   100.0000             公制标注的换算辅零因子
DIMALTMZS                        公制标注的换算辅零后缀
DIMALTRND   0.0000               换算单位舍入值
DIMALTTD    3                  换算公差小数位数
DIMALTTZ    0                  换算公差消零
DIMALTU   2                  换算单位
DIMALTZ   0                  换算单位消零
DIMAPOST                         替换文字的前缀和后缀
DIMARCSYM   0                  弧长符号
DIMASZ      2.5000               箭头大小
DIMATFIT    3                  箭头和文字调整
DIMAUNIT    0                  角度单位格式
DIMAZIN   0                  角度消零
DIMBLK      实心闭合               箭头块名
DIMBLK1   实心闭合               第一个箭头块名
DIMBLK2   实心闭合               第二个箭头块名
DIMCEN      2.5000               圆心标记大小
DIMCLRD   BYBLOCK            尺寸线和引线颜色
DIMCLRE   BYBLOCK            尺寸界线颜色
DIMCLRT   BYLAYER            标注文字颜色
DIMDEC      2                  小数位数
DIMDLE      0.0000               尺寸线
DIMDLI      3.7500               尺寸线间距
DIMDSEP   ,                  小数分隔符
DIMEXE      1.2500               尺寸界线在尺寸线上
DIMEXO      0.6250               尺寸界线原点偏移
DIMFRAC   0                  分数格式
DIMFXL      1.0000               固定的尺寸界线
DIMFXLON    关                  启用固定的尺寸界线
DIMGAP      0.6250               尺寸线和文字的间距
DIMJOGANG   45                   半径标注折弯角度
DIMJUST   0                  尺寸线上的文字对正
DIMLDRBLK   实心闭合               引线块名
DIMLFAC   1.0000               线性单位比例因子
DIMLIM      关                  生成标注界限
DIMLTEX1    BYBLOCK            线型尺寸界线 1
DIMLTEX2    BYBLOCK            线型尺寸界线 2
DIMLTYPE    BYBLOCK            标注线型
DIMLUNIT    2                  线性单位格式
DIMLWD      -2                   尺寸线和引线线宽
DIMLWE      -2                   尺寸界线线宽
DIMMZF      100.0000             公制标注的辅零因子
DIMMZS                           公制标注的辅零后缀
DIMPOST                        标注文字的前缀和后缀
DIMRND      0.0000               舍入值
DIMSAH      关                  独立的箭头块
DIMSCALE    1.0000               全局比例因子
DIMSD1      关                  隐藏第一条尺寸线
DIMSD2      关                  隐藏第二条尺寸线
DIMSE1      关                  隐藏第一条尺寸界线
DIMSE2      关                  隐藏第二条尺寸界线
DIMSOXD   关                  隐藏外侧尺寸线
DIMTAD      1                  文字位于尺寸线上方
DIMTDEC   2                  公差小数位数
DIMTFAC   1.0000               公差文字高度比例因子
DIMTFILL    0                  文字背景已启用
DIMTFILLCLR BYBLOCK            文字背景颜色
DIMTIH      关                  尺寸界线内侧的文字水平放置
DIMTIX      关                  将文字放置于尺寸界线内侧
DIMTM       0.0000               下偏差
DIMTMOVE    0                  文字移动
DIMTOFL   开                  强制在尺寸界线内侧画尺寸线
DIMTOH      关                  外侧文字水平放置
DIMTOL      关                  公差标注
DIMTOLJ   0                  公差垂直对齐
DIMTP       0.0000               上偏差
DIMTSZ      0.0000               标记大小
DIMTVP      0.0000               文字垂直位置
DIMTXSTY    Standard             文字样式
DIMTXT      2.5000               文字高度
DIMTXTDIRECTION关                  标注文字的方向
DIMTZIN   8                  公差消零
DIMUPT      关                  用户定位的文字
DIMZIN      8                  消零


ZJ135016 发表于 2023-12-20 11:54:20

本帖最后由 ZJ135016 于 2023-12-20 12:01 编辑

hhh454 发表于 2023-12-19 11:27
源代码:

文件和上面的一样,直接复制就行

大佬,改了标注变量后,会产生样式替代,改的都是样式替代里面的参数



(defun c:tt11 ();;;也可以去掉第一行和末尾),加载后直接就执行了
(setvar "cmdecho" 0)
(if (= nil (tblsearch "STYLE" "TXT"));;;假如没有这个字体就创建
    (progn (command "-STYLE" "TXT" "txt.shx,ctxt.shx" "A" "N" "0" "1" "0" "n" "n" "n"))
)
   (if (= nil (tblsearch "DIMSTYLE" "标注1.500"));;;假如没有这个标注样式就创建
    (progn (command "-DIMSTYLE" "an" "N" "标注1.500" "s" ""))
)
(setvar "DIMLWD"-2)
(setvar "DIMCLRD" 4)

(setvar "cmdecho" 1)
)


hhh454 发表于 2023-12-20 21:17:16

ZJ135016 发表于 2023-12-20 11:54
大佬,改了标注变量后,会产生样式替代,改的都是样式替代里面的参数




确实,修改参数后就会产生样式替代,假如不影响使用,就用替代吧,具体什么原因还没有研究明白

菜鸟初来乍到 发表于 2024-1-9 23:24:37

hhh454 发表于 2023-12-16 12:22
用猫老师的这个插件就可以实现,自动生成代码,然后在ap加载里面自动启动就可以,这样每次开图就自动有了, ...

这个厉害,感谢大佬分享
页: 1 [2]
查看完整版本: 打开图档就会有设定好的标注和字体