EN LostInSpace.GSM

Informations / Informationen

Status of developing / Entwicklungsstatus:
final beta


Actual version / Aktuelle Version:
22.10.2007

Language / Sprache:
(English)

Licensing / Lizenzierung:
commercial, inhouse and runtime licences

Environment / Umgebung:
ArchiCAD 8.1+ (standard)
ArchiCAD 10.0+ (two versions to return values)

Target group / Zielgruppe:
GDL developers

Author / Autor:
Frank Beister

Documents / Dokumente

 Bezeichnunggeändert amGröße BeschreibungKlicks
LostInSpace Manual.PDF07.02.2008120,39 KBDownloadOfficial shipped manual.3437

Description / Beschreibung

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.

News + History

 
Release candidate built - Freitag, 9. November 2007

Last corrections in macro and examples. Manual extended.


Finetuning - Mittwoch, 24. Oktober 2007

Created some more examples. Manual completed. Inserted switch to return 2D (X/Y) coordinates only.


The final idea - Montag, 22. Oktober 2007

Found the mathematical solution by writing for www.selfgdl.com. First objects including this "technology". Starting to continue TheProfile.GSM.


First try to calculate by trigonometry. - Montag, 22. Oktober 2007

Dead end after lots of GDL code development.


Starting beta testing - Montag, 22. Oktober 2007

Finished macro version. Sent to my preferred beta tester.


 

To do + wishlist

Bugs:
none known.
Some minor bugs in manual chapter 6ff.

To do:
no more ideas in the moment.