mirror of
https://git.salome-platform.org/gitpub/modules/geom.git
synced 2025-01-30 14:00:34 +05:00
Mantis issue 0021079: problems with Explode.
This commit is contained in:
parent
ad52e520d5
commit
4ee6eebb26
@ -15,6 +15,10 @@ obtain from it.
|
||||
\n Using <b>TUI Commands</b> you can perform this operation in a
|
||||
variety of ways:
|
||||
<ul>
|
||||
<li><em>geompy.ExtractShapes(Shape, Type, isSorted)</em> explodes a
|
||||
Shape on subshapes of a given Type and returns a List of sub-shapes.
|
||||
This method does not return the Shape itself if it matches the
|
||||
Type.</li>
|
||||
<li><em>geompy.SubShapeAll(Shape, Type)</em> explodes a Shape on
|
||||
subshapes of a given Type and returns a List of sub-shapes.</li>
|
||||
<li><em>geompy.SubShapeAllIDs(Shape, Type)</em> explodes a Shape on
|
||||
|
@ -990,7 +990,7 @@ Handle(TColStd_HSequenceOfTransient) GEOMImpl_IShapesOperations::MakeExplode
|
||||
switch (theExplodeType) {
|
||||
case EXPLODE_NEW_EXCLUDE_MAIN:
|
||||
pd << "ExtractShapes(" << theShape << ", "
|
||||
<< TopAbs_ShapeEnum(theShapeType) << ", " << (isSorted ? "TRUE" : "FALSE") << ")";
|
||||
<< TopAbs_ShapeEnum(theShapeType) << ", " << (isSorted ? "True" : "False") << ")";
|
||||
break;
|
||||
case EXPLODE_NEW_INCLUDE_MAIN:
|
||||
pd << "SubShapeAll" << (isSorted ? "SortedCentres(" : "(")
|
||||
|
@ -25,11 +25,12 @@
|
||||
# File : GEOM_usinggeom.py
|
||||
# Author : Damien COQUERET, Open CASCADE
|
||||
# Module : GEOM
|
||||
|
||||
# ! Please, if you edit this example file, update also
|
||||
# ! GEOM_SRC/doc/salome/gui/GEOM/input/tui_test_all.doc
|
||||
# ! as some sequences of symbols from this example are used during
|
||||
# ! documentation generation to identify certain places of this file
|
||||
#
|
||||
|
||||
def TestAll (geompy, math):
|
||||
import GEOM
|
||||
|
||||
@ -39,8 +40,6 @@ def TestAll (geompy, math):
|
||||
mindeg = 2
|
||||
maxdeg = 5
|
||||
nbiter = 5
|
||||
ShapeTypeFace = geompy.ShapeType["FACE"]
|
||||
ShapeTypeEdge = geompy.ShapeType["EDGE"]
|
||||
WantPlanarFace = 1 #True
|
||||
|
||||
radius = 10. #Double
|
||||
@ -166,7 +165,7 @@ def TestAll (geompy, math):
|
||||
Shell = geompy.MakeShell([Face, Face1]) #(List of GEOM_Object_ptr)->GEOM_Object_ptr
|
||||
|
||||
Prism1 = geompy.MakePrism(Face2, p0, pxyz) #(3 GEOM_Object_ptr)->GEOM_Object_ptr
|
||||
prism1_faces = geompy.SubShapeAllSortedCentres(Prism1, ShapeTypeFace)
|
||||
prism1_faces = geompy.SubShapeAllSortedCentres(Prism1, geompy.ShapeType["FACE"])
|
||||
Shell1 = geompy.MakeShell([prism1_faces[0], prism1_faces[1],
|
||||
prism1_faces[3], prism1_faces[4],
|
||||
prism1_faces[5], prism1_faces[2]])
|
||||
@ -231,7 +230,7 @@ def TestAll (geompy, math):
|
||||
Orientation = geompy.ChangeOrientation(Box)
|
||||
|
||||
#IDList for Fillet/Chamfer
|
||||
prism_edges = geompy.SubShapeAllSortedCentres(Prism, ShapeTypeEdge)
|
||||
prism_edges = geompy.ExtractShapes(Prism, geompy.ShapeType["EDGE"], True)
|
||||
|
||||
for anEdge in prism_edges:
|
||||
eid = geompy.GetSubShapeID(Prism, anEdge)
|
||||
@ -246,7 +245,7 @@ def TestAll (geompy, math):
|
||||
IDlist_e.append(geompy.GetSubShapeID(Prism, prism_edges[1]))
|
||||
IDlist_e.append(geompy.GetSubShapeID(Prism, prism_edges[2]))
|
||||
|
||||
prism_faces = geompy.SubShapeAllSortedCentres(Prism, ShapeTypeFace)
|
||||
prism_faces = geompy.ExtractShapes(Prism, geompy.ShapeType["FACE"], True)
|
||||
|
||||
f_ind_1 = geompy.GetSubShapeID(Prism, prism_faces[0])
|
||||
f_ind_2 = geompy.GetSubShapeID(Prism, prism_faces[1])
|
||||
@ -255,9 +254,9 @@ def TestAll (geompy, math):
|
||||
|
||||
#Local operations
|
||||
Fillet2d = geompy.MakeFillet2D(Face3, radius, [4, 7, 9]) #(GEOM_Object_ptr, Double, ListOfLong)->GEOM_Object_ptr
|
||||
Fillet = geompy.MakeFillet (Prism, radius, ShapeTypeEdge,
|
||||
Fillet = geompy.MakeFillet (Prism, radius, geompy.ShapeType["EDGE"],
|
||||
IDlist_e) #(GEOM_Object_ptr, Double, Short, ListOfLong)->GEOM_Object_ptr
|
||||
Fillet2 = geompy.MakeFilletR1R2 (Prism, 7., 13., ShapeTypeEdge,
|
||||
Fillet2 = geompy.MakeFilletR1R2 (Prism, 7., 13., geompy.ShapeType["EDGE"],
|
||||
IDlist_e) #(GEOM_Object_ptr, Double, Double, Short, ListOfLong)->GEOM_Object_ptr
|
||||
Chamfer = geompy.MakeChamferEdge(Prism, d1, d2,
|
||||
f_ind_1, f_ind_2) #(GEOM_Object_ptr, 2 Doubles, 2 Long)->GEOM_Object_ptr
|
||||
|
@ -2229,10 +2229,15 @@ class geompyDC(GEOM._objref_GEOM_Gen):
|
||||
anObj = self.GetSubShape(aShape, ListOfIDs)
|
||||
return anObj
|
||||
|
||||
## Extract shapes (excluding the main shape) of given type
|
||||
# @param aShape shape
|
||||
# @param aType shape type
|
||||
## Extract shapes (excluding the main shape) of given type.
|
||||
# @param aShape The shape.
|
||||
# @param aType The shape type.
|
||||
# @param isSorted Boolean flag to switch sorting on/off.
|
||||
# @return List of sub-shapes of type aType, contained in aShape.
|
||||
#
|
||||
# @ref swig_FilletChamfer "Example"
|
||||
def ExtractShapes(self, aShape, aType, isSorted = False):
|
||||
# Example: see GEOM_TestAll.py
|
||||
ListObj = self.ShapesOp.ExtractSubShapes(aShape, aType, isSorted)
|
||||
RaiseIfFailed("ExtractSubShapes", self.ShapesOp)
|
||||
return ListObj
|
||||
|
Loading…
Reference in New Issue
Block a user