Can some one explain the logic behind these three variables? Autodesk has a done a poor job again (IMHO) of explaining the "hows and whens" so that the user can get the desired results that he wants.
The basic premise is rather simple. Basically, INSUNITS is the same thing as modelspace Drawing Units. Just set the INSUNITS to the appropriate value for how you work. If you work with 1 modelspace drawing unit = 1 inch, then set it to inches (INSUNITS=1). If you work in 1 du = 1 foot, set it to feet (INSUNITS=2), etc. You may prefer to select the value you want by going to Format->Units... and selecting the units from the list; this has the same effect as setting INSUNITS, and you don't have to remember which number is which unit.
Starting in 2006, when you INSERT or XREF a drawing, Autocad uses this setting in each drawing to determine how to scale the block. If INSUNITS = Inches in the block, but INSUNITS = Feet in the active drawing, the block will be scaled by .08 as it's inserted (1 inch = 0.08 feet). The same thing happens with XREFs.
-
The easiest way to see how it works may be to create a new drawing, and draw a circle at (0,0) that has a radius of 1 drawing unit. Set the INSUNITS to Inches, and save the drawing as "inch.dwg". Now change the INSUNITS to Feet, and save the drawing as "foot.dwg". Then change INSUNITS to Meters, and save the drawing as "meter.dwg". This creates three blocks - all circles, one with radius = 1 inch, one with radius = 1 foot, and one with radius = 1 meter. In each case, the radius is also 1 drawing unit.
Now create a new blank drawing. Set the INSUNITS for the new drawing to Inches. INSERT each of the "inch", "foot", and "meter" blocks in turn as blocks, making sure that you don't explode the blocks. (You probably want to use the "Specify on screen" option for Insertion Point.) Notice that each circle is a different size, even though all three blocks were created using a circle with a radius of 1 drawing unit. Measure the radius of each circle, and you will see that the "Inch" block has a 1-inch radius, the "foot" block as a 12-inch radius, and the "meter" block has a ~39.37-inch radius. Now click on each block in turn, and look at the Properties for each block. Note the "Unit Factor" property, which contains the scaling value that Autocad calculated by using the units. Also notice that in each case, the X Y and Z scale factors are all set to 1. To get the total scale value applied to the block, multiply the X and Y and Z scale factors by the "Unit Factor".
Now change the INSUNITS for the current drawing to Feet. Note that the size and appearance of the three blocks in the drawing does not change, i.e., each block still covers the same number of drawing units. But now each drawing unit represents a different unit of length. If you measure the circles, the "inch" circle that used to measure 1 inch now measures 1 foot; the "foot" circle that used to measure 12 inches now measures 12 feet, etc. But if you look at the Properties, they will look different. They will now have different "Unit Factors", and the X Y and Z scale factors will have compensating values.
With the INSUNITS still set to Feet, insert the three blocks again. (You can just start the INSERT command and select the blocks from the list; you don't need to browse to them again.) Notice how they get inserted this time. If you measure the new circles you just inserted, the "inch" circle that measured 1 inch the first time you inserted it will measure ~.08 feet this time around; the "foot" circle that used to measure 12 inches now measures 1 foot, etc. Now change the INSUNITS of the current drawing to Meters, and do the same thing again. Experiment with this for a while, until you feel comfortable with what's happening.
There is also a "Unitless" setting. If either the source or destination drawings is set to "Unitless", then Autocad will use whatever is specified in the two fields in OPTIONS, User Preference tab->Insertion Scale. Setting these values in OPTIONS is the same thing as setting the INSUNITSDEFSOURCE and INSUNITSDEFTARGET system variables. The "Source" would be the drawing you are INSERTing or XREFing; the "Destination" would be your currently-active drawing.
Now for the CAVEATS (surprise!)
The problems started when Autodesk changed the behavior of INSERT and XREF so that they automatically get scaled by this value. The standard block libraries included with Land Desktop were all defined with INSUNITS = Inches. But most Civil people work with INSUNITS = feet. (I've even heard some people complain of Land Desktop trying to be "helpful" and changing INSUNITS to Feet
for them, but I'm not sure under what circumstances.) Since Autocad used to ignore this value during inserts, no one really noticed that all the blocks were defined with INSUNITS = inches. But starting in 2006, all of a sudden all Civil people had the annoying problem of all their blocks coming in scaled by 1/12 because of the INSUNITS. There are two possible fixes: 1) change INSUNITS for all blocks in block libraries to Feet, or 2) change INSUNITS for all blocks in block libraries to Unitless and set INSUNITSDEFSOURCE to Feet. We've been using Option 2 here, but I've been thinking Option 1 might be better...
Another problem: the "Feet" option for units is really "International Feet". Autodesk seems not to have realized that, at least in some states in the US, people still use US Survey Feet, and not International Feet. One US Survey Foot = 1200/3937 meters = 0.304800609601219... meters, while one International foot is defined as 0.3048 meters exactly. The difference may not be noticeable most of the time - you wouldn't notice the difference at all with a 100' chain - but it makes a significant difference when things like State Plane Coordinates are involved. Autodesk does not include an option for "US Survey Feet", reducing the usefullness of the whole system, at least for us here in Colorado. The difference generally doesn't matter when inserting an architect's floor plan for a building into a civil site plan, since it amounts to a bit over 0.01 feet per mile, but it can matter for other things.
Also, the "new" way of creating block libraries involves putting a whole bunch of blocks in a single drawing. In other words, one drawing serves as a "container", holding a whole set of blocks inside it. Then you use the Design Center to turn the container drawing into a Tool Palette, full of Block Tools (or just use the Design Center to pull the block out of the "container" drawing and insert it into your current drawing). In this way, you can create block libraries out of Dynamic Blocks, which must exist inside of another drawing. The "container" drawing holds all the dynamic blocks, which are inserted into your current drawing using the Block Tools in the Tool Palette.
But there is another caveat when creating block libraries in this fashion, if you define blocks as "Unitless". As you create a block, you can define its units, and the block remembers the units. However, if the block's units are set to "Unitless", Autocad will then look at the drawing units of the "container" drawing. So, you have to make sure the INSUNITS of the "container" drawing is also set to "Unitless".