#include <ExtrusionHelper.h>
Public Member Functions | |
ExtrusionHelper () | |
Static Public Member Functions | |
static void | checkInnerWires (std::vector< bool > &isInnerWire, const gp_Dir direction, std::vector< bool > &checklist, bool forInner, std::vector< TopoDS_Shape > prisms) |
checkInnerWires: Checks what wires are inner ones by taking a set of prisms created with every wire. More... | |
static void | createTaperedPrismOffset (TopoDS_Wire sourceWire, const gp_Vec &translation, double offset, bool isSecond, TopoDS_Wire &result) |
createTaperedPrismOffset: creates an offset wire from the sourceWire in the specified translation. More... | |
static void | makeDraft (const TopoDS_Shape &shape, const gp_Dir &direction, const double LengthFwd, const double LengthRev, const double AngleFwd, const double AngleRev, bool isSolid, std::list< TopoDS_Shape > &drafts, bool isPartDesign) |
makeDraft: creates a drafted extrusion shape out of the input 2D shape More... | |
ExtrusionHelper::ExtrusionHelper | ( | ) |
|
static |
checkInnerWires: Checks what wires are inner ones by taking a set of prisms created with every wire.
The prisms are cut from each other. If the moment of inertia thereby changes, the prism wire is an inner wire. Inner wires can have nested inner wires that are then in fact outer wires. Therefore checkInnerWires is called recursively until all wires are checked.
References checkInnerWires(), Base::Console(), and Base::ConsoleSingleton::Warning().
Referenced by checkInnerWires(), and makeDraft().
|
static |
createTaperedPrismOffset: creates an offset wire from the sourceWire in the specified translation.
isSecond determines if the wire is used for the 2nd extrusion direction.
References Part::BRepOffsetAPI_MakeOffsetFix::AddWire(), Base::Console(), Base::ConsoleSingleton::Error(), Part::BRepOffsetAPI_MakeOffsetFix::Init(), Part::BRepOffsetAPI_MakeOffsetFix::IsDone(), Part::BRepOffsetAPI_MakeOffsetFix::Perform(), and Part::BRepOffsetAPI_MakeOffsetFix::Shape().
Referenced by makeDraft().
|
static |
makeDraft: creates a drafted extrusion shape out of the input 2D shape
References checkInnerWires(), createTaperedPrismOffset(), and draftgeoutils.offsets::offsetWire().
Referenced by Part::Extrusion::extrudeShape(), and PartDesign::FeatureExtrude::generateTaperedPrism().