The DWF Writer allows DWF files to be created from non-Autodesk applications. It can publish both 2D or 3D DWF files:
- For 2D, the DWF Writer acts like a system printer. An application prints to the DWF Writer for 2D and the data is written to a 2D DWF file.
- For 3D, the DWF Writer intercepts OpenGL commands from a running application. The captured 3D commands are written to a 3D DWF file.
One of our customers reported difficulty in creating 3D DWF files from SketchUp. Principal architect and software engineer, Brian Enright, noted that:
SketchUp was not initially one of our target applications for capturing graphics. Most OpenGL applications have different ways of optimizing their graphics, so trying to handle all cases of optimizations is very difficult. SketchUp appears to optimize such that any object not in the current view area will not be rendered, so the DWF Writer will not be able to capture them. SketchUp also optimizes how textures are rendered, and therefore does not re-render the textures once the file is opened. Hence, DWF Writer will not be able to capture those as well. Unfortunately SketchUp does not offer a state where no document is open. In other words, there is always a 3D document open. As a result, DWF Writer cannot use its method of: opening the application without a document, have DWF Writer initiate and connect to the application, and then in the application, open a 3D document. In addition, SketchUp generates its OpenGL data into display lists at file open time instead of at rendering time when it just dumps its display list. So to get all geometries for SketchUp, DWF Writer needs to capture SketchUp at file open time.
Despite these difficulties, there is a way to capture OpenGL from SketchUp and publish a 3D DWF file using DWF Writer:
In SketchUp, New a document.
From the View menu, turn off all auxiliary geometry.
If you still see geometry of any kind, select it, right mouse click, then select Hide.
To make sure the background image is not in the camera view, use the Orbit or Camera Look to move the camera, so all you can see is gray.
Start DWF Writer for 3D and select the SketchUp application as the application to be captured.
Select your output file name and hit OK. Nothing should happen except a "Processing..." message.
Go back to SketchUp and Open the file you want to capture. Once opened, a DWF file should be generated.
Whether coming from an Autodesk application or non-Autodesk application, the ability to go beyond 2D to 3D is another way DWF goes beyond the paper.