#include "AdvancedEngine_IOperations.hxx"
#include "AdvancedEngine_PipeTShapeDriver.hxx"
#include "AdvancedEngine_IPipeTShape.hxx"
#include "AdvancedEngine_DividedDiskDriver.hxx"
#include "AdvancedEngine_IDividedDisk.hxx"
#include "AdvancedEngine_SmoothingSurfaceDriver.hxx"
#include "AdvancedEngine_ISmoothingSurface.hxx"
#include <Basics_OCCTVersion.hxx>
#include <utilities.h>
#include <OpUtil.hxx>
#include <Utils_ExceptHandlers.hxx>
#include <GEOM_Function.hxx>
#include <GEOM_PythonDump.hxx>
#include <GEOMUtils.hxx>
#include <GEOMAlgo_ClsfSurf.hxx>
#include <GEOMAlgo_FinderShapeOn2.hxx>
#include <GEOMAlgo_Splitter.hxx>
#include <GEOMImpl_Gen.hxx>
#include <GEOMImpl_Types.hxx>
#include <GEOMImpl_IBasicOperations.hxx>
#include <GEOMImpl_IBooleanOperations.hxx>
#include <GEOMImpl_IShapesOperations.hxx>
#include <GEOMImpl_ITransformOperations.hxx>
#include <GEOMImpl_IBlocksOperations.hxx>
#include <GEOMImpl_I3DPrimOperations.hxx>
#include <GEOMImpl_ILocalOperations.hxx>
#include <GEOMImpl_IHealingOperations.hxx>
#include <GEOMImpl_IGroupOperations.hxx>
#include <GEOMImpl_GlueDriver.hxx>
#include <TDF_Tool.hxx>
#include <TFunction_DriverTable.hxx>
#include <TFunction_Driver.hxx>
#include <TNaming_CopyShape.hxx>
#include <TopExp.hxx>
#include <TopExp_Explorer.hxx>
#include <TopoDS.hxx>
#include <TopoDS_Vertex.hxx>
#include <TopTools_IndexedMapOfShape.hxx>
#include <TopTools_ListIteratorOfListOfShape.hxx>
#include <TColStd_IndexedDataMapOfTransientTransient.hxx>
#include <BRep_Builder.hxx>
#include <BRep_Tool.hxx>
#include <BRepAdaptor_Surface.hxx>
#include <BRepAlgoAPI_Cut.hxx>
#include <BRepAlgoAPI_Fuse.hxx>
#include <BRepBuilderAPI_MakeFace.hxx>
#include <BRepBuilderAPI_MakeVertex.hxx>
#include <BRepBuilderAPI_Transform.hxx>
#include <BRepPrimAPI_MakeCone.hxx>
#include <BRepPrimAPI_MakeCylinder.hxx>
#include <gp_Ax3.hxx>
#include <gp_Pln.hxx>
#include <gp_Pnt.hxx>
#include <gp_Vec.hxx>
#include <GC_MakeConicalSurface.hxx>
#include <Geom_CylindricalSurface.hxx>
#include <ShapeAnalysis_Edge.hxx>
#include <cmath>
#include "AdvancedEngine_Types.hxx"
#include <Standard_Stream.hxx>
#include <Standard_Failure.hxx>
#include <StdFail_NotDone.hxx>
#include <Standard_ErrorHandler.hxx>
Macros | |
#define | HALF_LENGTH_MAIN_PIPE "Main pipe half length" |
#define | HALF_LENGTH_INCIDENT_PIPE "Incident pipe half length" |
#define | CIRCULAR_QUARTER_PIPE "Circular quarter of pipe" |
#define | THICKNESS "Thickness" |
#define | FLANGE "Flange" |
#define | CHAMFER_OR_FILLET "Chamfer or fillet" |
#define | JUNCTION_FACE_1 "Junction 1" |
#define | JUNCTION_FACE_2 "Junction 2" |
#define | JUNCTION_FACE_3 "Junction 3" |
#define | FIND_GROUPS_BY_POINTS 1 |
#define | FILLET_FIX_TOLERANCE |
Functions | |
Handle (TColStd_HSequenceOfTransient) AdvancedEngine_IOperations | |
Create a T-shape object with specified caracteristics for the main and the incident pipes (radius, width, half-length). Center of the shape is (0,0,0). The main plane of the T-shape is XOY. More... | |
Handle (GEOM_Object) AdvancedEngine_IOperations | |
#define CHAMFER_OR_FILLET "Chamfer or fillet" |
#define CIRCULAR_QUARTER_PIPE "Circular quarter of pipe" |
#define FILLET_FIX_TOLERANCE |
#define FIND_GROUPS_BY_POINTS 1 |
#define FLANGE "Flange" |
#define HALF_LENGTH_INCIDENT_PIPE "Incident pipe half length" |
#define HALF_LENGTH_MAIN_PIPE "Main pipe half length" |
#define JUNCTION_FACE_1 "Junction 1" |
#define JUNCTION_FACE_2 "Junction 2" |
#define JUNCTION_FACE_3 "Junction 3" |
#define THICKNESS "Thickness" |
Handle | ( | TColStd_HSequenceOfTransient | ) |
Find sub-shapes complying with given status about quadrangle.
Find shape objects and their entries by their ids.
Find sub-shapes complying with given status about surface.
Create a T-shape object with specified caracteristics for the main and the incident pipes (radius, width, half-length). A fillet is created on the junction of the pipes. The extremities of the main pipe are located on junctions points P1 and P2. The extremity of the incident pipe is located on junction point P3.
MakePipeTShape
theR1 | Internal radius of main pipe |
theW1 | Width of main pipe |
theL1 | Half-length of main pipe |
theR2 | Internal radius of incident pipe (R2 < R1) |
theW2 | Width of incident pipe (R2+W2 < R1+W1) |
theL2 | Half-length of incident pipe |
theHexMesh | Boolean indicating if shape is prepared for hex mesh |
MakePipeTShapeWithPosition Create a T-shape object with specified caracteristics for the main and the incident pipes (radius, width, half-length). The extremities of the main pipe are located on junctions points P1 and P2. The extremity of the incident pipe is located on junction point P3.
theR1 | Internal radius of main pipe |
theW1 | Width of main pipe |
theL1 | Half-length of main pipe |
theR2 | Internal radius of incident pipe (R2 < R1) |
theW2 | Width of incident pipe (R2+W2 < R1+W1) |
theL2 | Half-length of incident pipe |
theHexMesh | Boolean indicating if shape is prepared for hex mesh |
theP1 | 1st junction point of main pipe |
theP2 | 2nd junction point of main pipe |
theP3 | Junction point of incident pipe |
MakePipeTShapeChamfer Create a T-shape object with specified caracteristics for the main and the incident pipes (radius, width, half-length). A chamfer is created on the junction of the pipes. Center of the shape is (0,0,0). The main plane of the T-shape is XOY.
theR1 | Internal radius of main pipe |
theW1 | Width of main pipe |
theL1 | Half-length of main pipe |
theR2 | Internal radius of incident pipe (R2 < R1) |
theW2 | Width of incident pipe (R2+W2 < R1+W1) |
theL2 | Half-length of incident pipe |
theH | Height of chamfer. |
theW | Width of chamfer. |
theHexMesh | Boolean indicating if shape is prepared for hex mesh |
MakePipeTShapeChamferWithPosition Create a T-shape object with specified caracteristics for the main and the incident pipes (radius, width, half-length). A chamfer is created on the junction of the pipes. The extremities of the main pipe are located on junctions points P1 and P2. The extremity of the incident pipe is located on junction point P3.
theR1 | Internal radius of main pipe |
theW1 | Width of main pipe |
theL1 | Half-length of main pipe |
theR2 | Internal radius of incident pipe (R2 < R1) |
theW2 | Width of incident pipe (R2+W2 < R1+W1) |
theL2 | Half-length of incident pipe |
theH | Height of chamfer. |
theW | Width of chamfer. |
theHexMesh | Boolean indicating if shape is prepared for hex mesh |
theP1 | 1st junction point of main pipe |
theP2 | 2nd junction point of main pipe |
theP3 | Junction point of incident pipe |
MakePipeTShapeFillet Create a T-shape object with specified caracteristics for the main and the incident pipes (radius, width, half-length). A fillet is created on the junction of the pipes. Center of the shape is (0,0,0). The main plane of the T-shape is XOY.
theR1 | Internal radius of main pipe |
theW1 | Width of main pipe |
theL1 | Half-length of main pipe |
theR2 | Internal radius of incident pipe (R2 < R1) |
theW2 | Width of incident pipe (R2+W2 < R1+W1) |
theL2 | Half-length of incident pipe |
theRF | Radius of curvature of fillet. |
theHexMesh | Boolean indicating if shape is prepared for hex mesh |
MakePipeTShapeFilletWithPosition
theR1 | Internal radius of main pipe |
theW1 | Width of main pipe |
theL1 | Half-length of main pipe |
theR2 | Internal radius of incident pipe (R2 < R1) |
theW2 | Width of incident pipe (R2+W2 < R1+W1) |
theL2 | Half-length of incident pipe |
theRF | Radius of curvature of fillet |
theHexMesh | Boolean indicating if shape is prepared for hex mesh |
theP1 | 1st junction point of main pipe |
theP2 | 2nd junction point of main pipe |
theP3 | Junction point of incident pipe |
GetLastDependency
MakePipeWithDifferentSections
MakePipeWithShellSections
MakePipeShellsWithoutPath
MakePipeBiNormalAlongVector
GetBlocksByParts
Propagate
GetExistingSubObjects
MakeExplode
MakeSubShapes
theBox | - the box to check state of sub-shapes against |
theShape | - the shape to explore |
theShapeType | - type of sub-shape of theShape |
theState | - required state |
Handle(TColStd_HSequenceOfTransient) | - found sub-shapes |
theCheckShape | - the shape to check state of sub-shapes against |
theShape | - the shape to explore |
theShapeType | - type of sub-shape of theShape |
theState | - required state |
Handle(TColStd_HSequenceOfTransient) | - found sub-shapes |
GetSubShapeEdgeSorted
GetSubShapesWithTolerance
theShapeIDs | - incoming shape ids |
theShapeEntries | - outgoing entries like "entry1, entry2, ..." |
Handle(TColStd_HSequenceOfTransient) | - found shape objects |
theSurface | - the surface to check state of sub-shapes against |
theShape | - the shape to explore |
theShapeType | - type of sub-shape of theShape |
theState | - required state |
theShapeEntries | - outgoing entries like "entry1, entry2, ..." |
Handle(TColStd_HSequenceOfInteger) | - IDs of found sub-shapes |
GetShapesOnPlane
GetShapesOnPlaneWithLocation
GetShapesOnCylinder
GetShapesOnCylinderWithLocation
GetShapesOnSphere
theShape | - the shape to explore |
theShapeType | - type of sub-shape of theShape |
theTopLeftPoint | - top left quadrangle corner |
theTopRigthPoint | - top right quadrangle corner |
theBottomLeftPoint | - bottom left quadrangle corner |
theBottomRigthPoint | - bottom right quadrangle corner |
theState | - required state |
Handle(TColStd_HSequenceOfInteger) | - IDs of found sub-shapes |
References GEOM_TSHAPE, AdvancedEngine_PipeTShapeDriver::GetID(), KO, NULL, OK, AdvancedEngine_IPipeTShape::SetHexMesh(), AdvancedEngine_IPipeTShape::SetL1(), AdvancedEngine_IPipeTShape::SetL2(), AdvancedEngine_IPipeTShape::SetR1(), AdvancedEngine_IPipeTShape::SetR2(), AdvancedEngine_IPipeTShape::SetW1(), AdvancedEngine_IPipeTShape::SetW2(), and TSHAPE_BASIC.
Handle | ( | GEOM_Object | ) |
This function allows to create a disk already divided into blocks. It can be used to create divided pipes for later meshing in hexaedra.
theR | Radius of the disk |
theRatio | Relative size of the central square diagonal against the disk diameter |
theOrientation | Plane on which the disk will be built |
thePattern | The division pattern of the disk (hexagon or square in the center) |
This function allows to create a disk already divided into blocks. It can be used to create divided pipes for later meshing in hexaedra.
theR | Radius of the disk |
theRatio | Relative size of the central square diagonal against the disk diameter |
Builds a cylinder prepared for hexa meshes
theR | Radius of the cylinder |
theH | Height of the cylinder |
Create a smoothing surface from a set of points
thelPoints | list of points or compounds of points |
theNbMax | maximum number of Bezier pieces in the resulting surface. |
theDegMax | maximum degree of the resulting BSpline surface |
theDMax | specifies maximum value of the GeomPlate_PlateG0Criterion criterion. |
AddSubShape
GetReferencedObject
MakeBoxTwoPnt
MakeFaceHW
MakeFaceObjHW
MakeDiskPntVecR
MakeDiskThreePnt
MakeDiskR
MakeCylinderRH
MakeCylinderRHA
MakeCylinderPntVecRH
MakeCylinderPntVecRHA
MakeConeR1R2H
MakeConePntVecR1R2H
MakeSphereR
MakeSpherePntR
MakeTorusRR
MakeTorusPntVecRR
MakePrismVecH
MakePrismVecH2Ways
MakePrismTwoPnt
MakePrismTwoPnt2Ways
MakePrismDXDYDZ
MakePrismDXDYDZ_2WAYS
MakeDraftPrism
MakeRevolutionAxisAngle
MakeRevolutionAxisAngle2Ways
MakeFilling
MakeThruSections
MakeThickening
RestorePath
createGroup
MakePointWithReference
makePointOnGeom
MakePointOnCurve
MakePointOnCurveByCoord
MakePointOnCurveByLength
MakePointOnSurface
MakePointOnSurfaceByCoord
MakePointOnFace
MakePointOnLinesIntersection
MakeTangentOnCurve
MakeVectorDXDYDZ
MakeVectorTwoPnt
MakeLine
MakeLineTwoPnt
MakeLineTwoFaces
MakePlaneThreePnt
MakePlanePntVec
MakePlaneFace
MakePlane2Vec
MakePlaneLCS
MakeMarker
MakeMarkerFromShape
MakeMarkerPntTwoVec
MakeTangentPlaneOnFace
MakeQuad2Edges
MakeQuad4Vertices
MakeHexa
MakeHexa2Faces
MakeBlockCompound
GetPoint
GetVertexNearPoint
GetEdge
GetEdgeNearPoint
GetFaceByPoints
GetFaceByEdges
GetOppositeFace
GetFaceNearPoint
GetFaceByNormale
GetShapesNearPoint
GetNonBlocks
RemoveExtraEdges
UnionFaces
CheckAndImprove
GetBlockNearPoint
GetBlockByParts
MakeMultiTransformation1D
MakeMultiTransformation2D
MakeFuse
MakeFuseList
MakeCommonList
MakeCutList
MakePartition
MakeHalfPartition
MakeCircleCenter2Pnt
MakeCirclePntVecR
MakeEllipse
MakeArc
MakeArcCenter
MakeArcOfEllipse
MakePolyline
MakeSplineBezier
MakeSplineInterpolation
MakeSplineInterpolWithTangents
MakeCurveParametric
MakeSketcher
MakeSketcherOnPlane
Make3DSketcherCommand
Make3DSketcher
MakeIsoline
MakePolyline2D
MakePolyline2DOnPlane
UnionGroups
IntersectGroups
CutGroups
UnionListOfGroups
IntersectListOfGroups
CutListOfGroups
GetMainShape
SuppressFaces
CloseContour
RemoveIntWires
FillHoles
Sew
RemoveInternalFaces
DivideEdge
DivideEdgeByPoint
FuseCollinearEdgesWithinWire
ChangeOrientation
ChangeOrientationCopy
LimitTolerance
RestoreShape
MakeFilletEdges
MakeFilletEdges R1 R2
MakeFilletFaces
MakeFilletFaces R1 R2
MakeFillet2D
MakeFillet1D
MakeChamferAll
MakeChamferEdge
MakeChamferEdgeAD
MakeChamferFaces
MakeChamferFacesAD
MakeChamferEdges
MakeChamferEdgesAD
Archimede
GetVertexByIndex
GetNormal
GetBoundingBox
MakeEdgeOnCurveByLength
MakeEdgeWire
MakeWire
MakeFace
MakeFaceWires
MakeFaceFromSurface
MakeFaceWithConstraints
MakeShell
MakeSolidShells
MakeCompound
MakeShape
MakeSolidFromConnectedFaces
MakeGlueFaces
GetGlueFaces
MakeGlueFacesByList
MakeGlueEdges
MakeGlueEdgesByList
GetSubShape
ReverseShape
MakeExtraction
case GetInPlace: default:
case GetInPlaceOld: default:
TranslateDXDYDZ
TranslateTwoPointsCopy
TranslateDXDYDZCopy
TranslateVector
TranslateVectorCopy
TranslateVectorDistance
Translate1D
Translate2D
TranslateShape1D
TranslateShape2D
MirrorPlane
MirrorPlaneCopy
MirrorPoint
MirrorPointCopy
MirrorAxis
MirrorAxisCopy
OffsetShape
OffsetShapeCopy
ProjectShapeCopy
ScaleShape
ScaleShapeCopy
ScaleShapeAlongAxes
PositionShape
PositionShapeCopy
PositionAlongPath
Rotate
RotateCopy
Rotate1D (for MultiRotate1DNbTimes)
Rotate1D (for MultiRotate1DByStep)
Rotate2D (for MultiRotate2DNbTimes)
Rotate2D (for MultiRotate2DByStep)
RotateThreePoints
RotateThreePointsCopy
TransformLikeOtherCopy
MakeProjectionOnCylinder
References DIVIDEDDISK_R_RATIO, GEOM_DIVIDEDDISK, AdvancedEngine_DividedDiskDriver::GetID(), Handle(), KO, NULL, AdvancedEngine_IDividedDisk::SetOrientation(), AdvancedEngine_IDividedDisk::SetR(), AdvancedEngine_IDividedDisk::SetRatio(), and AdvancedEngine_IDividedDisk::SetType().