pythonCascade Sample Problems

Import/Export: STEP

 

        self.Initialize()

        self.interactive_context.EraseAll(0,1)

 

        dlg = wxFileDialog(self,"Choose a BRep file","c:\work\awork\demo","","*.step",wxOPEN|wxMULTIPLE)

        if dlg.ShowModal() == wxID_OK:

            self.aSequence= TopTools_HSequenceOfShape()

            aReader = STEPControlStd_Reader()

            status = aReader.ReadFile(dlg.GetPath())

            if status == IFSelect_RetDone:

                LogFileName = "ReadStepFile.log"

                MoniMessage_TraceFile().SetDefault(2,LogFileName,1)

                failsonly = 0

                aReader.PrintCheckLoad(failsonly, IFSelect_ItemsByEntity)

                nbr = aReader.NbRootsForTransfer()

                aReader.PrintCheckTransfer (failsonly, IFSelect_ItemsByEntity)

                for n in range(1, nbr+1):

                    ok = aReader.TransferRoot(n)

                    nbs = aReader.NbShapes()

                    if nbs == 0:

                      self.aSequence.Nullify()

                      return

                    else:

                        for i in range(1,nbs+1):

                            aShape=aReader.Shape(i)

                            self.aSequence.Append(aShape)

            else:

                self.aSequence.Nullify()

 

            for i in range(1,self.aSequence.Length()+1):

                AIS_Shape(self.aSequence.Value(i))

                self.interactive_context.Display(AIS_Shape(self.aSequence.Value(i)),1)

                

               

            self.view.FitAll(0.01,0)

            self.view.ZFitAll(0.01)

            self.view.Redraw()