mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-12-26 17:30:35 +05:00
Add PreCAD
Update doc Update smeshDC.py
This commit is contained in:
parent
eed8bfc30b
commit
78fd150f79
@ -4,6 +4,7 @@
|
|||||||
|
|
||||||
\n BLSURF Parameters hypothesis works only with <b>BLSURF</b> 2d
|
\n BLSURF Parameters hypothesis works only with <b>BLSURF</b> 2d
|
||||||
algorithm. This algorithm is a commercial software.
|
algorithm. This algorithm is a commercial software.
|
||||||
|
\n To get a licence, visit http://www.distene.com/corp/eval-distene.html
|
||||||
|
|
||||||
<h1>General parameters</h1>
|
<h1>General parameters</h1>
|
||||||
|
|
||||||
@ -67,6 +68,15 @@ not sewed faces.
|
|||||||
<li>"Pre-process" and "Pre-process++" allow the BLSURF software to
|
<li>"Pre-process" and "Pre-process++" allow the BLSURF software to
|
||||||
pre-process the geometrical model to eventually produce a conform
|
pre-process the geometrical model to eventually produce a conform
|
||||||
mesh. </li>
|
mesh. </li>
|
||||||
|
<li>"PreCAD" is an auxiliary CAD pre-processing module which has
|
||||||
|
two main goals:
|
||||||
|
<ul>
|
||||||
|
<li> Complete missing or inadequate CAD-description.</li>
|
||||||
|
<li>Perform topology reconstruction and specific geometry
|
||||||
|
enhancement for mesh generation.</li>
|
||||||
|
</ul>
|
||||||
|
This module requires a specific licence.
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<li><b>Verbosity level</b> - Defines the percentage of "verbosity" of
|
<li><b>Verbosity level</b> - Defines the percentage of "verbosity" of
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
|
|
||||||
\n GHS3D Parameters hypothesis works only with <b>Tetrahedron (GHS3D)</b>
|
\n GHS3D Parameters hypothesis works only with <b>Tetrahedron (GHS3D)</b>
|
||||||
algorithm. This algorithm is a commercial software.
|
algorithm. This algorithm is a commercial software.
|
||||||
|
\n To get a licence, visit http://www.distene.com/corp/eval-distene.html
|
||||||
|
|
||||||
<h1>General parameters</h1>
|
<h1>General parameters</h1>
|
||||||
|
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
|
|
||||||
\n Hexotic Parameters hypothesis works only with <b>Hexotic</b>
|
\n Hexotic Parameters hypothesis works only with <b>Hexotic</b>
|
||||||
algorithm. This algorithm is a commercial software.
|
algorithm. This algorithm is a commercial software.
|
||||||
|
\n To get a licence, visit http://www.distene.com/corp/eval-distene.html
|
||||||
|
|
||||||
\image html hexotic_parameters.png
|
\image html hexotic_parameters.png
|
||||||
|
|
||||||
|
@ -34,36 +34,33 @@ geompy.addToStudyInFather(Face_2,Wire_1, "Wire_1")
|
|||||||
blsurfMesh = smesh.Mesh(box,"box: BLSurf mesh")
|
blsurfMesh = smesh.Mesh(box,"box: BLSurf mesh")
|
||||||
|
|
||||||
# create a BLSurf algorithm for faces
|
# create a BLSurf algorithm for faces
|
||||||
BLSURF = blsurfMesh.Triangle(algo=smesh.BLSURF)
|
algo2d = blsurfMesh.Triangle(algo=smesh.BLSURF)
|
||||||
|
|
||||||
# get BLSurf algorithm hypothesis
|
# optional - set physical mesh to 2 = Size Map
|
||||||
BLSURF_Parameters = BLSURF.Parameters()
|
algo2d.SetPhysicalMesh( 2 )
|
||||||
|
|
||||||
# set physical mesh to 2 = Size Map
|
# optional - set global mesh size
|
||||||
BLSURF_Parameters.SetPhysicalMesh( 2 )
|
algo2d.SetPhySize( 34.641 )
|
||||||
|
|
||||||
# set global mesh size
|
|
||||||
BLSURF_Parameters.SetPhySize( 34.641 )
|
|
||||||
|
|
||||||
# set size on Face_1
|
# set size on Face_1
|
||||||
BLSURF_Parameters.SetSizeMap(Face_1, 'def f(u,v): return 10' )
|
algo2d.SetSizeMap(Face_1, 'def f(u,v): return 10' )
|
||||||
# set size on Edge_1
|
# set size on Edge_1
|
||||||
BLSURF_Parameters.SetSizeMap(Edge_1, 'def f(t): return 5' )
|
algo2d.SetSizeMap(Edge_1, 'def f(t): return 5' )
|
||||||
# set size on Vertex_1
|
# set size on Vertex_1
|
||||||
BLSURF_Parameters.SetSizeMap(Vertex_1, 'def f(): return 2' )
|
algo2d.SetSizeMap(Vertex_1, 'def f(): return 2' )
|
||||||
|
|
||||||
# compute the mesh
|
# compute the mesh
|
||||||
blsurfMesh.Compute()
|
blsurfMesh.Compute()
|
||||||
|
|
||||||
# Add enforced vertex for Face_1 on (50, 50, 50)
|
# Add enforced vertex for Face_1 on (50, 50, 50)
|
||||||
# The projection coordinates will be (50, 50, 0)
|
# The projection coordinates will be (50, 50, 0)
|
||||||
BLSURF_Parameters.SetEnforcedVertex(Face_1, 50, 50, 50)
|
algo2d.SetEnforcedVertex(Face_1, 50, 50, 50)
|
||||||
|
|
||||||
# Add another enforced vertex on (150, 150, 150)
|
# Add another enforced vertex on (150, 150, 150)
|
||||||
BLSURF_Parameters.SetEnforcedVertex(Face_1, 150, 150, 150)
|
algo2d.SetEnforcedVertex(Face_1, 150, 150, 150)
|
||||||
|
|
||||||
# Retrieve and print the list of enforced vertices defines on Face_1
|
# Retrieve and print the list of enforced vertices defines on Face_1
|
||||||
enfList = BLSURF_Parameters.GetEnforcedVertices(Face_1)
|
enfList = algo2d.GetEnforcedVertices(Face_1)
|
||||||
print "List of enforced vertices for Face_1: "
|
print "List of enforced vertices for Face_1: "
|
||||||
print enfList
|
print enfList
|
||||||
|
|
||||||
@ -71,8 +68,8 @@ print enfList
|
|||||||
blsurfMesh.Compute()
|
blsurfMesh.Compute()
|
||||||
|
|
||||||
# Remove an enforced vertex and print the list
|
# Remove an enforced vertex and print the list
|
||||||
BLSURF_Parameters.UnsetEnforcedVertex(Face_1, 50, 50, 50)
|
algo2d.UnsetEnforcedVertex(Face_1, 50, 50, 50)
|
||||||
enfList = BLSURF_Parameters.GetEnforcedVertices(Face_1)
|
enfList = algo2d.GetEnforcedVertices(Face_1)
|
||||||
print "List of enforced vertices for Face_1: "
|
print "List of enforced vertices for Face_1: "
|
||||||
print enfList
|
print enfList
|
||||||
|
|
||||||
@ -80,7 +77,7 @@ print enfList
|
|||||||
blsurfMesh.Compute()
|
blsurfMesh.Compute()
|
||||||
|
|
||||||
# Remove all enforced vertices defined on Face_1
|
# Remove all enforced vertices defined on Face_1
|
||||||
BLSURF_Parameters.UnsetEnforcedVertices(Face_1)
|
algo2d.UnsetEnforcedVertices(Face_1)
|
||||||
|
|
||||||
# compute the mesh
|
# compute the mesh
|
||||||
blsurfMesh.Compute()
|
blsurfMesh.Compute()
|
||||||
@ -91,11 +88,11 @@ blsurfMesh.Compute()
|
|||||||
# The size on Wire_1 is 1 and will grow until a maximum of 36.641 (physical size set above)
|
# The size on Wire_1 is 1 and will grow until a maximum of 36.641 (physical size set above)
|
||||||
# The influence distance of the attractor is 20
|
# The influence distance of the attractor is 20
|
||||||
# The size is kept constant until a distance of 10
|
# The size is kept constant until a distance of 10
|
||||||
BLSURF_Parameters.SetAttractorGeom(Face_2, Wire_1, 1, 36.641, 20, 10)
|
algo2d.SetAttractorGeom(Face_2, Wire_1, 1, 36.641, 20, 10)
|
||||||
|
|
||||||
# In order to let the attractor control the growing of the mesh let set
|
# In order to let the attractor control the growing of the mesh let set
|
||||||
# the gradation to its maximum
|
# the gradation to its maximum
|
||||||
BLSURF_Parameters.SetGradation( 2.5 )
|
algo2d.SetGradation( 2.5 )
|
||||||
|
|
||||||
# compute the mesh
|
# compute the mesh
|
||||||
blsurfMesh.Compute()
|
blsurfMesh.Compute()
|
||||||
|
@ -188,7 +188,7 @@ None_Optimization, Light_Optimization, Medium_Optimization, Strong_Optimization
|
|||||||
None_Optimization, Light_Optimization, Standard_Optimization, StandardPlus_Optimization, Strong_Optimization = 0,1,2,3,4
|
None_Optimization, Light_Optimization, Standard_Optimization, StandardPlus_Optimization, Strong_Optimization = 0,1,2,3,4
|
||||||
|
|
||||||
# Topology treatment way of BLSURF
|
# Topology treatment way of BLSURF
|
||||||
FromCAD, PreProcess, PreProcessPlus = 0,1,2
|
FromCAD, PreProcess, PreProcessPlus, PreCAD = 0,1,2,3
|
||||||
|
|
||||||
# Element size flag of BLSURF
|
# Element size flag of BLSURF
|
||||||
DefaultSize, DefaultGeom, BLSURF_Custom, SizeMap = 0,0,1,2
|
DefaultSize, DefaultGeom, BLSURF_Custom, SizeMap = 0,0,1,2
|
||||||
@ -5053,6 +5053,7 @@ class Mesh_Triangle(Mesh_Algorithm):
|
|||||||
# @param way defines how mesh conformity is assured <ul>
|
# @param way defines how mesh conformity is assured <ul>
|
||||||
# <li>FromCAD - mesh conformity is assured by conformity of a shape</li>
|
# <li>FromCAD - mesh conformity is assured by conformity of a shape</li>
|
||||||
# <li>PreProcess or PreProcessPlus - by pre-processing a CAD model</li></ul>
|
# <li>PreProcess or PreProcessPlus - by pre-processing a CAD model</li></ul>
|
||||||
|
# <li>PreCAD - by pre-processing with PreCAD a CAD model</li></ul>
|
||||||
# @ingroup l3_hypos_blsurf
|
# @ingroup l3_hypos_blsurf
|
||||||
def SetTopology(self, way):
|
def SetTopology(self, way):
|
||||||
if self.Parameters():
|
if self.Parameters():
|
||||||
@ -5080,6 +5081,52 @@ class Mesh_Triangle(Mesh_Algorithm):
|
|||||||
# Parameter of BLSURF algo
|
# Parameter of BLSURF algo
|
||||||
self.params.SetOptionValue(optionName,level)
|
self.params.SetOptionValue(optionName,level)
|
||||||
|
|
||||||
|
## Enforced vertices (BLSURF)
|
||||||
|
|
||||||
|
## To get all the enforced vertices
|
||||||
|
# @ingroup l3_hypos_blsurf
|
||||||
|
def GetAllEnforcedVertices(self):
|
||||||
|
if self.Parameters():
|
||||||
|
# Parameter of BLSURF algo
|
||||||
|
return self.params.GetAllEnforcedVertices()
|
||||||
|
|
||||||
|
## To get all the enforced vertices sorted by face (or group, compound)
|
||||||
|
# @ingroup l3_hypos_blsurf
|
||||||
|
def GetAllEnforcedVerticesByFace(self):
|
||||||
|
if self.Parameters():
|
||||||
|
# Parameter of BLSURF algo
|
||||||
|
return self.params.GetAllEnforcedVerticesByFace()
|
||||||
|
|
||||||
|
## To get all the enforced vertices sorted by coords of input vertices
|
||||||
|
# @ingroup l3_hypos_blsurf
|
||||||
|
def GetAllEnforcedVerticesByCoords(self):
|
||||||
|
if self.Parameters():
|
||||||
|
# Parameter of BLSURF algo
|
||||||
|
return self.params.GetAllEnforcedVerticesByCoords()
|
||||||
|
|
||||||
|
## To get all the coords of input vertices sorted by face (or group, compound)
|
||||||
|
# @ingroup l3_hypos_blsurf
|
||||||
|
def GetAllCoordsByFace(self):
|
||||||
|
if self.Parameters():
|
||||||
|
# Parameter of BLSURF algo
|
||||||
|
return self.params.GetAllCoordsByFace()
|
||||||
|
|
||||||
|
## To get all the enforced vertices on a face (or group, compound)
|
||||||
|
# @param theFace : GEOM face (or group, compound) on which to define an enforced vertex
|
||||||
|
# @ingroup l3_hypos_blsurf
|
||||||
|
def GetEnforcedVertices(self, theFace):
|
||||||
|
if self.Parameters():
|
||||||
|
# Parameter of BLSURF algo
|
||||||
|
AssureGeomPublished( self.mesh, theFace )
|
||||||
|
return self.params.GetEnforcedVertices(theFace)
|
||||||
|
|
||||||
|
## To clear all the enforced vertices
|
||||||
|
# @ingroup l3_hypos_blsurf
|
||||||
|
def ClearAllEnforcedVertices(self):
|
||||||
|
if self.Parameters():
|
||||||
|
# Parameter of BLSURF algo
|
||||||
|
return self.params.ClearAllEnforcedVertices()
|
||||||
|
|
||||||
## To set an enforced vertex on a face (or group, compound) given the coordinates of a point. If the point is not on the face, it will projected on it. If there is no projection, no enforced vertex is created.
|
## To set an enforced vertex on a face (or group, compound) given the coordinates of a point. If the point is not on the face, it will projected on it. If there is no projection, no enforced vertex is created.
|
||||||
# @param theFace : GEOM face (or group, compound) on which to define an enforced vertex
|
# @param theFace : GEOM face (or group, compound) on which to define an enforced vertex
|
||||||
# @param x : x coordinate
|
# @param x : x coordinate
|
||||||
@ -5089,7 +5136,6 @@ class Mesh_Triangle(Mesh_Algorithm):
|
|||||||
def SetEnforcedVertex(self, theFace, x, y, z):
|
def SetEnforcedVertex(self, theFace, x, y, z):
|
||||||
if self.Parameters():
|
if self.Parameters():
|
||||||
# Parameter of BLSURF algo
|
# Parameter of BLSURF algo
|
||||||
# self.SetPhysicalMesh(2)
|
|
||||||
AssureGeomPublished( self.mesh, theFace )
|
AssureGeomPublished( self.mesh, theFace )
|
||||||
return self.params.SetEnforcedVertex(theFace, x, y, z)
|
return self.params.SetEnforcedVertex(theFace, x, y, z)
|
||||||
|
|
||||||
@ -5103,7 +5149,6 @@ class Mesh_Triangle(Mesh_Algorithm):
|
|||||||
def SetEnforcedVertexNamed(self, theFace, x, y, z, vertexName):
|
def SetEnforcedVertexNamed(self, theFace, x, y, z, vertexName):
|
||||||
if self.Parameters():
|
if self.Parameters():
|
||||||
# Parameter of BLSURF algo
|
# Parameter of BLSURF algo
|
||||||
# self.SetPhysicalMesh(2)
|
|
||||||
AssureGeomPublished( self.mesh, theFace )
|
AssureGeomPublished( self.mesh, theFace )
|
||||||
return self.params.SetEnforcedVertexNamed(theFace, x, y, z, vertexName)
|
return self.params.SetEnforcedVertexNamed(theFace, x, y, z, vertexName)
|
||||||
|
|
||||||
@ -5114,7 +5159,6 @@ class Mesh_Triangle(Mesh_Algorithm):
|
|||||||
def SetEnforcedVertexGeom(self, theFace, theVertex):
|
def SetEnforcedVertexGeom(self, theFace, theVertex):
|
||||||
if self.Parameters():
|
if self.Parameters():
|
||||||
# Parameter of BLSURF algo
|
# Parameter of BLSURF algo
|
||||||
# self.SetPhysicalMesh(2)
|
|
||||||
AssureGeomPublished( self.mesh, theFace )
|
AssureGeomPublished( self.mesh, theFace )
|
||||||
AssureGeomPublished( self.mesh, theVertex )
|
AssureGeomPublished( self.mesh, theVertex )
|
||||||
return self.params.SetEnforcedVertexGeom(theFace, theVertex)
|
return self.params.SetEnforcedVertexGeom(theFace, theVertex)
|
||||||
@ -5129,7 +5173,6 @@ class Mesh_Triangle(Mesh_Algorithm):
|
|||||||
def SetEnforcedVertexWithGroup(self, theFace, x, y, z, groupName):
|
def SetEnforcedVertexWithGroup(self, theFace, x, y, z, groupName):
|
||||||
if self.Parameters():
|
if self.Parameters():
|
||||||
# Parameter of BLSURF algo
|
# Parameter of BLSURF algo
|
||||||
# self.SetPhysicalMesh(2)
|
|
||||||
AssureGeomPublished( self.mesh, theFace )
|
AssureGeomPublished( self.mesh, theFace )
|
||||||
return self.params.SetEnforcedVertexWithGroup(theFace, x, y, z, groupName)
|
return self.params.SetEnforcedVertexWithGroup(theFace, x, y, z, groupName)
|
||||||
|
|
||||||
@ -5144,7 +5187,6 @@ class Mesh_Triangle(Mesh_Algorithm):
|
|||||||
def SetEnforcedVertexNamedWithGroup(self, theFace, x, y, z, vertexName, groupName):
|
def SetEnforcedVertexNamedWithGroup(self, theFace, x, y, z, vertexName, groupName):
|
||||||
if self.Parameters():
|
if self.Parameters():
|
||||||
# Parameter of BLSURF algo
|
# Parameter of BLSURF algo
|
||||||
# self.SetPhysicalMesh(2)
|
|
||||||
AssureGeomPublished( self.mesh, theFace )
|
AssureGeomPublished( self.mesh, theFace )
|
||||||
return self.params.SetEnforcedVertexNamedWithGroup(theFace, x, y, z, vertexName, groupName)
|
return self.params.SetEnforcedVertexNamedWithGroup(theFace, x, y, z, vertexName, groupName)
|
||||||
|
|
||||||
@ -5156,7 +5198,6 @@ class Mesh_Triangle(Mesh_Algorithm):
|
|||||||
def SetEnforcedVertexGeomWithGroup(self, theFace, theVertex, groupName):
|
def SetEnforcedVertexGeomWithGroup(self, theFace, theVertex, groupName):
|
||||||
if self.Parameters():
|
if self.Parameters():
|
||||||
# Parameter of BLSURF algo
|
# Parameter of BLSURF algo
|
||||||
# self.SetPhysicalMesh(2)
|
|
||||||
AssureGeomPublished( self.mesh, theFace )
|
AssureGeomPublished( self.mesh, theFace )
|
||||||
AssureGeomPublished( self.mesh, theVertex )
|
AssureGeomPublished( self.mesh, theVertex )
|
||||||
return self.params.SetEnforcedVertexGeomWithGroup(theFace, theVertex,groupName)
|
return self.params.SetEnforcedVertexGeomWithGroup(theFace, theVertex,groupName)
|
||||||
@ -5193,6 +5234,8 @@ class Mesh_Triangle(Mesh_Algorithm):
|
|||||||
AssureGeomPublished( self.mesh, theFace )
|
AssureGeomPublished( self.mesh, theFace )
|
||||||
return self.params.UnsetEnforcedVertices(theFace)
|
return self.params.UnsetEnforcedVertices(theFace)
|
||||||
|
|
||||||
|
## Attractors (BLSURF)
|
||||||
|
|
||||||
## Sets an attractor on the chosen face. The mesh size will decrease exponentially with the distance from theAttractor, following the rule h(d) = theEndSize - (theEndSize - theStartSize) * exp [ - ( d / theInfluenceDistance ) ^ 2 ]
|
## Sets an attractor on the chosen face. The mesh size will decrease exponentially with the distance from theAttractor, following the rule h(d) = theEndSize - (theEndSize - theStartSize) * exp [ - ( d / theInfluenceDistance ) ^ 2 ]
|
||||||
# @param theFace : face on which the attractor will be defined
|
# @param theFace : face on which the attractor will be defined
|
||||||
# @param theAttractor : geometrical object from which the mesh size "h" decreases exponentially
|
# @param theAttractor : geometrical object from which the mesh size "h" decreases exponentially
|
||||||
@ -5217,6 +5260,38 @@ class Mesh_Triangle(Mesh_Algorithm):
|
|||||||
AssureGeomPublished( self.mesh, theFace )
|
AssureGeomPublished( self.mesh, theFace )
|
||||||
self.params.SetAttractorGeom(theFace)
|
self.params.SetAttractorGeom(theFace)
|
||||||
|
|
||||||
|
## Size maps (BLSURF)
|
||||||
|
|
||||||
|
## To set a size map on a face, edge or vertex (or group, compound) given Python function.
|
||||||
|
# If theObject is a face, the function can be: def f(u,v): return u+v
|
||||||
|
# If theObject is an edge, the function can be: def f(t): return t/2
|
||||||
|
# If theObject is a vertex, the function can be: def f(): return 10
|
||||||
|
# @param theObject : GEOM face, edge or vertex (or group, compound) on which to define a size map
|
||||||
|
# @param theSizeMap : Size map defined as a string
|
||||||
|
# @ingroup l3_hypos_blsurf
|
||||||
|
def SetSizeMap(self, theObject, theSizeMap):
|
||||||
|
if self.Parameters():
|
||||||
|
# Parameter of BLSURF algo
|
||||||
|
AssureGeomPublished( self.mesh, theObject )
|
||||||
|
return self.params.SetSizeMap(theObject, theSizeMap)
|
||||||
|
|
||||||
|
## To remove a size map defined on a face, edge or vertex (or group, compound)
|
||||||
|
# @param theObject : GEOM face, edge or vertex (or group, compound) on which to define a size map
|
||||||
|
# @ingroup l3_hypos_blsurf
|
||||||
|
def UnsetSizeMap(self, theObject):
|
||||||
|
if self.Parameters():
|
||||||
|
# Parameter of BLSURF algo
|
||||||
|
AssureGeomPublished( self.mesh, theObject )
|
||||||
|
return self.params.UnsetSizeMap(theObject)
|
||||||
|
|
||||||
|
## To remove all the size maps
|
||||||
|
# @ingroup l3_hypos_blsurf
|
||||||
|
def ClearSizeMaps(self):
|
||||||
|
if self.Parameters():
|
||||||
|
# Parameter of BLSURF algo
|
||||||
|
return self.params.ClearSizeMaps()
|
||||||
|
|
||||||
|
|
||||||
## Sets QuadAllowed flag.
|
## Sets QuadAllowed flag.
|
||||||
# Only for algoType == NETGEN(NETGEN_1D2D) || NETGEN_2D || BLSURF
|
# Only for algoType == NETGEN(NETGEN_1D2D) || NETGEN_2D || BLSURF
|
||||||
# @ingroup l3_hypos_netgen l3_hypos_blsurf
|
# @ingroup l3_hypos_netgen l3_hypos_blsurf
|
||||||
|
Loading…
Reference in New Issue
Block a user