-
  • EUKLID-Design
  • EUKLID-Design Classic
  • Dokumentation
  • Download
  • +49-991-2806945-0
  • info@eucad-software.de
AQL Einführung Programmiersprache Kommandosprache
Kompatibilität Datenstruktur Syntax Modellfunktionen Erzeugungsfunktionen Dialogverzweigung Änderungsfunktionen
Vordefinierte
Funktionen
Datenstruktur Beispielprogramme Syntaxdiagramme

Erzeugungsfunktionen – create

Beispiel

Ein Beispielprogramm erzeugt einen Block, der aus 4 Punkten und den zugehörigen Verbindungslinien besteht. Der Punkt p1 erhält den Namen reference_point (Referenzpunkt), die Breite den Namen width.

-
width = length_absolute(100) p1 = point_relative(origin, 100.0, 100.0) p2 = point_samey(p1,length_qotient(width,2.0)) p3 = point_mirrorpoint(p2,p1) p4 = point_samex(p3, 20.0) p5 = point_relativex1y2(p2,p4) line_pointpoint(,,,p3,p2) line_pointpoint(,,,p4,p5) line_pointpoint(,,,p2,p5) line_pointpoint(,,,p3,p4) name(p1, "reference_point") name(width, "width")

length_absolute benötigt einen Realwert als Argument. In diesem Beispiel wird ein Integer-Wert übergeben. Integerwert-Argumente werden automatisch in Realwert- Argumente umgewandelt, wenn es erforderlich ist.

Die Aktionen point_samey, point_samex und point_relative werden im Normalfall mit einer Länge als zweitem Argument verwendet:

p4 = point_samey (p3,length_absolute(20.0))

Implizite Schreibweise für absolute Objekte

Das System erzeugt automatisch das Absolut-Objekt length_absolute (20) als Parameter für p4.

Beispiel 1:

Im Beispiel werden die AQL-Variablen p1, p2, p3, p4, p5 und width verwendet. Dies bedeutet nicht, daß die erzeugten Objekte diese Namen erhalten. Um einem Objekt einen Namen zu geben, sollte die AQL-Funktion name benutzt werden. Die Variablen p1, p2, p3, p4, p5 und width existieren nur zur Laufzeit des AQL-Programms. Sie werden nicht im CAD-Modell gespeichert. Die erzeugten Objekte bleiben jedoch permanent in der Datenstruktur.

Das gleiche Programm kann auch als AQL-Funktion geschrieben werden. Die Funktion hat dann zwei Argumente: den Referenzpunkt und die Breite des Blocks. In dieser Version werden dem Referenzpunkt und der Breite keine Namen gegeben. p2 und p3 werden auf anderem Wege konstruiert.

function block ( pref, width )   p2 = point_samey(pref, width / 2)   p3 = point_samey(p2, -width)   p4 = point_samex(p3, 20.0)   p5 = point_relativex1y2(p2,p4)   line_pointpoint(,,,p3,p2)   line_pointpoint(,,,p4,p5)   line_pointpoint(,,,p2,p5)   line_pointpoint(,,,p3,p4) end
/* Hauptprogramm */ block ( point_relative (origin,100.0,100.0) , 100.0)

In dieser Version werden drei Objekte vom Typ Länge implizit konstruiert. Die ersten beiden haben die Werte width/2 und -width, es besteht jedoch keine Relation zwischen ihnen.

Optionale Argumente können weggelassen werden. Das trennende Komma ist jedoch Pflicht.

Beispiel 2

Die folgende Funktion erzeugt einen Turm von Blöcken mit nach oben hin abnehmender Breite. DIe Argumente sind der Referenzpunkt des untersten Blocks und die Anzahl der Blöcke.

function tower ( pref, count )   i = 1   p = pref   group = {}   while (i⇐ count) do     block( p , (count + 1 -i) * 10.0)     group = group + { p }     p = point_samex(pref, i * 22.0)     i = i + 1;   end   return(group) end
/* Hauptprogramm */ tower ( point_relative (origin,100.0,100.0) , 10 )

Die Funktion liefert eine Gruppe der Referenzpunkte aller Blöcke zurück, die jedoch in diesem Beispiel nicht verwendet wird.



◀ Modellfunktionen Dialogverzweigung ▶


Kontakt Impressum Datenschutz