PDA

View Full Version : Set CANNOSCALE with inch mark in name



pbrumberg
2007-05-31, 06:28 PM
Prior to 2008's annotative features, we used one dimension style and used a set of toolbar buttons on a flyout to choose the drawings scale (which would in turn change a number of variables including the dimscale). We're trying to make the switch to annotative. I still need (at least in the interim) to be able to set the other variables as they affect how blocks are inserted, the ltscale, etc. But I don't want users to have to set the annotative scale at the bottom of the screen AND choose the correct scale from the toolbar flyout. I think the switch is going to be confusing enough for the users, let along if I make it more confusing by making them go through two steps to set their drafting scale.

The problem is I can't figure out how to set cannoscale using a toolbar due to the inch mark in each name. For example to set to 3/4" = 1'-0" scale you would need to do something like (setvar "cannoscale" "3/4" = 1'-0""), but if you try that you get the "too many arguments" error. If you add a backslash in front of the two inch marks, it makes an odd looking character and the lisp works (if you type it at command prompt), but if you take that same concept into the cui editor and add it in a toolbar button the lisp fails.

Can anyone help me out? I guess I could always remake the scales list to eliminate the inch marks in the names, but I really like the definitive scale names as AutoCAD has them set out of the box. I'd really like to avoid changing the scales to something dumbed down like "3/4in=1ft0in" or just "3/4".

ALSO - while I'm at it. Our old method used dimscale to insert a number of different items. Is there a way for me to continue to set a dimscale even though I'm using a dimension style set to annotative scaling? If I can't set a dimscale while using an dimstyle set to annotative scaling it will force me to reset all of my inserts and lisp routines which use dimscale to point to another variable (which I can easily define using the scale flyout).

EDIT: Keep in mind, AutoCAD out of the box uses dimscale as an option for scale in the hatch tool palette. We use it as well for our hatch patterns. This is another place where not being able to set a dimscale will be detrimental.

MODS - if you think this would be better served in the lisp forum, please feel free to move it.

framedNlv
2007-05-31, 07:05 PM
I updated our toolbars yesterday with the cannoscale. This is what I put at the end of the macro: cannoscale 1/8" = 1'-0";

I would stay away from using nonstandard cannoscale styles.

Here is a link to where I posted an updated set of cannoscales to include 10' thru 100' scales. http://forums.augi.com/showthread.php?t=61483


Chris

pbrumberg
2007-05-31, 07:35 PM
Framed -

That worked well. I tried that at the command prompt and I couldn't get it to work. I think I was putting the string in as "1/8" = 1'-0"" (within parentheses). Thanks for the easy fix.

Now... Anyone have anything for me for the second part (setting dimscale)? That's really putting a cramp in my style and keeping me from really jumping into the switch to annotative. I'm not really looking forward to re-writing all of my menus/toolbars and lisp routines that reference dimscale.

EDIT: I'd already found your script file for a list of scales. Nicely done. I may borrow that (even just to delete the ones we do not need).

.chad
2007-05-31, 08:08 PM
i may be completely missing the point here but -

you can (in your template) use the scalelistedit command to add scales to your list, which then will be in any new drawing created using the template.

once in a drawing, your dimension style should be set to annotative. no need to change it once the style is configured the way you want it.



from the help file:

Sets the overall scale factor applied to dimensioning variables that specify sizes, distances, or offsets.

Also affects the leader objects with the LEADER command.

0.0

A reasonable default value is computed based on the scaling between the current model space viewport and paper space. If you are in paper space or model space and not using the paper space feature, the scale factor is 1.0.

>0

A scale factor is computed that leads text sizes, arrowhead sizes, and other scaled distances to plot at their face values.

DIMSCALE does not affect measured lengths, coordinates, or angles.

When DIMSCALE is set to 0, and the current dimension style is not annotative, the overall dimension scale of dimensions created in paper space viewports is determined be the viewport scale.When the current dimension style is annotative (DIMANNO is set to 1), the DIMSCALE value is set to 0. Changes to the DIMSCALE value are ignored and the value is reset to 0.




for ltscale, psltscale and msltscale - look here (http://architects-desktop.blogspot.com/2007/02/no-more-ltscalepsltscale-problems.html).



The new system variable is called MSLTSCALE. A setting of 0 will result in the behavior you know and love so well in your current AutoCAD-based product. Setting it to 1 is where the magic begins. With MSLTSCALE set to 1, PSLTSCALE set to 1, LTSCALE set to whatever your office standard is for plotting at 1:1 (it may be 1, some use 0.5, my firm uses 0.375) and CELTSCALE set to 1 (not an absolute requirement, but I would recommend having the object linetype scale for newly created objects set to 1 and only change that in very rare instances when absolutely necessary on an object by object basis), you need NEVER CHANGE THESE VALUES AGAIN!after working with the annotation scaling for about a month is starting making alot of sense, its just a different (and seemingly) simpler way to do things.

framedNlv
2007-05-31, 09:34 PM
Thanks for the template suggestion.

The template file has been updated in our office but doesn't help with all of the current jobs that are in progress. This is just a method to update our files as we proceed.


Chris

.chad
2007-05-31, 09:39 PM
Thanks for the template suggestion.

The template file has been updated in our office but doesn't help with all of the current jobs that are in progress. This is just a method to update our files as we proceed.

Chrisyou can import them. create a dummy file with the scales you want and insert it like you would a block - it will bring scales with it.