private void TraverseGeometryInstance( GeometryInstance geomInst )
{
GeometryElement instGeomElem = geomInst.GetSymbolGeometry();
foreach( GeometryObject instGeomObj in instGeomElem )
{
if( instGeomObj is Solid )
{
WriteSolid( (Solid) instGeomObj );
}
else if( instGeomObj is Curve )
{
Curve curve = (Curve) instGeomObj;
Transaction createCurve = new Transaction( m_doc, "Create curve" );
createCurve.Start();
m_doc.Create.NewDetailCurve( m_targetView, curve );
createCurve.Commit();
if( curve.Reference != null )
{
m_writer.WriteLine( "Geometry curve - " + curve.Reference.ConvertToStableRepresentation( m_doc ) );
m_referencePlaneReferences.Add( curve );
}
else
m_writer.WriteLine( "Geometry curve - but reference is null" );
}
else
{
m_writer.WriteLine( "Something else - " + instGeomObj.GetType().Name );
}
}
}