ILoveMadoka Posted September 9, 2011 Share Posted September 9, 2011 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? (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... 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! Quote Link to comment Share on other sites More sharing options...
Tharwat Posted September 9, 2011 Share Posted September 9, 2011 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 Quote Link to comment Share on other sites More sharing options...
ILoveMadoka Posted September 9, 2011 Author Share Posted September 9, 2011 Thanks... What about the TBLSEARCH question? Is it possible to TBLSEARCH for several items at once? ie: check for several layers?? Quote Link to comment Share on other sites More sharing options...
David Bethel Posted September 9, 2011 Share Posted September 9, 2011 (edited) 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 September 9, 2011 by David Bethel Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.