MRHDF 发表于 2012-12-20 12:59:38

求助 我的 lisp 设定标注问题在哪里?

本帖最后由 MRHDF 于 2012-12-20 13:03 编辑

我想实现这个功能:用lisp来设定尺寸标注样式。所有设置大小按照实际需要图纸尺寸设置,仅修改全局比例 来创建不同的比例的标注样式。
(defun c:b2()
(command "-style" "_TCH_DIM" "simplex.shx,hztxt.shx" "3" "0.9" "0" "N" "N" "N" )
(if (= (tblsearch "dimstyle" "AADRI_100") nil)(command "dimstyle" "save" "AADRI_100"))

(command"-dimstyle" "r" "AADRI_100"
"dimclrd" "3" ;尺寸线色
"dimclre" "3" ;尺寸界线色
"DIMBLK"   "ArchTick";箭头形状
"dimblk1" "ArchTick" ;箭头形状
"dimblk2" "ArchTick" ;箭头形状
"dimasz" "2.5";箭头大小
"dimtxsty" "_TCH_DIM" ;文字样式
"dimclrt" "3";文字色
"dimtxt" "3.5";文字高度
"dimlunit" "2";单位格式
"dimdec" "0";精度
"dimdsep" ".";小数分格符
"dimzin" "4";消零
"dimscale" "100";全局比例
)

(princ))


问题是我的文字大小怎么不跟着全局比例放大100倍,实际标注文字高度只有3.5.不是3500?

求助,急盼高手回复。

ZZXXQQ 发表于 2012-12-20 19:37:07

本帖最后由 ZZXXQQ 于 2012-12-20 19:47 编辑


(defun c:b2()
(command "-style" "_TCH_DIM" "simplex.shx,hztxt.shx" "0" "0.9" "0" "N" "N" "N")
(setvar "dimclrd" 3)          ;尺寸线色
(setvar "dimclre" 3)          ;尺寸界线色
(setvar "DIMBLK" "ArchTick");箭头形状
(setvar "dimblk1" "ArchTick") ;箭头形状
(setvar "dimblk2" "ArchTick") ;箭头形状
(setvar "dimasz" 2.5)         ;箭头大小
(setvar "dimtxsty" "_TCH_DIM");文字样式
(setvar "dimclrt" 3)          ;文字色
(setvar "dimtxt" 3.5)         ;文字高度
(setvar "dimlunit" 2)         ;单位格式
(setvar "dimdec" 0)         ;精度
(setvar "dimdsep" ".")      ;小数分格符
(setvar "dimzin" 8)         ;消零
(setvar "dimscale" 100)       ;全局比例
(if (= (tblsearch "DIMSTYLE" "AADRI_100") nil)
(command "-dimstyle" "S" "AADRI_100")
(command "-dimstyle" "S" "AADRI_100" "Y")
)
(princ)
)

MRHDF 发表于 2012-12-20 19:45:13

好用 谢谢。

MRHDF 发表于 2012-12-20 20:15:45

ZZXXQQ 发表于 2012-12-20 19:37 static/image/common/back.gif


(defun c:b2 ( )
(dbg bzys "AADRI_100" 100 )
(dbg bzys "AADRI_200" 200 )
)

(defunbzys ( dimst dimsc )
(command "-style" "AADRI_DIM""simplex.shx,hztxt.shx" "0" "0.9" "0" "N" "N" "N" )
(if (= (tblsearch "dimstyle" dimst ) nil)(command "dimstyle" "save" dimst ))
(command"-dimstyle" "r" dimst
"dimclrd" "3" ;尺寸线色
"dimclre" "3" ;尺寸界线色
"DIMBLK"   "ArchTick";箭头形状
"dimblk1" "ArchTick" ;箭头形状
"dimblk2" "ArchTick" ;箭头形状
"dimasz" "1";箭头大小
"dimtxsty" "AADRI_DIM" ;文字样式
"dimclrt" "3";文字色
"dimtxt" "3.5";文字高度
"dimlunit" "2";单位格式
"dimdec" "0";精度
"dimdsep" ".";小数分格符
"dimzin" "4";消零
"dimscale" dimsc;全局比例
)
(princ))
为什么第二次调用就不好用了呢?

crazylsp 发表于 2012-12-20 23:21:23

本帖最后由 crazylsp 于 2012-12-20 23:22 编辑

   活动的标注样式修改系统变量只能在活动的标注样式下创建标注的替代。
   你的程式说明活动的标注样式始终是"AADRI_100",修改"AADRI_100"的比例因子。就要加入如何创建替代尺寸的部分。
   或者每次换一个活动的标注样式名称,再修改其比例因子,就不会有替代的问题了。

夺天工 发表于 2016-1-21 17:20:59

很不错
页: [1]
查看完整版本: 求助 我的 lisp 设定标注问题在哪里?