Jump to content

Changing a dimension to another style (Assoc 3)??


ILoveMadoka

Recommended Posts

This is a script type routine I run on drawings created in Solidworks.

I get dimensions with all sorts of different DIMSTYLES.

I want to change them all to Standard.

 

Here's what I have so far..

I don't know how to change (3."xxxx") to (3."Standard")

 

Also, can you do a TBLSEARCH for several items at once? :cry:

 

(DEFUN C:SWDX ()
(Prompt "Change SW Lines:")
(setq ss4 (ssget "x" '((0 . "LINE")(6 . "PHANTOM"))))
(setq TEST (tblsearch "LAYER" "X25"))
    (if (= TEST nil)
            (progn
                 (Command "-layer" "n" "X25" "C" "RED" "X25" "")
            )
    )

(command "CHANGE" ss4 "" "p"  "la" "X25" "c" "bylayer" "lt" "Phantom" "LW" "default" "")

(setq ss5 (ssget "x" '((0 . "DIMENSION"))))
(setq TEST (tblsearch "LAYER" "DIM"))
    (if (= TEST nil)
            (progn
                 (Command "-layer" "n" "DIM" "C" "RED" "X25" "")
            )
    )
(command "CHANGE" ss5 "" "p"  "la" "DIM" "c" "bylayer" "LW" "default" "")

[b];;; Need to change (3."xxxx") to (3. "Standard") for SS5[/b]

(setq ss9 (ssget "x" '((0 . "LINE")(6 . "*CENTER*"))))
(command "ERASE" ss9 "")
(princ))

 

I know my code writing skills are very elementary... :oops:

If there's a better way to do what I've done, I'm open.

If someone wants to just fill in the blanks that's fine too...

 

 

Thanks!

Link to comment
Share on other sites

You need to use function *entmod* to change dimstyles . .... :)

 

(defun c:Test (/ ss i sset e)
 (if (setq ss (ssget "x" '((0 . "DIMENSION"))))
   (repeat
     (setq i (sslength ss))
      (setq sset (ssname ss (setq i (1- i))))
      (if (not (eq (cdr (assoc 3 (setq e (entget sset)))) "Standard"))
        (entmod (subst (cons 3 "Standard") (assoc 3 e) e))
      )
   )
   (princ)
 )
 (princ)
)

Tharwat

Link to comment
Share on other sites

Thanks...

 

 

What about the TBLSEARCH question?

 

Is it possible to TBLSEARCH for several items at once?

ie: check for several layers??

Link to comment
Share on other sites

What about the TBLSEARCH question?

 

Is it possible to TBLSEARCH for several items at once?

ie: check for several layers??

 

No, you must search each name individually. -David

 

Just an aside, you can use ( entmod / append ) to modify all of the entities:

 

[b][color=BLACK]([/color][/b]defun c:swdx [b][color=FUCHSIA]([/color][/b]/ ss4 ss5 en ed[b][color=FUCHSIA])[/color][/b]

 [b][color=FUCHSIA]([/color][/b]if [b][color=NAVY]([/color][/b]not [b][color=MAROON]([/color][/b]tblsearch [color=#2f4f4f]"LAYER"[/color] [color=#2f4f4f]"X25"[/color][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
     [b][color=NAVY]([/color][/b]command [color=#2f4f4f]"_.LAYER"[/color] [color=#2f4f4f]"_N"[/color] [color=#2f4f4f]"X25"[/color] [color=#2f4f4f]"_C"[/color] [color=#2f4f4f]"RED"[/color] [color=#2f4f4f]"X25"[/color] [color=#2f4f4f]""[/color][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]

 [b][color=FUCHSIA]([/color][/b]if [b][color=NAVY]([/color][/b]setq ss4 [b][color=MAROON]([/color][/b]ssget [color=#2f4f4f]"_X"[/color] '[b][color=GREEN]([/color][/b][b][color=BLUE]([/color][/b]0 . [color=#2f4f4f]"LINE"[/color][b][color=BLUE])[/color][/b][b][color=BLUE]([/color][/b]6 . [color=#2f4f4f]"PHANTOM"[/color][b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
     [b][color=NAVY]([/color][/b]command [color=#2f4f4f]"_.CHPROP"[/color] ss4 [color=#2f4f4f]""[/color] [color=#2f4f4f]"_LA"[/color] [color=#2f4f4f]"X25"[/color] [color=#2f4f4f]"_LW"[/color] [color=#2f4f4f]"Default"[/color] [color=#2f4f4f]""[/color][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]

 [b][color=FUCHSIA]([/color][/b]and [b][color=NAVY]([/color][/b]setq ss5 [b][color=MAROON]([/color][/b]ssget [color=#2f4f4f]"_X"[/color] '[b][color=GREEN]([/color][/b][b][color=BLUE]([/color][/b]0 . [color=#2f4f4f]"DIMENSION"[/color][b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
      [b][color=NAVY]([/color][/b]tblsearch [color=#2f4f4f]"DIMSTYLE"[/color] [color=#2f4f4f]"STANDARD"[/color][b][color=NAVY])[/color][/b]
      [b][color=NAVY]([/color][/b]while [b][color=MAROON]([/color][/b]setq en [b][color=GREEN]([/color][/b]ssname ss5 0[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
             [b][color=MAROON]([/color][/b]setq ed [b][color=GREEN]([/color][/b]entget en[b][color=GREEN])[/color][/b]
                   ed [b][color=GREEN]([/color][/b]subst '[b][color=BLUE]([/color][/b]3 . [color=#2f4f4f]"STANDARD"[/color][b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]assoc 3 ed[b][color=BLUE])[/color][/b] ed[b][color=GREEN])[/color][/b]
                   ed [b][color=GREEN]([/color][/b]subst '[b][color=BLUE]([/color][/b]8 . [color=#2f4f4f]"DIM"[/color][b][color=BLUE])[/color][/b]      [b][color=BLUE]([/color][/b]assoc 8 ed[b][color=BLUE])[/color][/b] ed[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
             [b][color=MAROON]([/color][/b]if [b][color=GREEN]([/color][/b]assoc 62 ed[b][color=GREEN])[/color][/b]
                 [b][color=GREEN]([/color][/b]setq ed [b][color=BLUE]([/color][/b]subst '[b][color=RED]([/color][/b]62 . 256[b][color=RED])[/color][/b] [b][color=RED]([/color][/b]assoc 62 ed[b][color=RED])[/color][/b] ed[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
             [b][color=MAROON]([/color][/b]if [b][color=GREEN]([/color][/b]assoc 370 ed[b][color=GREEN])[/color][/b]
                 [b][color=GREEN]([/color][/b]setq ed [b][color=BLUE]([/color][/b]subst '[b][color=RED]([/color][/b]370 . -3[b][color=RED])[/color][/b] [b][color=RED]([/color][/b]assoc 370 ed[b][color=RED])[/color][/b] ed[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b]
                 [b][color=GREEN]([/color][/b]setq ed [b][color=BLUE]([/color][/b]append ed '[b][color=RED]([/color][/b][b][color=PURPLE]([/color][/b]370 . -3[b][color=PURPLE])[/color][/b][b][color=RED])[/color][/b][b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
             [b][color=MAROON]([/color][/b]entmod ed[b][color=MAROON])[/color][/b]
             [b][color=MAROON]([/color][/b]ssdel en ss5[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
[b][color=FUCHSIA]([/color][/b]prin1[b][color=FUCHSIA])[/color][/b][b][color=BLACK])[/color][/b]

Edited by David Bethel
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...