![]() |
Open CASCADE Technology Reference Manual 8.0.0
|
This class provides for a framework to construct a shell or a solid along a spine consisting in a wire. To produce a solid, the initial wire must be closed. Two approaches are used: More...
#include <BRepOffsetAPI_MakePipeShell.hxx>

Public Member Functions | |
| BRepOffsetAPI_MakePipeShell (const TopoDS_Wire &Spine) | |
| Constructs the shell-generating framework defined by the wire Spine. Sets an sweep's mode If no mode are set, the mode use in MakePipe is used. | |
| void | SetMode (const bool IsFrenet=false) |
| Sets a Frenet or a CorrectedFrenet trihedron to perform the sweeping If IsFrenet is false, a corrected Frenet trihedron is used. | |
| void | SetDiscreteMode () |
| Sets a Discrete trihedron to perform the sweeping. | |
| void | SetMode (const gp_Ax2 &Axe) |
| Sets a fixed trihedron to perform the sweeping all sections will be parallel. | |
| void | SetMode (const gp_Dir &BiNormal) |
| Sets a fixed BiNormal direction to perform the sweeping. Angular relations between the section(s) and <BiNormal> will be constant. | |
| bool | SetMode (const TopoDS_Shape &SpineSupport) |
| Sets support to the spine to define the BiNormal of the trihedron, like the normal to the surfaces. Warning: To be effective, Each edge of the <spine> must have a representation on one face of<SpineSupport> | |
| void | SetMode (const TopoDS_Wire &AuxiliarySpine, const bool CurvilinearEquivalence, const BRepFill_TypeOfContact KeepContact=BRepFill_NoContact) |
| Sets an auxiliary spine to define the Normal For each Point of the Spine P, an Point Q is evaluated on <AuxiliarySpine> If <CurvilinearEquivalence> Q split <AuxiliarySpine> with the same length ratio than P split <Spline>. Else the plan define by P and the tangent to the <Spine> intersect <AuxiliarySpine> in Q. If <KeepContact> equals BRepFill_NoContact: The Normal is defined by the vector PQ. If <KeepContact> equals BRepFill_Contact: The Normal is defined to achieve that the sweeped section is in contact to the auxiliarySpine. The width of section is constant all along the path. In other words, the auxiliary spine lies on the swept surface, but not necessarily is a boundary of this surface. However, the auxiliary spine has to be close enough to the main spine to provide intersection with any section all along the path. If <KeepContact> equals BRepFill_ContactOnBorder: The auxiliary spine becomes a boundary of the swept surface and the width of section varies along the path. Give section to sweep. Possibilities are: | |
| void | Add (const TopoDS_Shape &Profile, const bool WithContact=false, const bool WithCorrection=false) |
| Adds the section Profile to this framework. First and last sections may be punctual, so the shape Profile may be both wire and vertex. Correspondent point on spine is computed automatically. If WithContact is true, the section is translated to be in contact with the spine. If WithCorrection is true, the section is rotated to be orthogonal to the spine?s tangent in the correspondent point. This option has no sense if the section is punctual (Profile is of type TopoDS_Vertex). | |
| void | Add (const TopoDS_Shape &Profile, const TopoDS_Vertex &Location, const bool WithContact=false, const bool WithCorrection=false) |
| Adds the section Profile to this framework. Correspondent point on the spine is given by Location. Warning: To be effective, it is not recommended to combine methods Add and SetLaw. | |
| void | SetLaw (const TopoDS_Shape &Profile, const occ::handle< Law_Function > &L, const bool WithContact=false, const bool WithCorrection=false) |
| Sets the evolution law defined by the wire Profile with its position (Location, WithContact, WithCorrection are the same options as in methods Add) and a homotetic law defined by the function L. Warning: To be effective, it is not recommended to combine methods Add and SetLaw. | |
| void | SetLaw (const TopoDS_Shape &Profile, const occ::handle< Law_Function > &L, const TopoDS_Vertex &Location, const bool WithContact=false, const bool WithCorrection=false) |
| Sets the evolution law defined by the wire Profile with its position (Location, WithContact, WithCorrection are the same options as in methods Add) and a homotetic law defined by the function L. Warning: To be effective, it is not recommended to combine methods Add and SetLaw. | |
| void | Delete (const TopoDS_Shape &Profile) |
| Removes the section Profile from this framework. | |
| bool | IsReady () const |
| Returns true if this tool object is ready to build the shape, i.e. has a definition for the wire section Profile. | |
| BRepBuilderAPI_PipeError | GetStatus () const |
| Get a status, when Simulate or Build failed. It can be BRepBuilderAPI_PipeDone, BRepBuilderAPI_PipeNotDone, BRepBuilderAPI_PlaneNotIntersectGuide, BRepBuilderAPI_ImpossibleContact. | |
| void | SetTolerance (const double Tol3d=1.0e-4, const double BoundTol=1.0e-4, const double TolAngular=1.0e-2) |
| Sets the following tolerance values. | |
| void | SetMaxDegree (const int NewMaxDegree) |
| Define the maximum V degree of resulting surface. | |
| void | SetMaxSegments (const int NewMaxSegments) |
| Define the maximum number of spans in V-direction on resulting surface. | |
| void | SetForceApproxC1 (const bool ForceApproxC1) |
| Set the flag that indicates attempt to approximate a C1-continuous surface if a swept surface proved to be C0. | |
| void | SetTransitionMode (const BRepBuilderAPI_TransitionMode Mode=BRepBuilderAPI_Transformed) |
| Sets the transition mode to manage discontinuities on the swept shape caused by fractures on the spine. The transition mode can be BRepBuilderAPI_Transformed (default value), BRepBuilderAPI_RightCorner, BRepBuilderAPI_RoundCorner: | |
| void | Simulate (const int NumberOfSection, NCollection_List< TopoDS_Shape > &Result) |
| Simulates the resulting shape by calculating its cross-sections. The spine is divided by this cross-sections into (NumberOfSection - 1) equal parts, the number of cross-sections is NumberOfSection. The cross-sections are wires and they are returned in the list Result. This gives a rapid preview of the resulting shape, which will be obtained using the settings you have provided. Raises NotDone if <me> it is not Ready. | |
| void | Build (const Message_ProgressRange &theRange=Message_ProgressRange()) override |
| Builds the resulting shape (redefined from MakeShape). | |
| bool | MakeSolid () |
| Transforms the sweeping Shell in Solid. If a propfile is not closed returns False. | |
| TopoDS_Shape | FirstShape () override |
| Returns the TopoDS Shape of the bottom of the sweep. | |
| TopoDS_Shape | LastShape () override |
| Returns the TopoDS Shape of the top of the sweep. | |
| const NCollection_List< TopoDS_Shape > & | Generated (const TopoDS_Shape &S) override |
| Returns a list of new shapes generated from the shape S by the shell-generating algorithm. This function is redefined from BRepOffsetAPI_MakeShape::Generated. S can be an edge or a vertex of a given Profile (see methods Add). | |
| double | ErrorOnSurface () const |
| void | SetIsBuildHistory (const bool theIsBuildHistory) |
| Sets the build history flag. If set to True, the pipe shell will store the history of the sections and the spine, which can be used for further modifications or analysis. | |
| bool | IsBuildHistory () const |
| Returns the build history flag. If True, the pipe shell stores the history of the sections and the spine. | |
| void | Profiles (NCollection_List< TopoDS_Shape > &theProfiles) |
| Returns the list of original profiles. | |
| const TopoDS_Wire & | Spine () |
| Returns the spine. | |
Public Member Functions inherited from BRepBuilderAPI_MakeShape | |
| virtual const TopoDS_Shape & | Shape () |
| 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 () |
| virtual bool | IsDone () const |
| 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_Shape > | myGenerated |
This class provides for a framework to construct a shell or a solid along a spine consisting in a wire. To produce a solid, the initial wire must be closed. Two approaches are used:
| BRepOffsetAPI_MakePipeShell::BRepOffsetAPI_MakePipeShell | ( | const TopoDS_Wire & | Spine | ) |
Constructs the shell-generating framework defined by the wire Spine. Sets an sweep's mode If no mode are set, the mode use in MakePipe is used.
| void BRepOffsetAPI_MakePipeShell::Add | ( | const TopoDS_Shape & | Profile, |
| const bool | WithContact = false, | ||
| const bool | WithCorrection = false ) |
Adds the section Profile to this framework. First and last sections may be punctual, so the shape Profile may be both wire and vertex. Correspondent point on spine is computed automatically. If WithContact is true, the section is translated to be in contact with the spine. If WithCorrection is true, the section is rotated to be orthogonal to the spine?s tangent in the correspondent point. This option has no sense if the section is punctual (Profile is of type TopoDS_Vertex).
| void BRepOffsetAPI_MakePipeShell::Add | ( | const TopoDS_Shape & | Profile, |
| const TopoDS_Vertex & | Location, | ||
| const bool | WithContact = false, | ||
| const bool | WithCorrection = false ) |
Adds the section Profile to this framework. Correspondent point on the spine is given by Location. Warning: To be effective, it is not recommended to combine methods Add and SetLaw.
|
overridevirtual |
Builds the resulting shape (redefined from MakeShape).
Reimplemented from BRepBuilderAPI_MakeShape.
| void BRepOffsetAPI_MakePipeShell::Delete | ( | const TopoDS_Shape & | Profile | ) |
Removes the section Profile from this framework.
| double BRepOffsetAPI_MakePipeShell::ErrorOnSurface | ( | ) | const |
|
overridevirtual |
Returns the TopoDS Shape of the bottom of the sweep.
Implements BRepPrimAPI_MakeSweep.
|
overridevirtual |
Returns a list of new shapes generated from the shape S by the shell-generating algorithm. This function is redefined from BRepOffsetAPI_MakeShape::Generated. S can be an edge or a vertex of a given Profile (see methods Add).
Reimplemented from BRepBuilderAPI_MakeShape.
| BRepBuilderAPI_PipeError BRepOffsetAPI_MakePipeShell::GetStatus | ( | ) | const |
Get a status, when Simulate or Build failed. It can be BRepBuilderAPI_PipeDone, BRepBuilderAPI_PipeNotDone, BRepBuilderAPI_PlaneNotIntersectGuide, BRepBuilderAPI_ImpossibleContact.
|
inline |
Returns the build history flag. If True, the pipe shell stores the history of the sections and the spine.
| bool BRepOffsetAPI_MakePipeShell::IsReady | ( | ) | const |
Returns true if this tool object is ready to build the shape, i.e. has a definition for the wire section Profile.
|
overridevirtual |
Returns the TopoDS Shape of the top of the sweep.
Implements BRepPrimAPI_MakeSweep.
| bool BRepOffsetAPI_MakePipeShell::MakeSolid | ( | ) |
Transforms the sweeping Shell in Solid. If a propfile is not closed returns False.
|
inline |
Returns the list of original profiles.
| void BRepOffsetAPI_MakePipeShell::SetDiscreteMode | ( | ) |
Sets a Discrete trihedron to perform the sweeping.
Set the flag that indicates attempt to approximate a C1-continuous surface if a swept surface proved to be C0.
Sets the build history flag. If set to True, the pipe shell will store the history of the sections and the spine, which can be used for further modifications or analysis.
| void BRepOffsetAPI_MakePipeShell::SetLaw | ( | const TopoDS_Shape & | Profile, |
| const occ::handle< Law_Function > & | L, | ||
| const bool | WithContact = false, | ||
| const bool | WithCorrection = false ) |
Sets the evolution law defined by the wire Profile with its position (Location, WithContact, WithCorrection are the same options as in methods Add) and a homotetic law defined by the function L. Warning: To be effective, it is not recommended to combine methods Add and SetLaw.
| void BRepOffsetAPI_MakePipeShell::SetLaw | ( | const TopoDS_Shape & | Profile, |
| const occ::handle< Law_Function > & | L, | ||
| const TopoDS_Vertex & | Location, | ||
| const bool | WithContact = false, | ||
| const bool | WithCorrection = false ) |
Sets the evolution law defined by the wire Profile with its position (Location, WithContact, WithCorrection are the same options as in methods Add) and a homotetic law defined by the function L. Warning: To be effective, it is not recommended to combine methods Add and SetLaw.
Define the maximum V degree of resulting surface.
Define the maximum number of spans in V-direction on resulting surface.
Sets a Frenet or a CorrectedFrenet trihedron to perform the sweeping If IsFrenet is false, a corrected Frenet trihedron is used.
Sets a fixed trihedron to perform the sweeping all sections will be parallel.
Sets a fixed BiNormal direction to perform the sweeping. Angular relations between the section(s) and <BiNormal> will be constant.
| bool BRepOffsetAPI_MakePipeShell::SetMode | ( | const TopoDS_Shape & | SpineSupport | ) |
Sets support to the spine to define the BiNormal of the trihedron, like the normal to the surfaces. Warning: To be effective, Each edge of the <spine> must have a representation on one face of<SpineSupport>
| void BRepOffsetAPI_MakePipeShell::SetMode | ( | const TopoDS_Wire & | AuxiliarySpine, |
| const bool | CurvilinearEquivalence, | ||
| const BRepFill_TypeOfContact | KeepContact = BRepFill_NoContact ) |
Sets an auxiliary spine to define the Normal For each Point of the Spine P, an Point Q is evaluated on <AuxiliarySpine> If <CurvilinearEquivalence> Q split <AuxiliarySpine> with the same length ratio than P split <Spline>. Else the plan define by P and the tangent to the <Spine> intersect <AuxiliarySpine> in Q. If <KeepContact> equals BRepFill_NoContact: The Normal is defined by the vector PQ. If <KeepContact> equals BRepFill_Contact: The Normal is defined to achieve that the sweeped section is in contact to the auxiliarySpine. The width of section is constant all along the path. In other words, the auxiliary spine lies on the swept surface, but not necessarily is a boundary of this surface. However, the auxiliary spine has to be close enough to the main spine to provide intersection with any section all along the path. If <KeepContact> equals BRepFill_ContactOnBorder: The auxiliary spine becomes a boundary of the swept surface and the width of section varies along the path. Give section to sweep. Possibilities are:
| void BRepOffsetAPI_MakePipeShell::SetTolerance | ( | const double | Tol3d = 1.0e-4, |
| const double | BoundTol = 1.0e-4, | ||
| const double | TolAngular = 1.0e-2 ) |
Sets the following tolerance values.
| void BRepOffsetAPI_MakePipeShell::SetTransitionMode | ( | const BRepBuilderAPI_TransitionMode | Mode = BRepBuilderAPI_Transformed | ) |
Sets the transition mode to manage discontinuities on the swept shape caused by fractures on the spine. The transition mode can be BRepBuilderAPI_Transformed (default value), BRepBuilderAPI_RightCorner, BRepBuilderAPI_RoundCorner:
| void BRepOffsetAPI_MakePipeShell::Simulate | ( | const int | NumberOfSection, |
| NCollection_List< TopoDS_Shape > & | Result ) |
Simulates the resulting shape by calculating its cross-sections. The spine is divided by this cross-sections into (NumberOfSection - 1) equal parts, the number of cross-sections is NumberOfSection. The cross-sections are wires and they are returned in the list Result. This gives a rapid preview of the resulting shape, which will be obtained using the settings you have provided. Raises NotDone if <me> it is not Ready.
|
inline |
Returns the spine.