DGNLIB Source Distribution ========================== Current information on DGNLIB, including detailed API documentation can be found at: http://gdal.velocet.ca/projects/dgn Building -------- This is a preliminary source distribution, and I have not gone to any pains to make it easy to configure and build. To build please do the following: == Unix: 1. Update cpl_config.h to represent your platform accurately. Generally all that matters is to #define WORDS_BIGENDIAN on big endian platforms. The rest can likely be ignored.

2. Compile the sample program. On unix this can be accomplished something like: % gcc dgndump.c *.cpp -lm -o dgndump It is left as an excercise to the reader to figure out how to handle it on Windows. == Windows: 1. Ensure you have Microsoft Visual C++ 6.x or later installed. 2. Ensure the commandline VC++ environment is setup properly. You may need to run the VCVARS32.BAT script from within the VC++ tree. 3. Compile the code, and build statically linked executables for the sample programs and DLL using the following command. nmake /f makefile.vc Release Notes ============= Release 1.7 ----------- o Improved calcuation of bounding box in DGLCreateTextElem() based on code from Matt Kelder. o Added preliminary 3D write support. o Modified DGNCreateTextElem() arguments, and deprecated DGNCreateArcElem2D() in favour of DGNCreateArcElem(). o Report transformation matrix for ViewInfo when dumping. Release 1.6 ----------- o Bug fix in DGNGetLinkage() for DMRS recognition from Henk Jan Priester. o Added DGNCreateCellHeaderFromGroup() and DGNCreateCellHeaderElem() functions in the write API. o Added a Microsoft VC++ makefile (Makefile.vc). Release 1.5 ----------- o Added 2D write support! o Fixed collection of background color in color table (color 255) as per bug report by Henk Jan Priester (Justcroft Technical Systems). o Added support for association ids (DGNLT_ASSOC_ID, DGNGetAssocID()). o Fixed problem with updating the DGNInfo.color_table field when a color table is read. o Fixed problem with spatial queries either including all of a complex element (and it's members) or none. o Added support for reading the eight view descriptions in the TCB element. o Added a Makefile in the source distribution. o Fixed error with tags in DGNFreeElement() as reported by Henk Jan Priester. Release 1.4 ----------- o Added "fast" spatial searching via the DGNSetSpatialFilter() function. This basically just reads the extents information at beginning of geometric features to see if they should be returned. o Actually extract the global origin from the TCB, and use it when transforming points. Only a few files (ie. Brazos County roads.rds) use a non-zero origin. o Added experimental multi byte text support from Ason Kang (hiska@netian.com). o Add experimental support for 3D files. Somes 3d elements not supported. 3d quaterion for ellipse and arc elements not utilized. o Added preliminary support for reading cell header structures based on input from Mike Cane. o Moved a bunch of stuff into dgnread.cpp. o Build default colortable into dgnhelp.cpp for use of DGNLookupColor(). o Added DGNGetShapeFillInfo(). o DGNGetShapeFillInfo() now tries to handle multi-part attribute linkages. Release 1.3 ----------- o Added raw_data/raw_bytes members of DGNElemCore, and DGNSetOptions() to allow control of when raw element image is retained. o Added -r flag to dgndump to dump raw contents of desired elements. o Add CPL_CVSID() to simplify tracking of versions. o Fixed bug with freeing element index in DGNClose().