PartDesign Namespace Reference

Base class of all additive features in PartDesign. More...

Classes

class  AdditiveBox
 
class  AdditiveCone
 
class  AdditiveCylinder
 
class  AdditiveEllipsoid
 
class  AdditiveHelix
 
class  AdditiveLoft
 
class  AdditivePipe
 
class  AdditivePrism
 
class  AdditiveSphere
 
class  AdditiveTorus
 
class  AdditiveWedge
 
class  Body
 
class  Boolean
 Abstract superclass of all features that are created by transformation of another feature Transformations are translation, rotation and mirroring. More...
 
class  Box
 
class  Chamfer
 
class  Cone
 
class  CoordinateSystem
 
class  Cylinder
 
class  Draft
 
class  DressUp
 
class  Ellipsoid
 
class  Feature
 PartDesign feature Base class of all PartDesign features. More...
 
class  FeatureAdditivePython
 
class  FeatureAddSub
 
class  FeatureBase
 
class  FeatureExtrude
 
class  FeaturePrimitive
 
class  FeatureSubtractivePython
 
class  Fillet
 
struct  gp_Pnt_Less
 
class  Groove
 
class  Helix
 
class  Hole
 
class  Line
 
class  LinearPattern
 
class  Loft
 
class  Mirrored
 
class  Module
 
class  MultiTransform
 
class  Pad
 
class  Pipe
 
class  Plane
 
class  Pocket
 
class  Point
 
class  PolarPattern
 
class  Prism
 
class  ProfileBased
 
class  Revolution
 
class  Scaled
 
class  ShapeBinder
 
class  Solid
 PartDesign feature Base class of all PartDesign features. More...
 
class  Sphere
 
class  SubShapeBinder
 
class  SubtractiveBox
 
class  SubtractiveCone
 
class  SubtractiveCylinder
 
class  SubtractiveEllipsoid
 
class  SubtractiveHelix
 
class  SubtractiveLoft
 
class  SubtractivePipe
 
class  SubtractivePrism
 
class  SubtractiveSphere
 
class  SubtractiveTorus
 
class  SubtractiveWedge
 
class  Thickness
 
class  Torus
 
class  Transformed
 Abstract superclass of all features that are created by transformation of another feature Transformations are translation, rotation and mirroring. More...
 
class  Wedge
 

Typedefs

typedef App::FeaturePythonT< FeatureAddSubFeatureAddSubPython
 
typedef App::FeaturePythonT< FeatureFeaturePython
 
typedef App::FeaturePythonT< SubShapeBinderSubShapeBinderPython
 
typedef Part::TopoShape TopoShape
 

Enumerations

enum class  HelixMode { pitch_height_angle , pitch_turns_angle , height_turns_angle , height_turns_growth }
 

Functions

static void computeIntersection (gp_Pnt pa1, gp_Pnt pa2, gp_Pnt pb1, gp_Pnt pb2, double &x, double &y)
 Computes 2D intersection between the lines (pa1, pa2) and (pb1, pb2). More...
 
void from_json (const nlohmann::json &j, Hole::CounterBoreDimension &t)
 
void from_json (const nlohmann::json &j, Hole::CounterSinkDimension &t)
 
void from_json (const nlohmann::json &j, Hole::CutDimensionSet &t)
 
PyObjectinitModule ()
 
static gp_Pnt toPnt (gp_Vec dir)
 

Variables

const App::PropertyQuantityConstraint::Constraints angleRangeU = { 0.0, 360.0, 1.0 }
 
const App::PropertyQuantityConstraint::Constraints angleRangeV = { -90.0, 90.0, 1.0 }
 
const App::PropertyQuantityConstraint::Constraints diameterRange = { 10 * Precision::Confusion(), FLT_MAX, 1.0 }
 
const App::PropertyQuantityConstraint::Constraints quantityRange = { 2 * Precision::Confusion(), FLT_MAX, 0.1 }
 
const App::PropertyQuantityConstraint::Constraints quantityRangeZero = { 0.0, FLT_MAX, 0.1 }
 
static constexpr size_t ThreadClass_ISOmetric_data_size = 25
 
static constexpr size_t ThreadRunout_size = 24
 
const App::PropertyQuantityConstraint::Constraints torusRangeV = { -180.0, 180.0, 1.0 }
 

Detailed Description

Base class of all additive features in PartDesign.

Typedef Documentation

◆ FeatureAddSubPython

◆ FeaturePython

◆ SubShapeBinderPython

◆ TopoShape

Enumeration Type Documentation

◆ HelixMode

enum class PartDesign::HelixMode
strong
Enumerator
pitch_height_angle 
pitch_turns_angle 
height_turns_angle 
height_turns_growth 

Function Documentation

◆ computeIntersection()

static void PartDesign::computeIntersection ( gp_Pnt  pa1,
gp_Pnt  pa2,
gp_Pnt  pb1,
gp_Pnt  pb2,
double &  x,
double &  y 
)
static

Computes 2D intersection between the lines (pa1, pa2) and (pb1, pb2).

The lines are assumed to be crossing, and it is an error to specify parallel lines. Only the x and y coordinates of the points are used to compute the 2D intersection.

The result are the x and y coordinate of the intersection point.

Referenced by PartDesign::Hole::execute().

◆ from_json() [1/3]

void PartDesign::from_json ( const nlohmann::json j,
Hole::CounterBoreDimension &  t 
)

◆ from_json() [2/3]

void PartDesign::from_json ( const nlohmann::json j,
Hole::CounterSinkDimension &  t 
)

◆ from_json() [3/3]

void PartDesign::from_json ( const nlohmann::json j,
Hole::CutDimensionSet &  t 
)

◆ initModule()

PyObject * PartDesign::initModule ( )

◆ toPnt()

static gp_Pnt PartDesign::toPnt ( gp_Vec  dir)
static

Variable Documentation

◆ angleRangeU

◆ angleRangeV

const App::PropertyQuantityConstraint::Constraints PartDesign::angleRangeV = { -90.0, 90.0, 1.0 }

◆ diameterRange

const App::PropertyQuantityConstraint::Constraints PartDesign::diameterRange = { 10 * Precision::Confusion(), FLT_MAX, 1.0 }

Referenced by PartDesign::Hole::Hole().

◆ quantityRange

◆ quantityRangeZero

const App::PropertyQuantityConstraint::Constraints PartDesign::quantityRangeZero = { 0.0, FLT_MAX, 0.1 }

◆ ThreadClass_ISOmetric_data_size

constexpr size_t PartDesign::ThreadClass_ISOmetric_data_size = 25
staticconstexpr

◆ ThreadRunout_size

constexpr size_t PartDesign::ThreadRunout_size = 24
staticconstexpr

◆ torusRangeV

const App::PropertyQuantityConstraint::Constraints PartDesign::torusRangeV = { -180.0, 180.0, 1.0 }