OCC.ShapeFix module

class Handle_ShapeFix_ComposeShell(*args)

Bases: OCC.ShapeFix.Handle_ShapeFix_Root

static DownCast()
GetObject()
IsNull()
Nullify()
thisown

The membership flag

class Handle_ShapeFix_DataMapNodeOfDataMapOfShapeBox2d(*args)

Bases: OCC.TCollection.Handle_TCollection_MapNode

static DownCast()
GetObject()
IsNull()
Nullify()
thisown

The membership flag

class Handle_ShapeFix_Edge(*args)

Bases: OCC.MMgt.Handle_MMgt_TShared

static DownCast()
GetObject()
IsNull()
Nullify()
thisown

The membership flag

class Handle_ShapeFix_EdgeProjAux(*args)

Bases: OCC.MMgt.Handle_MMgt_TShared

static DownCast()
GetObject()
IsNull()
Nullify()
thisown

The membership flag

class Handle_ShapeFix_Face(*args)

Bases: OCC.ShapeFix.Handle_ShapeFix_Root

static DownCast()
GetObject()
IsNull()
Nullify()
thisown

The membership flag

class Handle_ShapeFix_FixSmallFace(*args)

Bases: OCC.ShapeFix.Handle_ShapeFix_Root

static DownCast()
GetObject()
IsNull()
Nullify()
thisown

The membership flag

class Handle_ShapeFix_Root(*args)

Bases: OCC.MMgt.Handle_MMgt_TShared

static DownCast()
GetObject()
IsNull()
Nullify()
thisown

The membership flag

class Handle_ShapeFix_SequenceNodeOfSequenceOfWireSegment(*args)

Bases: OCC.TCollection.Handle_TCollection_SeqNode

static DownCast()
GetObject()
IsNull()
Nullify()
thisown

The membership flag

class Handle_ShapeFix_Shape(*args)

Bases: OCC.ShapeFix.Handle_ShapeFix_Root

static DownCast()
GetObject()
IsNull()
Nullify()
thisown

The membership flag

class Handle_ShapeFix_Shell(*args)

Bases: OCC.ShapeFix.Handle_ShapeFix_Root

static DownCast()
GetObject()
IsNull()
Nullify()
thisown

The membership flag

class Handle_ShapeFix_Solid(*args)

Bases: OCC.ShapeFix.Handle_ShapeFix_Root

static DownCast()
GetObject()
IsNull()
Nullify()
thisown

The membership flag

class Handle_ShapeFix_SplitCommonVertex(*args)

Bases: OCC.ShapeFix.Handle_ShapeFix_Root

static DownCast()
GetObject()
IsNull()
Nullify()
thisown

The membership flag

class Handle_ShapeFix_Wire(*args)

Bases: OCC.ShapeFix.Handle_ShapeFix_Root

static DownCast()
GetObject()
IsNull()
Nullify()
thisown

The membership flag

class Handle_ShapeFix_Wireframe(*args)

Bases: OCC.ShapeFix.Handle_ShapeFix_Root

static DownCast()
GetObject()
IsNull()
Nullify()
thisown

The membership flag

class ShapeFix_ComposeShell(*args)

Bases: OCC.ShapeFix.ShapeFix_Root

  • Creates empty tool.
Return type:None
DispatchWires()
  • Creates new faces from the set of (closed) wires. Each wire is put on corresponding patch in the composite surface, and all pcurves on the initial (pseudo)face are reassigned to that surface. If several wires are one inside another, single face is created.
Parameters:
  • faces (TopTools_SequenceOfShape &) –
  • wires (ShapeFix_SequenceOfWireSegment &) –
Return type:

None

GetClosedMode()

ShapeFix_ComposeShell_GetClosedMode(ShapeFix_ComposeShell self) -> Standard_Boolean

GetHandle()
GetTransferParamTool()
  • Gets tool for transfer parameters from 3d to 2d and vice versa.
Return type:Handle_ShapeAnalysis_TransferParameters
Init()
  • Initializes with composite surface, face and precision. Here face defines both set of wires and way of getting pcurves. Precision is used (together with tolerance of edges) for handling subtle cases, such as tangential intersections.
Parameters:
  • Grid (Handle_ShapeExtend_CompositeSurface &) –
  • L (TopLoc_Location &) –
  • Face (TopoDS_Face &) –
  • Prec (float) –
Return type:

None

Perform()
  • Performs the work on already loaded data.
Return type:bool
Result()
  • Returns resulting shell or face (or Null shape if not done)
Return type:TopoDS_Shape
SetClosedMode()

ShapeFix_ComposeShell_SetClosedMode(ShapeFix_ComposeShell self, Standard_Boolean value)

SetTransferParamTool()
  • Sets tool for transfer parameters from 3d to 2d and vice versa.
Parameters:TransferParam (Handle_ShapeAnalysis_TransferParameters &) –
Return type:None
SplitEdges()
  • Splits edges in the original shape by grid. This is a part of Perform() which does not produce any resulting shape; the only result is filled context where splittings are recorded. //! NOTE: If edge is splitted, it is replaced by wire, and order of edges in the wire corresponds to FORWARD orientation of the edge.
Return type:None
Status()
  • Queries status of last call to Perform() OK : nothing done (some kind of error) DONE1: splitting is done, at least one new face created DONE2: splitting is done, several new faces obtained FAIL1: misoriented wire encountered (handled) FAIL2: recoverable parity error FAIL3: edge with no pcurve on supporting face FAIL4: unrecoverable algorithm error (parity check)
Parameters:status (ShapeExtend_Status) –
Return type:bool
thisown

The membership flag

class ShapeFix_DataMapIteratorOfDataMapOfShapeBox2d(*args)

Bases: OCC.TCollection.TCollection_BasicMapIterator

Return type:None
Parameters:aMap (ShapeFix_DataMapOfShapeBox2d &) –
Return type:None
Initialize()
Parameters:aMap (ShapeFix_DataMapOfShapeBox2d &) –
Return type:None
Key()
Return type:TopoDS_Shape
Value()
Return type:Bnd_Box2d
thisown

The membership flag

class ShapeFix_DataMapNodeOfDataMapOfShapeBox2d(*args)

Bases: OCC.TCollection.TCollection_MapNode

Parameters:
  • K (TopoDS_Shape &) –
  • I (Bnd_Box2d &) –
  • n (TCollection_MapNodePtr &) –
Return type:

None

GetHandle()
Key()
Return type:TopoDS_Shape
Value()
Return type:Bnd_Box2d
thisown

The membership flag

class ShapeFix_DataMapOfShapeBox2d(*args)

Bases: OCC.TCollection.TCollection_BasicMap

Parameters:NbBuckets (int) – default value is 1
Return type:None
Assign()
Parameters:Other (ShapeFix_DataMapOfShapeBox2d &) –
Return type:ShapeFix_DataMapOfShapeBox2d
Bind()
Parameters:
  • K (TopoDS_Shape &) –
  • I (Bnd_Box2d &) –
Return type:

bool

ChangeFind()
Parameters:K (TopoDS_Shape &) –
Return type:Bnd_Box2d
ChangeFind1()
Parameters:K (TopoDS_Shape &) –
Return type:Standard_Address
Clear()
Return type:None
Find()
Parameters:K (TopoDS_Shape &) –
Return type:Bnd_Box2d
Find1()
Parameters:K (TopoDS_Shape &) –
Return type:Standard_Address
IsBound()
Parameters:K (TopoDS_Shape &) –
Return type:bool
ReSize()
Parameters:NbBuckets (int) –
Return type:None
Set()
Parameters:Other (ShapeFix_DataMapOfShapeBox2d &) –
Return type:ShapeFix_DataMapOfShapeBox2d
UnBind()
Parameters:K (TopoDS_Shape &) –
Return type:bool
thisown

The membership flag

class ShapeFix_Edge(*args)

Bases: OCC.MMgt.MMgt_TShared

  • Empty constructor
Return type:None
FixAddCurve3d()
  • Tries to build 3d curve of the edge if missing Use : It is to be called after FixRemoveCurve3d (if removed) or in any case when edge can have no 3d curve Returns: True if 3d curve was added, else False Status : OK : 3d curve exists FAIL1: BRepLib::BuildCurve3d() has failed DONE1: 3d curve was added
Parameters:edge (TopoDS_Edge &) –
Return type:bool
FixAddPCurve()
  • See method below for information
Parameters:
  • edge (TopoDS_Edge &) –
  • face (TopoDS_Face &) –
  • isSeam (bool) –
  • prec (float) – default value is 0.0
Return type:

bool

  • See method below for information
Parameters:
  • edge (TopoDS_Edge &) –
  • surface (Handle_Geom_Surface &) –
  • location (TopLoc_Location &) –
  • isSeam (bool) –
  • prec (float) – default value is 0.0
Return type:

bool

  • See method below for information
Parameters:
  • edge (TopoDS_Edge &) –
  • face (TopoDS_Face &) –
  • isSeam (bool) –
  • surfana (Handle_ShapeAnalysis_Surface &) –
  • prec (float) – default value is 0.0
Return type:

bool

  • Adds pcurve(s) of the edge if missing (by projecting 3d curve) Parameter isSeam indicates if the edge is a seam. The parameter <prec> defines the precision for calculations. If it is 0 (default), the tolerance of the edge is taken. Remark : This method is rather for internal use since it accepts parameter <surfana> for optimization of computations Use : It is to be called after FixRemovePCurve (if removed) or in any case when edge can have no pcurve Returns: True if pcurve was added, else False Status : OK : Pcurve exists FAIL1: No 3d curve FAIL2: fail during projecting DONE1: Pcurve was added DONE2: specific case of pcurve going through degenerated point on sphere encountered during projection (see class ShapeConstruct_ProjectCurveOnSurface for more info)
Parameters:
  • edge (TopoDS_Edge &) –
  • surface (Handle_Geom_Surface &) –
  • location (TopLoc_Location &) –
  • isSeam (bool) –
  • surfana (Handle_ShapeAnalysis_Surface &) –
  • prec (float) – default value is 0.0
Return type:

bool

FixRemoveCurve3d()
  • Removes 3d curve of the edge if it does not match the vertices Returns: True, if does not match, removed (status DONE) False, (status OK) if matches or (status FAIL) if no 3d curve, nothing done
Parameters:edge (TopoDS_Edge &) –
Return type:bool
FixRemovePCurve()
Parameters:
  • edge (TopoDS_Edge &) –
  • face (TopoDS_Face &) –
Return type:

bool

  • Removes the pcurve(s) of the edge if it does not match the vertices Check is done Use : It is to be called when pcurve of an edge can be wrong (e.g., after import from IGES) Returns: True, if does not match, removed (status DONE) False, (status OK) if matches or (status FAIL) if no pcurve, nothing done
Parameters:
  • edge (TopoDS_Edge &) –
  • surface (Handle_Geom_Surface &) –
  • location (TopLoc_Location &) –
Return type:

bool

FixReversed2d()
Parameters:
  • edge (TopoDS_Edge &) –
  • face (TopoDS_Face &) –
Return type:

bool

  • Fixes edge if pcurve is directed opposite to 3d curve Check is done by call to the function ShapeAnalysis_Edge::CheckCurve3dWithPCurve() Warning: For seam edge this method will check and fix the pcurve in only one direction. Hence, it should be called twice for seam edge: once with edge orientation FORWARD and once with REVERSED. Returns: False if nothing done, True if reversed (status DONE) Status: OK - pcurve OK, nothing done FAIL1 - no pcurve FAIL2 - no 3d curve DONE1 - pcurve was reversed
Parameters:
  • edge (TopoDS_Edge &) –
  • surface (Handle_Geom_Surface &) –
  • location (TopLoc_Location &) –
Return type:

bool

FixSameParameter()
  • Tries to make edge SameParameter and sets corresponding tolerance and SameParameter flag. First, it makes edge same range if SameRange flag is not set. //! If flag SameParameter is set, this method calls the function ShapeAnalysis_Edge::CheckSameParameter() that calculates the maximal deviation of pcurves of the edge from its 3d curve. If deviation > tolerance, the tolerance of edge is increased to a value of deviation. If deviation < tolerance nothing happens. //! If flag SameParameter is not set, this method chooses the best variant (one that has minimal tolerance), either a. only after computing deviation (as above) or b. after calling standard procedure BRepLib::SameParameter and computing deviation (as above). If <tolerance> > 0, it is used as parameter for BRepLib::SameParameter, otherwise, tolerance of the edge is used. //! Use : Is to be called after all pcurves and 3d curve of the edge are correctly computed Remark : SameParameter flag is always set to True after this method Returns: True, if something done, else False Status : OK - edge was initially SameParameter, nothing is done FAIL1 - computation of deviation of pcurves from 3d curve has failed FAIL2 - BRepLib::SameParameter() has failed DONE1 - tolerance of the edge was increased DONE2 - flag SameParameter was set to True (only if BRepLib::SameParameter() did not set it) DONE3 - edge was modified by BRepLib::SameParameter() to SameParameter DONE4 - not used anymore DONE5 - if the edge resulting from BRepLib has been chosen, i.e. variant b. above (only for edges with not set SameParameter)
Parameters:
  • edge (TopoDS_Edge &) –
  • tolerance (float) – default value is 0.0
Return type:

bool

FixVertexTolerance()
Parameters:
  • edge (TopoDS_Edge &) –
  • face (TopoDS_Face &) –
Return type:

bool

  • Increases the tolerances of the edge vertices to comprise the ends of 3d curve and pcurve on the given face (first method) or all pcurves stored in an edge (second one) Returns: True, if tolerances have been increased, otherwise False Status: OK : the original tolerances have not been changed DONE1: the tolerance of first vertex has been increased DONE2: the tolerance of last vertex has been increased
Parameters:edge (TopoDS_Edge &) –
Return type:bool
GetHandle()
Projector()
  • Returns the projector used for recomputing missing pcurves Can be used for adjusting parameters of projector
Return type:Handle_ShapeConstruct_ProjectCurveOnSurface
Status()
  • Returns the status (in the form of True/False) of last Fix
Parameters:status (ShapeExtend_Status) –
Return type:bool
thisown

The membership flag

class ShapeFix_EdgeConnect(*args)

Bases: object

Return type:None
Add()
  • Adds information on connectivity between start vertex of second edge and end vertex of first edge, taking edges orientation into account
Parameters:
  • aFirst (TopoDS_Edge &) –
  • aSecond (TopoDS_Edge &) –
Return type:

None

  • Adds connectivity information for the whole shape. Note: edges in wires must be well ordered Note: flag Closed should be set for closed wires
Parameters:aShape (TopoDS_Shape &) –
Return type:None
Build()
  • Builds shared vertices, updates their positions and tolerances
Return type:None
Clear()
  • Clears internal data structure
Return type:None
thisown

The membership flag

class ShapeFix_EdgeProjAux(*args)

Bases: OCC.MMgt.MMgt_TShared

Return type:

None

Parameters:
  • F (TopoDS_Face &) –
  • E (TopoDS_Edge &) –
Return type:

None

Compute()
Parameters:preci (float) –
Return type:None
FirstParam()
Return type:float
GetHandle()
Init()
Parameters:
  • F (TopoDS_Face &) –
  • E (TopoDS_Edge &) –
Return type:

None

IsFirstDone()
Return type:bool
IsIso()
Parameters:C (Handle_Geom2d_Curve &) –
Return type:bool
IsLastDone()
Return type:bool
LastParam()
Return type:float
thisown

The membership flag

class ShapeFix_Face(*args)

Bases: OCC.ShapeFix.ShapeFix_Root

  • Creates an empty tool
Return type:None
  • Creates a tool and loads a face
Parameters:face (TopoDS_Face &) –
Return type:None
Add()
  • Add a wire to current face using BRep_Builder. Wire is added without taking into account orientation of face (as if face were FORWARD).
Parameters:wire (TopoDS_Wire &) –
Return type:None
ClearModes()
  • Sets all modes to default
Return type:void
Face()
  • Returns a face which corresponds to the current state Warning: The finally produced face may be another one ... but with the same support
Return type:TopoDS_Face
FixAddNaturalBound()
  • Adds natural boundary on face if it is missing. Two cases are supported: - face has no wires - face lies on geometrically double-closed surface (sphere or torus) and none of wires is left-oriented Returns True if natural boundary was added
Return type:bool
FixIntersectingWires()
  • Detects and fixes the special case when face has more than one wire and this wires have intersection point
Return type:bool
FixLoopWire()
  • Detects if wire has a loop and fixes this situation by splitting on the few parts. if wire has a loops and it was splitted Status was set to value ShapeExtend_DONE6.
Parameters:aResWires (TopTools_SequenceOfShape &) –
Return type:bool
FixMissingSeam()
  • Detects and fixes the special case when face on a closed surface is given by two wires closed in 3d but with gap in 2d. In that case it creates a new wire from the two, and adds a missing seam edge Returns True if missing seam was added
Return type:bool
FixOrientation()
  • Fixes orientation of wires on the face It tries to make all wires lie outside all others (according to orientation) by reversing orientation of some of them. If face lying on sphere or torus has single wire and AddNaturalBoundMode is True, that wire is not reversed in any case (supposing that natural bound will be added). Returns True if wires were reversed
Return type:bool
  • Fixes orientation of wires on the face It tries to make all wires lie outside all others (according to orientation) by reversing orientation of some of them. If face lying on sphere or torus has single wire and AddNaturalBoundMode is True, that wire is not reversed in any case (supposing that natural bound will be added). Returns True if wires were reversed OutWires return information about out wires + list of internal wires for each (for performing split face).
Parameters:MapWires (TopTools_DataMapOfShapeListOfShape &) –
Return type:bool
FixPeriodicDegenerated()
  • Fixes topology for a specific case when face is composed by a single wire belting a periodic surface. In that case a degenerated edge is reconstructed in the degenerated pole of the surface. Initial wire gets consistent orientation. Must be used in couple and before FixMissingSeam routine
Return type:bool
FixSmallAreaWire()
  • Detects wires with small area (that is less than 100*Precision::PConfusion(). Removes these wires if they are internal. Returns : True if at least one small wire removed, False if does nothing.
Return type:bool
FixSplitFace()
  • Split face if there are more than one out wire using inrormation after FixOrientation()
Parameters:MapWires (TopTools_DataMapOfShapeListOfShape &) –
Return type:bool
FixWireTool()
  • Returns tool for fixing wires.
Return type:Handle_ShapeFix_Wire
FixWiresTwoCoincEdges()
  • If wire contains two coincidence edges it must be removed Queries on status after Perform()
Return type:bool
GetAutoCorrectPrecisionMode()

ShapeFix_Face_GetAutoCorrectPrecisionMode(ShapeFix_Face self) -> Standard_Integer

GetFixAddNaturalBoundMode()

ShapeFix_Face_GetFixAddNaturalBoundMode(ShapeFix_Face self) -> Standard_Integer

GetFixIntersectingWiresMode()

ShapeFix_Face_GetFixIntersectingWiresMode(ShapeFix_Face self) -> Standard_Integer

GetFixLoopWiresMode()

ShapeFix_Face_GetFixLoopWiresMode(ShapeFix_Face self) -> Standard_Integer

GetFixMissingSeamMode()

ShapeFix_Face_GetFixMissingSeamMode(ShapeFix_Face self) -> Standard_Integer

GetFixOrientationMode()

ShapeFix_Face_GetFixOrientationMode(ShapeFix_Face self) -> Standard_Integer

GetFixPeriodicDegeneratedMode()

ShapeFix_Face_GetFixPeriodicDegeneratedMode(ShapeFix_Face self) -> Standard_Integer

GetFixSmallAreaWireMode()

ShapeFix_Face_GetFixSmallAreaWireMode(ShapeFix_Face self) -> Standard_Integer

GetFixSplitFaceMode()

ShapeFix_Face_GetFixSplitFaceMode(ShapeFix_Face self) -> Standard_Integer

GetFixWireMode()

ShapeFix_Face_GetFixWireMode(ShapeFix_Face self) -> Standard_Integer

GetHandle()
Init()
  • Loads a whole face already created, with its wires, sense and location
Parameters:face (TopoDS_Face &) –
Return type:None
  • Starts the creation of the face By default it will be FORWARD, or REVERSED if <fwd> is False
Parameters:
  • surf (Handle_Geom_Surface &) –
  • preci (float) –
  • fwd (bool) – default value is Standard_True
Return type:

None

  • Starts the creation of the face By default it will be FORWARD, or REVERSED if <fwd> is False
Parameters:
  • surf (Handle_ShapeAnalysis_Surface &) –
  • preci (float) –
  • fwd (bool) – default value is Standard_True
Return type:

None

Perform()
  • Performs all the fixes, depending on modes Function Status returns the status of last call to Perform() ShapeExtend_OK : face was OK, nothing done ShapeExtend_DONE1: some wires are fixed ShapeExtend_DONE2: orientation of wires fixed ShapeExtend_DONE3: missing seam added ShapeExtend_DONE4: small area wire removed ShapeExtend_DONE5: natural bounds added ShapeExtend_FAIL1: some fails during fixing wires ShapeExtend_FAIL2: cannot fix orientation of wires ShapeExtend_FAIL3: cannot add missing seam ShapeExtend_FAIL4: cannot remove small area wire
Return type:bool
Result()
  • Returns resulting shape (Face or Shell if splitted) To be used instead of Face() if FixMissingSeam involved
Return type:TopoDS_Shape
SetAutoCorrectPrecisionMode()

ShapeFix_Face_SetAutoCorrectPrecisionMode(ShapeFix_Face self, Standard_Integer value)

SetFixAddNaturalBoundMode()

ShapeFix_Face_SetFixAddNaturalBoundMode(ShapeFix_Face self, Standard_Integer value)

SetFixIntersectingWiresMode()

ShapeFix_Face_SetFixIntersectingWiresMode(ShapeFix_Face self, Standard_Integer value)

SetFixLoopWiresMode()

ShapeFix_Face_SetFixLoopWiresMode(ShapeFix_Face self, Standard_Integer value)

SetFixMissingSeamMode()

ShapeFix_Face_SetFixMissingSeamMode(ShapeFix_Face self, Standard_Integer value)

SetFixOrientationMode()

ShapeFix_Face_SetFixOrientationMode(ShapeFix_Face self, Standard_Integer value)

SetFixPeriodicDegeneratedMode()

ShapeFix_Face_SetFixPeriodicDegeneratedMode(ShapeFix_Face self, Standard_Integer value)

SetFixSmallAreaWireMode()

ShapeFix_Face_SetFixSmallAreaWireMode(ShapeFix_Face self, Standard_Integer value)

SetFixSplitFaceMode()

ShapeFix_Face_SetFixSplitFaceMode(ShapeFix_Face self, Standard_Integer value)

SetFixWireMode()

ShapeFix_Face_SetFixWireMode(ShapeFix_Face self, Standard_Integer value)

Status()
  • Returns the status of last call to Perform() ShapeExtend_OK : face was OK, nothing done ShapeExtend_DONE1: some wires are fixed ShapeExtend_DONE2: orientation of wires fixed ShapeExtend_DONE3: missing seam added ShapeExtend_DONE4: small area wire removed ShapeExtend_DONE5: natural bounds added ShapeExtend_DONE8: face may be splited ShapeExtend_FAIL1: some fails during fixing wires ShapeExtend_FAIL2: cannot fix orientation of wires ShapeExtend_FAIL3: cannot add missing seam ShapeExtend_FAIL4: cannot remove small area wire
Parameters:status (ShapeExtend_Status) –
Return type:bool
thisown

The membership flag

class ShapeFix_FaceConnect(*args)

Bases: object

Return type:None
Add()
Parameters:
  • aFirst (TopoDS_Face &) –
  • aSecond (TopoDS_Face &) –
Return type:

bool

Build()
Parameters:
  • shell (TopoDS_Shell &) –
  • sewtoler (float) –
  • fixtoler (float) –
Return type:

TopoDS_Shell

Clear()
  • Clears internal data structure
Return type:None
thisown

The membership flag

class ShapeFix_FixSmallFace(*args)

Bases: OCC.ShapeFix.ShapeFix_Root

Return type:None
ComputeSharedEdgeForStripFace()
  • Compute average edge for strip face
Parameters:
  • F (TopoDS_Face &) –
  • E1 (TopoDS_Edge &) –
  • E2 (TopoDS_Edge &) –
  • F1 (TopoDS_Face &) –
  • tol (float) –
Return type:

TopoDS_Edge

FixFace()
Parameters:F (TopoDS_Face &) –
Return type:TopoDS_Face
FixPinFace()
Parameters:F (TopoDS_Face &) –
Return type:bool
FixShape()
Return type:TopoDS_Shape
FixSplitFace()
Parameters:S (TopoDS_Shape &) –
Return type:TopoDS_Shape
FixSpotFace()
  • Fixing case of spot face, if tol = -1 used local tolerance.
Return type:TopoDS_Shape
FixStripFace()
  • Fixing case of strip face, if tol = -1 used local tolerance
Parameters:wasdone (bool) – default value is Standard_False
Return type:TopoDS_Shape
GetHandle()
Init()
Parameters:S (TopoDS_Shape &) –
Return type:None
Perform()
  • Fixing case of spot face
Return type:None
RemoveFacesInCaseOfSpot()
  • Remove spot face from compound
Parameters:F (TopoDS_Face &) –
Return type:bool
RemoveFacesInCaseOfStrip()
  • Remove strip face from compound.
Parameters:F (TopoDS_Face &) –
Return type:bool
RemoveSmallFaces()
  • Remove small faces from compound.
Return type:TopoDS_Shape
ReplaceInCaseOfStrip()
  • Replace veretces and edges.
Parameters:
  • F (TopoDS_Face &) –
  • E1 (TopoDS_Edge &) –
  • E2 (TopoDS_Edge &) –
  • tol (float) –
Return type:

bool

ReplaceVerticesInCaseOfSpot()
  • Compute average vertex and replacing vertices by new one.
Parameters:
  • F (TopoDS_Face &) –
  • tol (float) –
Return type:

bool

Shape()
Return type:TopoDS_Shape
SplitFaces()
  • Split faces by splitting vertices
Return type:TopoDS_Shape
SplitOneFace()
  • Compute data for face splitting.
Parameters:
  • F (TopoDS_Face &) –
  • theSplittedFaces (TopoDS_Compound &) –
Return type:

bool

thisown

The membership flag

class ShapeFix_FreeBounds(*args)

Bases: object

  • Empty constructor
Return type:None
  • Builds forecasting free bounds of the <shape> and connects open wires with tolerance <closetoler>. <shape> should be a compound of faces. Tolerance <closetoler> should be greater than tolerance <sewtoler> used for initializing sewing analyzer, otherwise connection of open wires is not performed.
Parameters:
  • shape (TopoDS_Shape &) –
  • sewtoler (float) –
  • closetoler (float) –
  • splitclosed (bool) –
  • splitopen (bool) –
Return type:

None

  • Builds actual free bounds of the <shape> and connects open wires with tolerance <closetoler>. <shape> should be a compound of shells.
Parameters:
  • shape (TopoDS_Shape &) –
  • closetoler (float) –
  • splitclosed (bool) –
  • splitopen (bool) –
Return type:

None

GetClosedWires()
  • Returns compound of closed wires out of free edges.
Return type:TopoDS_Compound
GetOpenWires()
  • Returns compound of open wires out of free edges.
Return type:TopoDS_Compound
GetShape()
  • Returns modified source shape.
Return type:TopoDS_Shape
thisown

The membership flag

class ShapeFix_IntersectionTool(*args)

Bases: object

  • Constructor
Parameters:
  • context (Handle_ShapeBuild_ReShape &) –
  • preci (float) –
  • maxtol (float) – default value is 1.0
Return type:

None

Context()
  • Returns context
Return type:Handle_ShapeBuild_ReShape
CutEdge()
  • Cut edge by parameters pend and cut
Parameters:
  • edge (TopoDS_Edge &) –
  • pend (float) –
  • cut (float) –
  • face (TopoDS_Face &) –
  • iscutline (bool) –
Return type:

bool

FixIntersectingWires()
Parameters:face (TopoDS_Face &) –
Return type:bool
FixSelfIntersectWire()
Parameters:
  • sewd (Handle_ShapeExtend_WireData &) –
  • face (TopoDS_Face &) –
  • NbSplit (int &) –
  • NbCut (int &) –
  • NbRemoved (int &) –
Return type:

bool

SplitEdge()
  • Split edge on two new edges using new vertex ‘vert’ and ‘param’ - parameter for splitting The ‘face’ is necessary for pcurves and using TransferParameterProj
Parameters:
  • edge (TopoDS_Edge &) –
  • param (float) –
  • vert (TopoDS_Vertex &) –
  • face (TopoDS_Face &) –
  • newE1 (TopoDS_Edge &) –
  • newE2 (TopoDS_Edge &) –
  • preci (float) –
Return type:

bool

thisown

The membership flag

class ShapeFix_Root(*args)

Bases: OCC.MMgt.MMgt_TShared

  • Empty Constructor (no context is created)
Return type:None
Context()
  • Returns context
Return type:Handle_ShapeBuild_ReShape
GetHandle()
LimitTolerance()
  • Returns tolerance limited by [myMinTol,myMaxTol]
Parameters:toler (float) –
Return type:float
MaxTolerance()
  • Returns maximal allowed tolerance
Return type:float
MinTolerance()
  • Returns minimal allowed tolerance
Return type:float
MsgRegistrator()
  • Returns message registrator
Return type:Handle_ShapeExtend_BasicMsgRegistrator
Precision()
  • Returns basic precision value
Return type:float
SendFail()
  • Sends a fail to be attached to the shape. Calls SendMsg with gravity set to Message_Fail.
Parameters:
  • shape (TopoDS_Shape &) –
  • message (Message_Msg &) –
Return type:

None

  • Calls previous method for myShape.
Parameters:message (Message_Msg &) –
Return type:None
SendMsg()
  • Sends a message to be attached to the shape. Calls corresponding message of message registrator.
Parameters:
  • shape (TopoDS_Shape &) –
  • message (Message_Msg &) –
  • gravity (Message_Gravity) – default value is Message_Info
Return type:

None

  • Sends a message to be attached to myShape. Calls previous method.
Parameters:
  • message (Message_Msg &) –
  • gravity (Message_Gravity) – default value is Message_Info
Return type:

None

SendWarning()
  • Sends a warning to be attached to the shape. Calls SendMsg with gravity set to Message_Warning.
Parameters:
  • shape (TopoDS_Shape &) –
  • message (Message_Msg &) –
Return type:

None

  • Calls previous method for myShape.
Parameters:message (Message_Msg &) –
Return type:None
Set()
  • Copy all fields from another Root object
Parameters:Root (Handle_ShapeFix_Root &) –
Return type:void
SetContext()
  • Sets context
Parameters:context (Handle_ShapeBuild_ReShape &) –
Return type:void
SetMaxTolerance()
  • Sets maximal allowed tolerance
Parameters:maxtol (float) –
Return type:void
SetMinTolerance()
  • Sets minimal allowed tolerance
Parameters:mintol (float) –
Return type:void
SetMsgRegistrator()
  • Sets message registrator
Parameters:msgreg (Handle_ShapeExtend_BasicMsgRegistrator &) –
Return type:void
SetPrecision()
  • Sets basic precision value
Parameters:preci (float) –
Return type:void
thisown

The membership flag

class ShapeFix_SequenceNodeOfSequenceOfWireSegment(*args)

Bases: OCC.TCollection.TCollection_SeqNode

Parameters:
  • I (ShapeFix_WireSegment &) –
  • n (TCollection_SeqNodePtr &) –
  • p (TCollection_SeqNodePtr &) –
Return type:

None

GetHandle()
Value()
Return type:ShapeFix_WireSegment
thisown

The membership flag

class ShapeFix_SequenceOfWireSegment(*args)

Bases: OCC.TCollection.TCollection_BaseSequence

Return type:None
Parameters:Other (ShapeFix_SequenceOfWireSegment &) –
Return type:None
Append()
Parameters:
  • T (ShapeFix_WireSegment &) –
  • S (ShapeFix_SequenceOfWireSegment &) –
Return type:

None

Return type:

None

Assign()
Parameters:Other (ShapeFix_SequenceOfWireSegment &) –
Return type:ShapeFix_SequenceOfWireSegment
ChangeValue()
Parameters:Index (int) –
Return type:ShapeFix_WireSegment
Clear()
Return type:None
First()
Return type:ShapeFix_WireSegment
InsertAfter()
Parameters:
  • Index (int) –
  • T (ShapeFix_WireSegment &) –
  • Index
  • S (ShapeFix_SequenceOfWireSegment &) –
Return type:

None

Return type:

None

InsertBefore()
Parameters:
  • Index (int) –
  • T (ShapeFix_WireSegment &) –
  • Index
  • S (ShapeFix_SequenceOfWireSegment &) –
Return type:

None

Return type:

None

Last()
Return type:ShapeFix_WireSegment
Prepend()
Parameters:
  • T (ShapeFix_WireSegment &) –
  • S (ShapeFix_SequenceOfWireSegment &) –
Return type:

None

Return type:

None

Remove()
Parameters:
  • Index (int) –
  • FromIndex (int) –
  • ToIndex (int) –
Return type:

None

Return type:

None

Set()
Parameters:Other (ShapeFix_SequenceOfWireSegment &) –
Return type:ShapeFix_SequenceOfWireSegment
SetValue()
Parameters:
  • Index (int) –
  • I (ShapeFix_WireSegment &) –
Return type:

None

Split()
Parameters:
  • Index (int) –
  • Sub (ShapeFix_SequenceOfWireSegment &) –
Return type:

None

Value()
Parameters:Index (int) –
Return type:ShapeFix_WireSegment
thisown

The membership flag

class ShapeFix_Shape(*args)

Bases: OCC.ShapeFix.ShapeFix_Root

  • Empty Constructor
Return type:None
  • Initislises by shape.
Parameters:shape (TopoDS_Shape &) –
Return type:None
FixEdgeTool()
  • Returns tool for fixing edges.
Return type:Handle_ShapeFix_Edge
FixFaceTool()
  • Returns tool for fixing faces.
Return type:Handle_ShapeFix_Face
FixShellTool()
  • Returns tool for fixing shells.
Return type:Handle_ShapeFix_Shell
FixSolidTool()
  • Returns tool for fixing solids.
Return type:Handle_ShapeFix_Solid
FixWireTool()
  • Returns tool for fixing wires.
Return type:Handle_ShapeFix_Wire
GetFixFreeFaceMode()

ShapeFix_Shape_GetFixFreeFaceMode(ShapeFix_Shape self) -> Standard_Integer

GetFixFreeShellMode()

ShapeFix_Shape_GetFixFreeShellMode(ShapeFix_Shape self) -> Standard_Integer

GetFixFreeWireMode()

ShapeFix_Shape_GetFixFreeWireMode(ShapeFix_Shape self) -> Standard_Integer

GetFixSameParameterMode()

ShapeFix_Shape_GetFixSameParameterMode(ShapeFix_Shape self) -> Standard_Integer

GetFixSolidMode()

ShapeFix_Shape_GetFixSolidMode(ShapeFix_Shape self) -> Standard_Integer

GetFixVertexPositionMode()

ShapeFix_Shape_GetFixVertexPositionMode(ShapeFix_Shape self) -> Standard_Integer

GetHandle()
Init()
  • Initislises by shape.
Parameters:shape (TopoDS_Shape &) –
Return type:None
Perform()
  • Iterates on sub- shape and performs fixes
Parameters:theProgress (Handle_Message_ProgressIndicator &) – default value is 0
Return type:bool
SetFixFreeFaceMode()

ShapeFix_Shape_SetFixFreeFaceMode(ShapeFix_Shape self, Standard_Integer value)

SetFixFreeShellMode()

ShapeFix_Shape_SetFixFreeShellMode(ShapeFix_Shape self, Standard_Integer value)

SetFixFreeWireMode()

ShapeFix_Shape_SetFixFreeWireMode(ShapeFix_Shape self, Standard_Integer value)

SetFixSameParameterMode()

ShapeFix_Shape_SetFixSameParameterMode(ShapeFix_Shape self, Standard_Integer value)

SetFixSolidMode()

ShapeFix_Shape_SetFixSolidMode(ShapeFix_Shape self, Standard_Integer value)

SetFixVertexPositionMode()

ShapeFix_Shape_SetFixVertexPositionMode(ShapeFix_Shape self, Standard_Integer value)

Shape()
  • Returns resulting shape
Return type:TopoDS_Shape
Status()
  • Returns the status of the last Fix. This can be a combination of the following flags: ShapeExtend_DONE1: some free edges were fixed ShapeExtend_DONE2: some free wires were fixed ShapeExtend_DONE3: some free faces were fixed ShapeExtend_DONE4: some free shells were fixed ShapeExtend_DONE5: some free solids were fixed ShapeExtend_DONE6: shapes in compound(s) were fixed
Parameters:status (ShapeExtend_Status) –
Return type:bool
thisown

The membership flag

class ShapeFix_ShapeTolerance(*args)

Bases: object

Return type:None
LimitTolerance()
  • Limits tolerances in a shape as follows : tmin = tmax -> as SetTolerance (forces) tmin = 0 -> maximum tolerance will be <tmax> tmax = 0 or not given (more generally, tmax < tmin) -> <tmax> ignored, minimum will be <tmin> else, maximum will be <max> and minimum will be <min> styp = VERTEX : only vertices are set styp = EDGE : only edges are set styp = FACE : only faces are set styp = WIRE : to have edges and their vertices set styp = other value : all (vertices,edges,faces) are set Returns True if at least one tolerance of the sub-shape has been modified
Parameters:
  • shape (TopoDS_Shape &) –
  • tmin (float) –
  • tmax (float) – default value is 0.0
  • styp (TopAbs_ShapeEnum) – default value is TopAbs_SHAPE
Return type:

bool

SetTolerance()
  • Sets (enforces) tolerances in a shape to the given value styp = VERTEX : only vertices are set styp = EDGE : only edges are set styp = FACE : only faces are set styp = WIRE : to have edges and their vertices set styp = other value : all (vertices,edges,faces) are set
Parameters:
  • shape (TopoDS_Shape &) –
  • preci (float) –
  • styp (TopAbs_ShapeEnum) – default value is TopAbs_SHAPE
Return type:

None

thisown

The membership flag

class ShapeFix_Shell(*args)

Bases: OCC.ShapeFix.ShapeFix_Root

  • Empty constructor
Return type:None
  • Initializes by shell.
Parameters:shape (TopoDS_Shell &) –
Return type:None
ErrorFaces()
  • Returns not oriented subset of faces.
Return type:TopoDS_Compound
FixFaceOrientation()
  • Fixes orientation of faces in shell. Changes orientation of face in the shell, if it is oriented opposite to neigbouring faces. If it is not possible to orient all faces in the shell (like in case of mebious band), this method orients only subset of faces. Other faces are stored in Error compound. Modes : isAccountMultiConex - mode for account cases of multiconnexity. If this mode is equal to Standard_True, separate shells will be created in the cases of multiconnexity. If this mode is equal to Standard_False, one shell will be created without account of multiconnexity.By defautt - Standard_True; NonManifold - mode for creation of non-manifold shells. If this mode is equal to Standard_True one non-manifold will be created from shell contains multishared edges. Else if this mode is equal to Standard_False only manifold shells will be created. By default - Standard_False.
Parameters:
  • shell (TopoDS_Shell &) –
  • isAccountMultiConex (bool) – default value is Standard_True
  • NonManifold (bool) – default value is Standard_False
Return type:

bool

FixFaceTool()
  • Returns tool for fixing faces.
Return type:Handle_ShapeFix_Face
GetFixFaceMode()

ShapeFix_Shell_GetFixFaceMode(ShapeFix_Shell self) -> Standard_Integer

GetFixOrientationMode()

ShapeFix_Shell_GetFixOrientationMode(ShapeFix_Shell self) -> Standard_Integer

GetHandle()
Init()
  • Initializes by shell.
Parameters:shell (TopoDS_Shell &) –
Return type:None
NbShells()
  • Returns Number of obtainrd shells;
Return type:int
Perform()
  • Iterates on subshapes and performs fixes (for each face calls ShapeFix_Face::Perform and then calls FixFaceOrientation). The passed progress indicator allows user to consult the current progress stage and abort algorithm if needed.
Parameters:theProgress (Handle_Message_ProgressIndicator &) – default value is 0
Return type:bool
SetFixFaceMode()

ShapeFix_Shell_SetFixFaceMode(ShapeFix_Shell self, Standard_Integer value)

SetFixOrientationMode()

ShapeFix_Shell_SetFixOrientationMode(ShapeFix_Shell self, Standard_Integer value)

Shape()
  • In case of multiconnexity returns compound of fixed shells else returns one shell..
Return type:TopoDS_Shape
Shell()
  • Returns fixed shell (or subset of oriented faces).
Return type:TopoDS_Shell
Status()
  • Returns the status of the last Fix.
Parameters:status (ShapeExtend_Status) –
Return type:bool
thisown

The membership flag

class ShapeFix_Solid(*args)

Bases: OCC.ShapeFix.ShapeFix_Root

  • Empty constructor;
Return type:None
  • Initializes by solid.
Parameters:solid (TopoDS_Solid &) –
Return type:None
FixShellTool()
  • Returns tool for fixing shells.
Return type:Handle_ShapeFix_Shell
GetCreateOpenSolidMode()

ShapeFix_Solid_GetCreateOpenSolidMode(ShapeFix_Solid self) -> Standard_Boolean

GetFixShellMode()

ShapeFix_Solid_GetFixShellMode(ShapeFix_Solid self) -> Standard_Integer

GetHandle()
Init()
  • Initializes by solid .
Parameters:solid (TopoDS_Solid &) –
Return type:void
Perform()
  • Iterates on shells and performs fixes (calls ShapeFix_Shell for each subshell). The passed progress indicator allows user to consult the current progress stage and abort algorithm if needed.
Parameters:theProgress (Handle_Message_ProgressIndicator &) – default value is 0
Return type:bool
SetCreateOpenSolidMode()

ShapeFix_Solid_SetCreateOpenSolidMode(ShapeFix_Solid self, Standard_Boolean value)

SetFixShellMode()

ShapeFix_Solid_SetFixShellMode(ShapeFix_Solid self, Standard_Integer value)

Shape()
  • In case of multiconnexity returns compound of fixed solids else returns one solid.
Return type:TopoDS_Shape
Solid()
  • Returns resulting solid.
Return type:TopoDS_Shape
SolidFromShell()
  • Calls MakeSolid and orients the solid to be ‘not infinite’
Parameters:shell (TopoDS_Shell &) –
Return type:TopoDS_Solid
Status()
  • Returns the status of the last Fix.
Parameters:status (ShapeExtend_Status) –
Return type:int
thisown

The membership flag

class ShapeFix_SplitCommonVertex(*args)

Bases: OCC.ShapeFix.ShapeFix_Root

Return type:None
GetHandle()
Init()
Parameters:S (TopoDS_Shape &) –
Return type:None
Perform()
Return type:None
Shape()
Return type:TopoDS_Shape
thisown

The membership flag

class ShapeFix_SplitTool(*args)

Bases: object

  • Empty constructor
Return type:None
CutEdge()
  • Cut edge by parameters pend and cut
Parameters:
  • edge (TopoDS_Edge &) –
  • pend (float) –
  • cut (float) –
  • face (TopoDS_Face &) –
  • iscutline (bool) –
Return type:

bool

SplitEdge()
  • Split edge on two new edges using new vertex ‘vert’ and ‘param’ - parameter for splitting The ‘face’ is necessary for pcurves and using TransferParameterProj
Parameters:
  • edge (TopoDS_Edge &) –
  • param (float) –
  • vert (TopoDS_Vertex &) –
  • face (TopoDS_Face &) –
  • newE1 (TopoDS_Edge &) –
  • newE2 (TopoDS_Edge &) –
  • tol3d (float) –
  • tol2d (float) –
Return type:

bool

  • Split edge on two new edges using new vertex ‘vert’ and ‘param1’ and ‘param2’ - parameter for splitting and cutting The ‘face’ is necessary for pcurves and using TransferParameterProj
Parameters:
  • edge (TopoDS_Edge &) –
  • param1 (float) –
  • param2 (float) –
  • vert (TopoDS_Vertex &) –
  • face (TopoDS_Face &) –
  • newE1 (TopoDS_Edge &) –
  • newE2 (TopoDS_Edge &) –
  • tol3d (float) –
  • tol2d (float) –
Return type:

bool

  • Split edge on two new edges using two new vertex V1 and V2 and two parameters for splitting - fp and lp correspondingly The ‘face’ is necessary for pcurves and using TransferParameterProj aNum - number of edge in SeqE which corresponding to [fp,lp]
Parameters:
  • edge (TopoDS_Edge &) –
  • fp (float) –
  • V1 (TopoDS_Vertex &) –
  • lp (float) –
  • V2 (TopoDS_Vertex &) –
  • face (TopoDS_Face &) –
  • SeqE (TopTools_SequenceOfShape &) –
  • aNum (int &) –
  • context (Handle_ShapeBuild_ReShape &) –
  • tol3d (float) –
  • tol2d (float) –
Return type:

bool

thisown

The membership flag

class ShapeFix_Wire(*args)

Bases: OCC.ShapeFix.ShapeFix_Root

  • Empty Constructor, creates clear object with default flags
Return type:None
  • Create new object with default flags and prepare it for use (Loads analyzer with all the data for the wire and face)
Parameters:
  • wire (TopoDS_Wire &) –
  • face (TopoDS_Face &) –
  • prec (float) –
Return type:

None

Analyzer()
  • returns field Analyzer (working tool)
Return type:Handle_ShapeAnalysis_Wire
ClearModes()
  • Sets all modes to default
Return type:None
ClearStatuses()
  • Clears all statuses
Return type:None
Face()
  • returns working face (Analyzer.Face())
Return type:TopoDS_Face
FixClosed()
  • Fixes a wire to be well closed It performs FixConnected, FixDegenerated and FixLacking between last and first edges (independingly on flag ClosedMode and modes for these fixings) If <prec> is -1 then MaxTolerance() is taken.
Parameters:prec (float) – default value is -1.0
Return type:bool
FixConnected()
  • Applies FixConnected(num) to all edges in the wire Connection between first and last edges is treated only if flag ClosedMode is True If <prec> is -1 then MaxTolerance() is taken.
Parameters:prec (float) – default value is -1.0
Return type:bool
  • Fixes connected edges (preceeding and current) Forces Vertices (end of preceeding-begin of current) to be the same one Tests with starting preci or, if given greater, <prec> If <prec> is -1 then MaxTolerance() is taken.
Parameters:
Return type:

bool

FixDegenerated()
  • Applies FixDegenerated(num) to all edges in the wire Connection between first and last edges is treated only if flag ClosedMode is True
Return type:bool
  • Fixes Degenerated Edge Checks an <num-th> edge or a point between <num>th-1 and <num>th edges for a singularity on a supporting surface. If singularity is detected, either adds new degenerated edge (before <num>th), or makes <num>th edge to be degenerated.
Parameters:num (int) –
Return type:bool
FixEdgeCurves()
  • Groups the fixes dealing with 3d and pcurves of the edges. The order of the fixes and the default behaviour are: ShapeFix_Edge::FixReversed2d ShapeFix_Edge::FixRemovePCurve (only if forced) ShapeFix_Edge::FixAddPCurve ShapeFix_Edge::FixRemoveCurve3d (only if forced) ShapeFix_Edge::FixAddCurve3d FixSeam, FixShifted, ShapeFix_Edge::FixSameParameter
Return type:bool
FixEdgeTool()
  • Returns tool for fixing wires.
Return type:Handle_ShapeFix_Edge
FixGap2d()
  • Fixes gap between ends of pcurves on num-1 and num-th edges. myPrecision is used to detect the gap. If convert is True, converts pcurves to bsplines to bend.
Parameters:
  • num (int) –
  • convert (bool) – default value is Standard_False
Return type:

bool

FixGap3d()
  • Fixes gap between ends of 3d curves on num-1 and num-th edges. myPrecision is used to detect the gap. If convert is True, converts curves to bsplines to bend.
Parameters:
  • num (int) –
  • convert (bool) – default value is Standard_False
Return type:

bool

FixGaps2d()
  • Fixes gaps between ends of pcurves on adjacent edges myPrecision is used to detect the gaps.
Return type:bool
FixGaps3d()
  • Fixes gaps between ends of 3d curves on adjacent edges myPrecision is used to detect the gaps.
Return type:bool
FixLacking()
  • Applies FixLacking(num) to all edges in the wire Connection between first and last edges is treated only if flag ClosedMode is True If <force> is False (default), test for connectness is done with precision of vertex between edges, else it is done with minimal value of vertex tolerance and Analyzer.Precision(). Hence, <force> will lead to inserting lacking edges in replacement of vertices which have big tolerances.
Parameters:force (bool) – default value is Standard_False
Return type:bool
  • Fixes Lacking Edge Test if two adjucent edges are disconnected in 2d (while connected in 3d), and in that case either increase tolerance of the vertex or add a new edge (straight in 2d space), in order to close wire in 2d. Returns True if edge was added or tolerance was increased.
Parameters:
  • num (int) –
  • force (bool) – default value is Standard_False
Return type:

bool

FixNotchedEdges()
Return type:bool
FixReorder()
  • Performs an analysis and reorders edges in the wire using class WireOrder
Return type:bool
  • Reorder edges in the wire as determined by WireOrder that should be filled and computed before
Parameters:wi (ShapeAnalysis_WireOrder &) –
Return type:bool
FixSeam()
  • Fixes a seam edge A Seam edge has two pcurves, one for forward. one for reversed The forward pcurve must be set as first //! NOTE that correct order of pcurves in the seam edge depends on its orientation (i.e., on orientation of the wire, method of exploration of edges etc.). Since wire represented by the ShapeExtend_WireData is always forward (orientation is accounted by edges), it will work correct if: 1. Wire created from ShapeExtend_WireData with methods ShapeExtend_WireData::Wire..() is added into the FORWARD face (orientation can be applied later) 2. Wire is extracted from the face with orientation not composed with orientation of the face
Parameters:num (int) –
Return type:bool
FixSelfIntersection()
  • Applies FixSelfIntersectingEdge(num) and FixIntersectingEdges(num) to all edges in the wire and FixIntersectingEdges(num1, num2) for all pairs num1 and num2 such that num2 >= num1 + 2 and removes wrong edges if any
Return type:bool
FixShifted()
  • Fixes edges which have pcurves shifted by whole parameter range on the closed surface (the case may occur if pcurve of edge was computed by projecting 3d curve, which goes along the seam). It compares each two consequent edges and tries to connect them if distance between ends is near to range of the surface. It also can detect and fix the case if all pcurves are connected, but lie out of parametric bounds of the surface. In addition to FixShifted from ShapeFix_Wire, more sophisticated check of degenerate points is performed, and special cases like sphere given by two meridians are treated.
Return type:bool
FixSmall()
  • Applies FixSmall(num) to all edges in the wire
Parameters:
  • lockvtx (bool) –
  • precsmall (float) – default value is 0.0
Return type:

int

  • Fixes Null Length Edge to be removed If an Edge has Null Length (regarding preci, or <precsmall> - what is smaller), it should be removed It can be with no problem if its two vertices are the same Else, if lockvtx is False, it is removed and its end vertex is put on the preceeding edge But if lockvtx is True, this edge must be kept ...
Parameters:
Return type:

bool

GetClosedWireMode()

ShapeFix_Wire_GetClosedWireMode(ShapeFix_Wire self) -> Standard_Boolean

GetFixAddCurve3dMode()

ShapeFix_Wire_GetFixAddCurve3dMode(ShapeFix_Wire self) -> Standard_Integer

GetFixAddPCurveMode()

ShapeFix_Wire_GetFixAddPCurveMode(ShapeFix_Wire self) -> Standard_Integer

GetFixConnectedMode()

ShapeFix_Wire_GetFixConnectedMode(ShapeFix_Wire self) -> Standard_Integer

GetFixDegeneratedMode()

ShapeFix_Wire_GetFixDegeneratedMode(ShapeFix_Wire self) -> Standard_Integer

GetFixEdgeCurvesMode()

ShapeFix_Wire_GetFixEdgeCurvesMode(ShapeFix_Wire self) -> Standard_Integer

GetFixGaps2dMode()

ShapeFix_Wire_GetFixGaps2dMode(ShapeFix_Wire self) -> Standard_Integer

GetFixGaps3dMode()

ShapeFix_Wire_GetFixGaps3dMode(ShapeFix_Wire self) -> Standard_Integer

GetFixGapsByRangesMode()

ShapeFix_Wire_GetFixGapsByRangesMode(ShapeFix_Wire self) -> Standard_Boolean

GetFixIntersectingEdgesMode()

ShapeFix_Wire_GetFixIntersectingEdgesMode(ShapeFix_Wire self) -> Standard_Integer

GetFixLackingMode()

ShapeFix_Wire_GetFixLackingMode(ShapeFix_Wire self) -> Standard_Integer

GetFixNonAdjacentIntersectingEdgesMode()

ShapeFix_Wire_GetFixNonAdjacentIntersectingEdgesMode(ShapeFix_Wire self) -> Standard_Integer

GetFixNotchedEdgesMode()

ShapeFix_Wire_GetFixNotchedEdgesMode(ShapeFix_Wire self) -> Standard_Integer

GetFixRemoveCurve3dMode()

ShapeFix_Wire_GetFixRemoveCurve3dMode(ShapeFix_Wire self) -> Standard_Integer

GetFixRemovePCurveMode()

ShapeFix_Wire_GetFixRemovePCurveMode(ShapeFix_Wire self) -> Standard_Integer

GetFixReorderMode()

ShapeFix_Wire_GetFixReorderMode(ShapeFix_Wire self) -> Standard_Integer

GetFixReversed2dMode()

ShapeFix_Wire_GetFixReversed2dMode(ShapeFix_Wire self) -> Standard_Integer

GetFixSameParameterMode()

ShapeFix_Wire_GetFixSameParameterMode(ShapeFix_Wire self) -> Standard_Integer

GetFixSeamMode()

ShapeFix_Wire_GetFixSeamMode(ShapeFix_Wire self) -> Standard_Integer

GetFixSelfIntersectingEdgeMode()

ShapeFix_Wire_GetFixSelfIntersectingEdgeMode(ShapeFix_Wire self) -> Standard_Integer

GetFixSelfIntersectionMode()

ShapeFix_Wire_GetFixSelfIntersectionMode(ShapeFix_Wire self) -> Standard_Integer

GetFixShiftedMode()

ShapeFix_Wire_GetFixShiftedMode(ShapeFix_Wire self) -> Standard_Integer

GetFixSmallMode()

ShapeFix_Wire_GetFixSmallMode(ShapeFix_Wire self) -> Standard_Integer

GetFixVertexToleranceMode()

ShapeFix_Wire_GetFixVertexToleranceMode(ShapeFix_Wire self) -> Standard_Integer

GetHandle()
GetModifyGeometryMode()

ShapeFix_Wire_GetModifyGeometryMode(ShapeFix_Wire self) -> Standard_Boolean

GetModifyRemoveLoopMode()

ShapeFix_Wire_GetModifyRemoveLoopMode(ShapeFix_Wire self) -> Standard_Integer

GetModifyTopologyMode()

ShapeFix_Wire_GetModifyTopologyMode(ShapeFix_Wire self) -> Standard_Boolean

GetPreferencePCurveMode()

ShapeFix_Wire_GetPreferencePCurveMode(ShapeFix_Wire self) -> Standard_Boolean

Init()
  • Load analyzer with all the data for the wire and face and drops all fixing statuses
Parameters:
  • wire (TopoDS_Wire &) –
  • face (TopoDS_Face &) –
  • prec (float) –
Return type:

None

  • Load analyzer with all the data already prepared and drops all fixing statuses If analyzer contains face, there is no need to set it by SetFace or SetSurface
Parameters:saw (Handle_ShapeAnalysis_Wire &) –
Return type:None
IsLoaded()
  • Tells if the wire is loaded
Return type:bool
IsReady()
  • Tells if the wire and face are loaded
Return type:bool
LastFixStatus()
  • Queries the status of last call to methods Fix... of advanced level For details see corresponding methods; universal statuses are: OK : problem not detected; nothing done DONE: problem was detected and successfully fixed FAIL: problem cannot be fixed
Parameters:status (ShapeExtend_Status) –
Return type:bool
Load()
  • Load data for the wire, and drops all fixing statuses
Parameters:wire (TopoDS_Wire &) –
Return type:None
  • Load data for the wire, and drops all fixing statuses
Parameters:sbwd (Handle_ShapeExtend_WireData &) –
Return type:None
NbEdges()
  • returns number of edges in the working wire
Return type:int
Perform()
  • This method performs all the available fixes. If some fix is turned on or off explicitly by the Fix..Mode() flag, this fix is either called or not depending on that flag. Else (i.e. if flag is default) fix is called depending on the situation: some fixes are not called or are limited if order of edges in the wire is not OK, or depending on modes //! The order of the fixes and default behaviour of Perform() are: FixReorder FixSmall (with lockvtx true if ! TopoMode or if wire is not ordered) FixConnected (if wire is ordered) FixEdgeCurves (without FixShifted if wire is not ordered) FixDegenerated (if wire is ordered) FixSelfIntersection (if wire is ordered and ClosedMode is True) FixLacking (if wire is ordered)
Return type:bool
SetClosedWireMode()

ShapeFix_Wire_SetClosedWireMode(ShapeFix_Wire self, Standard_Boolean value)

SetFace()
  • Set working face for the wire
Parameters:face (TopoDS_Face &) –
Return type:None
SetFixAddCurve3dMode()

ShapeFix_Wire_SetFixAddCurve3dMode(ShapeFix_Wire self, Standard_Integer value)

SetFixAddPCurveMode()

ShapeFix_Wire_SetFixAddPCurveMode(ShapeFix_Wire self, Standard_Integer value)

SetFixConnectedMode()

ShapeFix_Wire_SetFixConnectedMode(ShapeFix_Wire self, Standard_Integer value)

SetFixDegeneratedMode()

ShapeFix_Wire_SetFixDegeneratedMode(ShapeFix_Wire self, Standard_Integer value)

SetFixEdgeCurvesMode()

ShapeFix_Wire_SetFixEdgeCurvesMode(ShapeFix_Wire self, Standard_Integer value)

SetFixGaps2dMode()

ShapeFix_Wire_SetFixGaps2dMode(ShapeFix_Wire self, Standard_Integer value)

SetFixGaps3dMode()

ShapeFix_Wire_SetFixGaps3dMode(ShapeFix_Wire self, Standard_Integer value)

SetFixGapsByRangesMode()

ShapeFix_Wire_SetFixGapsByRangesMode(ShapeFix_Wire self, Standard_Boolean value)

SetFixIntersectingEdgesMode()

ShapeFix_Wire_SetFixIntersectingEdgesMode(ShapeFix_Wire self, Standard_Integer value)

SetFixLackingMode()

ShapeFix_Wire_SetFixLackingMode(ShapeFix_Wire self, Standard_Integer value)

SetFixNonAdjacentIntersectingEdgesMode()

ShapeFix_Wire_SetFixNonAdjacentIntersectingEdgesMode(ShapeFix_Wire self, Standard_Integer value)

SetFixNotchedEdgesMode()

ShapeFix_Wire_SetFixNotchedEdgesMode(ShapeFix_Wire self, Standard_Integer value)

SetFixRemoveCurve3dMode()

ShapeFix_Wire_SetFixRemoveCurve3dMode(ShapeFix_Wire self, Standard_Integer value)

SetFixRemovePCurveMode()

ShapeFix_Wire_SetFixRemovePCurveMode(ShapeFix_Wire self, Standard_Integer value)

SetFixReorderMode()

ShapeFix_Wire_SetFixReorderMode(ShapeFix_Wire self, Standard_Integer value)

SetFixReversed2dMode()

ShapeFix_Wire_SetFixReversed2dMode(ShapeFix_Wire self, Standard_Integer value)

SetFixSameParameterMode()

ShapeFix_Wire_SetFixSameParameterMode(ShapeFix_Wire self, Standard_Integer value)

SetFixSeamMode()

ShapeFix_Wire_SetFixSeamMode(ShapeFix_Wire self, Standard_Integer value)

SetFixSelfIntersectingEdgeMode()

ShapeFix_Wire_SetFixSelfIntersectingEdgeMode(ShapeFix_Wire self, Standard_Integer value)

SetFixSelfIntersectionMode()

ShapeFix_Wire_SetFixSelfIntersectionMode(ShapeFix_Wire self, Standard_Integer value)

SetFixShiftedMode()

ShapeFix_Wire_SetFixShiftedMode(ShapeFix_Wire self, Standard_Integer value)

SetFixSmallMode()

ShapeFix_Wire_SetFixSmallMode(ShapeFix_Wire self, Standard_Integer value)

SetFixVertexToleranceMode()

ShapeFix_Wire_SetFixVertexToleranceMode(ShapeFix_Wire self, Standard_Integer value)

SetModifyGeometryMode()

ShapeFix_Wire_SetModifyGeometryMode(ShapeFix_Wire self, Standard_Boolean value)

SetModifyRemoveLoopMode()

ShapeFix_Wire_SetModifyRemoveLoopMode(ShapeFix_Wire self, Standard_Integer value)

SetModifyTopologyMode()

ShapeFix_Wire_SetModifyTopologyMode(ShapeFix_Wire self, Standard_Boolean value)

SetPreferencePCurveMode()

ShapeFix_Wire_SetPreferencePCurveMode(ShapeFix_Wire self, Standard_Boolean value)

SetSurface()
  • Set surface for the wire
Parameters:surf (Handle_Geom_Surface &) –
Return type:None
  • Set surface for the wire
Parameters:
  • surf (Handle_Geom_Surface &) –
  • loc (TopLoc_Location &) –
Return type:

None

StatusClosed()
Parameters:status (ShapeExtend_Status) –
Return type:bool
StatusConnected()
Parameters:status (ShapeExtend_Status) –
Return type:bool
StatusDegenerated()
Parameters:status (ShapeExtend_Status) –
Return type:bool
StatusEdgeCurves()
Parameters:status (ShapeExtend_Status) –
Return type:bool
StatusGaps2d()
Parameters:status (ShapeExtend_Status) –
Return type:bool
StatusGaps3d()
Parameters:status (ShapeExtend_Status) –
Return type:bool
StatusLacking()
Parameters:status (ShapeExtend_Status) –
Return type:bool
StatusNotches()
Parameters:status (ShapeExtend_Status) –
Return type:bool
StatusRemovedSegment()
  • Querying the status of perfomed API fixing procedures Each Status..() methods gives information about the last call to the corresponding Fix..() method of API level: OK : no problems detected; nothing done DONE: some problem(s) was(were) detected and successfully fixed FAIL: some problem(s) cannot be fixed
Return type:bool
StatusReorder()
Parameters:status (ShapeExtend_Status) –
Return type:bool
StatusSelfIntersection()
Parameters:status (ShapeExtend_Status) –
Return type:bool
StatusSmall()
Parameters:status (ShapeExtend_Status) –
Return type:bool
Wire()
  • Makes the resulting Wire (by basic Brep_Builder)
Return type:TopoDS_Wire
WireAPIMake()
  • Makes the resulting Wire (by BRepAPI_MakeWire)
Return type:TopoDS_Wire
WireData()
  • returns working wire
Return type:Handle_ShapeExtend_WireData
thisown

The membership flag

class ShapeFix_WireVertex(*args)

Bases: object

Return type:None
Analyzer()
  • returns internal analyzer
Return type:ShapeAnalysis_WireVertex
Fix()
  • Fixes all statuses except ‘Disjoined’, i.e. the cases in which a common value has been set, with or without changing parameters Returns the count of fixed vertices, 0 if none
Return type:int
FixSame()
  • Fixes ‘Same’ or ‘Close’ status (same vertex may be set, without changing parameters) Returns the count of fixed vertices, 0 if none
Return type:int
Init()
  • Loads the wire, ininializes internal analyzer (ShapeAnalysis_WireVertex) with the given precision, and performs analysis
Parameters:
  • wire (TopoDS_Wire &) –
  • preci (float) –
Return type:

None

  • Loads the wire, ininializes internal analyzer (ShapeAnalysis_WireVertex) with the given precision, and performs analysis
Parameters:
  • sbwd (Handle_ShapeExtend_WireData &) –
  • preci (float) –
Return type:

None

  • Loads all the data on wire, already analysed by ShapeAnalysis_WireVertex
Parameters:sawv (ShapeAnalysis_WireVertex &) –
Return type:None
Wire()
  • returns resulting wire (fixed)
Return type:TopoDS_Wire
WireData()
  • returns data on wire (fixed)
Return type:Handle_ShapeExtend_WireData
thisown

The membership flag

class ShapeFix_Wireframe(*args)

Bases: OCC.ShapeFix.ShapeFix_Root

Return type:None
Parameters:shape (TopoDS_Shape &) –
Return type:None
CheckSmallEdges()
  • Auxiliary tool for FixSmallEdges which checks for small edges and fills the maps. Returns True if at least one small edge has been found.
Parameters:
  • theSmallEdges (TopTools_MapOfShape &) –
  • theEdgeToFaces (TopTools_DataMapOfShapeListOfShape &) –
  • theFaceWithSmall (TopTools_DataMapOfShapeListOfShape &) –
  • theMultyEdges (TopTools_MapOfShape &) –
Return type:

bool

ClearStatuses()
  • Clears all statuses
Return type:void
FixSmallEdges()
  • Fixes small edges in shape by merging adjacent edges If precision is 0.0, uses Precision::Confusion().
Return type:bool
FixWireGaps()
  • Fixes gaps between ends of curves of adjacent edges (both 3d and pcurves) in wires If precision is 0.0, uses Precision::Confusion().
Return type:bool
GetHandle()
GetModeDropSmallEdges()

ShapeFix_Wireframe_GetModeDropSmallEdges(ShapeFix_Wireframe self) -> Standard_Boolean

LimitAngle()
  • Get limit angle for merging edges.
Return type:float
Load()
  • Loads a shape, resets statuses
Parameters:shape (TopoDS_Shape &) –
Return type:None
MergeSmallEdges()
  • Auxiliary tool for FixSmallEdges which merges small edges. If theModeDrop is equal to Standard_True then small edges, which cannot be connected with adjacent edges are dropped. Otherwise they are kept. theLimitAngle specifies maximum allowed tangency discontinuity between adjacent edges. If theLimitAngle is equal to -1, this angle is not taken into account.
Parameters:
  • theSmallEdges (TopTools_MapOfShape &) –
  • theEdgeToFaces (TopTools_DataMapOfShapeListOfShape &) –
  • theFaceWithSmall (TopTools_DataMapOfShapeListOfShape &) –
  • theMultyEdges (TopTools_MapOfShape &) –
  • theModeDrop (bool) – default value is Standard_False
  • theLimitAngle (float) – default value is -1
Return type:

bool

SetLimitAngle()
  • Set limit angle for merging edges.
Parameters:theLimitAngle (float) –
Return type:None
SetModeDropSmallEdges()

ShapeFix_Wireframe_SetModeDropSmallEdges(ShapeFix_Wireframe self, Standard_Boolean value)

Shape()
Return type:TopoDS_Shape
StatusSmallEdges()
  • Decodes the status of the last FixSmallEdges. OK - No small edges were found DONE1 - Some small edges were fixed FAIL1 - Failed to fix some small edges
Parameters:status (ShapeExtend_Status) –
Return type:bool
StatusWireGaps()
  • Decodes the status of the last FixWireGaps. OK - No gaps were found DONE1 - Some gaps in 3D were fixed DONE2 - Some gaps in 2D were fixed FAIL1 - Failed to fix some gaps in 3D FAIL2 - Failed to fix some gaps in 2D
Parameters:status (ShapeExtend_Status) –
Return type:bool
thisown

The membership flag

class SwigPyIterator(*args, **kwargs)

Bases: object

advance()
copy()
decr()
distance()
equal()
incr()
next()
previous()
thisown

The membership flag

value()
register_handle(handle, base_object)

Inserts the handle into the base object to prevent memory corruption in certain cases

class shapefix

Bases: object

static EncodeRegularity(*args)
  • Runs EncodeRegularity from BRepLib taking into account shared components of assemblies, so that each component is processed only once
Parameters:
  • shape (TopoDS_Shape &) –
  • tolang (float) – default value is 1.0e-10
Return type:

void

static FixVertexPosition(*args)
  • Fix position of the vertices having tolerance more tnan specified one.;
Parameters:
  • theshape (TopoDS_Shape &) –
  • theTolerance (float) –
  • thecontext (Handle_ShapeBuild_ReShape &) –
Return type:

bool

static LeastEdgeSize(*args)
  • Calculate size of least edge;
Parameters:theshape (TopoDS_Shape &) –
Return type:float
static RemoveSmallEdges(*args)
  • Removes edges which are less than given tolerance from shape with help of ShapeFix_Wire::FixSmall()
Parameters:
  • shape (TopoDS_Shape &) –
  • Tolerance (float) –
  • context (Handle_ShapeBuild_ReShape &) –
Return type:

TopoDS_Shape

static SameParameter(*args)
  • Runs SameParameter from BRepLib with these adaptations : <enforce> forces computations, else they are made only on Edges with flag SameParameter false <preci>, if not precised, is taken for each EDge as its own Tolerance Returns True when done, False if an exception has been raised In case of exception anyway, as many edges as possible have been processed. The passed progress indicator allows user to consult the current progress stage and abort algorithm if needed.
Parameters:
  • shape (TopoDS_Shape &) –
  • enforce (bool) –
  • preci (float) – default value is 0.0
  • theProgress (Handle_Message_ProgressIndicator &) – default value is 0
Return type:

bool

thisown

The membership flag

shapefix_EncodeRegularity(*args)
  • Runs EncodeRegularity from BRepLib taking into account shared components of assemblies, so that each component is processed only once
Parameters:
  • shape (TopoDS_Shape &) –
  • tolang (float) – default value is 1.0e-10
Return type:

void

shapefix_FixVertexPosition(*args)
  • Fix position of the vertices having tolerance more tnan specified one.;
Parameters:
  • theshape (TopoDS_Shape &) –
  • theTolerance (float) –
  • thecontext (Handle_ShapeBuild_ReShape &) –
Return type:

bool

shapefix_LeastEdgeSize(*args)
  • Calculate size of least edge;
Parameters:theshape (TopoDS_Shape &) –
Return type:float
shapefix_RemoveSmallEdges(*args)
  • Removes edges which are less than given tolerance from shape with help of ShapeFix_Wire::FixSmall()
Parameters:
  • shape (TopoDS_Shape &) –
  • Tolerance (float) –
  • context (Handle_ShapeBuild_ReShape &) –
Return type:

TopoDS_Shape

shapefix_SameParameter(*args)
  • Runs SameParameter from BRepLib with these adaptations : <enforce> forces computations, else they are made only on Edges with flag SameParameter false <preci>, if not precised, is taken for each EDge as its own Tolerance Returns True when done, False if an exception has been raised In case of exception anyway, as many edges as possible have been processed. The passed progress indicator allows user to consult the current progress stage and abort algorithm if needed.
Parameters:
  • shape (TopoDS_Shape &) –
  • enforce (bool) –
  • preci (float) – default value is 0.0
  • theProgress (Handle_Message_ProgressIndicator &) – default value is 0
Return type:

bool