The add-on LabPP_GoodwinGDL was created to enhance the capabilities of ARCHICAD when managing BIM objects.
For example, you create a GLD BIM object that has rules for pricing, cover options, and so on.
But this object must be laid on the floor in a certain form.
For example, laminate.
On one board this is inconvenient and how to cut the boards?
If you create a site, how to set its shape? How to make cutouts, where there is no laminate?
It seems reasonable such algorithm:
The user draws a 2d hatching element. It is possible with cut-outs.
Put your project in the project.
Selects both the hatch and the object.
Presses the LabPP_GoodwinGDL button and the hatch coordinates are translated directly into the parameters of your object.
Your object is to draw a shape using 3d and 2d scripts.

Here is an example of a BIM GDL object created on the basis of hatching technology.
This is a frame. First, a hatch of arbitrary shape is created on the cut.
Then the frame object is selected simultaneously with this hatching.
By clicking the LabPP_GoodwinGDL button, the coordinates of the hatch boundaries are written to the parameters of the object.
The object plays this form. You do not need to create a new object.
If desired, you can restore the hatching in the shape of the frame. Make the changes and re-record the frame.
So you can create a framework of completely arbitrary form. The length of the baguette is also considered.

Create section ARCHICAD      Hatching is drawn on the section BIM GDL object of arbitrary shape
For add-ons to work with your object, you need to create parameters with the appropriate names.
(you can take as a basis the object that is available in the distribution).

The GoodwinGDLAssignDataMethods parameter

This is a numeric array.
In fact, the table.
In the first column, the number of the LabPP_GoodwinGDL button.
In the second column - the number of the algorithm by which your object will be filled with data when this button is pressed.
In the third column is a mask to execute the algorithm. Specifies the type of masks in GDL as the sum of 1 * j1 + 2 * j2 + 4 * j3 + 8 * j4, etc., where j1, j2, ..., jn are options when the algorithm is executed.
You can specify more than one button.
The button numbers are shown in the figure below.

Button description of the LabPP_GoodwinGDL

The remaining parameters are used to record the results of operations.
For different algorithms and buttons, these parameters can be different.