aws 发表于 2024-8-27 12:15:06

标注样式箭头的创建

本帖最后由 aws 于 2024-8-27 17:50 编辑

(entmake
      (list
          '(0 . "DIMSTYLE")
          '(100 . "AcDbSymbolTableRecord")
          '(100 . "AcDbDimStyleTableRecord")
          (cons 2 "测试");标注样式名
          '(176 . 3);尺寸线颜色
          '(46 . 1);超出标记
          '(43 . 5);基线间距
          '(281 . 0);线-尺寸线-隐藏:尺寸线1,0=显示,1=隐藏
          '(282 . 0);线-尺寸线-隐藏:尺寸线2,0=显示,1=隐藏
          '(177 . 3);尺寸界线颜色
          '(44 . 1);超出尺寸线
          '(42 . 0);起点偏移量
          '(75 . 0);线-延申线-隐藏:延伸线1,0=显示,1=隐藏
          '(76 . 0);线-延申线-隐藏:延伸线2,0=显示,1=隐藏
          '(290 . 1);固定长度的延伸线,0=不勾选,1=勾选此项
          '(49 . 7);固定长度的延伸线-长度
          '(5 . "ArchTick");符号和箭头-箭头-第一个,建筑标记="ArchTick",空心闭合="ClosedBlank",实心圆点="Dot"
          '(41 . 1);符号和箭头-箭头-箭头大小
          '(141 . 2.5);符号和箭头-圆心标记,0=无,正数=标记,负数=直线
          (cons 340(tblobjname "style" "Standard"));文字-文字外观-文字样式
          '(178 . 256);文字-文字外观-文字颜色,256=ByLayer,0=ByBlock,7=白色……
          '(69 . 0);文字-文字外观-填充颜色类型,0=不填充,1=背景色,2=使用颜色编号
          '(70 . 0);文字-文字外观-填充颜色,256=ByLayer,0=ByBlock,1红2黄……使用颜色编号时此项必备
          '(140 . 5);文字-文字外观-文字高度
          '(77 . 0);文字-文字位置-垂直:1=上,0=居中,4=下……
          '(280 . 0);文字-文字位置-水平:0=居中,1=第一条延伸线……
          '(147 . 2);文字-文字位置-从尺寸线偏移,填入负数时,“绘制文字边框”项会被勾选
          '(73 . 0);文字-文字对齐:水平=1,与尺寸线对齐=0,ISO标准=0
          '(74 . 1);文字-文字对齐:水平=1,与尺寸线对齐=0,ISO标准=1
          '(174 . 1);调整-调整选项:文字始终在延伸线之间=1,文字=0,箭头=0,文字和箭头=0,文字或箭头=0
          '(289 . 2);调整-调整选项:文字始终在延伸线之间=2,文字=2,箭头=1,文字和箭头=0,文字或箭头=此项消失
          '(175 . 1);调整-调整选项-若箭头不能放在延伸线内则将其消除,不勾选=0,勾选=1
          '(279 . 0);调整-文字位置:尺寸线上方不带引线=2,尺寸线上方带引线=1,尺寸线旁边=0
          (cons 40 10);调整-标注特征比例:将标注缩放到布局=0,使用全局比例>0,
          '(288 . 0);调整-优化:手动放置文字,不勾选=0,勾选=1
          '(172 . 0);调整-优化:在延伸线之间绘制尺寸线,不勾选=0,勾选=1
          '(270 . 2);主单位-线性标注-单位格式:科学=1,小数=2,工程=3……
          '(271 . 1);主单位-线性标注-精度:0=0,0.0=1,0.00=2…
          '(271 . 1);主单位-线性标注-精度:0=0,0.0=1,0.00=2…(不是我重复,组码表就是列出了2个)
          '(272 . 1);主单位-线性标注-精度:0=0,0.0=1,0.00=2…
          '(144 . 1);主单位-线性标注-测量单位比例
          '(78 . 8);主单位-线性标注-消零:后续,勾选=8
          '(275 . 0);主单位-角度标注-单位格式:十进制=0
          '(79 . 2);主单位-角度标注-消零:后续,勾选=2
      )
      )请问这个箭头,为什么创建不成功,始终都是默认的那个实心箭头。


[*](setvar "DIMSAH" 0)
[*](setvar "DIMBLK" "_ARCHTICK")
即使我附加了这样的方式,也是无法创建成功。有没有了解的?


hubeiwdlue 发表于 2024-8-27 12:43:04

(defun ff:bzys1()
        ;***************尺寸线相关变量***************
        (setvar "DIMCLRD" 256)        ;尺寸线的颜色,256表示ByLayer
        (setvar "DIMLTYPE" "ByLayer")        ;尺寸线的线型ByLayer
        (setvar "DIMLWD" -1)        ;尺寸线的线宽,-1表示ByLayer
        (setvar "DIMDLE" 0)                ;尺寸线超出标记,设为0
        (setvar "DIMDLI" 0.5)        ;尺寸线基线间距,设为0.5
        (setvar "DIMSD1" 0)                ;隐藏尺寸线1,0表示取消勾选,1表示勾选
        (setvar "DIMSD2" 0)                ;隐藏尺寸线2,0表示取消勾选,1表示勾选
       
        ;***************尺寸界线相关变量***************
        (setvar "DIMCLRE" 256)        ;尺寸界线的颜色,256表示ByLayer
        (setvar "DIMLTEX1" "ByLayer")        ;尺寸界线1的线型ByLayer
        (setvar "DIMLTEX2" "ByLayer")        ;尺寸界线2的线型ByLayer
        (setvar "DIMLWE" -1)        ;尺寸界线的线宽,-1表示ByLayer
        (setvar "DIMEXE" 1)                ;尺寸界线超出尺寸线量,1
        (setvar "DIMEXO" 0.5)                ;尺寸界线的起点偏移量,0.5
        (setvar "DIMFXLON" 1)        ;已启用固定的尺寸界线,1表示ON开启,0表示OFF关闭
        (setvar "DIMFXL" 3)                ;固定的尺寸界线长度设为3
        (setvar "DIMSE1" 0)                ;隐藏尺寸界线1,0表示取消勾选,1表示勾选
        (setvar "DIMSE2" 0)                ;隐藏尺寸界线2,0表示取消勾选,1表示勾选
       
        ;***************符号和箭头相关变量***************
        (setvar "DIMBLK" ".")                ;设置尺寸线末端显示的箭头块。
        (setvar "DIMSAH" 1)                        ;控制尺寸线箭头块的显示。0表示使用由 DIMBLK 系统变量设置的箭头块,1表示使用由 DIMBLK1 和 DIMBLK2 系统变量设置的箭头块
        (setvar "DIMBLK1" "")                ;第一个箭头的样式
        (setvar "DIMBLK2" "")                ;第二个箭头的样式
        (setvar "DIMLDRBLK" ".")                ;引线箭头的样式
        ;=====dimblk取值如下
        ;"" 实心闭合
        ;"_DOT" 点
        ;"_DOTSMALL" 小点
        ;"_DOTBLANK" 空心点
        ;"_ORIGIN" 指示原点
        ;"_ORIGIN2" 指示原点 2
        ;"_OPEN" 打开
        ;"_OPEN90" 直角
        ;"_OPEN30" 30 度角
        ;"_CLOSED" 闭合
        ;"_SMALL" 空心小点
        ;"_NONE" 无
        ;"_OBLIQUE" 倾斜
        ;"_BOXFILLED" 填充框
        ;"_BOXBLANK" 框
        ;"_CLOSEDBLANK" 空心闭合
        ;"_DATUMFILLED" 实心基准三角形
        ;"_DATUMBLANK" 基准三角形
        ;"_INTEGRAL" 完整标记
        ;"_ARCHTICK" 建筑标记
        (setvar "DIMASZ" 2)                ;箭头大小,2
        (setvar "DIMCEN" 0.5)        ;圆形标记大小,设为0时表示无圆心标记,设为-1时表示“直线”标记
        (setvar "DIMARCSYM" 0)                ;弧长符号。设为0表示勾选“标注文字的前缀”。设为1表示勾选“标注文字的上方”。设为2表示勾选“无”。
        ;;;        (setvar "DIMJOGANG" 45)                ;半径折弯标注-折弯角度
       
        ;***************文字相关变量***************
        (setvar "DIMTXSTY" "仿宋体")                ;文字样式
        (setvar "DIMCLRT" 256)                ;文字颜色,256表示ByLayer
        (setvar "DIMTFILL" 0)                ;文字填充颜色。设为0表示“无”,设为1表示“背景”,设为2表示引用变量DIMTFILLCLR的值
        (setvar "DIMTFILLCLR" 256)                ;文字背景颜色。当变量DIMTFILL的值设为2时此值可显示效果
        (setvar "DIMTXT" 2.5)                ;文字高度
        (setvar "DIMTAD" 1)                ;文字位置-垂直,0表示居中,1表示上,2表示外部,3表示JIS,4表示下
        (setvar "DIMJUST" 0)                ;文字位置-水平,0表示居中,1表示第一条尺寸界线,2表示第二条尺寸界线,3表示第一条尺寸界线上方,4表示第二条尺寸界线上方
        (setvar "DIMTXTDIRECTION" 0)        ;指定标注文字的阅读方向。0表示从左到右,1表示从右到左。
        (setvar "DIMGAP" 0.5)        ;文字位置-从尺寸线偏移量
        (setvar "DIMTIH" 0)        ;控制所有标注类型(坐标标注除外)的标注文字在尺寸界线内的位置。0表示将文字与尺寸线对齐,1表示水平绘制文字。
        (setvar "DIMTOH" 0)        ;控制标注文字在尺寸界线外的位置。0表示将文字与尺寸线对齐,1表示水平绘制文字。
        (setvar "DIMTIX" 0)                ;对于半径标注和直径标注,启用 DIMTIX 可始终强制将标注文字放置在圆或圆弧外部
        (setvar "DIMSOXD" 0)        ;如果尺寸界线内没有足够的空间,则隐去箭头。0表示显示箭头,1表示隐藏箭头。如果 DIMTIX 设定为关,则 DIMSOXD 不起作用。
       
        ;***************调整相关变量***************
        (setvar "DIMATFIT" 3)        ;如果尺寸界线之间没有足够空间放置文字和箭头,那么首先从中移出:0表示文字和箭头,1表示箭头,2表示文字,3表示文字或箭头(最佳效果)
        (setvar "DIMTMOVE" 0)        ;文字不在默认位置上时,将其放置在:0表示“尺寸线旁边”,1表示“尺寸线上方,带引线”,2表示“尺寸线上方,不带引线”
        (setvar "DIMSCALE" 1)        ;标注特征比例,0表示勾选“将标注缩放到布局”,大于0的数字表示勾选“使用全局比例,数字表示全局比例的值”
        (setvar "DIMTOFL" 0)        ;控制是否在尺寸界线之间绘制尺寸线,0表示取消勾选“在尺寸界线之间绘制尺寸线”,1表示勾选“在尺寸界线之间绘制尺寸线”
       
        ;***************主单位相关变量***************
        (setvar "DIMLUNIT" 2)        ;线性标注-单位格式,1表示科学,2表示小数,3表示工程,4表示建筑,5表示分数,6表示Windows桌面
        (setvar "DIMDEC" 0)        ;线性标注-精度,0表示取整,1-8表示x位小数
        (setvar "DIMDSEP" ".")        ;线性标注-小数分隔符,有3个值可选:"."","" "
        (setvar "DIMRND" 0)        ;线性标注-舍入
        (setvar "DIMPOST" "")        ;线性标注-为标注测量值指定文字前缀或后缀(或两者),""表示空。使用 <> 指示文字相对于标注值的位置。例如,输入 <>mm 可将 5.0 毫米的半径标注显示为“5.0mm”。如果输入 mm <>,标注将显示为“mm 5.0”。
       
        (setvar "DIMZIN" 8)        ;线性标注-消零,0表示消除0英尺和0英寸,8表示消除后续的零
        (setvar "DIMAUNIT" 0)        ;角度标注-单位格式,0表示十进制度数,1表示度分秒,2表示百分度,3表示弧度
        (setvar "DIMADEC" 1)        ;角度标注-精度,0表示取整,1-8表示x位小数
        (setvar "DIMAZIN" 2)        ;线性标注-消零,0表示都不勾选,1表示勾选“前导”,2表示勾选“后续”,3表示同时勾选“前导”和“后续”
)


(defun ff:bzys2(BLYZ /)
        ;***************主单位相关变量***************
        (setvar "DIMLFAC" BLYZ)        ;测量单位比例-比例因子
)


;=========换算单位和公差相关的系统变量如下,供自定义参考

;公差位置垂直      DIMTOLJ      0
;公差文字比例因子      DIMTFAC      1
;公差极限偏差      DIMTOL      关
;公差极限偏差上限      DIMTP      0
;公差极限偏差下限      DIMTM      0
;公差消零      DIMTZIN      8
;公差界限      DIMLIM      关
;公差精度      DIMTDEC      2
;换算公差消零      DIMALTTZ      0
;换算公差精度      DIMALTTD      3
;换算前缀和后缀      DIMAPOST      
;换算单位      DIMALTU      2
;换算比例因子      DIMALTF      0
;换算消零      DIMALTZ      0
;换算精度      DIMALTD      3
;换算舍入      DIMALTRND      0
;换算零后缀      DIMALTMZS      
;换算零因子      DIMALTMZF      100

aws 发表于 2024-8-27 16:04:04

;---制作新的标注样式
(defun make-dimstyle(name sc /)
(setvar "CMDECHO" 0);关闭显示,下面开始对当前标注样式进行一系列设定
;***************尺寸线相关变量***************
(setvar "DIMCLRD" 3);尺寸线的颜色,256表示ByLayer
(setvar "DIMLTYPE" "ByLayer");尺寸线的线型ByLayer
(setvar "DIMLWD" -1);尺寸线的线宽,-1表示ByLayer
(setvar "DIMDLE" 1);尺寸线超出标记,设为0
(setvar "DIMDLI" 5);尺寸线基线间距,设为0.5
(setvar "DIMSD1" 0);隐藏尺寸线1,0表示取消勾选,1表示勾选
(setvar "DIMSD2" 0);隐藏尺寸线2,0表示取消勾选,1表示勾选
;***************尺寸界线相关变量***************
(setvar "DIMCLRE" 3);尺寸界线的颜色,256表示ByLayer
(setvar "DIMLTEX1" "ByLayer");尺寸界线1的线型ByLayer
(setvar "DIMLTEX2" "ByLayer");尺寸界线2的线型ByLayer
(setvar "DIMLWE" -1);尺寸界线的线宽,-1表示ByLayer
(setvar "DIMEXE" 1);尺寸界线超出尺寸线量
(setvar "DIMEXO" 0);尺寸界线的起点偏移量
(setvar "DIMFXLON" 1);已启用固定的尺寸界线,1表示ON开启,0表示OFF关闭
(setvar "DIMFXL" 7);固定的尺寸界线长度
(setvar "DIMSE1" 0);隐藏尺寸界线1,0表示取消勾选,1表示勾选
(setvar "DIMSE2" 0);隐藏尺寸界线2,0表示取消勾选,1表示勾选
;***************符号和箭头相关变量***************
(setvar "DIMSAH" 0);设置0就行
(setvar "DIMBLK" "_ARCHTICK");设置尺寸线末端显示的箭头
(setvar "DIMLDRBLK" ".");引线箭头的样式
(setvar "DIMASZ" 1);箭头大小
(setvar "DIMCEN" 2.5);圆形标记大小,设为0时表示无圆心标记,设为-1时表示“直线”标记
(setvar "DIMARCSYM" 0);弧长符号。设为0表示勾选“标注文字的前缀”。设为1表示勾选“标注文字的上方”。设为2表示勾选“无”。
;***************文字相关变量***************
(setvar "DIMTXSTY" "Standard");文字样式
(setvar "DIMCLRT" 256);文字颜色,256表示ByLayer
(setvar "DIMTFILL" 0);文字填充颜色。设为0表示“无”,设为1表示“背景”,设为2表示引用变量DIMTFILLCLR的值
(setvar "DIMTFILLCLR" 256);文字背景颜色。当变量DIMTFILL的值设为2时此值可显示效果
(setvar "DIMTXT" 5);文字高度
(setvar "DIMTAD" 0);文字位置-垂直,0表示居中,1表示上,2表示外部,3表示JIS,4表示下
(setvar "DIMJUST" 0);文字位置-水平,0表示居中,1表示第一条尺寸界线,2表示第二条尺寸界线,3表示第一条尺寸界线上方,4表示第二条尺寸界线上方
(setvar "DIMTXTDIRECTION" 0);指定标注文字的阅读方向。0表示从左到右,1表示从右到左。
(setvar "DIMGAP" 2);文字位置-从尺寸线偏移量
(setvar "DIMTIH" 0);控制所有标注类型(坐标标注除外)的标注文字在尺寸界线内的位置。0表示将文字与尺寸线对齐,1表示水平绘制文字。
(setvar "DIMTOH" 0);控制标注文字在尺寸界线外的位置。0表示将文字与尺寸线对齐,1表示水平绘制文字。
;***************调整相关变量***************
(setvar "DIMTIX" 1);文字始终保持在尺寸界线之间,0=关闭,1=开启
(setvar "DIMSOXD" 1);若箭头不能放在尺寸界线内,则将其消除,0=关闭,1=开启
(setvar "DIMATFIT" 3);如果尺寸界线之间没有足够空间放置文字和箭头,那么首先从中移出:0表示文字和箭头,1表示箭头,2表示文字,3表示文字或箭头(最佳效果)
(setvar "DIMTMOVE" 0);0=尺寸线旁边,1=尺寸线上方,带引线,2=尺寸线上方,不带引线
(setvar "DIMSCALE" sc);标注特征比例,0表示勾选“将标注缩放到布局”,大于0的数字表示勾选“使用全局比例,数字表示全局比例的值”
(setvar "DIMTOFL" 0);控制是否在尺寸界线之间绘制尺寸线,0表示取消勾选“在尺寸界线之间绘制尺寸线”,1表示勾选“在尺寸界线之间绘制尺寸线”
;***************主单位相关变量***************
(setvar "DIMLUNIT" 2);线性标注-单位格式,1表示科学,2表示小数,3表示工程,4表示建筑,5表示分数,6表示Windows桌面
(setvar "DIMDEC" 1);线性标注-精度,0表示取整,1-8表示x位小数
(setvar "DIMDSEP" ".");线性标注-小数分隔符,有3个值可选:"."","" "
(setvar "DIMRND" 0);线性标注-舍入
(setvar "DIMPOST" "");线性标注-为标注测量值指定文字前缀或后缀(或两者),""表示空。使用 <> 指示文字相对于标注值的位置。例如,输入 <>mm 可将 5.0 毫米的半径标注显示为“5.0mm”。如果输入 mm <>,标注将显示为“mm 5.0”。
(setvar "DIMZIN" 8);线性标注-消零,0表示消除0英尺和0英寸,8表示消除后续的零
(setvar "DIMAUNIT" 0);角度标注-单位格式,0表示十进制度数,1表示度分秒,2表示百分度,3表示弧度
(setvar "DIMADEC" 1);角度标注-精度,0表示取整,1-8表示x位小数
(setvar "DIMAZIN" 2);线性标注-消零,0表示都不勾选,1表示勾选“前导”,2表示勾选“后续”,3表示同时勾选“前导”和“后续”
(command "_.dimstyle" "s" name);相当于另存为新的标注样式并调用至当前
(setvar "CMDECHO" 1)
)综合来看,我选择这种方法。值得注意的是,(command "_.dimstyle" "s" name);相当于另存为,桌子翻译过来是保存,,,我真是理解不能

hubeiwdlue 发表于 2024-8-27 15:42:56

本帖最后由 hubeiwdlue 于 2024-8-27 15:52 编辑

aws 发表于 2024-8-27 12:58
咦。不对劲啊,setvar好像只是调整参数,做不到生成吧,是不是需要和command结合使用?
是的,要和command一起使用,先吧参数设置好,然后用command创建标注样式(defun wdl_new-dimcommond(name wzys qju bili zigao / v6)
      ;文字设置
      (if (= (tblsearch "style" wzys) nil)
                (progn
                        (setq v6 (getvar "textstyle"))                ;获取当前文字样式并记录
                        (wdl_new-style "fsdb" "fsdb_e.shx" "fsdb.shx" 0.7 0)
                        (setvar "textstyle" v6)                ;恢复文字样式设置
                );end progn
      )
      (setvar "DIMTXSTY" wzys)                ;文字样式
      (setvar "DIMTXT" zigao)                ;文字高度
      (setvar "DIMTAD" 1)                ;文字位置-垂直,0表示居中,1表示上,2表示外部,3表示JIS,4表示下
      (setvar "DIMJUST" 0)                ;文字位置-水平,0表示居中,1表示第一条尺寸界线,2表示第二条尺寸界线,3表示第一条尺寸界线上方,4表示第二条尺寸界线上方
      ;箭头设置
      (setvar "DIMBLK" "")                ;设置尺寸线末端显示的箭头块。
      (setvar "DIMSAH" 1)                        ;控制尺寸线箭头块的显示。0表示使用由 DIMBLK 系统变量设置的箭头块,1表示使用由 DIMBLK1 和 DIMBLK2 系统变量设置的箭头块
      (setvar "DIMBLK1" "_OBLIQUE")                ;第一个箭头的样式
      (setvar "DIMBLK2" "_OBLIQUE")                ;第二个箭头的样式
      (setvar "DIMLDRBLK" "")                ;引线箭头的样式,实心箭头
      (setvar "DIMASZ" (* 0.6 zigao))                ;箭头大小
      ;尺寸界限
      (setvar "DIMDLE" 0)                ;尺寸线超出标记,设为0
      (setvar "DIMGAP" (* 0.1 zigao)) ;从尺寸线偏移
      (setvar "DIMDLI" (* 2.5 zigao))      ;尺寸线基线间距
      (setvar "DIMEXE" (* 0.5 zigao))                ;尺寸界线超出尺寸线量
      (setvar "DIMEXO" (* 0.5 zigao))                ;尺寸界线的起点偏移量
      (setvar "DIMFXLON" 1)      ;已启用固定的尺寸界线,1表示ON开启,0表示OFF关闭
      (setvar "DIMFXL" (* 0.5 zigao))                ;固定的尺寸界线长度设为
      ;主单位
      (setvar "DIMLUNIT" 2)      ;线性标注-单位格式,1表示科学,2表示小数,3表示工程,4表示建筑,5表示分数,6表示Windows桌面
      (setvar "DIMDSEP" ".")      ;线性标注-小数分隔符,有3个值可选:"."","" "
      (setvar "DIMZIN" 8)      ;线性标注-消零,0表示消除0英尺和0英寸,8表示消除后续的零
      ;全局比例和测量比例
      (setvar "DIMSCALE" qju)      ;标注特征比例,0表示勾选“将标注缩放到布局”,大于0的数字表示勾选“使用全局比例,数字表示全局比例的值”
      (setvar "DIMLFAC" bili)      ;测量单位比例-比例因子
      ;创建标注样式
      (if (not (tblsearch "dimstyle" name))
                (command "DIMSTYLE" "S" name)
      )
      (command "DIMSTYLE" "R" name);将标注样式置为当前
)

飞雪神光 发表于 2024-8-27 12:35:49

可能用entmake就是这样吧 搞不懂 我用的setvar 和command新建标注样式

自贡黄明儒 发表于 2024-8-27 12:39:03

本帖最后由 自贡黄明儒 于 2024-8-28 07:40 编辑

caoyin版主发过了,如下,可以找来看看。我最终选择用command.

;;12 [功能] 设置 Qleader 命令"引线设置"对话框的相关参数
;;注:<font color=\"red\">引线的箭头跟DIMSTYLE使用同一设置,可以直接修改DIMLDRBLK系统变量</font>
;;2011.5.5 by caoyin
(defun QleaderSet (/ DICEN)
(Setvar "DIMLDRBLK" ".");实心箭头
(setq DICEN (namedobjdict));(entget DICEN)可查看内容(3 . 词典)
(if (dictsearch DICEN "AcadDim")
    (dictremove DICEN "AcadDim")
)
(dictadd DICEN
         "AcadDim"
            (entmakex '((0 . "XRECORD")
                        (100 . "AcDbXrecord")
                        (280 . 1)
                        (90 . 990106)
                        (3 . "");;-----引线和箭头-〉箭头[用户箭头的缺省块名,""则表示未设置]
                        (60 . 4);;-----注释-〉注释类型
                        (61 . 0);;-----注释-〉重复使用注释
                        (62 . 4);;-----附着-〉文字在右边
                        (63 . 4);;-----附着-〉文字在左边
                        (64 . 1);;-----附着-〉最后一行加下划线
                        (65 . 0);;-----引线和箭头-〉引线
                        (66 . 1);;-----引线和箭头-〉点数-〉无限制
                        (67 . 4);;-----引线和箭头-〉点数[任意正整数]
                        (68 . 0);;-----注释-〉多行文字选项-〉提示输入宽度
                        (69 . 0);;-----注释-〉多行文字选项-〉始终左对齐
                        (70 . 0);;-----引线和箭头-〉角度约束->第一段
                        (71 . 0);;-----引线和箭头-〉角度约束->第二段
                        (72 . 0);;-----注释-〉多行文字选项-〉文字边框
                        (40 . 0)
                        (170 . 0);;----控制"引线设置"对话框的缺省选项卡
                     ;; (340 . 图元名)
                     ;;-----当DXF组码60的值为3,且已经设定了块参照的块名,则340组码才会出现
                     ;;-----格式为(340 . 上次使用块参照作为注释对象,实际插入的块实例的图元名)
                      )
            )
    )
)


aws 发表于 2024-8-27 12:39:10

飞雪神光 发表于 2024-8-27 12:35
可能用entmake就是这样吧 搞不懂 我用的setvar 和command新建标注样式

setvar有没有模板发一下瞅瞅

aws 发表于 2024-8-27 12:58:59

hubeiwdlue 发表于 2024-8-27 12:43
(defun ff:bzys1()
        ;***************尺寸线相关变量***************
        (setvar "DIMCLRD" 256)        ;尺寸线的 ...

咦。不对劲啊,setvar好像只是调整参数,做不到生成吧,是不是需要和command结合使用?

aws 发表于 2024-8-27 15:57:25

(defun c:gg(/)

(entmake
    (list
      '(0 . "DIMSTYLE")
      '(100 . "AcDbSymbolTableRecord")
      '(100 . "AcDbDimStyleTableRecord")
      (cons 2 "测试");标注样式名
      '(176 . 3);尺寸线颜色
      '(46 . 1);超出标记
      '(43 . 5);基线间距
      '(281 . 0);线-尺寸线-隐藏:尺寸线1,0=显示,1=隐藏
      '(282 . 0);线-尺寸线-隐藏:尺寸线2,0=显示,1=隐藏
      '(177 . 3);尺寸界线颜色
      '(44 . 1);超出尺寸线
      '(42 . 0);起点偏移量
      '(75 . 0);线-延申线-隐藏:延伸线1,0=显示,1=隐藏
      '(76 . 0);线-延申线-隐藏:延伸线2,0=显示,1=隐藏
      '(290 . 1);固定长度的延伸线,0=不勾选,1=勾选此项
      '(49 . 7);固定长度的延伸线-长度
      '(5 . "ArchTick");符号和箭头-箭头-第一个,建筑标记="ArchTick",空心闭合="ClosedBlank",实心圆点="Dot"
      '(41 . 1);符号和箭头-箭头-箭头大小
      '(141 . 2.5);符号和箭头-圆心标记,0=无,正数=标记,负数=直线
      (cons 340(tblobjname "style" "Standard"));文字-文字外观-文字样式
      '(178 . 256);文字-文字外观-文字颜色,256=ByLayer,0=ByBlock,7=白色……
      '(69 . 0);文字-文字外观-填充颜色类型,0=不填充,1=背景色,2=使用颜色编号
      '(70 . 0);文字-文字外观-填充颜色,256=ByLayer,0=ByBlock,1红2黄……使用颜色编号时此项必备
      '(140 . 5);文字-文字外观-文字高度
      '(77 . 0);文字-文字位置-垂直:1=上,0=居中,4=下……
      '(280 . 0);文字-文字位置-水平:0=居中,1=第一条延伸线……
      '(147 . 2);文字-文字位置-从尺寸线偏移,填入负数时,“绘制文字边框”项会被勾选
      '(73 . 0);文字-文字对齐:水平=1,与尺寸线对齐=0,ISO标准=0
      '(74 . 1);文字-文字对齐:水平=1,与尺寸线对齐=0,ISO标准=1
      '(174 . 1);调整-调整选项:文字始终在延伸线之间=1,文字=0,箭头=0,文字和箭头=0,文字或箭头=0
      '(289 . 2);调整-调整选项:文字始终在延伸线之间=2,文字=2,箭头=1,文字和箭头=0,文字或箭头=此项消失
      '(175 . 1);调整-调整选项-若箭头不能放在延伸线内则将其消除,不勾选=0,勾选=1
      '(279 . 0);调整-文字位置:尺寸线上方不带引线=2,尺寸线上方带引线=1,尺寸线旁边=0
      '(40 . 20);调整-标注特征比例:将标注缩放到布局=0,使用全局比例>0,
      '(288 . 0);调整-优化:手动放置文字,不勾选=0,勾选=1
      '(172 . 0);调整-优化:在延伸线之间绘制尺寸线,不勾选=0,勾选=1
      '(270 . 2);主单位-线性标注-单位格式:科学=1,小数=2,工程=3……
      '(271 . 1);主单位-线性标注-精度:0=0,0.0=1,0.00=2…
      '(271 . 1);主单位-线性标注-精度:0=0,0.0=1,0.00=2…(不是我重复,组码表就是列出了2个)
      '(272 . 1);主单位-线性标注-精度:0=0,0.0=1,0.00=2…
      '(144 . 1);主单位-线性标注-测量单位比例
      '(78 . 8);主单位-线性标注-消零:后续,勾选=8
      '(275 . 0);主单位-角度标注-单位格式:十进制=0
      '(79 . 2);主单位-角度标注-消零:后续,勾选=2
    )
)
(command "_.dimstyle" "r" "测试")
(setvar "DIMSAH" 0)
(setvar "DIMBLK" "_ARCHTICK")
(command "_.dimstyle" "s" "测试" "y")

)
我悟了啊,这样就可以了。但是,这样有点奇葩,既用到了entmake又用到了setvar还有command。。。

czb203 发表于 2024-8-27 17:21:02

帖子不错,受益匪浅,感谢大佬的分享
页: [1] 2
查看完整版本: 标注样式箭头的创建