Mit dem Modul DXFIN können Objekte aus einer AutoCAD DXF Datei gelesen werden.
Der Modul wird mit:
|INCL \script\dxfin.mod
in einer ICS RUN1-Konfiguration verfügbar gemacht.
Folgende Parameter können in der Map DXFIN_PARAM für den Modul gesetzt werden:
Parameter | req/opt | Beschreibung |
ERROR_OBJECTS | o | Unbekannte Objekte als Fehler melden
(ON oder OFF ). |
ATTRIB_AS_TEXT | o | Attribute als Text liefern. |
HEADEROBJECTS | o | Lesen und Display von Headerobjects, z.B.
Blockdefinitionen (ON oder
OFF ). |
HEADERINFO | o | Lesen und Display von Headerinformationen
(ON oder OFF ). |
ATTRIB_AS_TEXT | o | EXTENDED Entities als TEXT liefern
(ON oder OFF ). |
ATTRIB_SCAN | o | EXTENDED Entities lesen (ON oder
OFF ). |
MTEXT_AS_TEXT | o | MTEXT als TEXT
liefern (ON oder
OFF ). |
DEBUG | r | DEBUG Modus ein- oder ausschalten
(ON oder OFF ). |
STATISTICS | r | ON oder OFF ,
Default = OFF . Statistik
anzeigen. |
Komponente | req/opt | Beschreibung |
IN.TYPE(s) | r | Objekttyp. Mögliche Werte sind:
POINT , BLOCK ,
SHAPE , CIRCLE ,
TEXT , LINE ,
POLYLINE ,
LWPOLYLINE ,
ELLIPSE , ARC . |
IN.LINE(i) | r | Zeilennummer in der Inputdatei. |
IN.OBJID(s) | r | Eindeutige Objektidentifikation. |
IN.LAYER(s) | r | DXF-Layer. |
IN.LTYPE(i) | r | DXF-Linientyp. |
IN.COLOR(i) | r | DXF-Farbe (0 .. 255). |
IN.THICKNESS | r | DXF-Thickness. |
Das IN-Objekt kann ausserdem mehrere Komponenten als
DXF-Extended Data aufweisen. Die erste DXF-Extended Data
Komponente hat den Namen IN.EXTENDED1
, alle
weiteren erhalten im Namen als Suffix einen fortlaufenden
Index: IN.EXTENDED2
,
IN.EXTENDED3
,etc.
Komponente | req/opt | Beschreibung |
IN.EXTENDED1(m) | o | 1. DXF-Extended Data. |
IN.EXTENDED2(m) | o | 2. DXF-Extended Data. |
IN.EXTENDEDn(m) | o | n. DXF-Extended Data. |
Jede DXF-Extended Data Map ist wie folgt aufgebaut:
Komponente | req/opt | Beschreibung |
APPLICATION(s) | r | 1. DXF-Extended Data. |
LAYER(s) | r | 2. DXF-Extended Data. |
NUMBER(s) | r | n. DXF-Extended Data. |
ATTRIBUTE1(1,r,s) | o | Attributwert 1. Attribut. |
ATTRIBUTE1(2,r,s) | o | Attributwert 2. Attribut. |
ATTRIBUTE1(n,r,s) | o | Attributwert n. Attribut. |
IN.TYPE =
'POINT'
Komponente | req/opt | Beschreibung |
IN.GEOM(p) | r | Punktposition. |
IN.TYPE =
'BLOCK'
Komponente | req/opt | Beschreibung |
IN.GEOM(p) | r | Blockposition. |
IN.BLOCK(s) | r | Blockname. |
IN.SCALE(r) | r | Skalierung. |
IN.ROT(r) | r | Rotationswinkel in Altgrad. |
IN.TYPE =
'SHAPE'
Komponente | req/opt | Beschreibung |
IN.GEOM(p) | r | Shapeposition. |
IN.SHAPE(s) | r | Shapename. |
IN.SIZE(r) | r | Grösse des Symbols. |
IN.ROT(r) | r | Rotationswinkel in Altgrad. |
IN.TYPE =
'CIRCLE'
Komponente | req/opt | Beschreibung |
IN.GEOM(p) | r | Zentrumsposition. |
IN.RADIUS(s) | r | Kreisradius. |
IN.TYPE =
'TEXT'
Komponente | req/opt | Beschreibung |
IN.TXT(s) | r | Textinhalt. |
IN.GEOM(p) | r | Textposition. |
IN.HEIGHT(r) | r | Texthöhe. |
IN.STYLE(s) | r | Textfont. |
IN.JUST(s) | r | Justierung. Mögliche Werte sind:
LEFT , CENTER ,
RIGHT ,
MIDDLE . |
IN.HJUST(i) | r | Horizontale Justierung (DXF-Gruppencode 72). |
IN.VJUST(i) | r | Vertikale Justierung (DXF-Gruppencode 73). |
IN.SLANT(r) | r | Textneigungswinkel in Altgrad. |
IN.XSCALE(r) | r | Textskalierung entlang der X-Achse. |
IN.ROT(r) | r | Rotationswinkel in Altgrad. |
IN.TYPE =
'MTEXT'
Komponente | req/opt | Beschreibung |
IN.TXT(s) | r | Textinhalt. Zeilenumbrüche sind im Text codiert. |
IN.GEOM(p) | r | Textposition. |
IN.HEIGHT(r) | r | Texthöhe. |
IN.STYLE(s) | r | Textfont. |
IN.JUST(s) | r | Justierung. Mögliche Werte sind:
LEFT , CENTER ,
RIGHT ,
MIDDLE . |
IN.HJUST(i) | r | Horizontale Justierung (DXF-Gruppencode 72). |
IN.VJUST(i) | r | Vertikale Justierung (DXF-Gruppencode 73). |
IN.SLANT(r) | r | Textneigungswinkel in Altgrad. |
IN.XSCALE(r) | r | Textskalierung entlang der X-Achse. |
IN.ROT(r) | r | Rotationswinkel in Altgrad. |
IN.TYPE =
'LINE'
Komponente | req/opt | Beschreibung |
IN.GEOM(l) | r | Liniengeometrie mit genau zwei Punkten. |
IN.TYPE =
'POLYLINE'
Komponente | req/opt | Beschreibung |
IN.GEOM(l,a) | r | Linien- oder Flächengeometrie. |
IN.FLAG(i) | r | DXF-Polyline Flag.
|
IN.TYPE =
'LWPOLYLINE'
Komponente | req/opt | Beschreibung |
IN.GEOM(l,a) | r | Linien- oder Flächengeometrie. |
IN.FLAG(i) | r | DXF-Polyline Flag.
|
IN.TYPE =
'ELLIPSE'
Komponente | req/opt | Beschreibung |
IN.GEOM(p) | r | Zentrumsposition. |
IN.POINT(p) | r | Endpunkt auf der Hauptachse, relativ zur Zentrumsposition. |
IN.RATIO(r) | r | Ratio Nebenachse zur Hauptachse. |
IN.START_ANGLE(r) | r | Startwinkel der Ellipse,
0.0 für eine geschlossene
Ellipse. |
IN.END_ANGLE(r) | r | Endwinkel der Ellipse 2*PI für eine geschlossene Ellipse. |
IN.TYPE =
'ARC'
Komponente | req/opt | Beschreibung |
IN.GEOM(l) | r | Kreisbogengeometrie. |
IN.CENTER(p) | r | Kreisradius. |
IN.RADIUS(s) | r | Kreisradius. |
IN.START_ANGLE(r) | r | Startwinkel des Kreisbogen. |
IN.END_ANGLE(r) | r | Endwinkel des Kreisbogen. |
Prozedur | DXFIN_OPEN ! [s input][] |
Beschreibung | Öffnet eine bestehende DXF
Datei <input> und initialisiert den
Modul. Die Prozedur wird von RUN1 automatisch
aufgerufen. |
Beispiel |
|
Prozedur | DXFIN_READ_OBJECT ![][b state] |
Beschreibung | Liest das nächste IN-Objekt aus der geöffneten DXF Datei. Die Prozedur wird von RUN1 automatisch aufgerufen. |
Beispiel |
|
Prozedur | DXFIN_CLOSE ! [][] |
Beschreibung | Schliesst den Modul und gibt die durch den Modul belegten Resourcen wieder frei. Die Prozedur wird von RUN1 automatisch aufgerufen. |
Beispiel |
|
! Diese ICS Konfiguration zeigt alle von dxfin.mod ! gelesenen Objekte in der .log Datei an. |LICENSE \license\iltools.lic MAP USER_INPUT1 DIALOG => FILE ! FILE | FILES | STRING | ODBC MESSAGE => 'Enter .dxf Input File' FILE_FILTER => dxf FILE_EXISTS => TRUE OPT => input END_MAP MAP DXFIN_PARAM TRACE => OFF STATISTICS => ON END_MAP MAP INPUT_SOURCES I1 => DXFIN,OPT.input END_MAP MAP INOUT I1 => DISPLAY_OBJECT1,IN END_MAP |INCL \script\dxfin.mod |INCL \script\run1.prg