Computer Assisted Arts Association
Last Updated 1 april 1999

C3A Wijzer Artikel
The C3A Magazine
Whats New
C3A Wijzer Artikel 92e
Jaargang 9 - nr.2 - jan./febr./maart 1999


Inhoud C3A Wijzer 9/2
[C3A-Wijzer 9/2]

C3A-Wijzer verschijnt 4x per jaar.
C3A-Wijzer wordt gratis verspreid onder alle C3A-Userclubleden
en andere geïnteresseerde informatica-gebruikers.

Ontvangt u C3A-Wijzer nog niet ?

Stuur een E-Mail naar CAAA vzw met uw adresgegevens, en vraag naar ons tijdschrift C3A-Wijzer.


DXF - De open standaard voor
uitwisseling van tekeningen.

De meeste tekenaars kennen het probleem wel: een ontwerp, gemaakt in AutoCAD, moet kunnen ingelezen worden in een ander CAD-pakket. Of omgekeerd, een ontwerp uit Minicad, Star, Pro/Engineer en dergelijke moet met AutoCAD verder behandeld worden. Hoe wissel ik tekeningen uit tussen die verschillende systemen? Het DXF-formaat is de meest gebruikte methode voor 2D-tekeningen. Uitwisseling van DXF-bestanden loopt echter niet altijd van een leien dakje, meestal door een gebrek aan ervaring met DXF. Met dit artikel hopen we wat klaarheid te scheppen over DXF.

Sinds AutoCAD(r) Versie 1.0 (december 1982) heeft Autodesk de DXF-norm in het leven geroepen voor uitwisseling van tekeningen. DXF is een acroniem dat staat voor Drawing eXchange Format. Het is in feite een copie van het compacte maar gesloten DWG-formaat in een leesbaar ASCII tekstbestand. DXF import/export is voorzien in tal van toepassingen, gaande van CAD-systemen over tekstverwerkers en DTP-software. De kwaliteit van die DXF-vertalers laat echter soms te wensen over, waardoor bepaalde tekeningen onnauwkeurig, onvolledig of soms zelfs helemaal niet kunnen ingelezen worden. Wat weinig mensen weten, is dat het DXF-formaat verschillende versies kent, die gelijke tred houden met AutoCAD. Daardoor gebeurt het dat de DXF-vertaler van je tekstverwerker of je ander CAD-systeem nog niet aangepast is aan de nieuwe DXF-norm en dus sommige DXF's niet kan inlezen.

DWG blijft top-secret
De AutoCAD database (DWG-bestand) is geschreven in een compact formaat dat bij elke nieuwe AutoCAD-versie wijzigingen ondergaat. Volgens Autodesk zijn die wijzigingen nodig om nieuwe objecttypes te kunnen stockeren en nieuwe opslagmechanismes te realiseren. Autodesk houdt de structuur van het DWG-formaat angstvallig geheim, ongetwijfeld om zijn greep als marktleider niet te verliezen. De vele wijzigingen aan het DWG-formaat moeten bovendien de slimme concurrenten die het DWG-formaat uitpluizen ontmoedigen. Soms verwijt men Autodesk dat ze daarin te gesloten zijn, maar laten we niet vergeten dat andere softwareproducenten zoals Microsoft en Corel precies hetzelfde doen, zelfs nog een stapje erger. Probeer maar eens een Access-97 database te openen in Access 2.0 bijvoorbeeld.

Precies omwille van het feit dat elke softwareproducent zijn bestandsformaat geheim houdt, is er nood aan universele uitwisselingsformaten. In de CAD-wereld zijn die van levensbelang, maar eensgezindheid over internationale normen koms heel moeizaam tot stand, denk maar aan de IGES- en STEP-normen. Voor 2D geometrie is uitwisselen via DXF nog altijd de beste en snelste methode, als je maar goed weet waarmee je bezig bent.

Wat is een DXF bestand?
DXF is een standaard ASCII tekstbestand, dat rechtstreeks in andere software kan ingelezen worden. Het DXF-formaat kan floating point getallen stockeren met een maximale precisie van 16 decimalen. DXF is in die mate flexibel dat je "full" of "partial" DXF's kunt maken. Een "full" DXF bevat alle componenten van een tekening, inclusief blockdefinities, lijntypes, layer informatie, dimensiestijlen en noem maar op. een "partial" DXF bevat enkel bepaalde geselecteerde objecten. Meestal kiest men voor een full DXF export, maar als je een DXF wilt importeren in een niet-lege tekening, heb je een "partial" DXF nodig! Weinig mensen kennen de interne structuur van DXF (zie verder) en dat is spijtig. De technische dienst van MCS heeft al onnoemelijk veel DXF-problemen kunnen oplossen door de DXF-file gewoon in een tekstverwerker te laden en manueel te editeren. Daarvoor moet je natuurlijk goed weten hoe zo'n DXF ineen steekt.

Technische definitie van DXF
Een Drawing Exchange File is een ASCII tekstbestand met de extensie .DXF en speciaal geformatteerde tekst. De globale structuur ervan is als volgt:

HEADER sectie Bevat algemene informatie over de tekening: het AutoCAD database versienummer en een serie systeemvariabelen. Elke parameter bestaat uit een variabele naam en zijn waarde.

CLASSES sectie Bevat de informatie van applicatie-specifieke klasses, waarvan zich exemplaren bevinden in de BLOCKS, ENTITIES en OBJECTS secties van de database.

TABLES sectie Bevat definities van de volgende symbolltabellen: Linetype tabel (LTYPE)
Layer tabel (LAYER)
Text style tabel (STYLE)
View tabel (VIEW)
User Coordinate System tabel (UCS)
Viewport Configuration tabel (VPORT)
Dimension Style tabel (DIMSTYLE)
Application Identification tabel (APPID)
Block Reference tabel (BLOCK_REFERENCE)


BLOCKS sectie Bevat alle blockdefinities en de tekenentiteiten die deel uitmaken van elke block uit de tekening.

ENTITIES sectie Dit is de belangrijkste sectie in een DXF-bestand. Ze bevat alle getekende geometrie.

OBJECTS sectie Hierin zitten alle niet-grafische objecten in een tekening:. alle objecten die geen tekengeometrie zijn. Denk bijvoorbeeld aan multiline styles, groups en dergelijke.

Een DXF-bestand bestaan uit groepen, die elk twee lijnen tekst vormen in de DXF. De eerste lijn is de groepscode, de tweede lijn de groepswaarde, in een formaat dat afhangt van het soort groepscode. Wie echt wil begrijpen hoe een DXF-bestand in mekaar zit, zou die groepscodes moeten kennen. Uit het hoofd leren is onbegonnen werk, maar een volledige beschrijving vind je in het bijzonder nuttige DXF_R14.HLP, een bestand dat je van de website bij Autodesk (http://www.autodesk.com/techpubs/autocad/dxf/) kunt downloaden.

Weinigen kennen de interne structuur van DXF. De technische diensten van MCS en C3A hebben al heel wat DXF-problemen kunnen oplossen door de DXF-file gewoon in een tekstverwerker in te laden en manueel te editeren. Daarvoor moet je natuurlijk weten hoe zo'n DXF ineen steekt ...

C3A Whats New Top


©1999 CAAA vzw
Tramstraat 57
9052 Gent-Zwijnaarde, Belgium
Tel. 09 2202 101 - Fax 09 222 48 11
E-Mail CAAA vzw