pythonCascade Sample Problems

Topology Local Operations: Revol

 

 

 

        self.Initialize()

        self.interactive_context.EraseAll(0,1)

 

        S = BRepPrimAPI_MakeBox(400.,250.,300.).Shape()

        ais1 = AIS_Shape(S)

        self.interactive_context.SetDisplayMode(ais1,AIS_Shaded,0)

        self.interactive_context.SetMaterial(ais1,Graphic3d_NOM_PLASTIC,0)

        self.interactive_context.SetColor(ais1,Quantity_NOC_CORAL,0)

        self.interactive_context.Display(ais1,1)

 

        Ex = TopExp_Explorer()

        Ex.Init(S,TopAbs_FACE)

        Ex.Next()

        Ex.Next()

        F1 = TopoDS().Face(Ex.Current())

        surf = BRep_Tool().Surface(F1)

        Pl = Geom_Plane().DownCast(surf)

       

        D = gp().OX()

        MW1 = BRepBuilderAPI_MakeWire()

        p1 = gp_Pnt2d(100.,100.)

        p2 = gp_Pnt2d(200.,100.)

 

        aline = GCE2d_MakeLine(p1,p2).Value()

        MW1.Add(BRepBuilderAPI_MakeEdge(aline,surf,0.,p1.Distance(p2)).Edge())

        p1 = p2

        p2 = gp_Pnt2d(150.,200.)

        aline = GCE2d_MakeLine(p1,p2).Value()

        MW1.Add(BRepBuilderAPI_MakeEdge(aline,surf,0.,p1.Distance(p2)).Edge())

        p1 = p2

        p2 = gp_Pnt2d(100.,100.)

        aline = GCE2d_MakeLine(p1,p2).Value()

        MW1.Add(BRepBuilderAPI_MakeEdge(aline,surf,0.,p1.Distance(p2)).Edge())

 

        MKF1 = BRepBuilderAPI_MakeFace()

        MKF1.Init(surf,0)

        MKF1.Add(MW1.Wire())

        FP = MKF1.Face()

        BRepLib().BuildCurves3d(FP)

        MKrev = BRepFeat_MakeRevol(S,FP,F1,D,1,0)

        Ex.Next()

        Ex.Next()

        F2 = TopoDS().Face(Ex.Current())

        MKrev.Perform(F2)

        res1 = MKrev.Shape()

        ais1.Set(res1)

        self.interactive_context.Redisplay(ais1,1,0)

 

     

        self.view.FitAll(0.01,0)

        self.view.ZFitAll(0.01)

        self.view.Redraw()