TheSwamp

CAD Forums => CAD General => Topic started by: MSTG007 on September 28, 2017, 02:57:49 PM

Title: Name of Dimension Style Child
Post by: MSTG007 on September 28, 2017, 02:57:49 PM
Drawing a blank here. I am trying to access the Dimstyle Childs name via the (-dimstyle) command. I am actually trying to change the precision from hundredths to tenths.

Thanks for the help!
Title: Re: Name of Dimension Style Child
Post by: Crank on September 28, 2017, 03:21:32 PM
Code: [Select]
name         Parent (main)
name$0       Linear
name$2       Angular
name$3       Diameter
name$4       Radial/jogged
name$6       Ordinate
name$7       Leader
I don't know if a 'name$1' or 'name$5' exist nor what they represent.
Title: Re: Name of Dimension Style Child
Post by: mjfarrell on September 28, 2017, 03:30:36 PM
pretty sure you can't  with -dimstlye
Title: Re: Name of Dimension Style Child
Post by: Crank on September 28, 2017, 03:36:59 PM
Make an override of the parent dimstyle and then save the dimstyle with the substyle name.
For new dimensions the substyle will automaticly be used if the parent dimstyle is current.
Existing dimensions need to be updated.
Title: Re: Name of Dimension Style Child
Post by: MSTG007 on September 29, 2017, 10:21:46 AM
Crank,

Could you walk me through alittle bit more on your idea? Not following it totally.

Title: Re: Name of Dimension Style Child
Post by: mjfarrell on September 29, 2017, 10:47:17 AM
or rename the 'child style'

it then becomes a style you can access with -DIMSTYLE
Title: Re: Name of Dimension Style Child
Post by: Crank on October 03, 2017, 05:28:53 PM
Crank,

Could you walk me through alittle bit more on your idea? Not following it totally.
Here's an example of very basic code that may help you:
Code: [Select]
; 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 (< th 2)(setvar "DIMASZ" 0.7)(setvar "DIMASZ" 1.0))
(savedimstyle dimname "$0")

; angular
(setvar "DIMDEC" 0)
(setvar "DIMADEC" 2)
(setvar "DIMATFIT" 1)
(setvar "DIMTMOVE" 2)
(setvar "DIMTIX" 0)
(setvar "DIMTIH" 1)
(setvar "DIMTOH" 1)
(savedimstyle dimname "$2")

; diameter
(setvar "DIMATFIT" 2)
(setvar "DIMTMOVE" 0)
(setvar "DIMTIX" 0)
(savedimstyle dimname "$3")

; radial
(setvar "DIMATFIT" 2)
(setvar "DIMTMOVE" 0)
(setvar "DIMTIX" 0)
(setvar "DIMPOST" "r=<>")
(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)
First a parent dimstyle is created and current.
If you need a substyle, then change some dim variables. At this point you have a parent dimstyle with overrides.
Save these dim variables to a new dimstyle with the proper name for the substyle.
Repeat this for every substyle and be sure the parent style is current again.

So basicly all you have to do is change a variable and then save the dimstyle.

Nb.: Your varibles will be different. Use the following command to find the settings of your dimstyle:
Code: [Select]
SETVAR ?
DIM*