Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Public Member Functions
BRepOffsetAPI_MakeFilling Class Reference

N-Side Filling This algorithm avoids to build a face from: More...

#include <BRepOffsetAPI_MakeFilling.hxx>

Inheritance diagram for BRepOffsetAPI_MakeFilling:
Inheritance graph
[legend]

Public Member Functions

 BRepOffsetAPI_MakeFilling (const int Degree=3, const int NbPtsOnCur=15, const int NbIter=2, const bool Anisotropie=false, const double Tol2d=0.00001, const double Tol3d=0.0001, const double TolAng=0.01, const double TolCurv=0.1, const int MaxDeg=8, const int MaxSegments=9)
 Constructs a wire filling object defined by.
 
void SetConstrParam (const double Tol2d=0.00001, const double Tol3d=0.0001, const double TolAng=0.01, const double TolCurv=0.1)
 Sets the values of Tolerances used to control the constraint. Tol2d: Tol3d: it is the maximum distance allowed between the support surface and the constraints TolAng: it is the maximum angle allowed between the normal of the surface and the constraints TolCurv: it is the maximum difference of curvature allowed between the surface and the constraint.
 
void SetResolParam (const int Degree=3, const int NbPtsOnCur=15, const int NbIter=2, const bool Anisotropie=false)
 Sets the parameters used for resolution. The default values of these parameters have been chosen for a good ratio quality/performance. Degree: it is the order of energy criterion to minimize for computing the deformation of the surface. The default value is 3 The recommended value is i+2 where i is the maximum order of the constraints. NbPtsOnCur: it is the average number of points for discretisation of the edges. NbIter: it is the maximum number of iterations of the process. For each iteration the number of discretisation points is increased. Anisotropie:
 
void SetApproxParam (const int MaxDeg=8, const int MaxSegments=9)
 Sets the parameters used to approximate the filling surface. These include:
 
void LoadInitSurface (const TopoDS_Face &Surf)
 Loads the initial surface Surf to begin the construction of the surface. This optional function is useful if the surface resulting from construction for the algorithm is likely to be complex. The support surface of the face under construction is computed by a deformation of Surf which satisfies the given constraints. The set of bounding edges defines the wire of the face. If no initial surface is given, the algorithm computes it automatically. If the set of edges is not connected (Free constraint), missing edges are automatically computed. Important: the initial surface must have orthogonal local coordinates, i.e. partial derivatives dS/du and dS/dv must be orthogonal at each point of surface. If this condition breaks, distortions of resulting surface are possible.
 
int Add (const TopoDS_Edge &Constr, const GeomAbs_Shape Order, const bool IsBound=true)
 Adds a new constraint which also defines an edge of the wire of the face Order: Order of the constraint: GeomAbs_C0 : the surface has to pass by 3D representation of the edge GeomAbs_G1 : the surface has to pass by 3D representation of the edge and to respect tangency with the first face of the edge GeomAbs_G2 : the surface has to pass by 3D representation of the edge and to respect tangency and curvature with the first face of the edge. Raises ConstructionError if the edge has no representation on a face and Order is GeomAbs_G1 or GeomAbs_G2.
 
int Add (const TopoDS_Edge &Constr, const TopoDS_Face &Support, const GeomAbs_Shape Order, const bool IsBound=true)
 Adds a new constraint which also defines an edge of the wire of the face Order: Order of the constraint: GeomAbs_C0 : the surface has to pass by 3D representation of the edge GeomAbs_G1 : the surface has to pass by 3D representation of the edge and to respect tangency with the given face GeomAbs_G2 : the surface has to pass by 3D representation of the edge and to respect tangency and curvature with the given face. Raises ConstructionError if the edge has no 2d representation on the given face.
 
int Add (const TopoDS_Face &Support, const GeomAbs_Shape Order)
 Adds a free constraint on a face. The corresponding edge has to be automatically recomputed. It is always a bound.
 
int Add (const gp_Pnt &Point)
 Adds a punctual constraint.
 
int Add (const double U, const double V, const TopoDS_Face &Support, const GeomAbs_Shape Order)
 Adds a punctual constraint.
 
void Build (const Message_ProgressRange &theRange=Message_ProgressRange()) override
 Builds the resulting faces.
 
bool IsDone () const override
 Tests whether computation of the filling plate has been completed.
 
const NCollection_List< TopoDS_Shape > & Generated (const TopoDS_Shape &S) override
 Returns the list of shapes generated from the shape .
 
double G0Error () const
 Returns the maximum distance between the result and the constraints. This is set at construction time.
 
double G1Error () const
 Returns the maximum angle between the result and the constraints. This is set at construction time.
 
double G2Error () const
 Returns the maximum angle between the result and the constraints. This is set at construction time.
 
double G0Error (const int Index)
 Returns the maximum distance attained between the result and the constraint Index. This is set at construction time.
 
double G1Error (const int Index)
 Returns the maximum angle between the result and the constraints. This is set at construction time.
 
double G2Error (const int Index)
 Returns the greatest difference in curvature found between the result and the constraint Index.
 
- Public Member Functions inherited from BRepBuilderAPI_MakeShape
virtual const TopoDS_ShapeShape ()
 Returns a shape built by the shape construction algorithm. Raises exception StdFail_NotDone if the shape was not built.
 
 operator TopoDS_Shape ()
 
virtual const NCollection_List< TopoDS_Shape > & Modified (const TopoDS_Shape &S)
 Returns the list of shapes modified from the shape .
 
virtual bool IsDeleted (const TopoDS_Shape &S)
 Returns true if the shape S has been deleted.
 
- Public Member Functions inherited from BRepBuilderAPI_Command
virtual ~BRepBuilderAPI_Command ()
 
void Check () const
 Raises NotDone if done is false.
 

Additional Inherited Members

- Protected Member Functions inherited from BRepBuilderAPI_MakeShape
 BRepBuilderAPI_MakeShape ()
 
- Protected Member Functions inherited from BRepBuilderAPI_Command
 BRepBuilderAPI_Command ()
 Set done to False.
 
void Done ()
 Set done to true.
 
void NotDone ()
 Set done to false.
 
- Protected Attributes inherited from BRepBuilderAPI_MakeShape
TopoDS_Shape myShape
 
NCollection_List< TopoDS_ShapemyGenerated
 

Detailed Description

N-Side Filling This algorithm avoids to build a face from:

The support surface of the face is computed by deformation of the initial surface in order to satisfy the given constraints. The set of bounding edges defines the wire of the face.

If no initial surface is given, the algorithm computes it automatically. If the set of edges is not connected (Free constraint) missing edges are automatically computed.

Limitations:

Other Applications:

Constructor & Destructor Documentation

◆ BRepOffsetAPI_MakeFilling()

BRepOffsetAPI_MakeFilling::BRepOffsetAPI_MakeFilling ( const int Degree = 3,
const int NbPtsOnCur = 15,
const int NbIter = 2,
const bool Anisotropie = false,
const double Tol2d = 0.00001,
const double Tol3d = 0.0001,
const double TolAng = 0.01,
const double TolCurv = 0.1,
const int MaxDeg = 8,
const int MaxSegments = 9 )

Constructs a wire filling object defined by.

  • the energy minimizing criterion Degree
  • the number of points on the curve NbPntsOnCur
  • the number of iterations NbIter
  • the Boolean Anisotropie
  • the 2D tolerance Tol2d
  • the 3D tolerance Tol3d
  • the angular tolerance TolAng
  • the tolerance for curvature TolCur
  • the highest polynomial degree MaxDeg
  • the greatest number of segments MaxSeg. If the Boolean Anistropie is true, the algorithm's performance is better in cases where the ratio of the length U and the length V indicate a great difference between the two. In other words, when the surface is, for example, extremely long.

Member Function Documentation

◆ Add() [1/5]

int BRepOffsetAPI_MakeFilling::Add ( const double U,
const double V,
const TopoDS_Face & Support,
const GeomAbs_Shape Order )

Adds a punctual constraint.

◆ Add() [2/5]

int BRepOffsetAPI_MakeFilling::Add ( const gp_Pnt & Point)

Adds a punctual constraint.

◆ Add() [3/5]

int BRepOffsetAPI_MakeFilling::Add ( const TopoDS_Edge & Constr,
const GeomAbs_Shape Order,
const bool IsBound = true )

Adds a new constraint which also defines an edge of the wire of the face Order: Order of the constraint: GeomAbs_C0 : the surface has to pass by 3D representation of the edge GeomAbs_G1 : the surface has to pass by 3D representation of the edge and to respect tangency with the first face of the edge GeomAbs_G2 : the surface has to pass by 3D representation of the edge and to respect tangency and curvature with the first face of the edge. Raises ConstructionError if the edge has no representation on a face and Order is GeomAbs_G1 or GeomAbs_G2.

◆ Add() [4/5]

int BRepOffsetAPI_MakeFilling::Add ( const TopoDS_Edge & Constr,
const TopoDS_Face & Support,
const GeomAbs_Shape Order,
const bool IsBound = true )

Adds a new constraint which also defines an edge of the wire of the face Order: Order of the constraint: GeomAbs_C0 : the surface has to pass by 3D representation of the edge GeomAbs_G1 : the surface has to pass by 3D representation of the edge and to respect tangency with the given face GeomAbs_G2 : the surface has to pass by 3D representation of the edge and to respect tangency and curvature with the given face. Raises ConstructionError if the edge has no 2d representation on the given face.

◆ Add() [5/5]

int BRepOffsetAPI_MakeFilling::Add ( const TopoDS_Face & Support,
const GeomAbs_Shape Order )

Adds a free constraint on a face. The corresponding edge has to be automatically recomputed. It is always a bound.

◆ Build()

void BRepOffsetAPI_MakeFilling::Build ( const Message_ProgressRange & theRange = Message_ProgressRange())
overridevirtual

Builds the resulting faces.

Reimplemented from BRepBuilderAPI_MakeShape.

◆ G0Error() [1/2]

double BRepOffsetAPI_MakeFilling::G0Error ( ) const

Returns the maximum distance between the result and the constraints. This is set at construction time.

◆ G0Error() [2/2]

double BRepOffsetAPI_MakeFilling::G0Error ( const int Index)

Returns the maximum distance attained between the result and the constraint Index. This is set at construction time.

◆ G1Error() [1/2]

double BRepOffsetAPI_MakeFilling::G1Error ( ) const

Returns the maximum angle between the result and the constraints. This is set at construction time.

◆ G1Error() [2/2]

double BRepOffsetAPI_MakeFilling::G1Error ( const int Index)

Returns the maximum angle between the result and the constraints. This is set at construction time.

◆ G2Error() [1/2]

double BRepOffsetAPI_MakeFilling::G2Error ( ) const

Returns the maximum angle between the result and the constraints. This is set at construction time.

◆ G2Error() [2/2]

double BRepOffsetAPI_MakeFilling::G2Error ( const int Index)

Returns the greatest difference in curvature found between the result and the constraint Index.

◆ Generated()

const NCollection_List< TopoDS_Shape > & BRepOffsetAPI_MakeFilling::Generated ( const TopoDS_Shape & S)
overridevirtual

Returns the list of shapes generated from the shape .

Reimplemented from BRepBuilderAPI_MakeShape.

◆ IsDone()

bool BRepOffsetAPI_MakeFilling::IsDone ( ) const
overridevirtual

Tests whether computation of the filling plate has been completed.

Reimplemented from BRepBuilderAPI_Command.

◆ LoadInitSurface()

void BRepOffsetAPI_MakeFilling::LoadInitSurface ( const TopoDS_Face & Surf)

Loads the initial surface Surf to begin the construction of the surface. This optional function is useful if the surface resulting from construction for the algorithm is likely to be complex. The support surface of the face under construction is computed by a deformation of Surf which satisfies the given constraints. The set of bounding edges defines the wire of the face. If no initial surface is given, the algorithm computes it automatically. If the set of edges is not connected (Free constraint), missing edges are automatically computed. Important: the initial surface must have orthogonal local coordinates, i.e. partial derivatives dS/du and dS/dv must be orthogonal at each point of surface. If this condition breaks, distortions of resulting surface are possible.

◆ SetApproxParam()

void BRepOffsetAPI_MakeFilling::SetApproxParam ( const int MaxDeg = 8,
const int MaxSegments = 9 )

Sets the parameters used to approximate the filling surface. These include:

  • MaxDeg - the highest degree which the polynomial defining the filling surface can have
  • MaxSegments - the greatest number of segments which the filling surface can have.

◆ SetConstrParam()

void BRepOffsetAPI_MakeFilling::SetConstrParam ( const double Tol2d = 0.00001,
const double Tol3d = 0.0001,
const double TolAng = 0.01,
const double TolCurv = 0.1 )

Sets the values of Tolerances used to control the constraint. Tol2d: Tol3d: it is the maximum distance allowed between the support surface and the constraints TolAng: it is the maximum angle allowed between the normal of the surface and the constraints TolCurv: it is the maximum difference of curvature allowed between the surface and the constraint.

◆ SetResolParam()

void BRepOffsetAPI_MakeFilling::SetResolParam ( const int Degree = 3,
const int NbPtsOnCur = 15,
const int NbIter = 2,
const bool Anisotropie = false )

Sets the parameters used for resolution. The default values of these parameters have been chosen for a good ratio quality/performance. Degree: it is the order of energy criterion to minimize for computing the deformation of the surface. The default value is 3 The recommended value is i+2 where i is the maximum order of the constraints. NbPtsOnCur: it is the average number of points for discretisation of the edges. NbIter: it is the maximum number of iterations of the process. For each iteration the number of discretisation points is increased. Anisotropie:


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