| Basic Library Version: 9 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
WallBlock Macro1. General DescriptionThe purpose of this macro is to facilitate the creation of intelligent 2D rectangles by means of displaying rectangular wall-blocks occuring in composite walls. This macro is used by the Cavity Closure macro to draw the skin-structure inside the wall, as well as turned plasters outside it. The intelligence is that the 2D "rectangle" can be altered to trapeze, paralellogram or ring-sector according to the wall shape. The following pictures show examples on these distortions in trapeze and curved walls, respectively.
Note, that these turned plasters can be drawn with only 2-2 WallBlock calls. The macro's output fulfills the following requirements in 2D:
2. ParametersThe macro has numerous parameters which are described in this table:
3. UsageThe macro assumes that the local coordinate system is set as shown below:
In these figures the black dots represent the center of the openings, that the given plasters are turned to. The ofsOrig parameter is the half of the width of the opening (in this case it is negative!). This signed value is used to calculate the wall thickness at the corner of the opening in case of trapeze walls, and to compute the angle of the radial wall-cut in case of curved walls (beta value in the right figure). Block corner coordinatesyStart must be less than yEnd, otherwise no shapes will be drawn at all. If xStart equals to xEnd, this macro can be used to draw only the vertical edges (the leftmost and rightmost ones) without any degenerated polygon (in this case the zero-length top and bottom edges will also be omitted). 4. RemarkYou should take care that the yEnd value is automatically altered in trapeze walls in case skinType is 1 or 3, in order to draw the skins correctly above the last core skin. For correct yStart value, you should first call the CompositeLogic macro, retrieve the values of compositeThickness and lastCoreSkinIndex, and use the thicki values instead of the thki ones to calculate this value before you call this macro (where the thki values are the skin thicknesses in the WALL_SKINS_PARAMS array, and thicki can be calculated as follows):
In case of trapeze walls, the meaning of the compositeThickness parameter can be seen on the figure above. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
Copyright © 2004 - Graphisoft R&D Software
Development Rt. All rights reserved worldwide. |