The DXFReader.framework provides classes for reading a standard ASCII text DXF file into an array of "entities" (to use the AutoCAD term) that can be used by a program implementing this framework.

The BBDXFModel object is the main class. It includes methods for reading and parsing the DXF file.

The BBDXFEntity class and its subclasses (BBDXFEntityLine, Polyline, Arc, etc) follow the data structure established by AutoCAD in their definition of the DXF file standard. One of these custom objects is created for each entity contained in the DXF file for the types that are supported by this framework.

The framework is developed following the AutoCAD 2009 DXF standard. The DXF standard is generally backward compatible with previous versions of the AutoCAD DXF standard, but this compatiblity has not been extensively tested.

A standard DXF file output by AutoCAD or a similar CAD program contains a large quantity of information. With this preliminary version (0.1) only the following entity types are supported.
  1. LINE
  2. LWPOLYLINE
  3. ARC
  4. CIRCLE
  5. TEXT
In version 0.1 the supported data extraction/mapping for these entities is also limited to basic information about the position and geometry of the entities as well as information on layer, color, etc. See each specific entity for a list of the data elements supported for that entity.

References
  1. The official AutoCAD DXF 2009 Reference is useful.
  2. Here is the Wikipedia entry on AutoCAD DXF files.
  3. DXFReader is developed by brown bird software. See brown-bird.net for more information. Please contact allan 'at' brown-bird.net with any questions or to collaborate on futher development of this framework.
License
DXFReader.framework is open source and published under the standard BSD license. Source code is available for download at brown-bird.net.



Headers

BB3DPoint
BBDXFEntityCircle
BBDXFEntityText
BBDXFEntity
BBDXFEntityLine
BBDXFModel
BBDXFEntityArc
BBDXFEntityPolyline

Functions

addEntity:
-[ BBDXFModel loadDXFFile: ]
getDXFFileStructure
+[ BBDXFEntityLine initWithStartPoint:andEndPoint: ]
-[ BBDXFModel numberOfProcessedEntities ]
linesInDXFFile
-[ BBDXFEntityPolyline addVertex: ]
-[ BBDXFModel processArcEntityfromSourceArray: ]
loadDXFFile:
-[ BBDXFEntityPolyline vertexArray ]
-[ BBDXFModel processCircleEntityfromSourceArray: ]
numberOfProcessedEntities
-[ BBDXFEntityPolyline vertexAtIndex: ]
-[ BBDXFModel processEntities ]
processArcEntityfromSourceArray:
-[ BBDXFModel addEntity: ]
-[ BBDXFModel processLineEntityfromSourceArray: ]
processCircleEntityfromSourceArray:
-[ BBDXFModel entityArray ]
-[ BBDXFModel processPolylineEntityfromSourceArray: ]
processEntities
-[ BBDXFModel entityAtIndex: ]
-[ BBDXFModel processTextEntityfromSourceArray: ]
processLineEntityfromSourceArray:
-[ BBDXFModel getDXFFileStructure ]
entityArray
processPolylineEntityfromSourceArray:
-[ BBDXFModel linesInDXFFile ]
entityAtIndex:
processTextEntityfromSourceArray:

Copyright © 2009 Allan Daly
All rights reserved.