I have just written a Tech Note, which is not on the web yet, but pertinent to this discussion. Please read it below.
By the way, the Mask value problem has already been entered into our bug database for fixing some time ago.
Laszlo
........................................................
CUTPOLYA command not affected by MUL command in GDL
Let us consider the following general case of cutting a hole into a body with the CUTPOLYA command in GDL.
<see picture attached to post>
The cutting body defined by CUTPOLYA can be a half-infinite or infinite tube. In the above example, the bottom of the cutting body is a bit above the XY plane and is a half-infinite tube.
In this case, the hole is cut into the body.
In we use the MUL command to change the scale of bodies along the Z-axis; there could be cases where it seems the CUTPOLYA command does not work anymore. This is so because the MUL command does not affect the parameters of the CUTPOLYA command. For example, if the bottom of the half-infinite tube of CUTPOLYA starts 2 meters above the XY plane, and the body it is cutting start 3 meters above the XY plane and is 1 meters thick. If we place the “MULZ 0.2” command before these commands, the bodies bottom will now be 0.6 meters above the XY plane, will be 0.2 meters thick, meaning its top surface will be at the level of 0.8 meters above the XY plane. But since the CUTPOLYA command is not affected, its cutting body will still start from 2 meters upward, which mean it will not intersect the body and will not cut it.
The reason this works so is because after this was programmed in ArchiCAD 6.0, many GDL Objects were created that took advantage of this way of operation of the CUTPOLYA command. Fixing this command would have caused an unknown number of GDL Objects not to work. So, the CUTPOLYA command was left alone.
However, new cutting commands were introduced in later versions. One such command is CUTFORM. With this command, you can do as much and more than with the CUTPOLYA command, and its parameters ARE affected by the MUL commands. So in case you need something like the above, please use the CUTFORM command in your GDL Objects.
Loving Archicad since 1995 - Find Archicad Tips at x.com/laszlonagy
AMD Ryzen9 5900X CPU, 64 GB RAM 3600 MHz, Nvidia GTX 1060 6GB, 500 GB NVMe SSD
2x28" (2560x1440), Windows 10 PRO ENG, Ac20-Ac27