Jump to content

Recommended Posts

Posted

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?

Posted (edited)

You could always make a macro for inserting at a predetermined scale.

Edited by SLW210
Posted (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 by BIGAL
Posted

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?

Posted

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?

Posted

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?

Posted

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:.

Posted
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)
   )
 )
)

Posted
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.
Posted
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?

Posted

not yet, haven't been working much recently and not at all this week (see my reply to Tyke :( )

Posted
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.

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...