Macro object for calculating the position of any node in 3D after any transformation of the coordinate system.
This object can not be placed in a project file. It is for programmers usage only!
The problem is known to all ambitioned programmers: Rotation, offset and scaling in 3D is done very easily by the transformation commands like ROTx, ADD or MULx. If you script the 2D appearance with small effort by a PROJECT2 command you are not able to position the exact hotspots at the corners of the 2D boundary of the projected model.
This macro can this calculate for you. The principle is easy. You list all done transformations into one multidimensional array and into a second one all the edges, generated after all these transformations and you want to calculate now. Call the macro in the following and it returns the coordinates of all assigned edges related to the objects origin without any transformations needed. You get their real positions in space. This information can not only be used by positioning of hotspots, but also e.g. for calculating the distance of any corner of the model to story elevation or any other basis.
The macro can be called out of any script context. 2D-, 3D, parameter script: any is possible.
Dieses Makroobjekt berechnet die exakte Position von Punkten im 3D, die nach beliebigen Transformationen des Koordinatensystems (z.B. nach beliebigen Abfolgen von ADD, ROTX, MULZ-Befehlen) Positioniert wurden. Als Ergebnis werden die X-/Y- und Z-Koordinaten der Punkte bezogen auf den 0-Punkt des Objektes (im unveränderten Koordinatensystem des Objektes) zurückggeben.
Dies ist z.B. sehr hilfreich um ein frei in 3D bewegliches Objekt bei einer vereinfachten Darstellung durch einen PROJECT2-Befehl mit exakt an den Ecken des Modells sitzenden Fangpunkten zu versehen oder die Koordinaten für eine Hintergrundpolygonfläche zu ermitteln.
Dieses Objekt kann nicht in einem Projekt eingesetzt werden. Es ist nur für die GDL Programmierung verwendbar.