Issue
I want to use the "SpaceAdd" command with "Generate all" option to create space automatically, using a script. The problem is that it does not generate small spaces. It seems that there is some variables somewhere for the minimum size of spaces. However I cannot find anything to control this value. (The ones in the space style do not seem to work for Auto Generate). Is there a way to change this setting, possibly using the .NET or other APIs?
Solution
You can control this through the registry. Do a search in the registry for “ProfileValidity”. ValidRatio is a key under ProfileValidity, and ValidMinBandwidth and ValidAreaSquareRoot are under it depending on Imperial vs. Metric. You should be able to set ValidAreaSquareRoot to a smaller number to get what you want.
For example, in ACA 2013, the registry location is here:
HKEY_CURRENT_USER\Software\Autodesk\AutoCAD\R19.0\ACAD-B004:409\AEC\7.0\AecArchBase70\ObjectDefaults\ProfileValidity
- Ratio = (the area of the space)/(the area of the bounding box)
default value is 0.2 - Minimum Band Width = the minimum width or length of the bounding box of the space
default value is 8.0 inches or 200 millimeter - Minimum Area Square Root = defined the smallest space could be auto-generated
default value is 18.0 inches or 450 millimeter.
Ratio is used to filter out a shape which is unreasonably small compared with are defined by the bounding box. For example, take a very narrow L-shape. With such a shape, the area of total bounding box may be large, but the area of L-shape itself may be very small. Such a shape is filtered out. (The key is set once the command is executed.)
Please note that if the bounding objects are not walls, these rules are not controllable. If the boundary objects are not wall, the area width should not less than 8 inches or 200 mm.
Also please be aware that the purpose of those minimum sizes is to prevent spaces from being created inside walls or columns, for example. When you change those values, be aware that there is a chance that you are introducing the different behavior/results to this command.