BuildingCoder.Command.TraverseGeometryInstance C# (CSharp) Метод

TraverseGeometryInstance() приватный Метод

private TraverseGeometryInstance ( GeometryInstance geomInst ) : void
geomInst GeometryInstance
Результат void
        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 );
            }
              }
        }