General-purpose make-face-from-wires classes were introduced.
As a consequence, Part MakeFace (in menu Part->Make face from sketch wires) is now capable of making faces with holes with islands, such as bull's-eye pattern:
Now it also accepts wires regardless of object type, as long as it has shape (it used to accept only Part2DObjects).
The new facemaking also applies to Part Extrude and Part Revolve, when "solid" is set to true. The facemaker class in Part Extrude, Part Revolve and Part Face can be altered if necessary by editing their FaceMakerClass property. In future, I hope to make UI for selecting facemaker class of Part Face. As of now, there is no way to find out the class names other than browsing the source code, so I list them here:
* Part::FaceMakerSimple <-- makes faces from all closed planar wires, ignoring overlaps
* Part::FaceMakerCheese <-- made from code in Part Extrude. makes faces with holes, but no faces within holes.
* Part::FaceMakerExtrusion <-- legacy one used by Part Extrude
* Part::FaceMakerBullseye <-- new default
@wandererfan: I invite you to write a new facemaker based on TechDraw's EdgeWalker!
EDIT: forgot to mention, that facemakers can be used from Python, too.
Code: Select all
face = Part.Face(compound_of_wires, "Part::FaceMakerBullseye")
many_faces = Part.makeFace(compound_of_even_more_wires, "Part::FaceMakerBullseye")