Author Topic: Dim style question  (Read 2977 times)

0 Members and 1 Guest are viewing this topic.

rjohnson42

  • Guest
Dim style question
« on: October 18, 2011, 11:28:12 AM »
Fellas,

Here's a bit of code that I'm using to create a new dim style if it doesn't exist:

Code: [Select]
(defun c:tst()
;create text Style
(if (not (tblsearch "style" "ROMANS")) (command "-style" "ROMANS" "ROMANS.SHX" 1.25 1.0 0 "N" "N" "Y"))
;create dimension style
(if (not (tblsearch "DImstyle" "TIC 1_20"))
(progn
(command "dim" "style" "ROMANS"
"DIMALTD" 2
"DIMALTF" m
"DIMALTRND" 0
"DIMALTF" 25.4
"DIMALTTD" 2
"DIMALTTZ" 0
"DIMALTU" 2
"DIMALTMZF" 100
"DIMALTZ" 0
"DIMALT" 0
"DIMATFIT" 3
"DIMAUNIT" 0
"DIMAZIN" 0
"DIMARCSYM" 0
"DIMBLK" ""
"DIMBLK1" ""
"DIMBLK2" ""
"DIMASZ" 0.0625
"DIMLDRBLK" ""
"DIMCEN" 0.0313
"DIMCLRD" 256
"DIMCLRE" 256
"DIMCLRT" 256
"DIMDEC" 2
"DIMDSEP" "."
"DIMDLE" 0
"DIMDLI" 0.5
"DIMEXE" 0.0625
"DIMEXO" 0.0625
"DIMFRAC" 0
"DIMFXLON" 0
"DIMFXL" 1
"DIMGAP" 0.0313
"DIMJOGANG" 45
"DIMJUST" 0
"DIMLFAC" 1
"DIMLIM" 0
"DIMLTYPE" "BYLAYER"
"DIMLTEX1" "BYLAYER"
"DIMLTEX2" "BYLAYER"
"DIMLUNIT" 2
"DIMLWD" -2
"DIMLWE" -2
"DIMPOST" "'"
"DIMRND" 0
"DIMSAH" 0
"DIMSCALE" 20
"DIMSD1" 0
"DIMSD2" 0
"DIMSE1" 0
"DIMSE2" 0
"DIMSOXD" 0
"DIMTAD" 1
"DIMTDEC" 2
"DIMTXTDIRECTION" 0
"DIMTFAC" 0.25
"DIMTFILLCLR" 0
"DIMTFILL" 0
"DIMTXT" 0.0625
"DIMTIH" 1
"DIMTIX" 0
"DIMTM" 0
"DIMTMOVE" 0
"DIMTOFL" 0
"DIMTOLJ" 1
"DIMTOH" 1
"DIMTP" 0
"DIMTOL" 0
"DIMTZIN" 0
"DIMLIM" 0
"DIMMZS"
"DIMTXSTY" "ROMANS"
"DIMZIN" 3 /e)
) ;progn
      ) ;if
     
) ;defun

For whatever reason, ACAD returns "nil" when I run this and the style is not created.

I would appreciate any help/guidance,

Robert

ronjonp

  • Needs a day job
  • Posts: 7527
Re: Dim style question
« Reply #1 on: October 18, 2011, 11:45:19 AM »
Two lines I see which may have problems:

"DIMALTF" m
"DIMZIN" 3 /e

The "nil" output can be suppressed by adding (princ) to the end of the code.

Windows 11 x64 - AutoCAD /C3D 2023

Custom Build PC

CAB

  • Global Moderator
  • Seagull
  • Posts: 10401
Re: Dim style question
« Reply #2 on: October 18, 2011, 01:12:42 PM »
I've reached the age where the happy hour is a nap. (°¿°)
Windows 10 core i7 4790k 4Ghz 32GB GTX 970
Please support this web site.

rjohnson42

  • Guest
Re: Dim style question
« Reply #3 on: October 19, 2011, 08:10:29 AM »
Two lines I see which may have problems:

"DIMALTF" m
"DIMZIN" 3 /e

The "nil" output can be suppressed by adding (princ) to the end of the code.

You are correct - thanks!

Some info to consider.
http://www.theswamp.org/index.php?topic=1669.0

I attempted to use the code posted by nivuahc, but I'm getting an error regarding "too many arguments"... Here's what I have:

Code: [Select]
(defun c:tst()
;create text Style
(if (not (tblsearch "style" "ROMANS")) (command "-style" "ROMANS" "ROMANS.SHX" 1.25 1.0 0 "N" "N" "N"))
;create dimension style
(if (not (tblsearch "Dimstyle" "TIC 1_20"))
(SETVAR "CMDECHO" 0)
;;Below are the dimstyle variables
(setvar "DIMADEC" 0)
(setvar "DIMALTD" 2)
(setvar "DIMALTF" 25.4)
(setvar "DIMALTRND" 0)
(setvar "DIMALTTD" 2)
(setvar "DIMALTTZ" 0)
(setvar "DIMALTU" 2)
(setvar "DIMALTZ" 0)
(setvar "DIMAPOST" "")
(setvar "DIMASSOC" 2)
(setvar "DIMASZ" 0.125)
(setvar "DIMATFIT" 3)
(setvar "DIMAUNIT" 0)
(setvar "DIMAZIN" 0)
(setvar "DIMCEN" 0.0781)
(setvar "DIMCLRD" 0)
(setvar "DIMCLRE" 0)
(setvar "DIMCLRT" 0)
(setvar "DIMDEC" 4)
(setvar "DIMDLE" 0)
(setvar "DIMDLI" 0.0938)
(setvar "DIMDSEP" ".")
(setvar "DIMEXE" 0.0469)
(setvar "DIMEXO" 0.0469)
(setvar "DIMFIT" 3)
(setvar "DIMFRAC" 2)
(setvar "DIMGAP" 0.0781)
(setvar "DIMJUST" 0)
(setvar "DIMBLK" ".")
(setvar "DIMBLK1" ".")
(setvar "DIMBLK2" ".")
(setvar "DIMLFAC" 1)
(setvar "DIMLUNIT" 4)
(setvar "DIMLWD" -2)
(setvar "DIMLWE" -2)
(setvar "DIMPOST" "")
(setvar "DIMRND" 0)
(setvar "DIMSCALE" 20)
(setvar "DIMTAD" 0)
(setvar "DIMTDEC" 4)
(setvar "DIMTFAC" 1)
(setvar "DIMTM" 0)
(setvar "DIMTMOVE" 0)
(setvar "DIMTOLJ" 1)
(setvar "DIMTP" 0)
(setvar "DIMTSZ" 0)
(setvar "DIMTVP" 0)
(setvar "DIMTXSTY" "ROMANS")
(setvar "DIMTXT" 0.0781)
(setvar "DIMTZIN" 0)
(setvar "DIMUNIT" 6)
(setvar "DIMZIN" 0)
(setvar "DIMLDRBLK" "")
(command "-dimstyle" "s" "TIC 1_20")
      ) ;if
(princ)
) ;defun

Lee Mac

  • Seagull
  • Posts: 12912
  • London, England
Re: Dim style question
« Reply #4 on: October 19, 2011, 08:21:01 AM »
The IF function only requires 2 (optionally 3) arguments.

You have supplied it with 56 arguments.

Use the 'progn' function to pass the 'setvar' statements to the IF function as one argument.

rjohnson42

  • Guest
Re: Dim style question
« Reply #5 on: October 19, 2011, 11:17:38 AM »
Just to let everyone know, I figured it out with the help of Mac.

Here's what I ended up with:

Code: [Select]
(defun Styles( )

    (if (not (tblsearch "STYLE" "ROMANS"))
        (command "_.-style" "ROMANS" "ROMANS.SHX" 1.25 1.0 0 "_N" "_N" "_N")
    )

    (if (not (tblsearch "DIMSTYLE" "TIC 1_20"))
        (progn
            (setvar "CMDECHO" 0)
            (setvar "DIMADEC" 0)
            (setvar "DIMALTD" 2)
            (setvar "DIMALTF" 25.4)
            (setvar "DIMALTRND" 0)
            (setvar "DIMALTTD" 2)
            (setvar "DIMALTTZ" 0)
            (setvar "DIMALTU" 2)
            (setvar "DIMALTZ" 0)
            (setvar "DIMAPOST" "m")
            (setvar "DIMASSOC" 2)
            (setvar "DIMASZ" 0.0625)
            (setvar "DIMATFIT" 3)
            (setvar "DIMAUNIT" 0)
            (setvar "DIMAZIN" 0)
            (setvar "DIMCEN" 0.0313)
            (setvar "DIMCLRD" 256)
            (setvar "DIMCLRE" 256)
            (setvar "DIMCLRT" 256)
            (setvar "DIMDEC" 2)
            (setvar "DIMDLE" 0)
            (setvar "DIMDLI" 0.5)
            (setvar "DIMDSEP" ".")
            (setvar "DIMEXE" 0.0625)
            (setvar "DIMEXO" 0.0625)
            (setvar "DIMFIT" 3)
            (setvar "DIMFRAC" 0)
            (setvar "DIMGAP" 0.0313)
            (setvar "DIMJUST" 0)
            (setvar "DIMBLK" ".")
            (setvar "DIMBLK1" ".")
            (setvar "DIMBLK2" ".")
            (setvar "DIMLFAC" 1)
            (setvar "DIMLUNIT" 2)
            (setvar "DIMLWD" -2)
            (setvar "DIMLWE" -2)
            (setvar "DIMPOST" "'")
            (setvar "DIMRND" 0)
            (setvar "DIMSCALE" 20)
            (setvar "DIMTAD" 1)
            (setvar "DIMTDEC" 2)
            (setvar "DIMTFAC" 0.25)
            (setvar "DIMTM" 0)
            (setvar "DIMTMOVE" 0)
            (setvar "DIMTOLJ" 1)
            (setvar "DIMTP" 0)
            (setvar "DIMTSZ" 0)
            (setvar "DIMTVP" 0)
            (setvar "DIMTXSTY" "ROMANS")
            (setvar "DIMTXT" 0.0625)
            (setvar "DIMTZIN" 0)
            (setvar "DIMUNIT" 6)
            (setvar "DIMZIN" 3)
            (setvar "DIMLDRBLK" ".")
            (command "_.-dimstyle" "_s" "TIC 1_20")
        );end progn
    );end if
    (princ)
);end defun

Thanks again to Mac and the others. I've got my pet project of the week done.   :mrgreen: