DoubleOffset

Short description

🧩 Double Offset is a Lee Mac AutoLISP utility that offsets a selected curve to both sides using one offset distance or a through point.
πŸŽ›οΈ The command includes options for deleting the source object and placing the new offsets on the current layer or the source layer.
πŸ“ Supported objects include ARC CIRCLE ELLIPSE SPLINE LWPOLYLINE XLINE and LINE.

Command:

Main command: DoubleOffset
Alias: DOff

Description:

πŸ“ Standard distance mode creates one offset at the positive distance and one at the negative distance from the selected curve.
🎯 Through mode calculates the perpendicular distance between the selected through point and the closest point on the source curve and then offsets to both sides by that distance.
πŸ” Through mode also provides Multiple so several through points can generate repeated pairs of offsets from the same source object.
πŸ—‘οΈ Erase controls whether the original source entity is deleted after offsetting.
πŸ—‚οΈ Layer controls whether the created offsets retain the source layer or are moved to the current AutoCAD layer.
βš™οΈ The current OFFSETGAPTYPE value is displayed in the settings summary.
↩️ Each selected object operation is enclosed in an AutoCAD undo mark.

Helper function: (if any)​

DoubleOffset calls the VLA Offset method with positive and negative distances.
vlax-curve-getClosestPointTo is used to calculate Through mode distance.
_StartUndo and _EndUndo manage AutoCAD undo marks.

Functionalities:

βœ… Both side offset – creates positive and negative offsets from one selected curve.
βœ… Distance mode – uses the specified numeric offset distance.
βœ… Through mode – calculates the offset distance from a picked through point.
βœ… Multiple through points – supports repeated through point offsets for one source object.
βœ… Erase source option – optionally deletes the source object after successful processing.
βœ… Current layer option – can move generated offsets to the active layer.
βœ… Source layer option – can retain the original object layer on generated offsets.
βœ… Broad curve support – supports ARC CIRCLE ELLIPSE SPLINE LWPOLYLINE XLINE and LINE.
βœ… Persistent command settings – keeps Erase and Layer choices in global variables for later command runs.
βœ… Undo marks – provides grouped rollback for individual processed objects.

Result:

🎯 The result is a matched pair of offset curves located on opposite sides of the selected source entity.
🧰 The tool is useful for rapidly generating parallel boundaries center based corridor limits utility envelopes and similar two sided CAD geometry.

Images, animations etc.

Pixel

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="DoubleOffset">
<src:RibbonToolTip.ExpandedContent>
<StackPanel>
<TextBlock Background="AntiqueWhite" TextAlignment="Left">
<Bold>Function Syntax: DOff / DoubleOffset</Bold>
<LineBreak/>
<Bold>Version: 1.0 Date: 20.06.2026 6:38:59PM</Bold>
<LineBreak/>
<Hyperlink>N/A</Hyperlink>

<Bold><Run Foreground="DodgerBlue">Description</Run></Bold><LineBreak/>
<Run Foreground="White">🧩 Double Offset is a Lee Mac AutoLISP utility that offsets a selected curve to both sides using one offset distance or a through point.</Run><LineBreak/>
<Run Foreground="White">πŸŽ›οΈ The command includes options for deleting the source object and placing the new offsets on the current layer or the source layer.</Run><LineBreak/>
<Run Foreground="White">πŸ“ Supported objects include ARC CIRCLE ELLIPSE SPLINE LWPOLYLINE XLINE and LINE.</Run><LineBreak/>
<LineBreak/>
<Bold><Run Foreground="DodgerBlue">Function Syntax</Run></Bold><LineBreak/>
<Run Foreground="White">Main command: </Run><Bold><Run Foreground="Orange">DoubleOffset</Run></Bold><LineBreak/>
<Run Foreground="White">Alias: </Run><Bold><Run Foreground="Orange">DOff</Run></Bold><LineBreak/>
<LineBreak/>
<Bold><Run Foreground="DodgerBlue">SEO Optimized Overview</Run></Bold><LineBreak/>
<Run Foreground="White">πŸ“ Standard distance mode creates one offset at the positive distance and one at the negative distance from the selected curve.</Run><LineBreak/>
<Run Foreground="White">🎯 Through mode calculates the perpendicular distance between the selected through point and the closest point on the source curve and then offsets to both sides by that distance.</Run><LineBreak/>
<Run Foreground="White">πŸ” Through mode also provides Multiple so several through points can generate repeated pairs of offsets from the same source object.</Run><LineBreak/>
<Run Foreground="White">πŸ—‘οΈ Erase controls whether the original source entity is deleted after offsetting.</Run><LineBreak/>
<Run Foreground="White">πŸ—‚οΈ Layer controls whether the created offsets retain the source layer or are moved to the current AutoCAD layer.</Run><LineBreak/>
<Run Foreground="White">βš™οΈ The current OFFSETGAPTYPE value is displayed in the settings summary.</Run><LineBreak/>
<Run Foreground="White">↩️ Each selected object operation is enclosed in an AutoCAD undo mark.</Run><LineBreak/>
<LineBreak/>
<Bold><Run Foreground="LimeGreen">Primary Workflow</Run></Bold><LineBreak/>
<Run Foreground="White">β€’ Run DoubleOffset or DOff.</Run><LineBreak/>
<Run Foreground="White">β€’ Enter an offset distance or choose Through Erase or Layer.</Run><LineBreak/>
<Run Foreground="White">β€’ Select a supported curve object.</Run><LineBreak/>
<Run Foreground="White">β€’ In Through mode pick a through point or choose Multiple for repeated through points.</Run><LineBreak/>
<Run Foreground="White">β€’ The routine generates offsets on both sides of the source curve.</Run><LineBreak/>
<Run Foreground="White">β€’ The original object is erased when Erase source is set to Yes.</Run><LineBreak/>
<Run Foreground="White">β€’ Continue selecting objects or choose Exit.</Run><LineBreak/>
<LineBreak/>
<Bold><Run Foreground="LimeGreen">Functionalities</Run></Bold><LineBreak/>
<Run Foreground="White">βœ… </Run><Bold><Run Foreground="LimeGreen">Both side offset</Run></Bold><Run Foreground="White"> - creates positive and negative offsets from one selected curve.</Run><LineBreak/>
<Run Foreground="White">βœ… </Run><Bold><Run Foreground="LimeGreen">Distance mode</Run></Bold><Run Foreground="White"> - uses the specified numeric offset distance.</Run><LineBreak/>
<Run Foreground="White">βœ… </Run><Bold><Run Foreground="LimeGreen">Through mode</Run></Bold><Run Foreground="White"> - calculates the offset distance from a picked through point.</Run><LineBreak/>
<Run Foreground="White">βœ… </Run><Bold><Run Foreground="LimeGreen">Multiple through points</Run></Bold><Run Foreground="White"> - supports repeated through point offsets for one source object.</Run><LineBreak/>
<Run Foreground="White">βœ… </Run><Bold><Run Foreground="LimeGreen">Erase source option</Run></Bold><Run Foreground="White"> - optionally deletes the source object after successful processing.</Run><LineBreak/>
<Run Foreground="White">βœ… </Run><Bold><Run Foreground="LimeGreen">Current layer option</Run></Bold><Run Foreground="White"> - can move generated offsets to the active layer.</Run><LineBreak/>
<Run Foreground="White">βœ… </Run><Bold><Run Foreground="LimeGreen">Source layer option</Run></Bold><Run Foreground="White"> - can retain the original object layer on generated offsets.</Run><LineBreak/>
<Run Foreground="White">βœ… </Run><Bold><Run Foreground="LimeGreen">Broad curve support</Run></Bold><Run Foreground="White"> - supports ARC CIRCLE ELLIPSE SPLINE LWPOLYLINE XLINE and LINE.</Run><LineBreak/>
<Run Foreground="White">βœ… </Run><Bold><Run Foreground="LimeGreen">Persistent command settings</Run></Bold><Run Foreground="White"> - keeps Erase and Layer choices in global variables for later command runs.</Run><LineBreak/>
<Run Foreground="White">βœ… </Run><Bold><Run Foreground="LimeGreen">Undo marks</Run></Bold><Run Foreground="White"> - provides grouped rollback for individual processed objects.</Run><LineBreak/>
<LineBreak/>
<Bold><Run Foreground="DodgerBlue">Important Commands and Aspects</Run></Bold><LineBreak/>
<Run Foreground="White">🧩 DoubleOffset calls the VLA Offset method with positive and negative distances.</Run><LineBreak/>
<Run Foreground="White">🧩 vlax-curve-getClosestPointTo is used to calculate Through mode distance.</Run><LineBreak/>
<Run Foreground="White">🧩 _StartUndo and _EndUndo manage AutoCAD undo marks.</Run><LineBreak/>
<LineBreak/>
<Bold><Run Foreground="DodgerBlue">Result</Run></Bold><LineBreak/>
<Run Foreground="White">🎯 The result is a matched pair of offset curves located on opposite sides of the selected source entity.</Run><LineBreak/>
<Run Foreground="White">🧰 The tool is useful for rapidly generating parallel boundaries center based corridor limits utility envelopes and similar two sided CAD geometry.</Run><LineBreak/>
<LineBreak/>
<Bold><Run Foreground="DarkRed">Important Notes</Run></Bold><LineBreak/>
<Run Foreground="White">⚠️ </Run><Bold><Run Foreground="DarkRed">The source identifies Lee Mac as the author and lists version 1-1 dated 12 September 2010.</Run></Bold><LineBreak/>
<Run Foreground="White">⚠️ </Run><Bold><Run Foreground="DarkRed">The VLA Offset method can return an error for geometry that cannot produce a valid offset and the source protects those calls with vl-catch-all-apply.</Run></Bold><LineBreak/>
<Run Foreground="White">⚠️ </Run><Bold><Run Foreground="DarkRed">The Erase and Layer settings persist during the AutoCAD session.</Run></Bold><LineBreak/>
<Run Foreground="White">⚠️ </Run><Bold><Run Foreground="DarkRed">Through mode can set OFFSETDIST to a negative value to represent the AutoCAD Through state.</Run></Bold><LineBreak/>
<LineBreak/>
<Bold><Run Foreground="Yellow">SEO Keywords</Run></Bold><LineBreak/>
<Run Foreground="Yellow">🏷️ AutoCAD, 🏷️ Civil 3D, 🏷️ AutoLISP, 🏷️ DoubleOffset, 🏷️ DOff, 🏷️ Lee Mac, 🏷️ Offset both sides, 🏷️ Through offset, 🏷️ Parallel curves, 🏷️ LWPOLYLINE, 🏷️ Spline offset, 🏷️ CAD automation</Run><LineBreak/>




<LineBreak/>
</TextBlock>
</StackPanel>
</src:RibbonToolTip.ExpandedContent>
</src:RibbonToolTip>
</ResourceDictionary>

Additional info:

Share this page:

Leave a Reply

Page Tag: 🏷️ Spline offset

  • DoubleOffset

    β€”

    by

    Short description🧩 Double Offset is a Lee Mac AutoLISP utility that offsets a selected curve to both sides using one offset distance or a through point. πŸŽ›οΈ The command includes options for deleting the source object and placing the new offsets on the current layer or the source layer. πŸ“ Supported objects include ARC CIRCLE…