mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-04 13:13:25 +03:00
0028828: Modeling Algorithms - New functionalities of BRepFilletAPI_MakeChamfer algorithm
Two new functionalities have been added in BRepFilletAPI_MakeChamfer: - constant throat (the section of chamfer is isosceles triangle, its height is constant in all sections - this is the "throat" of the weld); - constant throat with penetration(the section of chamfer is right-angled triangle, the first of two surfaces (where is the top of the chamfer) is virtually moved inside the solid by offset operation, the apex of the section is on the intersection curve between moved surface and second surface, right angle is at the top of the chamfer, the length of the leg from apex to top is constant - this is the "throat" of the weld). - New abstract classes BlendFunc_GenChamfer and BlendFunc_GenChamfInv have been added; - Class BlendFunc_Chamfer is now descended from BlendFunc_GenChamfer, class BlendFunc_ChamfInv is now descended from BlendFunc_GenChamfInv. - New class BlendFunc_ConstThroat is descended from BlendFunc_GenChamfer, new class BlendFund_ConstThroatInv is descended from BlendFunc_GenChamfInv. - New class BlendFunc_ConstThroatWithPenetration is descended from BlendFunc_GenChamfer, new class BlendFund_ConstThroatWithPenetrationInv is descended from BlendFunc_GenChamfInv. - Class ChFi3d_ChBuilder has now mode of chamfer that can be ClassicChamfer, ConstThroatChamfer and ConstThroatWithPenetrationChamfer. - Two new DRAW Test Harness commands "chamf_throat" ant "chamf_throat_with_penetration" have been added for the second mode of ChBuilder. - The interface of DRAW Test Harness command "chamf" changed for symmetric case.
This commit is contained in:
@@ -55,10 +55,9 @@ void BRepFilletAPI_MakeChamfer::Add(const TopoDS_Edge &E )
|
||||
//=======================================================================
|
||||
|
||||
void BRepFilletAPI_MakeChamfer::Add(const Standard_Real Dis,
|
||||
const TopoDS_Edge &E,
|
||||
const TopoDS_Face &F)
|
||||
const TopoDS_Edge &E)
|
||||
{
|
||||
myBuilder.Add(Dis, E, F);
|
||||
myBuilder.Add(Dis, E);
|
||||
}
|
||||
|
||||
|
||||
@@ -162,12 +161,20 @@ void BRepFilletAPI_MakeChamfer::SetDistAngle(const Standard_Real Dis,
|
||||
//================================================================
|
||||
|
||||
void BRepFilletAPI_MakeChamfer::GetDistAngle(const Standard_Integer IC,
|
||||
Standard_Real& Dis,
|
||||
Standard_Real& Angle,
|
||||
Standard_Boolean& DisOnFace1) const
|
||||
Standard_Real& Dis,
|
||||
Standard_Real& Angle) const
|
||||
{
|
||||
myBuilder.GetDistAngle(IC, Dis, Angle, DisOnFace1);
|
||||
myBuilder.GetDistAngle(IC, Dis, Angle);
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : SetMode
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
|
||||
void BRepFilletAPI_MakeChamfer::SetMode(const ChFiDS_ChamfMode theMode)
|
||||
{
|
||||
myBuilder.SetMode(theMode);
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
|
@@ -62,9 +62,8 @@ public:
|
||||
|
||||
//! Adds edge E to the table of edges used by this
|
||||
//! algorithm to build chamfers, where
|
||||
//! the parameters of the chamfer are given by the two
|
||||
//! distances Dis1 and Dis2; the face F identifies the side
|
||||
//! where Dis1 is measured.
|
||||
//! the parameters of the chamfer are given by
|
||||
//! the distance Dis (symmetric chamfer).
|
||||
//! The Add function results in a contour being built by
|
||||
//! propagation from the edge E (i.e. the contour contains at
|
||||
//! least this edge). This contour is composed of edges of
|
||||
@@ -73,7 +72,7 @@ public:
|
||||
//! series of faces being located on either side of the contour.
|
||||
//! Warning
|
||||
//! Nothing is done if edge E or the face F does not belong to the initial shape.
|
||||
Standard_EXPORT void Add (const Standard_Real Dis, const TopoDS_Edge& E, const TopoDS_Face& F);
|
||||
Standard_EXPORT void Add (const Standard_Real Dis, const TopoDS_Edge& E);
|
||||
|
||||
//! Sets the distances Dis1 and Dis2 which give the
|
||||
//! parameters of the chamfer along the contour of index
|
||||
@@ -87,9 +86,19 @@ public:
|
||||
|
||||
Standard_EXPORT void GetDist (const Standard_Integer IC, Standard_Real& Dis) const;
|
||||
|
||||
//! Adds a fillet contour in the builder (builds a
|
||||
//! contour of tangent edges to <E> and sets the two
|
||||
//! distances <Dis1> and <Dis2> ( parameters of the chamfer ) ).
|
||||
//! Adds edge E to the table of edges used by this
|
||||
//! algorithm to build chamfers, where
|
||||
//! the parameters of the chamfer are given by the two
|
||||
//! distances Dis1 and Dis2; the face F identifies the side
|
||||
//! where Dis1 is measured.
|
||||
//! The Add function results in a contour being built by
|
||||
//! propagation from the edge E (i.e. the contour contains at
|
||||
//! least this edge). This contour is composed of edges of
|
||||
//! the shape which are tangential to one another and
|
||||
//! which delimit two series of tangential faces, with one
|
||||
//! series of faces being located on either side of the contour.
|
||||
//! Warning
|
||||
//! Nothing is done if edge E or the face F does not belong to the initial shape.
|
||||
Standard_EXPORT void Add (const Standard_Real Dis1, const Standard_Real Dis2, const TopoDS_Edge& E, const TopoDS_Face& F);
|
||||
|
||||
//! Sets the distances Dis1 and Dis2 which give the
|
||||
@@ -122,7 +131,10 @@ public:
|
||||
|
||||
//! gives the distances <Dis> and <Angle> of the fillet
|
||||
//! contour of index <IC> in the DS
|
||||
Standard_EXPORT void GetDistAngle (const Standard_Integer IC, Standard_Real& Dis, Standard_Real& Angle, Standard_Boolean& DisOnFace1) const;
|
||||
Standard_EXPORT void GetDistAngle (const Standard_Integer IC, Standard_Real& Dis, Standard_Real& Angle) const;
|
||||
|
||||
//! Sets the mode of chamfer
|
||||
Standard_EXPORT void SetMode (const ChFiDS_ChamfMode theMode);
|
||||
|
||||
//! return True if chamfer symetric false else.
|
||||
Standard_EXPORT Standard_Boolean IsSymetric (const Standard_Integer IC) const;
|
||||
|
Reference in New Issue
Block a user