Outside Loop


AVC_OutsideLoop plugin for AutoCAD and BricsCAD

Join segments to closed polyline. Convert any curves to polylines.

Approximation of splines with a given tolerance. Contour optimization.

If CNC milling machines are used in your production, then you probably have to prepare the contours of the parts before exporting to the CAM program. It's not enough to take flat images with 3D solids. You need to remove the overlays and intersections of the lines, convert the splines to arcs, close the contours in the polyline, assign the correct layers according to the type of processing. All this work can be done with the regular means of AutoCAD. But it's long and you can not notice many mistakes.

Features of the program

    • Searches for the largest outside loop in a set of intersecting lines and curves.

    • Allows the lines to intersect. All the tails will be cut off.

    • Closes the contours inside the outer, nested into each other. And distributes them on layers - for external and internal milling.

    • It can create several contours at once by one command call.

    • It connects small breaks in the contour.

    • Correct slightly squinting horizontal and vertical.

    • Converts splines and ellipses in a line and an arc with a given tolerance (the maximum deviation from the original curve).

    • Projects 3d splines and 2d and 3d polylines onto the XY plane to convert to normal polylines.

    • Works with the object 2d-polylines, which occurs when the text is exploded using the TXTEXP command.

    • Restores the circles from ellipses and splines when the cylinder was projected crookedly (hole in the solid).

    • Cleans rubbish: small pieces, dots, layers of lines on each other or located too close (similar to the cleaning command Overkill).

    • Gluing tiny trimming lines into full lines and arcs.

    • Is able to replace the chain of small lines with arcs, and vice versa, too straight arcs - by straight lines.

    • Combines a line, broken into segments into one whole. This optimizes the number of segments.

    • Turns the arcs with NormalZ = -1. These are the same arcs that FlatShot leaves and because of which it is impossible to extrude solid, nor to process it on the CNC.

    • Spreads the resulting contours by layers. If inside contours are detected, the program can write the milling depth in the layer name.

    • Identifies the contours of pockets that can not be traversed by a given cutter at a time and placed in a separate layer.

    • Calls the Inside Corner command to form the milling cutter into the corner. This option can be enabled separately for external and for internal loops.

    • It filters the selected lines, ignoring the invisible and auxiliary layers and the type of lines.

    • Works in the UCS. All objects will be projected onto the XY plane of the current UCS.

    • Works within specified, configurable tolerance.

    • You can enable and disable layer management.

    • You can use layers from a template file.

This command is useful to optimize splines, convert them to polylines. Also very useful to call this program before extrude a contours into a solid. It combines commands _Join, _Boundary, _Overkill, _Splinedit and many additions.

This command is called inside the NC_Prepare (NCP) and Overall Dimensions (DimOverall) commands. The OSL command is a part of the A>V>C> Pro package.

Read about downloading and installing the program here.

To run the plugin, you will have to register account and top up your account balance by making a donation or receiving bonuses.

Then you can activate one of the licenses:

OSL command

Select all the curves and call the OSL command. If the objects are not selected in advance, the command will ask them to choose. In the query will be the option Settings - it opens the settings dialog.

The extended optimization process can be interrupted with the Esc key.

The OSL command is affected by the Common Options. When the "Manage layers" option is enabled, the command will assign the contours the layer NC_Outside or NC_Inside. However, if the NC_ layers have already been assigned to the source lines, the command will not touch them. And when the option is disabled, all inside circuits will be assigned a blue color (index 150).

The basic settings for this command are located in the section "Contours for the CNC router". Pay attention to the options from the sections Selecting objects, Contour optimization, Milling and Milling corners, as well as on the Default Depth input field.

Watch the command line - there are displayed all the messages of the program.


You can bring up the settings dialog by selecting the TUNE option in command line. Or use AvcOptions palette. All options have a tooltip. About substitutions allowed in the names of the layers, you can read here.

There are many settings and for your convenience, you can use ready-made sets of settings, which I call CNC-Style. You can create up to 9 styles. You can switch the current style in the header of the settings window. And during the work of the command, you can call the SwitchStyle option and select the style by its number.

Attention! The current CNC-style affects all contour commands. Switching the style in one command you will work with this style in all other command too.

The operation of the command is affected by all options from this window, except for the Detailing section. A layer management and a layer template can be set on the A>V>C> tab in the Common Options section.

Known Issues

    • The command places all inside contours in the NC_Inside layer. But this is not always true. There are protrusions on the parts inside the pocket. And they must be milled outside the contour. The program can not understand this from flat pictures. Be careful.

    • The program can leave small stubs of arcs, add unnecessary circles to the contours and make other errors if you incorrectly adjust the Tolerance and Permissible Variation. Be careful when changing the tolerance settings. Return the default settings if you notice strangeness.

    • It may seem that the program is frozen. In fact, too many curves are processed very long. Press Esc and process the contours in groups of 20-30 curves.