明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 325|回复: 10

[源码] entmake 创建标注样式

[复制链接]
发表于 前天 19:35 | 显示全部楼层 |阅读模式
本帖最后由 jt133 于 2024-11-18 19:56 编辑

来明经学习好久了,发个学习贴也是处女贴。
依据大佬aws的“标注样式箭头的创建”这个贴
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=191018&highlight=%B1%EA%D7%A2%D1%F9%CA%BD
为蓝本,根据自己的需求来增减。感谢aws大佬,感谢明经的丰富宝藏。
  1. (defun c:BZ(/ zg  jt)
  2.   (vl-load-com)
  3.   (setvar "cmdecho" 0)
  4.   (setq zg (getdist "\n输入标注文字高度:"))
  5.   (setq jt (* zg 0.8))
  6.   (entmake (list
  7.     '(0 . "STYLE")
  8.     '(100 . "AcDbSymbolTableRecord")
  9.     '(100 . "AcDbTextStyleTableRecord")
  10.     '(2 . "标注")
  11.     '(70 . 0)
  12.     '(40 . 0)   
  13.     '(41 . 0.8)
  14.     '(50 . 0.0)
  15.     '(71 . 0)
  16.     '(42 . 2.5)
  17.     '(3 . "txt.shx")
  18.     '(4 . "gbcbig.shx")
  19.       )
  20.     )
  21.   ;http://bbs.mjtd.com/forum.php?mod=viewthread&tid=191018&highlight=%B1%EA%D7%A2%D1%F9%CA%BD
  22.   ;aws  标注样式箭头的创建
  23.    (entmake
  24.     (list
  25.       '(0 . "DIMSTYLE")
  26.       '(100 . "AcDbSymbolTableRecord")
  27.       '(100 . "AcDbDimStyleTableRecord")
  28.       (cons 2 "我的标注");标注样式名
  29.       '(176 . 1);尺寸线颜色
  30.       '(46  . 1);超出标记
  31.       '(43  . 5);基线间距
  32.       '(281 . 0);线-尺寸线-隐藏:尺寸线1,0=显示,1=隐藏
  33.       '(282 . 0);线-尺寸线-隐藏:尺寸线2,0=显示,1=隐藏
  34.       '(177 . 1);尺寸界线颜色,界线
  35.       '(44  . 1);超出尺寸线
  36.       '(42  . 0);起点偏移量
  37.       '(75  . 0);线-延申线-隐藏:延伸线1,0=显示,1=隐藏
  38.       '(76  . 0);线-延申线-隐藏:延伸线2,0=显示,1=隐藏
  39.       '(290 . 0);固定长度的延伸线,0=不勾选,1=勾选此项
  40.       '(49  . 1);固定长度的延伸线-长度
  41.       '(5 . ".");符号和箭头-箭头-第一个,建筑标记="ArchTick",空心闭合="ClosedBlank",实心圆点="Dot"
  42.       (cons 41 jt);符号和箭头-箭头-箭头大小
  43.      ;'(41 . 15);符号和箭头-箭头-箭头大小
  44.       '(141 . 2.5);符号和箭头-圆心标记,0=无,正数=标记,负数=直线
  45.       (cons 340(tblobjname "style" "标注"));文字-文字外观-文字样式
  46.       ;(cons 340(tblobjname "style" "Standard"));文字-文字外观-文字样式
  47.       '(178 . 256);文字-文字外观-文字颜色,256=ByLayer,0=ByBlock,7=白色……
  48.       '(69  . 0);文字-文字外观-填充颜色类型,0=不填充,1=背景色,2=使用颜色编号
  49.       '(70  . 0);文字-文字外观-填充颜色,256=ByLayer,0=ByBlock,1红2黄……使用颜色编号时此项必备
  50.        (cons 140  zg);文字-文字外观-文字高度
  51.       ;'(140 . 16);文字-文字外观-文字高度
  52.       '(77  . 0);文字-文字位置-垂直:1=上,0=居中,4=下……
  53.       '(280 . 0);文字-文字位置-水平:0=居中,1=第一条延伸线……
  54.       '(147 . 2);文字-文字位置-从尺寸线偏移,填入负数时,“绘制文字边框”项会被勾选
  55.       '(73  . 0);文字-文字对齐:水平=1,与尺寸线对齐=0,ISO标准=0
  56.       '(74  . 0);文字-文字对齐:水平=1,与尺寸线对齐=0,ISO标准=1
  57.       '(174 . 0);调整-调整选项:文字始终在延伸线之间=1,文字=0,箭头=0,文字和箭头=0,文字或箭头=0
  58.       '(289 . 0);调整-调整选项:文字始终在延伸线之间=2,文字=2,箭头=1,文字和箭头=0,文字或箭头=此项消失
  59.       '(175 . 0);调整-调整选项-若箭头不能放在延伸线内则将其消除,不勾选=0,勾选=1
  60.       '(279 . 0);调整-文字位置:尺寸线上方不带引线=2,尺寸线上方带引线=1,尺寸线旁边=0
  61.       '(40  . 0);调整-标注特征比例:将标注缩放到布局=0,使用全局比例>0,
  62.       '(288 . 0);调整-优化:手动放置文字,不勾选=0,勾选=1
  63.       '(172 . 0);调整-优化:在延伸线之间绘制尺寸线,不勾选=0,勾选=1
  64.       '(270 . 2);主单位-线性标注-单位格式:科学=1,小数=2,工程=3……
  65.       '(271 . 2);主单位-线性标注-精度:0=0,0.0=1,0.00=2…
  66.       '(271 . 2);主单位-线性标注-精度:0=0,0.0=1,0.00=2…(不是我重复,组码表就是列出了2个)
  67.       '(272 . 2);主单位-线性标注-精度:0=0,0.0=1,0.00=2…
  68.       '(144 . 1);主单位-线性标注-测量单位比例
  69.       '(78  . 8);主单位-线性标注-消零:后续,勾选=8
  70.       '(275 . 0);主单位-角度标注-单位格式:十进制=0
  71.       '(79  . 2);主单位-角度标注-消零:后续,勾选=2
  72.     )
  73.   )
  74.   (vl-cmdf "_.dimstyle" "r" "我的标注");将标注样式置为当前
  75.   (setvar "DIMSAH" 0);控制尺寸线箭头块的显示。0表示使用由 DIMBLK 系统变量设置的箭头块,1表示使用由 DIMBLK1 和 DIMBLK2 系统变量设置的箭头块
  76.   (setvar "DIMBLK" ".");实心箭头
  77.   (setvar 'dimtxt zg)
  78.   (setvar 'dimasz jt)
  79.   (vl-cmdf "_.dimstyle" "s" "我的标注" "y");另存为
  80.   (setvar "cmdecho" 1)
  81.   (princ "\n★标注创建完毕!")
  82.   (princ)
  83. )


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x

评分

参与人数 1明经币 +1 收起 理由
zhoupeng220 + 1 很给力!

查看全部评分

回复

使用道具 举报

发表于 前天 23:24 | 显示全部楼层
感谢分享,标注文字改成宋体怎么改
回复 支持 反对

使用道具 举报

 楼主| 发表于 昨天 10:20 | 显示全部楼层
paulpipi 发表于 2024-11-18 23:24
感谢分享,标注文字改成宋体怎么改

只须在这段上改就行了,就是组码3改为宋体,4是大字体就用不到了
  1.   (entmake (list
  2.     '(0 . "STYLE");文字样式
  3.     '(100 . "AcDbSymbolTableRecord")
  4.     '(100 . "AcDbTextStyleTableRecord")
  5.     '(2 . "标注")
  6.     '(70 . 0)
  7.     '(40 . 0)   ;文字高度
  8.     '(41 . 0.8) ;宽度因子
  9.     '(50 . 0.0)
  10.     '(71 . 0)
  11.     '(42 . 2.5)
  12.     '(3 . "宋体")   ;字体
  13.     ;'(4 . "gbcbig.shx");大字体
  14.       )
  15.     )
复制代码


回复 支持 反对

使用道具 举报

发表于 昨天 11:27 | 显示全部楼层
mark一下,比用command适应性好
回复 支持 反对

使用道具 举报

发表于 昨天 11:48 来自手机 | 显示全部楼层
感谢分享,挺方便的
回复 支持 反对

使用道具 举报

发表于 昨天 12:07 | 显示全部楼层
正好在你工作画个,学习下
回复 支持 反对

使用道具 举报

 楼主| 发表于 昨天 12:21 | 显示全部楼层
如果当时0809 发表于 2024-11-19 11:27
mark一下,比用command适应性好

能不能提供个例子学习下
回复 支持 反对

使用道具 举报

发表于 昨天 13:50 | 显示全部楼层
学习学习,赞一个 感谢
回复 支持 反对

使用道具 举报

发表于 昨天 14:45 | 显示全部楼层
这个可以,很好,赞赞
回复 支持 反对

使用道具 举报

发表于 5 小时前 | 显示全部楼层
哇,好用,要是有换算单位的组码就更加好了,方便检查缩水量
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-20 23:35 , Processed in 0.171867 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表