AutoLISP Function for Adding Interior Dimensions to Plan Drawings
Automatic interior dimensioning of plans, automatic dimension creation
admin - 22.05.2026 20:40
admin - 22.05.2026 20:40
AutoLISP Function for Adding Interior Dimensions to Plan Drawings
Automatic interior dimensioning of plans, automatic dimension creation

Automatic interior dimensioning of plans, automatic dimension creation

Hello friends,
I wanted to share again a function that I had previously posted in our forum area. Based on strong interest from our friends, I improved and updated it. This is a function used for adding interior dimensions in plan drawings (reinforced concrete formwork plans, architectural floor plans, etc.).
Although the code in this latest version has become much shorter, its capabilities have increased even further and it has become more practical. I wanted to present it as open source code (AutoLISP Source Code), thinking it could be a good example for fellow developers. I believe you will be surprised by what this function can do despite consisting of only around 40 lines of code and being so simple and compact.
When the function is executed, it asks you to select the **"Dimension Start Point."** After selecting the first point, you are asked to select the second point, the **"Dimension End Point."** The dimension line you select can be in any direction and at any angle. During this process, you can control where the dimension line will pass using the guide line displayed on the screen. In this way, you determine from where to where your drawing objects in the plan will be dimensioned. In other words, you are not required to dimension across the entire plan from one end to the other.
After that, you need to select the layers containing the objects to be included in dimensioning (walls, plaster, columns, beams, etc.). Only the objects on the selected layer(s) will be dimensioned. You can select a single layer or multiple layers. This selection is done by clicking on an object located in the desired layer. Selected objects are highlighted. If you click an object on an already selected layer, the objects in that layer are removed from the selection set. You can freely add and remove selections without limitation until you finish by pressing Enter (or right-clicking).
In summary, you can create dimensions from wall to wall, or include objects from other layers as well, such as axis layers. Objects on the selected layer(s), including **Line, LWPolyline, Polyline, Spline, Ellipse, Circle, and Arc**, will be dimensioned. Blocks, their sub-objects, and objects such as Text are not included in the dimensioning process.
Objects located between the start and end points but currently outside the visible screen area (for example, because you changed the zoom) will not be selected.
Once the selection process is completed, the dimension chain will appear on your screen. You can drag it with the mouse, place it in the desired location, and complete the process by left-clicking.
The function performs dimensioning using the current Layer and current Dimension Style. It does not interfere with the user’s Dimension Style or Layer configuration in any way and does not modify any AutoCAD settings.
After selecting the Start and End points, if you finish adding/removing objects (Layers) to the selection set and the selection set is empty, the function terminates with an error message.
Since at least one dimension is required to create a dimension chain, and one dimension requires at least two points, if the virtual line formed by the Start and End points has fewer than two intersection points with the selected objects, the function terminates with an error message.
**Command name:** `dimint`
Enjoy using it, and I wish everyone an easy workflow...
**DimInt.fas** file (**DimInt.rar**) has been reuploaded. **May 31, 2016**
This topic is discussed here: **Forum Topic – AutoLISP Function for Adding Interior Dimensions to Plan Drawings**
Author: cizimokulu.com
Description: AutoLISP application file in LSP format.
Tag:
Comments :
No comment yet





Category Index
