По-русски Italian

Plugin AVC_Lay for AutoCAD and BricsCAD.

Lay 3D-solids to XY plane. Group and sort list of details, make FlatShot for CNC.

Using this plugin you can quickly lay out the details of a complex assembly in the XY plane. This is useful when you are designing products made from sheet materials (furniture, woodworking), and when you need to do detailing, arranges every detail drawings. The plugin allows you to put selected solids in the XY plane of the world coordinate system, regardless of how they were arranged in space.

In a single click the plugin can do copy and a few turns of solids. Moreover, you can immediately select all solids components in an assembly, rather than to lay out solid by solid. As a result you get a neat column of details sorted from highest to lowest with text title.In addition the plugin can:

    • Find parts inside assembly blocks, arrays, xrefs.

    • Filter only the parts you need by layers and manufacturing technology.

    • Write the header of each part with its size and any description.

    • Find identical parts and group them by writing the quantity in the title.

  • Make you own title format rather default.

  • The program can automatically find parts that are mirrored to each other. It can also execute the Mirror command if the part is specially marked in the AVC Properties Palette or if it is found in mirrored assembly-blocks.

  • Choose which side to put the part up depending on the manufacturing technology.

  • Mark texture on detail.

  • Do FlatShot*. Use it to make curves for CNC.

  • Group parts and arrange them in several columns.

  • Sort parts by size or any properties.

  • Number the details, writing numbers into solid properties for further use in Smart Leaders.

  • The program can сount how many assembly-blocks are used in model space, no matter how many you have selected.

  • Multiply the number of parts by the size of the batch produced.

  • On/Off its settings without dialog window directly from command line. Thus you can make you own buttons and macros to use different variants of -Lay command.

  • Quickly switch between several sets of settings (styles).

  • Interact with plugin A>V>C> Properties Palette to get the names of solids, to measure the number of mirror parts and rotate solids market as Texture Across.

*BricsCAD version does not support now the creation of Flatshots with invisible lines and can not create Fields.

Original objects remain unchanged - laid out copies of it. Plugin can work with 3D-solids only. It not works with Meshes, Surfaces and Blocks.

Download the plugin in the AVC_Lay_nnnn_nn.7z archive

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:

Command Lay

Select all the details in the assembly and call the Lay command. If before call selected nothing the program query to select. Selection may be saved after working command (see Common Options).

Next step select insertion point. The point query contains a setting option:

  • SwitchStyle: Quickly switch between options-set by it number.

  • TUNE: This option open dialog window or next query to select setting.

In the settings dialog you will find all the same options as in the options of -Lay command. And besides, in the dialog are available the Common Options of all A>V>C> plug-ins.

After inputting insertion point the program will process all solids. The program looks for the front of the solid (see Metric of solid) and believes that it should be in the plane XY, front down. You can set the program to lay the front up or choose where the front will be laid out, depending on the manufacturing technology. See the settings in the "Lay the front" section. The front is considered the largest plane, ignoring curved surfaces. Please note that the dadoes can cut a large surface of the part into pieces and the program may make the wrong choice. In any case, you can force the program to consider any flat surface as a front - for this you need to mark this surface with a color (usually indexed color #30 is used).

In addition, the part is rotated around Z so that the longest edge of the solid is extended along the X axis. For most parts that are not too complex, this ensures that the length of the part is extended along the X axis. You can reconfigure the program to rotate all parts along the Y. You can adjust individual parts rotate along Y using the solid property Texture = Across. When searching for the longest edge, the priority of right angles is taken into account. That is, a right triangle will not be laid out along the hypotenuse.

In this laid out and expanded form, the part is measured and the Metric is written to XData.

All the A>V>C> programs that need the dimensions of the parts - SolSize, Sawing Table and so on, lay out the details in the same way. Only they do not save the laid out copy of the solid.

If the part is marked as "Mirror", then the program will mirror the part about the horizontal axis.

The program then groups the parts according to their properties specified in the Grouping setting. Parts are usually grouped by their assembly block name and by material. Groups of parts are laid out in separate columns to the right of the specified point.

The program then sorts the parts by size and arranges them down the Y-axis from largest to smallest (or vice versa - this is also configurable).

Each detail is signed with a name and (if necessary) a designation of the presence of a texture. There are many settings for exactly where to place the title and what it will be.

The plugin is designed for use in the design of sheet material details. In these details there is always the main plane on which determines how to put the item. This algorithm does not work for spheres, tors and shaped details. Curved skins will not flatten out, but will be laid out with a flat end. The program can measure the simplest sweep bent parts, if they are marked as "sweep" in Metric of solid, but this only affects the part size numbers, not the layout.

If a group heading is configured, then the details of each group are laid out in a separate column. You can, for example, arrange parts from different assemblies into different groups. For this use the %block% substitution in the grouping.

Plugin works only with objects such as 3D-solid. If you enable the "inside assemblies" option, the program will pull the parts out of the assembly-blocks.

If program cannot lay out the detail then the plugin will display a warning window and problem details will be painted red. For remove red illumination start any other command.

If enabled “Manage Layers” function, MD_Annotation layer will be assigned to the title.

Follow the messages on the console. There may be program messages.

Options dialog

The command customization dialog can be invoked when selecting objects or entering the insertion point using the TUNE option. You can find the settings for these commands in the A>V>C> Options Palette.

In the header of the options dialog box you see the drop-down list for selecting the style (set of settings). The style number will be used to quickly switch during the operation of the command. Next to the list there is a button for adding a new style. A new style is created by copying the current one. You can create up to 9 styles. Any style can be deleted exclude first. By default, two styles are created - for normal layout and for exporting parts to DXF.

Style name

Layout style name. Not used anywhere. For convenience only.


The group header is set here. It will be written in large print above the column of laid out details (unless the Title checkbox is selected in the Title Options section). If you want the layout to be done in several columns, then in this field you must enter the substitutions of the properties used for grouping. Usually here substitute the name of the assembly-block and / or the name of the material of the parts. Groups are always sorted alphabetically, in ascending order. If groups are not needed, leave the field blank, and then all the details will be laid out in one column. As soon as you place the cursor in this field, a substitution button will appear immediately. It brings up the substitution selection dialog. The result will be inserted at the current cursor position in the field and can replace the selected text fragment.

Title options

A part title is text (MText object) describing a part that the program can position above the part. The title is also very important for setting the order of the display, that is, for sorting the parts. Even if the title is turned off and not recorded, then its substitutions still set the sort order.

    • Title - You can check the title options and then the program will create MText for each detail and for group titles.

    • Next is an input field for your own title text mask. The text can contain any MText string formatting characters (for example, \P is a line break). In addition, the text must contain any of the parameters of the detail: %layer%,%length%,%count%,%name%, etc. See the Substitutions page for a complete list. As soon as you place the cursor in this field, a substitution button will appear immediately. It calls the substitution selection dialog. Enter an empty string to return the standard title.

    • Style - the style of the title text. Leave blank to use the current TextStyle

    • Height - is the size of the text. Assign 0 to use the TextSize system variable. The indentation of the title from the detail depends on the height of the text.

    • Center - align the center of the title to the center of the parts. If the heading is inside the part, then vertical alignment will be performed as well.

    • Inside - Place text inside the part drawing. The program does not pay attention to parts with complex contours and places the text inside a conditional rectangle that limits the dimensions of the part. If you turn on the render mode with solid faces filled, then you will not see the titles, because the texts will be under the details.

Selected objects filter

Filtering is needed to discard drawing objects that accidentally fall into the selection frame. It is easier to select all the objects of the model in a row, and let the program select only the necessary ones from them. Finding parts inside assembly blocks and counting the number of these blocks in the drawing is also in this section. You can read more about filtering on the Data Table page.

Lay options

    • Both sides - look for blind drilled parts at the bottom or with dadoes at the bottom and re-lay such parts on the other side. Only the first main view will have a title for the part, while the reverse view will only have the signature FRONT VIEW or REAR VIEW. The program does not take into account parts with inclined edges and three-dimensional processing, it only searches for flat surfaces facing straight down (in the main view). A separate %view% substitution has been created specifically to indicate the name of the view in the first (main) view. If you did not fill in the Title field, then the name of the view will be substituted automatically on a separate title line - just check the "Both sides" option. Make no mistake with the amount of detail - it's easy to confuse a reverse view with a single part. DXF Export comes with the second view of the part as a separate part - this view can be multiplied by the number of parts and saved in separate files.

    • Along Y - usually the details are laid out with the long side along the X axis. But you can flip the details and the direction of the material texture vertically, along the Y axis.

    • Texture mark - Write the word <<TEXTURE>> in the center of the part, if the solid is marked as Texture = along or across.

    • Numbering - calling the Numbering program before displaying. All parts will be named as sequential numbers. Names (Numbers) are saved in drawing objects (in xData) and can be used in other commands A>V>C>. Numbering has several settings of its own - see here.

    • Merge the same parts - Lay out identical parts once. All properties used in grouping and title are taken into account to distinguish different details. The number of solids corresponding to the combined part can be shown using the %count% substitution

    • Appearance similarity - When combining parts, the program must consider not only the grouping and title, but also the color, layer, linetype, material of solids and their coatings.

    • Geometric similarity - Consider the geometry of the solids when combining parts. Geometrically different solids should be laid out separately. Geometry check ignores the position and rotation of objects in space.

    • Descending Size - Sort parts in descending order of size, from large to small. If you turn off the option, then first there will be small details, and then large ones.

    • Separate Mirrored - Lay out mirrored solids separately. Use the A>V>C> Palette to keep the specular mark "mirror" on the solids. For marked solids, the program will apply the Mirror command relative to the YZ plane. At the laid out solid, the Mirror mark is reset. If this option is disabled, then straight and mirror solids will fall into one part, only one solid will be laid out. In this case, you can use the %countright% (the number of parts such as laid out) and %countmirror% substitutions.

    • Multiplication Request - Query the number by which the number of objects will be multiplied. Use to calculate the number of parts in a batch. The multiplier is stored in the drawing properties. Even if it was not requested, the amount will still be multiplied by it.


Step lets you adjust how far down the Y-axis the next parts will move. If no step is specified, the program will take three text heights (TextSize) as the spacing.

Lay the Front

    • Down - Lay out the parts with the main (best, front) side down Z. Optimal for machining parts on CNC milling machines.

    • Up - Lay the parts with the main (best, front) side up on the Z. Optimal for processing parts on panel saw machines.

    • by Technology - Lay front up simple parts that are suitable for sawing. And all other details - the front down. A part with six or less flat faces without holes is considered simple.

Convert number to string

When a program finds a substitution and replaces it with an object property, it needs to know how to format numbers, how many characters to write. It is possible to write the format into each substitution. But if you did not specify the format in the substitution, then these settings will be used.

Size format

This setting is used only for converting size numbers to a string. It does not apply to areas, volumes, prices and other figures. The format can always be overridden in the substitution itself. The format is ignored when substituting AutoCAD fields.

The format specifies how many decimal places to write and whether to write insignificant zeros. Use the characters 0 and # in the format. 0 is a digit or 0, # is a digit or nothing.

For example, the number 1.111111 formatted as 00.00 will be displayed as 01.11. And formatted 0.#### will be displayed as 1.1111. And the number 1.0034 formatted as 0.## will be displayed as 1.

There are special, AutoCAD-only, formats:

  • CU – how the units are configured in the current drawing (via the _units dialog)

  • AR – Architectural

  • EN – Engineering

  • FR – Fractional

After AR, EN, FR you can write precision (0-8)

  • Decimal separator - Replace the decimal point with this character in all numbers and in all substitutions.

  • Special Characters - Use special characters such as ¼ ¾ ½. And after the corners, prices, areas and volumes, units of measurement will be affixed. It is impossible to evaluate mathematical expressions with such symbols. And not all fonts contain these characters.

  • Use Fields - Use AutoCAD Fields instead of substituting property values. Fields only work in AutoCAD. The program is not yet able to create fields in BricsCAD tables due to errors in its API.


See the numbering settings here.

Command “–Lay”

This command has few console options inside “select point” query. I hope you know call options by first litter or by dropdown menu.

Options and settings

  • Step: allows you to adjust how far down the Y axis will shift the following details.

  • Technology filter: You can limit the list of laid out parts according to manufacturing technology. List the technology you need through a semicolon without spaces. Technology names can be corrected in Common Options. Leave the list empty to lay out all the solid.

  • Mirror: Lay mirrored solid separate. Use this option jointly with "Group similar". Mark solid like "mirrored" using A>V>C> Properties Palette plug-in.

  • FlatShot: Yes|No calling FlatShot command after LAY. Flat geometry will have same layer and same color like solid. Invisible geometry will layer "Hidden". And if haven't Hidden layer in drawing then program just set color green. Not work in BricsCAD.

  • Title: input string for you own title text mask. In mask you can use any MText format symbols (like \P for new line) and you can use solid parameter replacement (substitutions). Input space string (or * or ?) for returning to default text mask. Program selects a default mask according to the sorting setting. The format of the output of digits (accuracy and fractional formats) can be set in the settings of the drawing units or in the A>V>C> settings in the Common Options section.

  • TExture: Write <<TEXTURE>> in a middle of a detail if solid marked like Texture = along or across.

  • NUmbering: Give the names to solids as ordered numbers. And save Mirror mark in solid.

  • MUltiplier: Ask for a number to multiply the number of parts.

  • STYle: the style of the title text. Leave blank or * to use the current text style.

  • Height: the size of the text. Assign 0 to use the system variable TextSize. Text height depends on offset header from detail.

  • CEnter: align the Title center for the middle of detail. If the title is in the details, it will be made and a vertical align too.

  • Inside: to place the text inside detail drawing. The program does not pay attention to the details with complex contours and place the text inside the rectangle conditional restricted with dimensions of parts. If you turn on the rendering mode filled faces of solids, you will not see the headers, as texts will be below details.

After any options input program will query point again. And you can use other option. Thus you can tune program at any call. It makes possible creating macros and buttons for different way using command LAY.

Program settings are saved in the Windows registry, in the section of the current user. Therefore, they will work equally in all drawings and in all versions of AutoCAD and BricsCad. Settings can be transferred to another computer only by exporting a registry key. To do this there are buttons for exporting and importing settings.