dbroada Posted March 17, 2011 Posted March 17, 2011 We have recently revised our drawing practices which has resulted in most of our electrical symbols being twice as large as they need to be so I am training myself to alter the default scale in the INSERT dialogue box but I get it wrong more often than I get right. In ACADE you can set the default scale in a properties box and all is right with the world. Does anybody know if there is a similar setting that works with vanilla AutoCAD? Quote
SLW210 Posted March 17, 2011 Posted March 17, 2011 (edited) You could always make a macro for inserting at a predetermined scale. Edited March 18, 2011 by SLW210 Quote
BIGAL Posted March 22, 2011 Posted March 22, 2011 (edited) @#$%forgot to set scale! maybe something like sss = re scale "last" object user gives scale all done a bit of lisp etc. scale, insert point of block, new scale had another go (defun C:sss (ss en x y scl) (setq ss (ssget "L")) (setq en (entget (ssname ss 0))) (setq inspt (assoc 10 en)) (setq x (cadr inspt)) (setq y (caddr inspt)) (setq xy (list x y)) (setq scl (Getreal "\nEnter new scale..")) (command "scale" "L" "" xy scl) (princ) ) Edited March 22, 2011 by BIGAL Quote
Tyke Posted March 22, 2011 Posted March 22, 2011 Hi Dave, look here: http://www.autocadtrainerguy.com/ (Case Study: Using Tool Palettes to Implement CAD Standards) and see if the bit on inserting blocks to a specific scale would help you. ps are you back at work yet? Quote
dbroada Posted March 22, 2011 Author Posted March 22, 2011 thanks for the answers guys. It is not a big problem for me to rescale after insertion. I tend to type the block name into the dialogue box and hit return then realise I wanted the symbol half size. Changing the scale using the property palette is just as easy as running an external command. Tyke, yes I'm sort of at work. I haven't yet done a full week although this week is holiday as Heather's chemo started yesterday. And how are you? Fully operated on? Quote
alanjt Posted March 22, 2011 Posted March 22, 2011 You could run a command reactor that executes after the INSERT command finishes and rescales the block by half. After INSERT finishes, you could: Prompt user with option to scale block. Scale block if member of a predefined list. Just rescale all blocks. I'm sure this is a crazy question, but why not just fix all the blocks? Quote
Tyke Posted March 22, 2011 Posted March 22, 2011 Best regards on Heather, I hope it all goes well. Me? They had to postone the big op and just did some external work on my spine. I have to back to see the specialist in June and will know more then. I'm not at work at the moment, but might as well be, as I'm still doing a lot of work at home and at the same time spending a load of time on the phone just sorting things out. I also got myself a new computer and I'm busy installing software and transferring data. So I'm not bored :wink:. Quote
alanjt Posted March 22, 2011 Posted March 22, 2011 You could run a command reactor that executes after the INSERT command finishes and rescales the block by half.After INSERT finishes, you could: Prompt user with option to scale block. Scale block if member of a predefined list. Just rescale all blocks. I'm sure this is a crazy question, but why not just fix all the blocks? Quick and very simple example (had a free minute)... (vl-load-com) (if (not *Reactor:Insert*) (setq *Reactor:Insert* (vlr-command-reactor nil '((:vlr-commandended . Reactor:Insert)))) ) (defun Reactor:Insert (data call / obj) (if (and (wcmatch (strcase (car call)) "*INSERT*") (setq obj (entlast)) (eq (vla-get-objectname (setq obj (vlax-ename->vla-object obj))) "AcDbBlockReference") ) (mapcar (function (lambda (prop alt / use) (vlax-put-property obj (setq use (if (vlax-property-available-p obj prop) prop alt ) ) (/ (vlax-get-property obj use) 2.) ) ) ) '(XEffectiveScaleFactor YEffectiveScaleFactor ZEffectiveScaleFactor) '(XScaleFactor YScaleFactor ZScaleFactor) ) ) ) Quote
dbroada Posted March 22, 2011 Author Posted March 22, 2011 I'm sure this is a crazy question, but why not just fix all the blocks?because we have about 3 projects with the new borders and 15000 with the old which we continue to modify. Once the others in the office have had their AcadE training that will become our standard solution and the problem goes away on its own. Quote
alanjt Posted March 22, 2011 Posted March 22, 2011 because we have about 3 projects with the new borders and 15000 with the old which we continue to modify. Once the others in the office have had their AcadE training that will become our standard solution and the problem goes away on its own. Right on. I figured it was a sensible reason. Did you try the reactor? Quote
dbroada Posted March 22, 2011 Author Posted March 22, 2011 not yet, haven't been working much recently and not at all this week (see my reply to Tyke ) Quote
alanjt Posted March 22, 2011 Posted March 22, 2011 not yet, haven't been working much recently and not at all this week (see my reply to Tyke ) Oops, sorry about that. Believe me, I know your pain. Quote
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.