Invariably, if your desire is to automate the drawings of buildings, I would start with dimension strings. Not just any strings. Do the ones for the whole building. Do all of the smaller dimensions add up to the large dimension? This is often obfuscated by annoying CAD levels of detail where electrons somehow matter.
Too Precise…lets me know that there are exactly 10 feet and no electrons.
Not Precise enough. Lets me know there might be some fudge? Regardless since I have no significant digit here, I might believe the cad program is lying to me.
This is just right. Tells me no fudge and no 1/256 electron showing up
The last three examples use the ->| #’-#”|<- Format. Its useful because it has the most clear arrows about what dimension is actually being measured. Personally, I do think that less is more, so we should end up with something simple like this:
I’ll adjust my annotation scale a bit so that the annotation text is smaller relative to the geometry, and dimension the square next to it:
Now, how do I know the thickness of the wall between the two squares? Typically the wall width will be on a partitions schedule, or arrived to from overall geometry dimensions:
Massive problem to avoid when dimensioning in imperial is allowing the cad program to round things up or down. Below is geometrically correct, but absolutely incorrect because of rounding being allowed. The space in the middle now has an incorrect dimension, and the overall building now has an incorrect dimension.
Conclusion: Set your cad program to 1/256″ of accuracy, and all of your automatic dimension strings to that same accuracy, so when the building is built, you and your docs aren’t 1/2 of an inch off (or way more). If we automate the placement of building level dimstrings, we need to confirm that any floating point rounding that happens doesn’t destroy the clarity of a good dimstring.
Obviously if we dealt with a new and archaic base-10 system like “Metric” we could just put everything in millimeters and call it a day, but alas, we are trying to innovate the far more user friendly base-12 system.