Short description
π§© DynamicDivide is an AutoCAD AutoLISP utility that dynamically divides a LINE ARC or LWPOLYLINE into equal segments using POINT entities.
ποΈ Moving the cursor over a supported object displays temporary division points before the user commits the operation.
β¨οΈ The number of divisions can be changed interactively with plus and minus keys or entered directly from the keyboard.
Command:
Main command: DynamicDivide
Description:
π The routine calculates the total curve length and divides it by the selected segment count.
ποΈ Mouse movement uses temporary grpoint graphics so the user can preview the division points before clicking.
π A mouse click on a supported curve creates permanent AutoCAD POINT entities at the calculated intermediate distances.
β The plus key increases the segment count while the minus key decreases it with a minimum practical value of two.
π’ A new segment count can also be typed and accepted with Enter or Space.
πΎ The last segment count is stored through setenv under dexus:DynamicDivide and reused on the next run.
π¨ Temporary point graphics follow the current PDMODE PDSIZE and current layer color behavior.
Helper function: (if any)β
vlax-curve-getDistAtParam calculates total curve length.
vlax-curve-getPointAtDist calculates every division location.
grpoint draws temporary markers using the current AutoCAD point display style.
setenv stores the last selected DynamicDivide segment count.
Functionalities:
β
Dynamic preview – shows temporary point markers while the cursor moves over supported geometry.
β
Equal segment division – calculates equally spaced locations from total curve length.
β
LINE support – divides straight line entities.
β
ARC support – divides arc entities by curve distance.
β
LWPOLYLINE support – divides lightweight polylines by accumulated curve length.
β
Keyboard count control – supports plus minus and direct numeric entry.
β
Persistent count – remembers the last segment count between command runs.
β
Point style integration – temporary markers respect AutoCAD point display settings.
β
Undo grouping – wraps generated point creation in an AutoCAD undo group.
Result:
π― The result is a set of AutoCAD POINT entities positioned at equal intervals along the selected curve.
π The source curve remains unchanged.
Images, animations etc.

XAML code:
ο»Ώ<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:src="clr-namespace:Autodesk.Windows;assembly=AdWindows">
<src:RibbonToolTip x:Key="DynamicDivide">
<src:RibbonToolTip.ExpandedContent>
<StackPanel>
<TextBlock Background="AntiqueWhite" TextAlignment="Left">
<Bold>Function Syntax: DynamicDivide</Bold>
<LineBreak/>
<Bold>Version: 1 Date: July 21, 2022, 11:26:39 AM</Bold>
<LineBreak/>
<Bold>Version: 1.0 Date: 20.06.2026 6:38:59PM</Bold>
<LineBreak/>
<Hyperlink>https://www.theswamp.org/index.php?topic=57716.0</Hyperlink>
<LineBreak/>
<Bold><Run Foreground="DodgerBlue">Description</Run></Bold><LineBreak/>
<Run Foreground="White">π§© DynamicDivide is an AutoCAD AutoLISP utility that dynamically divides a LINE ARC or LWPOLYLINE into equal segments using POINT entities.</Run><LineBreak/>
<Run Foreground="White">ποΈ Moving the cursor over a supported object displays temporary division points before the user commits the operation.</Run><LineBreak/>
<Run Foreground="White">β¨οΈ The number of divisions can be changed interactively with plus and minus keys or entered directly from the keyboard.</Run><LineBreak/>
<LineBreak/>
<Bold><Run Foreground="DodgerBlue">Function Syntax</Run></Bold><LineBreak/>
<Run Foreground="White">Main command: </Run><Bold><Run Foreground="Orange">DynamicDivide</Run></Bold><LineBreak/>
<LineBreak/>
<Bold><Run Foreground="DodgerBlue">SEO Optimized Overview</Run></Bold><LineBreak/>
<Run Foreground="White">π The routine calculates the total curve length and divides it by the selected segment count.</Run><LineBreak/>
<Run Foreground="White">ποΈ Mouse movement uses temporary grpoint graphics so the user can preview the division points before clicking.</Run><LineBreak/>
<Run Foreground="White">π A mouse click on a supported curve creates permanent AutoCAD POINT entities at the calculated intermediate distances.</Run><LineBreak/>
<Run Foreground="White">β The plus key increases the segment count while the minus key decreases it with a minimum practical value of two.</Run><LineBreak/>
<Run Foreground="White">π’ A new segment count can also be typed and accepted with Enter or Space.</Run><LineBreak/>
<Run Foreground="White">πΎ The last segment count is stored through setenv under dexus:DynamicDivide and reused on the next run.</Run><LineBreak/>
<Run Foreground="White">π¨ Temporary point graphics follow the current PDMODE PDSIZE and current layer color behavior.</Run><LineBreak/>
<LineBreak/>
<Bold><Run Foreground="LimeGreen">Primary Workflow</Run></Bold><LineBreak/>
<Run Foreground="White">β’ Run DynamicDivide.</Run><LineBreak/>
<Run Foreground="White">β’ Move the cursor over a LINE ARC or LWPOLYLINE to preview equal division points.</Run><LineBreak/>
<Run Foreground="White">β’ Use plus or minus to adjust the number of segments or type a new value.</Run><LineBreak/>
<Run Foreground="White">β’ Click the required curve to create permanent POINT entities at the division locations.</Run><LineBreak/>
<Run Foreground="White">β’ Continue previewing and dividing additional supported curves or exit the command.</Run><LineBreak/>
<LineBreak/>
<Bold><Run Foreground="LimeGreen">Functionalities</Run></Bold><LineBreak/>
<Run Foreground="White">β
</Run><Bold><Run Foreground="LimeGreen">Dynamic preview</Run></Bold><Run Foreground="White"> - shows temporary point markers while the cursor moves over supported geometry.</Run><LineBreak/>
<Run Foreground="White">β
</Run><Bold><Run Foreground="LimeGreen">Equal segment division</Run></Bold><Run Foreground="White"> - calculates equally spaced locations from total curve length.</Run><LineBreak/>
<Run Foreground="White">β
</Run><Bold><Run Foreground="LimeGreen">LINE support</Run></Bold><Run Foreground="White"> - divides straight line entities.</Run><LineBreak/>
<Run Foreground="White">β
</Run><Bold><Run Foreground="LimeGreen">ARC support</Run></Bold><Run Foreground="White"> - divides arc entities by curve distance.</Run><LineBreak/>
<Run Foreground="White">β
</Run><Bold><Run Foreground="LimeGreen">LWPOLYLINE support</Run></Bold><Run Foreground="White"> - divides lightweight polylines by accumulated curve length.</Run><LineBreak/>
<Run Foreground="White">β
</Run><Bold><Run Foreground="LimeGreen">Keyboard count control</Run></Bold><Run Foreground="White"> - supports plus minus and direct numeric entry.</Run><LineBreak/>
<Run Foreground="White">β
</Run><Bold><Run Foreground="LimeGreen">Persistent count</Run></Bold><Run Foreground="White"> - remembers the last segment count between command runs.</Run><LineBreak/>
<Run Foreground="White">β
</Run><Bold><Run Foreground="LimeGreen">Point style integration</Run></Bold><Run Foreground="White"> - temporary markers respect AutoCAD point display settings.</Run><LineBreak/>
<Run Foreground="White">β
</Run><Bold><Run Foreground="LimeGreen">Undo grouping</Run></Bold><Run Foreground="White"> - wraps generated point creation in an AutoCAD undo group.</Run><LineBreak/>
<LineBreak/>
<Bold><Run Foreground="DodgerBlue">Important Commands and Aspects</Run></Bold><LineBreak/>
<Run Foreground="White">π§© vlax-curve-getDistAtParam calculates total curve length.</Run><LineBreak/>
<Run Foreground="White">π§© vlax-curve-getPointAtDist calculates every division location.</Run><LineBreak/>
<Run Foreground="White">π§© grpoint draws temporary markers using the current AutoCAD point display style.</Run><LineBreak/>
<Run Foreground="White">π§© setenv stores the last selected DynamicDivide segment count.</Run><LineBreak/>
<LineBreak/>
<Bold><Run Foreground="DodgerBlue">Result</Run></Bold><LineBreak/>
<Run Foreground="White">π― The result is a set of AutoCAD POINT entities positioned at equal intervals along the selected curve.</Run><LineBreak/>
<Run Foreground="White">π The source curve remains unchanged.</Run><LineBreak/>
<LineBreak/>
<Bold><Run Foreground="DarkRed">Important Notes</Run></Bold><LineBreak/>
<Run Foreground="White">β οΈ </Run><Bold><Run Foreground="DarkRed">Only LINE ARC and LWPOLYLINE are accepted by the current object type check.</Run></Bold><LineBreak/>
<Run Foreground="White">β οΈ </Run><Bold><Run Foreground="DarkRed">The command creates intermediate division points and does not create a point at every curve endpoint.</Run></Bold><LineBreak/>
<Run Foreground="White">β οΈ </Run><Bold><Run Foreground="DarkRed">The last division count is stored in the AutoCAD environment.</Run></Bold><LineBreak/>
<LineBreak/>
<Bold><Run Foreground="Yellow">SEO Keywords</Run></Bold><LineBreak/>
<Run Foreground="Yellow">π·οΈ AutoCAD, π·οΈ Civil 3D, π·οΈ AutoLISP, π·οΈ DynamicDivide, π·οΈ DIVIDE, π·οΈ Equal segments, π·οΈ POINT entities, π·οΈ Dynamic preview, π·οΈ LWPOLYLINE, π·οΈ ARC, π·οΈ LINE, π·οΈ CAD automation</Run><LineBreak/>
</TextBlock>
<Grid>
<MediaElement
Source="Animation_000.gif"
Stretch="Uniform"
Visibility="Visible"/>
</Grid>
</StackPanel>
</src:RibbonToolTip.ExpandedContent>
</src:RibbonToolTip>
</ResourceDictionary>

Leave a Reply
You must be logged in to post a comment.