As an actual CAD user, I can say that any time I have ever needed to fillet an
edge, I *always* select the edge from the screen.
I have worked out a small example showing how to do this and it is appended
below.
I have noticed that emailing sometimes causes lines of code to get
'piggybacked' , so you may have to fix them.
I am wondering if I am doing things the hard way or if someone can point me to
a repository of useful code snippets
(beyond the excellent examples that come with pyOCC).
I would feel kind of silly to be reinventing the wheel...
As always, feedback is welcome...
-Doug
# file: mySelectableFillet.py
from OCC.BRepPrimAPI import *
from OCC.BRepFilletAPI import *
from OCC.TopoDS import *
from OCC.TopExp import * # It won't run without this
from OCC.Display.SimpleGui import *
display, start_display, add_menu, add_function_to_menu = init_display()
def box(event=None):
global aBox
display.EraseAll()
aBox = BRepPrimAPI_MakeBox(20,50,50).Shape()
display.DisplayShape(aBox)
display.FitAll()
def selectEdge(event=None):
display.SetSelectionModeEdge()
def filletEdge(event=None):
display.SetSelectionModeShape()
aShape = display.GetSelectedShape()
print type(aShape)
anEdge = TopoDS.TopoDS().edge(aShape)
print type(anEdge)
fillet = BRepFilletAPI_MakeFillet(aBox)
fillet.Add(4, anEdge)
bBox = fillet.Shape()
display.EraseAll()
display.DisplayShape(bBox)
display.FitAll()
print 'Done'
def exit(event=None):
sys.exit()
if __name__ == '__main__':
add_menu('click in sequence')
add_function_to_menu('click in sequence', box)
add_function_to_menu('click in sequence', selectEdge)
add_function_to_menu('click in sequence', filletEdge)
add_function_to_menu('click in sequence', exit)
start_display()
_______________________________________________
Pythonocc-users mailing list
[email protected]
https://mail.gna.org/listinfo/pythonocc-users