30Parallel

Short description

πŸ“ AutoCAD AutoLISP tool for drawing parallel utility profile geometry with centerline offsets, 30 degree branch continuation, layer automation, and dynamic preview.

Image 000 84

Command:

PARA30 / 30PARA

Description:

πŸ“˜ 30Parallel creates profile-based parallel polylines for AutoCAD and Civil 3D utility drafting. It supports PARA30 and 30PARA commands, centerline or offset start modes, profile offset presets, automatic or selected layer logic, dynamic preview, chamfer joining, and Apply-based continuation with 30 degree branch options.

Helper function: (if any)​

Comming soon …

Functionalities:

β€’ πŸš€ Runs with the PARA30 and 30PARA command aliases.
β€’ πŸ“ Creates parallel centerline and profile offset geometry for utility layouts.
β€’ 🧱 Supports Profile_002 Gr. I, Profile_002 Gr. II, Profile_002 Gr. IIIa, and Profile_002 Gr. IV profile presets.
β€’ πŸ”€ Starts from centerline, offset up, or offset down reference modes.
β€’ πŸ“ Supports fixed parallel length and main offset inputs.
β€’ 🧭 Continues from the last endpoint using Apply and chain continuation logic.
β€’ 🎯 Offers dynamic preview for segment and 30 degree branch placement.
β€’ 🟑 Uses design, reconstruction, selected-layer, and automatic profile-layer workflows.
β€’ 🧹 Includes layer-name repair logic for reconstruction layer naming issues.
β€’ βš™οΈ Computes branch and offset vectors in WCS for stable drafting behavior.

Result:

βœ… Produces clean parallel utility profile geometry with centerline, left and right offsets, controlled layer naming, and optional 30 degree branch continuation.

Images, animations etc.

Image 000 84
Image 001 44
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="30Parallel">
<src:RibbonToolTip.ExpandedContent>
<StackPanel>
<TextBlock Background="AntiqueWhite" TextAlignment="Left">
<Bold>Function Syntax: para30 / 30para</Bold>
<LineBreak/>
<Bold>Version: 1.0 Date: 27.06.2026 08:25:12</Bold>
<LineBreak/>
<Bold>Version: 1.1 Date: 27.06.2026 11:29:48</Bold>
<LineBreak/>
<Hyperlink>Ai+https://www.lee-mac.com/dynamicoffset.html</Hyperlink>
<Bold>Description</Bold> 


<Bold>Description</Bold> <LineBreak/> <Run>This AutoLISP command creates an interactive AutoCAD tool named </Run><Run Foreground="DarkRed" FontWeight="Bold">30para</Run><Run>, with </Run><Run Foreground="DarkRed" FontWeight="Bold">PARA30</Run><Run> also available as an alias command. The program opens a DCL dialog where the user defines a parallel/profile run, optional 30 degree ending branch, chained continuation behavior, offset profile size, start-point behavior, reference angle behavior, Ortho mode behavior, centerline layer settings, and target offset layer settings.</Run> <LineBreak/> <Run>The tool allows the user to create parallel cable-channel/profile geometry either from a selected reference entity or from a picked reference angle. The first part of the command creates a straight parallel run with profile offsets. The command can then continue from the end of that run and add a 30 degree angled ending branch without a straight tail segment.</Run> <LineBreak/> <Run>After a first route is created, the </Run><Run Foreground="DarkBlue" FontWeight="Bold">Apply</Run><Run> button can continue the route from the last endpoint with another 30 degree branch. This allows the user to build a chained angled route segment by segment. The command finishes when the user presses </Run><Run Foreground="DarkBlue" FontWeight="Bold">OK</Run><Run> in the dialog or presses </Run><Run Foreground="Red" FontWeight="Bold">ESC</Run><Run> during placement.</Run> <LineBreak/> <Run>The constructed centerline is automatically placed on the layer </Run><Run Foreground="Magenta" FontWeight="Bold">_Hilflinie</Run><Run>, while the offset/profile edge lines can be placed on a selected target layer from the dialog.</Run> <LineBreak/>
<Bold>Functionalities</Bold> <LineBreak/> <Run> Opens a custom </Run><Run Foreground="DarkBlue" FontWeight="Bold">DCL dialog</Run><Run> for configuring the parallel/profile generation before placement.</Run> <LineBreak/> <Run> Allows the user to create the first run from either a </Run><Run Foreground="DarkRed" FontWeight="Bold">selected reference entity</Run><Run> or a </Run><Run Foreground="DarkRed" FontWeight="Bold">picked reference angle</Run><Run>.</Run> <LineBreak/> <Run> Supports curve-like reference objects such as lines, polylines, arcs, circles, ellipses, and splines when entity mode is used.</Run> <LineBreak/> <Run> Includes a </Run><Run Foreground="DarkBlue" FontWeight="Bold">Reference angle</Run><Run> section where the user can optionally calculate the active reference angle by picking two points in the drawing.</Run> <LineBreak/> <Run> Includes a </Run><Run Foreground="DarkBlue" FontWeight="Bold">Pick angle <</Run><Run> button that temporarily returns to the drawing and asks the user to select two points used for angle calculation.</Run> <LineBreak/> <Run> Displays the calculated reference angle in a dedicated </Run><Run Foreground="DarkGreen" FontWeight="Bold">Calculated angle</Run><Run> field in degrees.</Run> <LineBreak/> <Run> Includes a </Run><Run Foreground="DarkRed" FontWeight="Bold">Use picked reference angle</Run><Run> checkbox. When enabled, the calculated angle becomes the active reference direction for the parallel run.</Run> <LineBreak/> <Run> If no reference angle is picked, or if </Run><Run Foreground="DarkRed" FontWeight="Bold">Use picked reference angle</Run><Run> is not enabled, the command uses the selected reference entity direction for the parallel run.</Run> <LineBreak/> <Run> Allows the user to select a start point and dynamically define the end point of the parallel run with the mouse.</Run> <LineBreak/> <Run> Dynamically previews the centerline and offset/profile edge lines while the mouse moves.</Run> <LineBreak/> <Run> Includes an </Run><Run Foreground="DarkGreen" FontWeight="Bold">M offset</Run><Run> value that controls the distance between the selected reference entity or reference axis and the generated centerline run.</Run> <LineBreak/> <Run> Mouse position controls the M offset side, allowing the generated run to be placed to either side of the reference entity or reference angle.</Run> <LineBreak/> <Run> Provides three start-point interpretation options: </Run><Run Foreground="DarkRed" FontWeight="Bold">Centerline</Run><Run>, </Run><Run Foreground="DarkRed" FontWeight="Bold">Offset Up</Run><Run>, and </Run><Run Foreground="DarkRed" FontWeight="Bold">Offset Down</Run><Run>.</Run> <LineBreak/> <Run> </Run><Run Foreground="DarkRed" FontWeight="Bold">Centerline</Run><Run> is checked by default and treats the picked start point as the centerline start point.</Run> <LineBreak/> <Run> </Run><Run Foreground="DarkRed" FontWeight="Bold">Offset Up</Run><Run> treats the picked start point as the upper/profile offset edge start point and shifts the centerline automatically according to the selected KK profile.</Run> <LineBreak/> <Run> </Run><Run Foreground="DarkRed" FontWeight="Bold">Offset Down</Run><Run> treats the picked start point as the lower/profile offset edge start point and shifts the centerline automatically according to the selected KK profile.</Run> <LineBreak/> <Run> Provides an </Run><Run Foreground="DarkBlue" FontWeight="Bold">After parallel run click</Run><Run> section controlling what happens after the first parallel run is clicked.</Run> <LineBreak/> <Run> The option </Run><Run Foreground="DarkRed" FontWeight="Bold">End command after parallel run</Run><Run> creates only the straight parallel/profile geometry.</Run> <LineBreak/> <Run> The option </Run><Run Foreground="DarkRed" FontWeight="Bold">Continue with 30 degree ending branch</Run><Run> keeps the first run visible and starts a second dynamic step from the centerline endpoint.</Run> <LineBreak/> <Run> During the second dynamic step, the command previews and creates a 30 degree angled ending branch from the endpoint of the parallel run.</Run> <LineBreak/> <Run> The 30 degree ending branch uses the selected profile offsets and does not draw a straight tail segment.</Run> <LineBreak/> <Run> Provides fields for </Run><Run Foreground="DarkGreen" FontWeight="Bold">End angle</Run><Run> and </Run><Run Foreground="DarkGreen" FontWeight="Bold">End branch length</Run><Run>, with typical defaults of 30 degrees and 2.00 m.</Run> <LineBreak/> <Run> After a route has been created, pressing </Run><Run Foreground="DarkBlue" FontWeight="Bold">Apply</Run><Run> continues from the last endpoint and starts another dynamic 30 degree branch placement.</Run> <LineBreak/> <Run> Repeated use of </Run><Run Foreground="DarkBlue" FontWeight="Bold">Apply</Run><Run> allows the user to chain additional 30 degree angled segments from the latest endpoint.</Run> <LineBreak/> <Run> Pressing </Run><Run Foreground="DarkBlue" FontWeight="Bold">OK</Run><Run> finishes the command without starting another placement.</Run> <LineBreak/> <Run> Pressing </Run><Run Foreground="Red" FontWeight="Bold">ESC</Run><Run> during dynamic placement finishes the current placement workflow and returns control to AutoCAD.</Run> <LineBreak/> <Run> The offset/profile edge lines are mitered through the corners when angled continuation branches are used, producing clean chamfered transitions at the connections.</Run> <LineBreak/> <Run> Provides an </Run><Run Foreground="DarkGreen" FontWeight="Bold">Ortho ON</Run><Run> checkbox in the dialog, checked by default, so the command can keep AutoCAD </Run><Run Foreground="DarkGreen" FontWeight="Bold">ORTHOMODE / F8</Run><Run> active during placement.</Run> <LineBreak/> <Run> The command does not force Ortho mode off after placement.</Run> <LineBreak/> <Run> Provides a profile selection list containing predefined </Run><Run Foreground="DarkBlue" FontWeight="Bold">KK cable channel profiles</Run><Run>.</Run> <LineBreak/> <Run> Each profile stores left and right offset distances used to generate the visible offset/profile edge lines.</Run> <LineBreak/> <Run> Uses AutoCAD undo marks so each committed geometry action can be undone cleanly.</Run> <LineBreak/> <Run> Provides an </Run><Run Foreground="DarkBlue" FontWeight="Bold">Undo</Run><Run> button in the dialog to undo the last generated geometry.</Run> <LineBreak/>
<Bold>After Parallel Run Area</Bold> <LineBreak/> <Run> Includes a dedicated </Run><Run Foreground="DarkBlue" FontWeight="Bold">After parallel run click</Run><Run> section in the DCL dialog.</Run> <LineBreak/> <Run> </Run><Run Foreground="DarkRed" FontWeight="Bold">End command after parallel run</Run><Run> creates only the straight parallel/profile run.</Run> <LineBreak/> <Run> </Run><Run Foreground="DarkRed" FontWeight="Bold">Continue with 30 degree ending branch</Run><Run> creates the parallel/profile run and then starts a second dynamic branch step from the endpoint.</Run> <LineBreak/> <Run> The first parallel run remains visible while the user moves the mouse to define the 30 degree ending branch.</Run> <LineBreak/> <Run> The end branch has its own configurable angle and length fields.</Run> <LineBreak/> <Run> After the first complete route is placed, </Run><Run Foreground="DarkBlue" FontWeight="Bold">Apply</Run><Run> starts another 30 degree continuation branch from the latest endpoint.</Run> <LineBreak/>
<Bold>Reference Angle Area</Bold> <LineBreak/> <Run> Includes a dedicated </Run><Run Foreground="DarkBlue" FontWeight="Bold">Reference angle</Run><Run> section in the DCL dialog.</Run> <LineBreak/> <Run> The </Run><Run Foreground="DarkRed" FontWeight="Bold">Use picked reference angle</Run><Run> checkbox controls whether the picked and calculated angle is used instead of selecting a reference entity.</Run> <LineBreak/> <Run> The </Run><Run Foreground="DarkBlue" FontWeight="Bold">Pick angle <</Run><Run> button asks the user to pick two points in the drawing.</Run> <LineBreak/> <Run> The command calculates the angle from the first picked point to the second picked point.</Run> <LineBreak/> <Run> The calculated value is shown in the </Run><Run Foreground="DarkGreen" FontWeight="Bold">Calculated angle</Run><Run> field.</Run> <LineBreak/> <Run> When the picked reference angle is active, the parallel run and side logic are evaluated relative to that calculated angle.</Run> <LineBreak/> <Run> When the picked reference angle is not active, the command uses the selected reference entity direction.</Run> <LineBreak/>
<Bold>Select Entity / Pick Point Area</Bold> <LineBreak/> <Run> Includes a dedicated </Run><Run Foreground="DarkBlue" FontWeight="Bold">Select Entity / Pick Point</Run><Run> area in the DCL dialog, positioned between the Reference angle area and the Centerline layer area.</Run> <LineBreak/> <Run> In entity mode, the user selects a reference entity for the parallel run direction.</Run> <LineBreak/> <Run> In picked-angle mode, the user does not need to select a reference entity because the calculated angle defines the reference direction.</Run> <LineBreak/> <Run> The user then picks the first point of the generated run.</Run> <LineBreak/> <Run> The second point is dynamic and follows the mouse until the user clicks to commit the run.</Run> <LineBreak/>
<Bold>Start Point Mode Area</Bold> <LineBreak/> <Run> Includes a dedicated start-point mode section with three mutually exclusive options.</Run> <LineBreak/> <Run> </Run><Run Foreground="DarkRed" FontWeight="Bold">Centerline</Run><Run> treats the picked start point as the centerline start point.</Run> <LineBreak/> <Run> </Run><Run Foreground="DarkRed" FontWeight="Bold">Offset Up</Run><Run> treats the picked start point as the upper/profile edge start point.</Run> <LineBreak/> <Run> </Run><Run Foreground="DarkRed" FontWeight="Bold">Offset Down</Run><Run> treats the picked start point as the lower/profile edge start point.</Run> <LineBreak/> <Run> The selected KK profile determines how far the centerline is shifted when an offset start mode is used.</Run> <LineBreak/>
<Bold>Offset Layer Area</Bold> <LineBreak/> <Run> Includes a dedicated </Run><Run Foreground="DarkBlue" FontWeight="Bold">Offset layer</Run><Run> section in the DCL dialog.</Run> <LineBreak/> <Run> The checkbox </Run><Run Foreground="DarkRed" FontWeight="Bold">Place offsets on layer</Run><Run> controls whether the offset/profile edge lines are moved to a selected layer.</Run> <LineBreak/> <Run> Includes a </Run><Run Foreground="DarkGreen" FontWeight="Bold">Filter</Run><Run> field for filtering the available drawing layers.</Run> <LineBreak/> <Run> Includes a </Run><Run Foreground="DarkGreen" FontWeight="Bold">Layer</Run><Run> dropdown showing the filtered layer results.</Run> <LineBreak/> <Run> Includes a </Run><Run Foreground="DarkBlue" FontWeight="Bold">Pick from drawing</Run><Run> button that allows the user to select an existing object and read its layer.</Run> <LineBreak/> <Run> Displays the currently selected offset layer name below the layer controls.</Run> <LineBreak/> <Run> If the selected offset layer does not exist, the program creates it automatically before placing the offset lines.</Run> <LineBreak/>
<Bold>Layer Logic</Bold> <LineBreak/> <Run> The </Run><Run Foreground="Magenta" FontWeight="Bold">centerline</Run><Run> created by the command is always placed on </Run><Run Foreground="Magenta" FontWeight="Bold">_Hilflinie</Run><Run>.</Run> <LineBreak/> <Run> If </Run><Run Foreground="Magenta" FontWeight="Bold">_Hilflinie</Run><Run> does not exist, the program creates it automatically.</Run> <LineBreak/> <Run> The centerline layer is set to </Run><Run Foreground="Magenta" FontWeight="Bold">magenta</Run><Run> and uses the </Run><Run Foreground="DarkGreen" FontWeight="Bold">Continuous</Run><Run> linetype.</Run> <LineBreak/> <Run> The offset/profile edge lines are placed on the selected offset layer when the offset layer option is active.</Run> <LineBreak/> <Run> If the offset layer option is disabled, the offset/profile edge lines remain on the current active drawing layer.</Run> <LineBreak/> <Run> Any offset layer matching </Run><Run Foreground="DarkBlue" FontWeight="Bold">VA_KTB_KK*</Run><Run> is set to AutoCAD color </Run><Run Foreground="DarkBlue" FontWeight="Bold">11</Run><Run>, not white.</Run> <LineBreak/>
<Bold>Profiles Used</Bold> <LineBreak/> <Run> </Run><Run Foreground="DarkBlue" FontWeight="Bold">KK Gr. I i.F_220X275</Run><Run> with 0.1100 m left offset and 0.1100 m right offset.</Run> <LineBreak/> <Run> </Run><Run Foreground="DarkBlue" FontWeight="Bold">KK Gr. II i.F_400X275</Run><Run> with 0.2000 m left offset and 0.2000 m right offset.</Run> <LineBreak/> <Run> </Run><Run Foreground="DarkBlue" FontWeight="Bold">KK Gr. IIIa i.F_515X275</Run><Run> with 0.2575 m left offset and 0.2575 m right offset.</Run> <LineBreak/> <Run> </Run><Run Foreground="DarkBlue" FontWeight="Bold">KK Gr. IV i.F_700X285</Run><Run> with 0.3500 m left offset and 0.3500 m right offset.</Run> <LineBreak/>
<Bold>Typical Workflow</Bold> <LineBreak/> <Run> The user runs the command </Run><Run Foreground="DarkRed" FontWeight="Bold">30para</Run><Run> or </Run><Run Foreground="DarkRed" FontWeight="Bold">PARA30</Run><Run>.</Run> <LineBreak/> <Run> The user chooses whether to create only the parallel run or continue with a 30 degree ending branch.</Run> <LineBreak/> <Run> Optional: the user clicks </Run><Run Foreground="DarkBlue" FontWeight="Bold">Pick angle <</Run><Run> and selects two points in the drawing to calculate a reference angle.</Run> <LineBreak/> <Run> Optional: the user enables </Run><Run Foreground="DarkRed" FontWeight="Bold">Use picked reference angle</Run><Run> so the calculated angle controls the parallel run direction.</Run> <LineBreak/> <Run> If no picked reference angle is used, the user selects a reference entity for the parallel direction.</Run> <LineBreak/> <Run> The user selects the M offset, start-point mode, Ortho option, KK profile, and offset layer settings in the dialog.</Run> <LineBreak/> <Run> The user clicks </Run><Run Foreground="DarkBlue" FontWeight="Bold">Select Entity / Pick Point</Run><Run>.</Run> <LineBreak/> <Run> The user selects a reference entity when required, then picks the first point of the run.</Run> <LineBreak/> <Run> The tool dynamically previews the first parallel/profile run while the mouse moves.</Run> <LineBreak/> <Run> The user clicks to create the first run.</Run> <LineBreak/> <Run> If </Run><Run Foreground="DarkRed" FontWeight="Bold">End command after parallel run</Run><Run> is selected, the command creates only the first run.</Run> <LineBreak/> <Run> If </Run><Run Foreground="DarkRed" FontWeight="Bold">Continue with 30 degree ending branch</Run><Run> is selected, the first run remains visible and the user moves the mouse to preview the angled ending branch.</Run> <LineBreak/> <Run> The user clicks again to create the 30 degree ending branch with mitered/chamfered offset edges.</Run> <LineBreak/> <Run> To continue from the latest endpoint, the user presses </Run><Run Foreground="DarkBlue" FontWeight="Bold">Apply</Run><Run>, then places the next 30 degree branch.</Run> <LineBreak/> <Run> The user can repeat </Run><Run Foreground="DarkBlue" FontWeight="Bold">Apply</Run><Run> to keep adding 30 degree continuation branches.</Run> <LineBreak/> <Run> The user presses </Run><Run Foreground="DarkBlue" FontWeight="Bold">OK</Run><Run> to finish the command, or presses </Run><Run Foreground="Red" FontWeight="Bold">ESC</Run><Run> during placement to end the workflow.</Run> <LineBreak/>

</TextBlock>
            
<Grid>
<Image Source="Image_000.png" Stretch="Uniform"/>
</Grid>

<Grid>
<Image Source="Image_001.png" Stretch="Uniform"/>
</Grid>

</StackPanel>
</src:RibbonToolTip.ExpandedContent>
</src:RibbonToolTip>



<src:RibbonToolTip x:Key="30Parallel_1.1">
<src:RibbonToolTip.ExpandedContent>
<StackPanel>
<TextBlock Background="AntiqueWhite" TextAlignment="Left">
<Bold>Function Syntax: para30 / 30para</Bold>
<LineBreak/>
<Bold>Version: 1.0 Date: 27.06.2026 08:25:12</Bold>
<LineBreak/>
<Bold>Version: 1.1 Date: 27.06.2026 11:29:48</Bold>
<LineBreak/>
<Bold>Version: 1.2 Date: 02.07.2026 10:31:07AM</Bold>
<LineBreak/>
<Hyperlink>Ai+https://www.lee-mac.com/dynamicoffset.html</Hyperlink>
<Bold>Description</Bold> 


<Bold>Description</Bold> <LineBreak/> <Run>This AutoLISP command creates an interactive AutoCAD tool named </Run><Run Foreground="DarkRed" FontWeight="Bold">30para</Run><Run>, with </Run><Run Foreground="DarkRed" FontWeight="Bold">PARA30</Run><Run> also available as an alias command. The program opens a DCL dialog where the user defines a parallel/profile run, optional 30 degree ending branch, chained continuation behavior, offset profile size, start-point behavior, reference angle behavior, Ortho mode behavior, centerline layer settings, and target offset layer settings.</Run> <LineBreak/> <Run>The tool allows the user to create parallel cable-channel/profile geometry either from a selected reference entity or from a picked reference angle. The first part of the command creates a straight parallel run with profile offsets. The command can then continue from the end of that run and add a 30 degree angled ending branch without a straight tail segment.</Run> <LineBreak/> <Run>After a first route is created, the </Run><Run Foreground="DarkBlue" FontWeight="Bold">Apply</Run><Run> button can continue the route from the last endpoint with another 30 degree branch. This allows the user to build a chained angled route segment by segment. The command finishes when the user presses </Run><Run Foreground="DarkBlue" FontWeight="Bold">OK</Run><Run> in the dialog or presses </Run><Run Foreground="Red" FontWeight="Bold">ESC</Run><Run> during placement.</Run> <LineBreak/> <Run>The constructed centerline is automatically placed on the layer </Run><Run Foreground="Magenta" FontWeight="Bold">_Hilflinie</Run><Run>, while the offset/profile edge lines can be placed on a selected target layer from the dialog.</Run> <LineBreak/>
<Bold>Functionalities</Bold> <LineBreak/> <Run> Opens a custom </Run><Run Foreground="DarkBlue" FontWeight="Bold">DCL dialog</Run><Run> for configuring the parallel/profile generation before placement.</Run> <LineBreak/> <Run> Allows the user to create the first run from either a </Run><Run Foreground="DarkRed" FontWeight="Bold">selected reference entity</Run><Run> or a </Run><Run Foreground="DarkRed" FontWeight="Bold">picked reference angle</Run><Run>.</Run> <LineBreak/> <Run> Supports curve-like reference objects such as lines, polylines, arcs, circles, ellipses, and splines when entity mode is used.</Run> <LineBreak/> <Run> Includes a </Run><Run Foreground="DarkBlue" FontWeight="Bold">Reference angle</Run><Run> section where the user can optionally calculate the active reference angle by picking two points in the drawing.</Run> <LineBreak/> <Run> Includes a </Run><Run Foreground="DarkBlue" FontWeight="Bold">Pick angle <</Run><Run> button that temporarily returns to the drawing and asks the user to select two points used for angle calculation.</Run> <LineBreak/> <Run> Displays the calculated reference angle in a dedicated </Run><Run Foreground="DarkGreen" FontWeight="Bold">Calculated angle</Run><Run> field in degrees.</Run> <LineBreak/> <Run> Includes a </Run><Run Foreground="DarkRed" FontWeight="Bold">Use picked reference angle</Run><Run> checkbox. When enabled, the calculated angle becomes the active reference direction for the parallel run.</Run> <LineBreak/> <Run> If no reference angle is picked, or if </Run><Run Foreground="DarkRed" FontWeight="Bold">Use picked reference angle</Run><Run> is not enabled, the command uses the selected reference entity direction for the parallel run.</Run> <LineBreak/> <Run> Allows the user to select a start point and dynamically define the end point of the parallel run with the mouse.</Run> <LineBreak/> <Run> Dynamically previews the centerline and offset/profile edge lines while the mouse moves.</Run> <LineBreak/> <Run> Includes an </Run><Run Foreground="DarkGreen" FontWeight="Bold">M offset</Run><Run> value that controls the distance between the selected reference entity or reference axis and the generated centerline run.</Run> <LineBreak/> <Run> Mouse position controls the M offset side, allowing the generated run to be placed to either side of the reference entity or reference angle.</Run> <LineBreak/> <Run> Provides three start-point interpretation options: </Run><Run Foreground="DarkRed" FontWeight="Bold">Centerline</Run><Run>, </Run><Run Foreground="DarkRed" FontWeight="Bold">Offset Up</Run><Run>, and </Run><Run Foreground="DarkRed" FontWeight="Bold">Offset Down</Run><Run>.</Run> <LineBreak/> <Run> </Run><Run Foreground="DarkRed" FontWeight="Bold">Centerline</Run><Run> is checked by default and treats the picked start point as the centerline start point.</Run> <LineBreak/> <Run> </Run><Run Foreground="DarkRed" FontWeight="Bold">Offset Up</Run><Run> treats the picked start point as the upper/profile offset edge start point and shifts the centerline automatically according to the selected KK profile.</Run> <LineBreak/> <Run> </Run><Run Foreground="DarkRed" FontWeight="Bold">Offset Down</Run><Run> treats the picked start point as the lower/profile offset edge start point and shifts the centerline automatically according to the selected KK profile.</Run> <LineBreak/> <Run> Provides an </Run><Run Foreground="DarkBlue" FontWeight="Bold">After parallel run click</Run><Run> section controlling what happens after the first parallel run is clicked.</Run> <LineBreak/> <Run> The option </Run><Run Foreground="DarkRed" FontWeight="Bold">End command after parallel run</Run><Run> creates only the straight parallel/profile geometry.</Run> <LineBreak/> <Run> The option </Run><Run Foreground="DarkRed" FontWeight="Bold">Continue with 30 degree ending branch</Run><Run> keeps the first run visible and starts a second dynamic step from the centerline endpoint.</Run> <LineBreak/> <Run> During the second dynamic step, the command previews and creates a 30 degree angled ending branch from the endpoint of the parallel run.</Run> <LineBreak/> <Run> The 30 degree ending branch uses the selected profile offsets and does not draw a straight tail segment.</Run> <LineBreak/> <Run> Provides fields for </Run><Run Foreground="DarkGreen" FontWeight="Bold">End angle</Run><Run> and </Run><Run Foreground="DarkGreen" FontWeight="Bold">End branch length</Run><Run>, with typical defaults of 30 degrees and 2.00 m.</Run> <LineBreak/> <Run> After a route has been created, pressing </Run><Run Foreground="DarkBlue" FontWeight="Bold">Apply</Run><Run> continues from the last endpoint and starts another dynamic 30 degree branch placement.</Run> <LineBreak/> <Run> Repeated use of </Run><Run Foreground="DarkBlue" FontWeight="Bold">Apply</Run><Run> allows the user to chain additional 30 degree angled segments from the latest endpoint.</Run> <LineBreak/> <Run> Pressing </Run><Run Foreground="DarkBlue" FontWeight="Bold">OK</Run><Run> finishes the command without starting another placement.</Run> <LineBreak/> <Run> Pressing </Run><Run Foreground="Red" FontWeight="Bold">ESC</Run><Run> during dynamic placement finishes the current placement workflow and returns control to AutoCAD.</Run> <LineBreak/> <Run> The offset/profile edge lines are mitered through the corners when angled continuation branches are used, producing clean chamfered transitions at the connections.</Run> <LineBreak/> <Run> Provides an </Run><Run Foreground="DarkGreen" FontWeight="Bold">Ortho ON</Run><Run> checkbox in the dialog, checked by default, so the command can keep AutoCAD </Run><Run Foreground="DarkGreen" FontWeight="Bold">ORTHOMODE / F8</Run><Run> active during placement.</Run> <LineBreak/> <Run> The command does not force Ortho mode off after placement.</Run> <LineBreak/> <Run> Provides a profile selection list containing predefined </Run><Run Foreground="DarkBlue" FontWeight="Bold">KK cable channel profiles</Run><Run>.</Run> <LineBreak/> <Run> Each profile stores left and right offset distances used to generate the visible offset/profile edge lines.</Run> <LineBreak/> <Run> Uses AutoCAD undo marks so each committed geometry action can be undone cleanly.</Run> <LineBreak/> <Run> Provides an </Run><Run Foreground="DarkBlue" FontWeight="Bold">Undo</Run><Run> button in the dialog to undo the last generated geometry.</Run> <LineBreak/>
<Bold>After Parallel Run Area</Bold> <LineBreak/> <Run> Includes a dedicated </Run><Run Foreground="DarkBlue" FontWeight="Bold">After parallel run click</Run><Run> section in the DCL dialog.</Run> <LineBreak/> <Run> </Run><Run Foreground="DarkRed" FontWeight="Bold">End command after parallel run</Run><Run> creates only the straight parallel/profile run.</Run> <LineBreak/> <Run> </Run><Run Foreground="DarkRed" FontWeight="Bold">Continue with 30 degree ending branch</Run><Run> creates the parallel/profile run and then starts a second dynamic branch step from the endpoint.</Run> <LineBreak/> <Run> The first parallel run remains visible while the user moves the mouse to define the 30 degree ending branch.</Run> <LineBreak/> <Run> The end branch has its own configurable angle and length fields.</Run> <LineBreak/> <Run> After the first complete route is placed, </Run><Run Foreground="DarkBlue" FontWeight="Bold">Apply</Run><Run> starts another 30 degree continuation branch from the latest endpoint.</Run> <LineBreak/>
<Bold>Reference Angle Area</Bold> <LineBreak/> <Run> Includes a dedicated </Run><Run Foreground="DarkBlue" FontWeight="Bold">Reference angle</Run><Run> section in the DCL dialog.</Run> <LineBreak/> <Run> The </Run><Run Foreground="DarkRed" FontWeight="Bold">Use picked reference angle</Run><Run> checkbox controls whether the picked and calculated angle is used instead of selecting a reference entity.</Run> <LineBreak/> <Run> The </Run><Run Foreground="DarkBlue" FontWeight="Bold">Pick angle <</Run><Run> button asks the user to pick two points in the drawing.</Run> <LineBreak/> <Run> The command calculates the angle from the first picked point to the second picked point.</Run> <LineBreak/> <Run> The calculated value is shown in the </Run><Run Foreground="DarkGreen" FontWeight="Bold">Calculated angle</Run><Run> field.</Run> <LineBreak/> <Run> When the picked reference angle is active, the parallel run and side logic are evaluated relative to that calculated angle.</Run> <LineBreak/> <Run> When the picked reference angle is not active, the command uses the selected reference entity direction.</Run> <LineBreak/>
<Bold>Select Entity / Pick Point Area</Bold> <LineBreak/> <Run> Includes a dedicated </Run><Run Foreground="DarkBlue" FontWeight="Bold">Select Entity / Pick Point</Run><Run> area in the DCL dialog, positioned between the Reference angle area and the Centerline layer area.</Run> <LineBreak/> <Run> In entity mode, the user selects a reference entity for the parallel run direction.</Run> <LineBreak/> <Run> In picked-angle mode, the user does not need to select a reference entity because the calculated angle defines the reference direction.</Run> <LineBreak/> <Run> The user then picks the first point of the generated run.</Run> <LineBreak/> <Run> The second point is dynamic and follows the mouse until the user clicks to commit the run.</Run> <LineBreak/>
<Bold>Start Point Mode Area</Bold> <LineBreak/> <Run> Includes a dedicated start-point mode section with three mutually exclusive options.</Run> <LineBreak/> <Run> </Run><Run Foreground="DarkRed" FontWeight="Bold">Centerline</Run><Run> treats the picked start point as the centerline start point.</Run> <LineBreak/> <Run> </Run><Run Foreground="DarkRed" FontWeight="Bold">Offset Up</Run><Run> treats the picked start point as the upper/profile edge start point.</Run> <LineBreak/> <Run> </Run><Run Foreground="DarkRed" FontWeight="Bold">Offset Down</Run><Run> treats the picked start point as the lower/profile edge start point.</Run> <LineBreak/> <Run> The selected KK profile determines how far the centerline is shifted when an offset start mode is used.</Run> <LineBreak/>
<Bold>Offset Layer Area</Bold> <LineBreak/> <Run> Includes a dedicated </Run><Run Foreground="DarkBlue" FontWeight="Bold">Offset layer</Run><Run> section in the DCL dialog.</Run> <LineBreak/> <Run> The checkbox </Run><Run Foreground="DarkRed" FontWeight="Bold">Place offsets on layer</Run><Run> controls whether the offset/profile edge lines are moved to a selected layer.</Run> <LineBreak/> <Run> Includes a </Run><Run Foreground="DarkGreen" FontWeight="Bold">Filter</Run><Run> field for filtering the available drawing layers.</Run> <LineBreak/> <Run> Includes a </Run><Run Foreground="DarkGreen" FontWeight="Bold">Layer</Run><Run> dropdown showing the filtered layer results.</Run> <LineBreak/> <Run> Includes a </Run><Run Foreground="DarkBlue" FontWeight="Bold">Pick from drawing</Run><Run> button that allows the user to select an existing object and read its layer.</Run> <LineBreak/> <Run> Displays the currently selected offset layer name below the layer controls.</Run> <LineBreak/> <Run> If the selected offset layer does not exist, the program creates it automatically before placing the offset lines.</Run> <LineBreak/>
<Bold>Layer Logic</Bold> <LineBreak/> <Run> The </Run><Run Foreground="Magenta" FontWeight="Bold">centerline</Run><Run> created by the command is always placed on </Run><Run Foreground="Magenta" FontWeight="Bold">_Hilflinie</Run><Run>.</Run> <LineBreak/> <Run> If </Run><Run Foreground="Magenta" FontWeight="Bold">_Hilflinie</Run><Run> does not exist, the program creates it automatically.</Run> <LineBreak/> <Run> The centerline layer is set to </Run><Run Foreground="Magenta" FontWeight="Bold">magenta</Run><Run> and uses the </Run><Run Foreground="DarkGreen" FontWeight="Bold">Continuous</Run><Run> linetype.</Run> <LineBreak/> <Run> The offset/profile edge lines are placed on the selected offset layer when the offset layer option is active.</Run> <LineBreak/> <Run> If the offset layer option is disabled, the offset/profile edge lines remain on the current active drawing layer.</Run> <LineBreak/> <Run> Any offset layer matching </Run><Run Foreground="DarkBlue" FontWeight="Bold">VA_KTB_KK*</Run><Run> is set to AutoCAD color </Run><Run Foreground="DarkBlue" FontWeight="Bold">11</Run><Run>, not white.</Run> <LineBreak/>
<Bold>Profiles Used</Bold> <LineBreak/> <Run> </Run><Run Foreground="DarkBlue" FontWeight="Bold">KK Gr. I i.F_220X275</Run><Run> with 0.1100 m left offset and 0.1100 m right offset.</Run> <LineBreak/> <Run> </Run><Run Foreground="DarkBlue" FontWeight="Bold">KK Gr. II i.F_400X275</Run><Run> with 0.2000 m left offset and 0.2000 m right offset.</Run> <LineBreak/> <Run> </Run><Run Foreground="DarkBlue" FontWeight="Bold">KK Gr. IIIa i.F_515X275</Run><Run> with 0.2575 m left offset and 0.2575 m right offset.</Run> <LineBreak/> <Run> </Run><Run Foreground="DarkBlue" FontWeight="Bold">KK Gr. IV i.F_700X285</Run><Run> with 0.3500 m left offset and 0.3500 m right offset.</Run> <LineBreak/>
<Bold>Typical Workflow</Bold> <LineBreak/> <Run> The user runs the command </Run><Run Foreground="DarkRed" FontWeight="Bold">30para</Run><Run> or </Run><Run Foreground="DarkRed" FontWeight="Bold">PARA30</Run><Run>.</Run> <LineBreak/> <Run> The user chooses whether to create only the parallel run or continue with a 30 degree ending branch.</Run> <LineBreak/> <Run> Optional: the user clicks </Run><Run Foreground="DarkBlue" FontWeight="Bold">Pick angle <</Run><Run> and selects two points in the drawing to calculate a reference angle.</Run> <LineBreak/> <Run> Optional: the user enables </Run><Run Foreground="DarkRed" FontWeight="Bold">Use picked reference angle</Run><Run> so the calculated angle controls the parallel run direction.</Run> <LineBreak/> <Run> If no picked reference angle is used, the user selects a reference entity for the parallel direction.</Run> <LineBreak/> <Run> The user selects the M offset, start-point mode, Ortho option, KK profile, and offset layer settings in the dialog.</Run> <LineBreak/> <Run> The user clicks </Run><Run Foreground="DarkBlue" FontWeight="Bold">Select Entity / Pick Point</Run><Run>.</Run> <LineBreak/> <Run> The user selects a reference entity when required, then picks the first point of the run.</Run> <LineBreak/> <Run> The tool dynamically previews the first parallel/profile run while the mouse moves.</Run> <LineBreak/> <Run> The user clicks to create the first run.</Run> <LineBreak/> <Run> If </Run><Run Foreground="DarkRed" FontWeight="Bold">End command after parallel run</Run><Run> is selected, the command creates only the first run.</Run> <LineBreak/> <Run> If </Run><Run Foreground="DarkRed" FontWeight="Bold">Continue with 30 degree ending branch</Run><Run> is selected, the first run remains visible and the user moves the mouse to preview the angled ending branch.</Run> <LineBreak/> <Run> The user clicks again to create the 30 degree ending branch with mitered/chamfered offset edges.</Run> <LineBreak/> <Run> To continue from the latest endpoint, the user presses </Run><Run Foreground="DarkBlue" FontWeight="Bold">Apply</Run><Run>, then places the next 30 degree branch.</Run> <LineBreak/> <Run> The user can repeat </Run><Run Foreground="DarkBlue" FontWeight="Bold">Apply</Run><Run> to keep adding 30 degree continuation branches.</Run> <LineBreak/> <Run> The user presses </Run><Run Foreground="DarkBlue" FontWeight="Bold">OK</Run><Run> to finish the command, or presses </Run><Run Foreground="Red" FontWeight="Bold">ESC</Run><Run> during placement to end the workflow.</Run> <LineBreak/>

</TextBlock>
            
<Grid>
<Image Source="Image_000.png" Stretch="Uniform"/>
</Grid>

<Grid>
<Image Source="Image_001.png" Stretch="Uniform"/>
</Grid>

</StackPanel>
</src:RibbonToolTip.ExpandedContent>
</src:RibbonToolTip>


</ResourceDictionary>

Additional info:

Share this page:

Page Tag: 🏷️ 30 Parallel

  • 30Parallel

    β€”

    by

    Short descriptionπŸ“ AutoCAD AutoLISP tool for drawing parallel utility profile geometry with centerline offsets, 30 degree branch continuation, layer automation, and dynamic preview. Command:PARA30 / 30PARA Description:πŸ“˜ 30Parallel creates profile-based parallel polylines for AutoCAD and Civil 3D utility drafting. It supports PARA30 and 30PARA commands, centerline or offset start modes, profile offset presets, automatic or…