MegaCAD 2019 3D
AnzeigenAusblenden
  • Inhaltsverzeichnis
  • Index
  • Glossar
 

Koordinatenschnittstelle

 

Bild\HKOO.gif Koordinatenschnittstelle

Häufig ist es nützlich, die Geometrie einer Konstruktionszeichnung in manipulierbarer Form vorliegen zu haben. Dazu wird die Funktion "Koordinatenschnittstelle" benutzt. Für diese Funktion wird eine ASCII-Datei, ähnlich wie die DXF-Dateien bei dem Programm CONVDXF verwendet, in der die verschiedenen Zeichnungsobjekte mit Ihren Koordinaten eingetragen sind. Derartige Koordinatendateien können beispielsweise in nachgeschalteten Programmen ausgewertet werden. Es sind aber auch vorgeschaltete Programme denkbar, die die Geometrie eines Bauteils berechnen und über die Koordinatenschnittstelle an das Konstruktionsprogramm MegaCAD übergeben.

 

Bild\CDLHAUPT.gif

 

Rufen Sie die Funktion "Koordinatenschnittstelle" auf, so erscheint ein weiteres Untermenü auf Ihrem Bildschirm. Sie können mit den hier vorhandenen Optionen Objekte und Koordinaten auswählen, die Informationen in eine Koordinatendatei übertragen bzw. aus einer Koordinatendatei wieder einlesen oder auch Kommentare in die Koordinatendatei aufnehmen.

 

Die erzeugten Koordinatendateien werden im allgemeinen im Verzeichnis \MEGACAD\CDL abgelegt und haben die Namenserweiterung ".CDL". In einer Koordinatendatei werden lediglich die Zeichnungsobjekte vom Typ Punkt, Linie, Kreis, Kreisbogen, Ellipsen, Ellipsenbögen, Texte und Splines gespeichert. Bemaßungen werden nicht verwendet.

 

Die Speicherung der Koordinaten geschieht dreidimensional, es werden also X-, Y- und Z-Koordinaten in die Datei geschrieben. Alle Koordinatenangaben werden mit 6 Nachkommastellen ausgegeben. Zusätzlich zu den Koordinaten werden die Informationen Linientyp, Farbe, Layer und Gruppe für jedes Zeichnungsobjekt ausgegeben. Alle Angaben zu einem Zeichnungsobjekt werden durch Kommata getrennt. Zu Beginn jedes Eintrages finden Sie den Typ des Zeichnungsobjekts. Je nach Zeichnungsobjekt werden die folgenden Angaben gespeichert:

 

Punkt:

X-Koordinate, Y-Koordinate, Z-Koordinate, Linientyp, Farbe, Layer, Gruppe, zum Beispiel:

 

POINT 0.000000, 0.000000, 0.000000, 1,4,0,0,

 

Linie:

X-Koordinate des Startpunkts, Y-Koordinate des Startpunkts, Z-Koordinate des Startpunkts, X-Koordinate des Endpunkts, Y-Koordinate des Endpunkts, Z-Koordinate des Endpunkts, Linientyp, Farbe, Layer, Gruppe, zum Beispiel:

 

LINE 30.000000, 30.000000, 0.000000, 90.000000, 30.000000, 0.000000, 1,6,0,0,

 

Kreis:

X-Koordinate des Mittelpunkts, Y-Koordinate des Mittelpunkts, Z-Koordinate des Mittelpunkts, Radius, Linientyp, Farbe, Layer, Gruppe, zum Beispiel:

 

CIRCLE 10.000000, 0.000000, 0.000000, 30.000000, 1,2,0,0,

 

Kreisbogen:

X-Koordinate des Mittelpunkts, Y-Koordinate des Mittelpunkts, Z-Koordinate des Mittelpunkts, Radius, Startwinkel, Endwinkel, Linientyp, Farbe, Layer, Gruppe, zum Beispiel:

 

ARC 10.000000, 10.000000, 0.000000, 30.000000, 90.000000, 180.000000, 1,2,0,0,

 

Ellipse:

X-Mittelpunkt, Y-Mittelpunkt, Z-Koordinate, Halbachsenlänge A, Halbachsenlänge B, Winkel der Achse A, Farbe, Layer, Gruppe,

zum Beispiel:

 

ELLIPSE 72.500000, 105.000000, 0.000000, 24.099358, 14.158776, 33.000001, 1,2,0,0,

 

Ellipsenbogen:

X-Mittelpunkt, Y-Mittelpunkt, Z-Koordinate, Halbachsenlänge A, Halbachsenlänge B, Winkel der Achse A, Startwinkel Bogen, Endwinkel Bogen, Farbe, Layer, Gruppe, zum Beispiel:

 

EL-ARC 167.500000, 100.000000, 0.000000, 26.728428, 11.909707, 44.000000, 88.745290, -57.772896, 1,2,0,0,

 

Texte:

Textwinkel Winkella. Textbreite Texthöhe Abstand X

ATTRIB 90.000000, 0.000000, 3.000000, 5.000000, 0.700000,

FONT tfont1.fnt,FF, 0,1,

TEXT 50.000000, 165.000000, 0.000000, #,16,Test einer Zeile,1,6,0,0,1,0

Position X Position Y Position Z der Text 16 = Anzahl Zeichen

 

bei mehreren Zeilen:

 

ATTRIB 90.000000, 0.000000, 3.000000, 5.000000, 0.700000, 0.000000,

FONT tfont1.fnt,FF, 0,1,

TEXT 50.000000, 143.000000, 0.000000, #,8,Test von,1,6,0,0,1,0

TEXT 50.000000, 135.000000, 0.000000, #,11,zwei Zeilen,1,6,0,0,1,0

 

FONT <Fontname>,<Zeichensatz>,<Familie,Fix/Var>,[italic,][strikeout,][underline,][bold,][down,]

 

z.B.:

FONT tfont1.fnt,FF, 0,VFT,underline,

FONT Arial , 0,22, TT,italic,bold,

 

VFT=Vektorfont

TT =True Type Font

 

Bei Ausgabe von "TEXT" schreibt MegaCAD anstelle der Font-Nummer ein #.

Beim Lesen von "TEXT" wird eine gültige Font-Nummer in 'tfontX.fnt' umgewandelt (X = Nummer).

 

 

Splines

Splines und Freihandlinien werden als Einzelpunkte (Typ POINT) ausgegeben.

 

POINT 60.000000, 85.000000, 0.000000, 1,4,0,0,1,0

POINT 71.697533, 93.148148, 0.000000, 1,4,0,0,1,0

POINT 83.580246, 100.185188, 0.000000, 1,4,0,0,1,0

POINT 95.833336, 105.000000, 0.000000, 1,4,0,0,1,0

POINT 108.518517, 106.728394, 0.000000, 1,4,0,0,1,0

 

Polylines

Bei Ausgabe von Polylines in eine CDL-Datei wird folgendes erzeugt:

 

P_START

ARC ...

.

LINE ...

P_END

 

Zwischen P_START und P_END werden die Zeichenelemente des Polylines ausgegeben.

 

Dabei besitzen die Linientypen die folgenden Nummern:

 

durchgezogene Linie 1

eng gestrichelte Linie 2

weit gestrichelte Linie 3

strichpunktierte Linie 4

punktierte Linie 5

Trennlinie 6

Mittellinie 7

 

Linien größer 7 sind freidefinierbare Linientypen.

 

Die verschiedenen Farben werden mit den folgenden Nummern identifiziert:

 

Rot 1

Grün 2

Blau 3

Gelb 4

Magenta 5

Cyan 6

Weiß 7

 

Die Farben 8-14 entsprechen den Farben 1-7 in intensiverer Darstellung.

 

Zusatzbeschreibung der MegaCAD 3D CDL Dateibefehle

 

Für alle Elemente (außer PUNKT, LINIE, SPLINE, SOLID) muß eine Beschreibung der Trägerebene vorhanden sein. Die Beschreibung wird im folgenden Format erwartet :

 

'TRAEGER' als Kennwort

x-, y-, z-Koordinate des X-Vektors der Trägerebene (durch Kommata getrennt)

 

x-, y-, z-Koordinate des Y-Vektors der Trägerebene (durch Kommata getrennt)

x-, y-, z-Koordinate des Bezugspunktes der Trägerebene (durch Kommata getrennt)

 

Die Definition der Trägerebene gilt für alle in der CDL-Datei folgende Elemente (die eine Trägerebene brauchen) bis eine neue Trägerebene definiert wird. Steht am Anfang der CDL-Datei keine Definition der Trägerebene, so wird die Standardebene ( X = (1,0,0) Y = (0,1,0) B = (0,0,0) ) vorausgesetzt.

 

Beim Baugruppen-/Zeichnungsbezugspunkt kann auch die z-Koordinate angegeben werden, d.h.:

 

BAUGRUPPEN 

<Dateiname>,<Faktor>,<Winkel>,<x-Wert>,<y-Wert>,<z-Wert>

DRAWING 

<Dateiname>,<Faktor>,<Winkel>,<x-Wert>,<y-Wert>,<z-Wert>

 

POLYLINES werden nicht ausgegeben.

 

 

Beschreibung der Speicherstruktur eines Körpers

 

Ein Körper (SOLID) wird beschrieben durch eine Folge von "ganzen Zahlen" und einer daran anschließenden Folge von Gleitkomma-Zahlen. Je drei Gleitkomma-Zahlen bilden die Koordinaten eines Punktes. Die "ganzen Zahlen" können sein:

 

 

positiv:

In diesem Fall verweisen auf den zugehörigen Punkt. (z.B.: 3 verweist auf den 3.Punkt, d.h. auf das Koordinaten-Tripel (a7,a8,a9) )

 

0 oder negativ:

In diesem Fall bedeuten sie eine Ende-Markierung

 

Die "ganzen Zahlen" beschreiben also die "topologische Struktur" des Körpers, d.h.

- welche Oberflächen er hat (bei Körpern mit Hohlräumen gibt es neben der Außenoberfläche auch Innenoberflächen),

- welche Flächen er hat (Facetten der Oberfläche),

 

- wie die Flächen strukturiert sind (Flächen mit "Löchern" haben neben der Außenumrandung (Außenkontur) auch noch Innenumrandungen um die "Löcher", während die Gleitkommazahlen die "geometrische Struktur" des Körpers beschreiben, also die Lage der einzelnen Eckpunkte im Raum.

 

Die Bedeutung der einzelnen Ende-Markierungen:

 

0: Ende einer Teilkontur

-1: Ende einer Fläche

-2: Ende einer Teiloberfläche

<= -3: Ende des Körpers

 

 

Beispiel:

Ein Tetraeder (Minimalkörper mit einer Oberfläche aus 4 Dreiecken, er hat 4 Eckpunkte, keine Innenoberfläche, und keine seiner Flächen besitzt Innenkonturen) könnte wie folgt beschrieben sein: 1,2,3, -1, 1,4,2 -1, 2,4,3, -1, 3,4,1, -3

 

Beispiel:

Eine rechteckige Fläche mit einem dreieckigen Loch könnte wie folgt beschrieben sein: 1,2,3,4, 0, 5,6,7, -1

 

Die Orientierung aller Flächen, bzw. Teilkonturen muß (!) unbedingt völlig korrekt sein:

- Innenkonturen haben die entgegengesetzte Orientierung wie die zugehörige Außenkontur derselben Fläche.

 

- Die Außenkonturen müssen mathematisch positiv orientiert sein bzgl. des Normalvektors der Trägerebene der Außenkontur.

- Der Normalvektor zeigt dabei in den Außenraum des Körpers.

 

Beispiel:

Die in nebenstehender Skizze abgebildete Fläche sei die Deckfläche eines Würfels. Der Normalenvektor muß also "nach oben" zeigen. Nach der "Rechten-Hand-Regel" müssen P1-P2

 die Punkte somit in der Reihenfolge:

 1-2-3-4 abgelaufen werden, d.h. die Beschreibung: 1,2,3,4,-1

 

ist korrekt, ebenso die Beschreibungen:

 2,3,4,1,-1 oder 3,4,1,2,-1 oder 4,1,2,3,-1

 während bei: 1,4,3,2,-1 die Orientierung genau falsch wäre.

 

d) Bei der Reihenfolge der Körperstrukturen ist folgendes zu beachten: Zuerst muß die Außenoberfläche beschrieben werden, danach eventuelle Innenoberflächen. Die Reihenfolge der Innenoberflächen untereinander ist beliebig.

 

Die Reihenfolge der Flächen innerhalb einer Teiloberfläche ist beliebig. Bei einer Fläche muß zuerst die Außenkontur beschrieben werden, danach eventuelle Innenkonturen. Die Reihenfolge der Innenkonturen untereinander ist beliebig. Innerhalb einer Teilkontur müssen die Punkte in der korrekten Orientierung abgelaufen werden. Der Anfangspunkt kann beliebig gewählt werden.

 

 

Die Abschlußinformation eines Körpers:

 

Hinter dem letzten Punktverweis folgt die Ende-Sequenz des Körpers:

 n, Typ, ........, Typ

 <-.. (n-1)-mal..->

dabei ist: n = 3 + Anzahl der Flächen. Typ kennzeichnet Form oder Entstehungsweise des Körpers. Da die Typinformation im Moment noch nicht ausgewertet wird, können Sie typ=1 setzen.

 

Beispiel: Ende-Sequenz eines Würfels: -9,1,1,1,1,1,1,1,1

 

Kennummern der Körpertypen:

 

 1 Quader

 2 Kegel

 3 Kegelstumpf

 4 Zylinder

 5 Kugel

 8 schiefer Zylinder

 9 gerades Prisma

 10 schiefes Prisma

 11 Pyramide

 12 Pyramidenstumpf

 13 Sweep-Körper

 14 offener Rotationskörper

 15 geschlossener Rotationskörper

 16 Torus

 17 Pyramide mit rechteckiger Grundfläche

 18 Keil (Dachkante gleichlang wie zug. Grundkante)

 19 Dach (wie Keil, aber ohne Zusatzbedingung)

 20 Prisma über Kreissegment (= abgeschn. Zylinder)

 21 schief abgeschnittener Zylinder

 22 Tonne

 23 abgeschnittene Kugel

 24 abgeschnittene Hohlkugel

 60 Körper mit gerundeten Kanten

 61 Körper mit abgeschrägten Kanten

 65 Resultat einer Summenbildung

 66 Resultat einer Differenzbildung

 67 Resultat einer Durchschnittsbildung

 68 Resultat eines Schnitts mit einer Ebene

 

Quader

Bei Quadern werden die Kanten und Flächen ausgegeben.

 

SOLID 38, 8, 1, 5, QUAD1, 1, 2,

1, 1, 1, 1, 1, 1, 1, 1, 90.000000,

 

Zylinder

 

Bei Zylindern werden die Kanten und Flächen ausgegeben.

 

SOLID 134, 32, 4, 4, ZYL2, 1, 2, ........

30, 31, 32, -1, 2, 1, 32, 31, -1, ........

6, 27, 26, -1, 8, 7, 26, 25, -1, 9 ........

 

Mop-Objekte

Bei Mop-Objekten werden die Kanten und Flächen ausgegeben.

 

SOLID 46, 10, 9, 5, GPRS3, 1, .........

6, -1, 1, 5, 6, 10, -10, 9, 9, 9,.........

140.000000, 40.000000, 0.000000, .........

140.000000, 40.000000, 30.000000,.........

110.000000, 30.000000, 30.000000,.........

 

Kugel

Bei Kugeln werden die Kanten und Flächen ausgegeben.

 

SOLID 738, 114, 5, 4, KUG4, 1, ...........

3, -1, 11, 10, 3, -1, 12, 11, 3, ...........

 

Pyramide

Bei Pyramiden werden die Kanten und Flächen ausgegeben.

 

SOLID 28, 5, 17, 5, RPYR5, 1, .............

80.000000, 90.000000, 0.000000, .............

 

Torus

Beim Torus werden die Kanten und Flächen ausgegeben.

 

SOLID 1538, 256, 16, 6, TORUS6, 1, 2, ........