Resize Wall End Macro
General Description
The purpose of this macro is to faclitate the generation of correct bounding hotspots in 2D and in 3D. Two fix hotspots are put on the end of the wall and two editable hotspots on the other end of the wall end, which edit the length of the object.
Parameters
| Name | Type | Description |
|---|---|---|
| GS_HotspotUnIDBegin | Integer | Starting unique ID for the hotspots. |
| AC_CutWidth | Length | The cut width to modify. |
| cutWidthAngle | Angle | The angle version of the cut width to modify. |
| r0 | Length | Inner radius of the curved wall or 0 for non-curved walls. |
| wallIncl | Angle | Side inclination of the trapeze wall or 0 for non-trapeze walls. |
| onWallBeg | Boolean | True if the wall end is on the begin of the wall, false otherwise. |
| ZZYZX | Length | Height of the wall end. |
Usage
Coordinate System
The macro assumes that the local coordinate system is set as shown below:

This is the natural assumption that the body is generated in the positive plane-quarter and the origin is in the local origin of the wall-end object.
Parameters in the original object
The original wall end object must contain two parameters for proper work:
AC_CutWidth and cutWidthAngle.
And these parameters must be connected in the parameter script, for example see the following code:
if GLOB_MODPAR_NAME = "cutWidthAngle" then
PARAMETERS AC_CutWidth = \
cutWidthAngle * (innerRadius + WALL_THICKNESS/2) * PI/180
else
if GLOB_MODPAR_NAME <> "" then
PARAMETERS cutWidthAngle = \
(AC_CutWidth / (innerRadius + WALL_THICKNESS/2)) * 180/PI
endif
endif
Naturally the AC_Hole_Hotspot_Control parameter should be set to 0,
otherwise ArchiCAD will place its own hotspots on the ones of the object.
If you want to use this macro for the 2D (or 3D) hotspots only,
set the AC_Hole_Hotspot_Control parameter to 2 (1) and call the macro
in the script of the desired view.