Plugin AVC_CrossPiece for AutoCAD and BricsCAD 
To make the notches in intersecting parts (3D-solids) to connect cross.

Using this plugin you can quickly make the notches in intersecting parts (3D-solids) to connect cross. If you are designing a plywood construction, furniture, puzzle-toys and other structures made of flat parts, you probably had to make grooves in detail, in order to connect them crosswise, one piece across the other. The program will make all the necessary modification of solids in one click.
In addition the plugin can:
  • Make a gap between the parts, so that they are easily inserted into the slots.
  • Make a single click immediately a lot of Cross-Pieces. Simply select all parts and the program will find all of their intersection.
  • To select the right direction. If the items can be pulled in both directions, then the program cannot choose the direction that you like. In this case, you can use option "Inverse"
Plugin can work with 3D-solids only. It not works with Meshes, Surfaces and Blocks. The form details can be arbitrarily complex, but it is to be part of the sheet material. Details may be crossed at any angle.
According to your request I can optimize the command for you. Offer your price.

Download the plugin in the AVC_CrossPiece_nnnn_nn.7z archive
You can download and use the program for free, but from time to time the activation window will appear. If you donate at least $10, you can disable this window.


Easy cross-piece 

Простая крестовина
Cross-piece with gap 0, 1, 2, 5

Крестовина с зазором 0, 1, 2, 5
The ends of the parts intersect. The program can not determine the direction of the cross-piece. You can tell it by moving one piece slightly to the side extension.

Торцы деталей пересекаются. Программа не может определить направление крестовины. Можно ей подсказать, сдвинув одну деталь чуть в сторону выдвижения.
Making sets crosses with a single click. Using the "Inverse" option

Изготовление множества крестовин одним кликом. Использование опции "Наоборот"
Making bar using cross-piece

Сборка барной стойки с помощью крестовин
Shelves and ribs made uniform. The program makes an arbitrary cross-piece direction. To help the program move the ribs to 0.001. This is enough to understand in which way program can do cross-piece.

Полки ребра сделаны одинаковыми. Программа делает крестовины в произвольную сторону. Чтоб помочь программе сдвигаем ребра на 0.001. Этого достаточно, чтоб программа поняла в какую сторону можно делать крестовину.

Recensione video in italiano registrata da Paolo Coter.

Сommand Cross-Piece (CRS)

You can choose the items before Cross-Piece command call. But if you want to call a program options, you must first deselect all objects and then call the CRS. You can select two or more solids simultaneously. The selection could accidentally get any foreign objects - it is not scary. The program will only work with Solid. In the process of selecting the items you see in the console 3 options:
  • Inverse - this option allows you to change the direction of pulling out of parts from the slot. To be specific, first recommended to select 1 solid, enter this option and press enter. You will be prompted to choose the second solid.
  • Gap - the program will ask the size of the gap, which should be left between the items for free movement. The gap is recommended in cases when you are not sure that your production will receive the exact material thickness as you drew. For example, suppliers of particle board can afford the sheet thickness from 15.8 to 16.5mm. In this case I recommend a 0.3mm gap. This gap will be placed on each side of parts. Thus the groove is 0.6 mm wider than the parts. Those you can say you have entered number doubles.
  • BAcklash - This option also creates a gap between the parts, but the gap will be made only at the ends of the cutouts. This will allow the details to be pushed into the cross deeper that they are located in the assembly. Usually, this gap is used to compensate the diameter of the milling cutter, which parts are made on the CNC milling machine.
The program is designed for only a limited number of components and connection methods. The main surface of the parts should be flat; the ends of the parts should not overlap with each other. 

In some cases, the geometry of solids is so complex that further processing becomes impossible and AutoCAD generates a GeneralModelinglFail error. This is not a mistake of my program. You can try to redraw such solids anew. In BricsCAD there is a convenient command _dmAudit, which can fix problems inside the solids. In AutoCAD theoretically there is a similar command _Solidedit _Body _cLean, but it works only with one solid and rarely can something be fixed.

When the dimensions of the intersecting parts coincide, the program does not understand direction to put the parts. It happens, if you bring the ends close, then you will see that one part surrounds the other from all sides. Parts with complex shapes (not flat, not exactly matching) very often fail. In such cases, before calling the command, simply slide one of the pair of parts in the direction of disassembly of the crosspiece, at least a fraction of a millimeter, so that their ends do not coincide and the program will working without failures.

Program always set History=Non for all solids.
Settings are stored in the Windows registry under current user.
Follow the messages on the console. There may be program messages.



    Updated dialog window localisation


  •     AutoCAD 2020 compatibility
  •     New Activation method


  • Compatible with BricsCAD
  • Improved handling of problematic solids.
  • Uniform cutting direction for symmetrical solid.


  • AutoCAD 2019 compatibility


  • New version numbering
  • New activation window
  • New Backlash option
  • Search for previously made crosspieces to automatically select the direction of pulling out
  • Clear the selection at the end of the command
  • AutoCAD 2018 compatibility


  • Update tolerance settings
  • Update command options for Italian AutoCAD localization compatibility


  • Set solid History=Non (Fix error eWasOpenForWrite)

1.0 First public