Issue
I created an ObjectDBX for a custom circle, which is derived from AcDbCircle. I have a DWG which contains my custom circle. When I opened this DWG in Navisworks, it only displays the base geometry, circle. The custom geometry is missing. What is going on?
Solution
When Navisworks displays AutoCAD entities, it checks if a given object is
a AutoCAD entity type. If a custom entity is derived from AutoCAD basic
geometry, such as AcDbCircle and AcDbLine, Navisworks identify them as AutoCAD
entity, and the custom geometry is ignored: e.g. a custom circle derived from
AcDbCircle will be identified as a Circle only. When an OE is NOT loaded
successfully, Navisworks uses proxy graphics, which may show the expected
graphics.
If the custom entity derives from the abstract entity such as AcDbCurve, AcDbEntity, Navisworks can identify it as a proxy entity, displaying the custom geometry.
Sample DBX Project:
We have attached sample projects that contains a DBX and an ARX modules. There are 4 types custom entities that are derived from AcDbEntity, AcDbCurve, AcDbLine and AcDbCircle.. ARX module has a command “OETest” which creates instances of each custom entity.
When the OE is not loaded correctly, Navisworks displays them and reports the error: Fig.1 and 2.
Figure 1: geometry displayed in Navisworks when OE is not loaded successfully
Figure 2: Scene statistics when OE is not loaded successfully
When the OE is loaded successfully, Navisworks displays them as below and will not report the error: Fig 3 & 4.
Figure 3: geometry displayed in Navisworks when OE is loaded successfully
Figure 4: Scene statistics when OE is loaded successfully
Please refer to the sample for more details. It is written in VS2008 + SP1 and has been tested with AutoCAD 2011.
Download Navisworks_display_basic_geometry_test_VS2008SP1_Acad2011
Download Navisworks_display_basic_geometry_test_vs2010_acad2014_64bits