标注样式子项的名称
这里画一个空白。我正在尝试通过(-dimstyle)命令访问Dimstyle Childs名称。我实际上正在尝试将精度从百分之十更改为十分。感谢您的帮助!
**** Hidden Message *****
name Parent (main)
name$0 Linear
name$2 Angular
name$3 Diameter
name$4 Radial/jogged
name$6 Ordinate
name$7 Leader
我不知道“name$1”或“name$5”是否存在,也不知道它们代表什么。 很确定你不能用-dimstlye 覆盖父 dimstyle,然后使用子样式名称保存 dimstyle。
对于新尺寸,如果父 dimstyle 是最新的,则将自动使用子样式。
需要更新现有维度。 克兰克,
你能再给我介绍一下你的想法吗?不要完全遵循它。
或者重命名“子样式”
它然后成为您可以使用-DIMSTYLE访问的样式 下面是一个可以帮助您的非常基本的代码示例:
; https://www.theswamp.org/index.php?topic=53489.0
(defun c:DimDef18 () (MakeDstyle "CROC" 1.8))
(defun c:DimDef25 () (MakeDstyle "CROC" 2.5))
(defun c:DimDef35 () (MakeDstyle "CROC" 3.5))
(defun MakeDstyle (dimname th / ts)
;********************************************** Variables for parent:
(if (not (tblsearch "STYLE" "SWAMP"))(progn
(setq ts (getvar "TEXTSTYLE"))
(command-s ".-style" "SWAMP" "romanc.shx" "A" "y" "n" "" "1.0" "0.0" "N" "N" "N")
(setvar "TEXTSTYLE" ts)
))
(setvar "DIMARCSYM" 0) (setvar "DIMADEC" 0) (setvar "DIMALT" 0) (setvar "DIMALTD" 2) (setvar "DIMALTF" (/ 1.0 25.4))
(setvar "DIMALTRND" 0.0)(setvar "DIMALTTD" 2) (setvar "DIMALTTZ" 0) (setvar "DIMALTU" 8)
(setvar "DIMALTZ" 0) (setvar "DIMAPOST" ".") (setvar "DIMASSOC" 2)
(setvar "DIMASZ" 2.5) (setvar "DIMATFIT" 0) (setvar "DIMAUNIT" 0) (setvar "DIMAZIN" 2)
(setvar "DIMBLK" ".") (setvar "DIMBLK1" ".") (setvar "DIMBLK2" ".") (setvar "DIMCEN" 2.0)
(setvar "DIMCLRD" 0) (setvar "DIMCLRE" 0) (setvar "DIMCLRT" 2) (setvar "DIMDEC" 3)
(setvar "DIMDLE" 0.0) (setvar "DIMDLI" (fix (* th 2.86))) (setvar "DIMDSEP" ",") (setvar "DIMEXE" 1.0)
(setvar "DIMEXO" 3.0) (setvar "DIMFIT" 4) (setvar "DIMFRAC" 0) (setvar "DIMGAP" (* 0.2 th))
(setvar "DIMJOGANG" (dtr 60))(setvar "DIMJUST" 0) (setvar "DIMLDRBLK" ".")(setvar "DIMLFAC" 1.00)
(setvar "DIMLIM" 0) (setvar "DIMLTEX1" "BYBLOCK") (setvar "DIMLTEX2" "BYBLOCK") (setvar "DIMLTYPE" "BYBLOCK")
(setvar "DIMLUNIT" 2) (setvar "DIMLWD" -2) (setvar "DIMLWE" -2) (setvar "DIMPOST" ".")
(setvar "DIMRND" 0.000) (setvar "DIMSAH" 0) (setvar "DIMSD1" 0) (setvar "DIMSD2" 0)
(setvar "DIMSCALE" 0) (setvar "DIMSE1" 0) (setvar "DIMSE2" 0) (setvar "DIMSOXD" 0)
(setvar "DIMTAD" 1) (setvar "DIMTDEC" 3) (setvar "DIMTFAC" 1.0) (setvar "DIMTFILL" 0) (setvar "DIMTFILLCLR" 0)
(setvar "DIMTIH" 0) (setvar "DIMTIX" 1) (setvar "DIMTM" 0.0) (setvar "DIMTMOVE" 1) (setvar "DIMTOFL" 1)
(setvar "DIMTOH" 0) (setvar "DIMTOL" 0) (setvar "DIMTOLJ" 1) (setvar "DIMTP" 0.0)
(setvar "DIMTSZ" 0.0) (setvar "DIMTVP" 0.0) (setvar "DIMTXSTY" "SWAMP")(setvar "DIMTXT" 2.5)
(setvar "DIMTZIN" 0) (setvar "DIMUPT" 0) (setvar "DIMZIN" 8)
;********************************************** Settings for textheigth:
(setvar "DIMTXT" th)(setvar "DIMCLRT" (fix th))
(setq dimname (strcat dimname (rtos (* th 10))))
;********************************************** Make sure the parent dimstyle exists:
(if (not (tblsearch "DIMSTYLE" dimname))
(savedimstyle dimname "")
)
;********************************************** Substyles with overrides:
; lineair
(make_SWAMPTICK); create block
(setvar "DIMBLK" "SWAMPTICK")
(if (")
(savedimstyle dimname "$4")
; coords
; (setvar )
(savedimstyle dimname "$6")
; leader
; (setvar )
(savedimstyle dimname "$7")
(princ)
)
(defun savedimstyle (parent sub / )
(setq name (strcat parent sub))
(if (tblsearch "DIMSTYLE" name)
(command-s ".-dimstyle" "ANnotative" "yes" name "YES" "SAVE" name "YES")
(command-s ".-dimstyle" "ANnotative" "yes" name "SAVE" name "YES")
)
(command-s ".dim1" "restore" parent); Restore Parent dimstyle <<<<<<<<<<<
)
(defun dtr ( deg ) (* pi (/ deg 180.0)))
(defun make_SWAMPTICK ()
(setvar "NOMUTT" 1)
(entmake '((0 . "BLOCK") (100 . "AcDbEntity") (67 . 0) (8 . "0") (100 . "AcDbBlockReference") (2 . "SWAMPTICK") (10 0 0 0) (70 . 0)))
(entmake '((0 . "LINE")(100 . "AcDbEntity") (67 . 0) (8 . "0") (62 . 0) (6 . "ByBlock") (100 . "AcDbLine") (10 0 -2 0) (11 0 2 0)))
(entmake '((0 . "LINE")(100 . "AcDbEntity") (67 . 0) (8 . "0") (62 . 0) (6 . "ByBlock") (100 . "AcDbLine") (10 -2 0 0) (11 2 0 0)))
(entmake '((0 . "LINE")(100 . "AcDbEntity") (67 . 0) (8 . "0") (62 . 2) (6 . "ByBlock") (100 . "AcDbLine") (10 -1 -1 0) (11 1 1 0)))
(entmake '((0 . "ENDBLK")(100 . "AcDbBlockEnd") (8 . "0")))
(setvar "NOMUTT" 0)
)
(princ)
首先创建父dimstyle并将其设置为当前样式
如果需要子样式,请更改一些dim变量。此时,您有了一个具有替代的父dimstyle
将这些dim变量保存到具有子样式正确名称的新dimstyle中
对每个子样式重复此操作,并确保父样式再次为当前样式
注意:您的变量将不同。使用以下命令查找dimstyle的设置:
SETVAR ?
DIM*
页:
[1]