I'm trying to explode mtext in a number of our dwgs, here's whaat i've come up with.
(ssget "X" '((0 . "MTEXT")))
it works fine if i run it at the command prompt but not if i run it via script?
What am i not getting??
Solved! Go to Solution.
A few of the LISP expressions are not allowed while inside a command.
(setq s (ssget...
(command "EXPLODE" s "")
(setq s nil)
well i've tried:
(setq mt (ssget "X" '((0 . "MTEXT")))
(command "EXPLODE" mt "")
(setq mt nil)
but it doeesn't work, i'm a novice at the ssget thing so it maybe something i'm just not getting right
For some reason the explode command doesn't accept the entire selection set. I tried your code and with the exception of a missing close parenthesis it seemed like it should have worked. I fixed that but it only exploded 1 of the mtext objects in the sslist. This code adds them to an entitylist and then explodes each one...
(setq mt (ssget "X" '((0 . "MTEXT"))))
(setq ctr 0)
(while (setq cent (ssname mt ctr))
(Setq objlist (append (list cent) objlist))
(setq ctr (1+ ctr))
(foreach mtextobj objlist
(command ".explode" mtextobj)
(setq mt nil
bodhran wrote:(setq mt (ssget "X" '((0 . "MTEXT"))) <-- Missing ) here.
BTW.. you can see that your code works if you run this line (setq mt (ssget "x" '((0 . "MTEXT")))) and then run (sslength mt) That should return the count of objects in your mt selection set.
BTW #2.. If you also do (setq mt (ssget "x" '((0 . "MTEXT")))) and then (command "move" mt "") see what happens...
For some reason the explode command doesn't accept the entire selection set. ...it only exploded 1 of the mtext objects in the sslist. ....
This has come up several times before -- search the discussion group for Explode and the mysterious QAFLAGS System Variable.
(defun C:MTXEX ( / ss )
(setvar "QAFLAGS" 1)
(setq ss (ssget "x" (list (cons 0 "MTEXT"))))
(command "._EXPLODE" ss "")
(setvar "QAFLAGS" 0)
(princ "\n** Type MTXEX to invoke **")
Log into access your profile, ask and answer questions, share ideas and more. Haven't signed up yet? Register