View Full Version : Trying to break a User of exploding everything
scoutmaster
2008-12-17, 02:10 AM
Im going to slip this in on them, it should make a point since they are not exactly power users. Im hoping to make a point with them:
(setvar "cmdecho" 0)
(command ".undefine" "EXPLODE")
(defun C:EXPLODE()
(alert "Hey! I told you not to use explode.")
(alert "Now you really did it!")
(alert "Im gonna delete this drawing")
(alert "Get the point NOW?")
(command ".-qsave")
(setvar "cmdecho" 1)
(command "quit" "n")
(princ)
)
Before I blow something anybody notice any problems. Ive tested it here on the home computer and it does seem to save the file before it closes.
I don't recommend using it.
What happens if you didn't want to save a copy of the drawing? It also removes your good copy when the qsave is executed.
Baghera
2008-12-17, 01:02 PM
I would just leave it at undefineing the command and giving the warning as well.
If you do want to save the file, put it in a separate location under a different name. You might want to do this if you need to show the higher ups how often that user tries to explode things. Have a tally count on the end of the file name, Exp1, Exp2, Exp3.....
ccowgill
2008-12-17, 02:12 PM
I wouldnt recommend that, exploding items are sometimes necessary. our third party app sometimes creates 3dpolylines, we need them to be regular polylines, so we flatten them, explode them and rejoin them. In our office I have redefined explode to exclude particular objects:
Dimensions, leaders, hatches, certain blocks (mainly title blocks), AutoCAD tables, etc..
but even undefining the command to then redefine it can be overridden to work in the default methods.
rkmcswain
2008-12-17, 02:24 PM
If you have CAD users doing something that they shouldn't, this is a management problem. Don't turn it into a technology problem.
Train the users, and discipline if necessary. There are plenty of people looking for work these days...
charlieb
2008-12-17, 02:48 PM
I agree this is a management problem not a technology problem. Perhaps set up an exercise where a block is used multiple times in a drawing, explode each instance then have the offending update the blocks. This should reinforce the need for leaving blocks alone.
dgorsman
2008-12-17, 07:01 PM
If you *really* want to implement something, here are a few safer options:
- there were some posts on the Swamp about using the MS Speech object; get the computer to yell at the user each time the explode command is used
- every time an object is exploded, insert a LARGE piece of text where the explosion took place
But no matter how you do it, keep it simple and don't mess with the drawing too badly. And, of course, training and procedural documentation.
scoutmaster
2008-12-17, 07:02 PM
Well I ended up removing the save and quit but adding about 6 more annoying alert boxes. Then redefining explode. So the user can still explode but they have to go thru several annoying alerts first. Confirming that this is in fact the option they wanted to perform.
I dont really want to bother management with a issue such as this yet. Some times I believe its better to clean your own house rather than having it done by management. In this particular case the user is a great asset that just happens to have a annoying habit. So I think a little habit modification will go further than turning it over to management.
Pssst....Our department manager is just as bad, however since he determines if I am employed or not I tend to just verbally slap his wrist. I did threaten to remove his Acad from his computer if he couldnt play by the rules, and since that is a power he granted me its fair for all.
Anthony Rhodes
2008-12-17, 08:26 PM
You will have to keep us posted on how things go. It would be rather fun to be a mouse in the corner when your guy uses the command the first few times. :mrgreen:
ccowgill
2008-12-17, 08:30 PM
Well I ended up removing the save and quit but adding about 6 more annoying alert boxes. Then redefining explode. So the user can still explode but they have to go thru several annoying alerts first. Confirming that this is in fact the option they wanted to perform.
I dont really want to bother management with a issue such as this yet. Some times I believe its better to clean your own house rather than having it done by management. In this particular case the user is a great asset that just happens to have a annoying habit. So I think a little habit modification will go further than turning it over to management.
Pssst....Our department manager is just as bad, however since he determines if I am employed or not I tend to just verbally slap his wrist. I did threaten to remove his Acad from his computer if he couldnt play by the rules, and since that is a power he granted me its fair for all.
it will probably go alright unless this user happens to know how to call the original definition of the explode command, then your efforts are in vain.
rkmcswain
2008-12-17, 10:38 PM
it will probably go alright unless this user happens to know how to call the original definition of the explode command, then your efforts are in vain.
.EXPLODE works everytime... :-)
If you just can't avoid hacking up a command, then an ARX based reactor would probably be best... This way you could let the user explode it and have your reactor just undo it... It might be a while before someone figures that out...
scoutmaster
2008-12-18, 06:02 PM
it will probably go alright unless this user happens to know how to call the original definition of the explode command, then your efforts are in vain.
This person is not exactly a power user so that wont be an issue.
dgorsman
2008-12-19, 12:48 AM
This person is not exactly a power user so that wont be an issue.
Don't count on it. We have a number of users here who use ".OP" to open files, even though they have no idea what the leading dot does.
devitg.89838
2008-12-20, 08:40 AM
Im going to slip this in on them, it should make a point since they are not exactly power users. Im hoping to make a point with them:
(setvar "cmdecho" 0)
(command ".undefine" "EXPLODE")
(defun C:EXPLODE()
(alert "Hey! I told you not to use explode.")
(alert "Now you really did it!")
(alert "Im gonna delete this drawing")
(alert "Get the point NOW?")
(command ".-qsave")
(setvar "cmdecho" 1)
(command "quit" "n")
(princ)
)
Before I blow something anybody notice any problems. Ive tested it here on the home computer and it does seem to save the file before it closes.
How about reinsert all blocks as MINSERT ??
irneb
2009-01-08, 12:10 PM
Or just changing each block's Explodable property to False.
andrea.andreetti
2009-01-08, 08:33 PM
If you undefine Explode command...
you can use-it anyway by putting a dimple dot before the command..
.explode
that ignore all the undefined command.
If you don't want that user use explode....you can put an alert sure..but the problem still.
I think that the users are responsable after reading the alert box.
AutoCAD allow to make block Unexplodable. but this feature it's easy to by-pass.
so, I suggest you to use MINSERT instead of INSERT that prevent user to explode block
and this will be a little more handy to explode and compatibe with Old version of AutoCAD.
rkmcswain
2009-01-08, 09:19 PM
so, I suggest you to use MINSERT instead of INSERT that prevent user to explode block
Unfortunately, that is just as easy to circumvent. Just delete the MINSERT and insert a regular copy of the block, exploded.
sschwartz
2009-01-08, 10:17 PM
Im going to slip this in on them, it should make a point since they are not exactly power users. Im hoping to make a point with them:
(setvar "cmdecho" 0)
(command ".undefine" "EXPLODE")
(defun C:EXPLODE()
(alert "Hey! I told you not to use explode.")
(alert "Now you really did it!")
(alert "Im gonna delete this drawing")
(alert "Get the point NOW?")
(command ".-qsave")
(setvar "cmdecho" 1)
(command "quit" "n")
(princ)
)
Before I blow something anybody notice any problems. Ive tested it here on the home computer and it does seem to save the file before it closes.
Mine didn't save...
ccowgill
2009-01-09, 01:49 PM
Mine didn't save...
you are right, because -qsave is an unknown command, atleast on 09 64bit
vBulletin® v3.6.7, Copyright ©2000-2009, Jelsoft Enterprises Ltd.