Part::ExtrusionHelper Class Reference

#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...
 

Constructor & Destructor Documentation

◆ ExtrusionHelper()

ExtrusionHelper::ExtrusionHelper ( )

Member Function Documentation

◆ checkInnerWires()

void ExtrusionHelper::checkInnerWires ( std::vector< bool > &  isInnerWire,
const gp_Dir  direction,
std::vector< bool > &  checklist,
bool  forInner,
std::vector< TopoDS_Shape >  prisms 
)
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().

◆ createTaperedPrismOffset()

void ExtrusionHelper::createTaperedPrismOffset ( TopoDS_Wire  sourceWire,
const gp_Vec &  translation,
double  offset,
bool  isSecond,
TopoDS_Wire &  result 
)
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().

◆ makeDraft()

void ExtrusionHelper::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 
)
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().


The documentation for this class was generated from the following files: