1 / 25

DWGdirect Overview

DWGdirect Overview. ODA World Conference 2009 Leiden, The Netherlands Sergey Slezkin DWGdirect Development Team Lead. Early C++ Development Goals. Replace OpenDWG Toolkit/Viewkit ASAP. Provide API instead of direct access to all data in C structures.

meris
Download Presentation

DWGdirect Overview

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. DWGdirect Overview ODA World Conference 2009 Leiden, The Netherlands Sergey Slezkin DWGdirect Development Team Lead

  2. Early C++ Development Goals • Replace OpenDWG Toolkit/Viewkit ASAP. • Provide API instead of direct access to all data in C structures. • Implement commonly required functionality inside the libraries making them more user friendly. • Provide extensible architecture able to incorporate new functionality and features.

  3. Direct Access to Data without Error Checking Not bad for read-only access. Modifying data or creating a new drawing required deep knowledge of data structures and relationships between objects. High risk of writing invalid file which cannot be loaded by any application – loss of data.

  4. Extra Functionality Added at Early Stage Conversions to/from different DWG/DXF versions and taking care of round-trip data through minor versions. Repairing corrupted files and auditing in-memory data. Building dimension blocks, blocks representing standard arrowheads, etc.

  5. Conversions to/from Different DWG/DXF Versions Supported versions: Release 2.5 up to 2009. 2010 format support to be released later this year. While file loading, drawing is always converted to the latest version. Round-trip data is processed. Client code always works with latest version. While saving, DWGdirect takes care of how new entities/properties should be saved.

  6. Recover — We Did It From: Sergey Slezkin Sent: Monday, September 21, 1998 4:27 AM To: 'OpenDWG' Subject: Duplicate handles in R12 DWG Hello! I came across a DWG file created by some old version of VisualCADD. It has duplicate handles in entities section and ODT refuses to load it. AutoCAD loads this file. It's RECOVER command reports that it replaced the duplicate handle. Can ODT behavior be changed to be the same as AutoCAD's? Thanks, Sergey Slezkin From: "OpenDWG Alliance Support“ To: 'Sergey Slezkin‘ Sent: Monday, September 21, 1998 8:26 PM Subject: RE: Duplicate handles in R12 DWG Hi Sergey,Well, this is an Alliance, and you guys have the source code, so if you wantwrite a "RECOVER" utility (and I doubt that when ACAD loads the file itreplaces the handle; I think ONLY "RECOVER" does that), please do so andsubmit it so that others can use it also.  It's not something I am going totake on.Sincerely yours,M.R.

  7. Defects that DWGdirect Repairs Corrupted data inside an object (object can be skipped) Missing Table or Dictionary entries (Linetype ByBlock, ByLayer, Style Standard, etc.) Values of system variables Values of various entity properties (such as text’s oblique angle, zero-length normal, zero scale, etc.) Invalid or duplicate handles Cyclic block references Invalid characters in names And more

  8. Some Examples of Error Messages for Entity Containers “Cross references in entities list” “Multiple entries of reference” “Last entity does not match last reference in container” “Invalid subentity type” “Invalid vertex index” “Polyface Mesh has no valid faces” “Polyface Mesh vertex after face” There are more than one hundred different error types which are detected and fixed.

  9. Advanced Functionality Added Undo/redo and transactions support Partial file loading and paging objects Custom object and command plug-ins Protocol extensions Event notifications ACIS support Support for on-screen editing Export to DWF, SVG, PDF, SAT, HSF, etc. DWF and DGN underlay support

  10. DWGdirect Usage Areas Simple DWG processing utilities Import/export plug-ins for CAD applications Visualization Redlining Full CAD applications using DWGdirect as the core

  11. Support Support is performed by developers. Members take advantage of professional answers. Developers directly contacting clients get better idea of problems clients have. Everyday contacts with members help setting priorities for future development.

  12. Supported Platforms Windows 32-bit Windows 64-bit Windows CE SGI Macintosh Linux Solaris HP IBM AIX Windows 32-bit compilers: -MS VC 6 -MS VC 2002 -MS VC 2003 -MS VC 2005 -MS VC 2008 -Borland Builder 6 -Borland Builder 2006 -Borland Builder 2009

  13. Customizing DWGdirect Optimize application size by not including optional modules Provide custom implementation for replaceable functionality Add custom functionality (commands and objects) up to creating custom vertical applications

  14. General Structure Core Functionality DWG/DXF File I/O Other Optional Modules Database ACIS Solids Support Visualization Interface Rendering Devices Exports

  15. Optional Modules Rendering devices Enablers for Inventor and MDT entities ACIS support Exports (DWF, SVG, PDF, HOOPS, STL, …) DGN & DWF underlay support DWF import Dynamic blocks Old-styled materials (AVE) support Fields evaluation Plot styles support Raster files support Dimension blocks recomputing Grip/stretch/snap points support OLE support

  16. Alternative Implementations Provided by ODA Rendering devices (WinGDI/OpenGL/DirectX/Bitmap) ACIS support (in-house/Spatial ACIS) Raster support (in-house/JPEG-6B/Snowbound) TTF support (Windows API/FreeType)

  17. Rendering Devices DWGdirect Core Visualization Interface WinGDI DirectX OpenGL Bitmap

  18. ACIS Support DWGdirect Core Modeler Interface Pure In-House Implementation Rendering / Read / Write / Convert / Limited Creation Spatial ACIS Full Solid Modeling Support

  19. Raster File Handling DWGdirect Core Raster Services Interface Pure In-House Implementation BMP files support Implementation using JPEG-6B BMP & JPG files support Implementation using Snowbound Multiple raster file formats support

  20. True Type Font Support DWGdirect Core Font Engine Interface Implementation using Windows API Implementation using FreeType library

  21. General Structure DWG Functionality DWG/DXF File I/O DWG Database ACIS Solids Support DWF Underlay Support Visualization Interface Rendering Devices Exports

  22. General Structure ACIS Solids Support DWF Underlay Support Visualization Interface Rendering Devices Exports

  23. Universal Viewer / Converter DWG ACIS DWF Parasolid DGN Visualization Interface Rendering Devices Exports

  24. Conclusion • DWGdirect is a powerful cross-platform tool for any DWG processing application development — from simple utilities to full CAD applications. • Its flexibility and extensibility provide great opportunities for customization to meet specific needs. • Man-years put into its development save a lot of effort for all ODA members. • Functionality initially developed as an optional part of DWGdirect can be used outside of it to support other file formats.

  25. Questions

More Related