From: rnv Date: Wed, 28 Mar 2012 06:33:27 +0000 (+0000) Subject: *** empty log message *** X-Git-Tag: V6_5_0a1~7 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=19ad339f3a5e0761d5354af5bc2058991eb14d4e;p=plugins%2Fblsurfplugin.git *** empty log message *** --- diff --git a/doc/salome/gui/images/head.png b/doc/salome/gui/images/head.png new file mode 100755 index 0000000..307d9ef Binary files /dev/null and b/doc/salome/gui/images/head.png differ diff --git a/doc/salome/gui/input/blsurf_hypo.doc b/doc/salome/gui/input/blsurf_hypo.doc new file mode 100644 index 0000000..94c1697 --- /dev/null +++ b/doc/salome/gui/input/blsurf_hypo.doc @@ -0,0 +1,445 @@ +/*! + +\page blsurf_hypo_page BLSURF Parameters hypothesis + +\anchor blsurf_top +\n BLSURF Parameters hypothesis works only with BLSURF 2d +algorithm. This algorithm is a commercial software. +\n To get a licence, visit http://www.distene.com/corp/eval-distene.html + +
    +
  1. \ref blsurf_general_parameters "General parameters"
  2. +
  3. \ref blsurf_advanced_parameters "Advanced parameters"
  4. +
  5. \ref blsurf_local_size "Local size"
  6. +
      +
    1. \ref blsurf_sizemap_computation "Computation of the physical size"
    2. +
    3. \ref blsurf_attractor "Advanced maps"
    4. +
    5. \ref blsurf_attractor_computation "Computation of attractors"
    6. +
    +
  7. \ref blsurf_enforced_elements "Enforced vertices"
  8. +
  9. \ref blsurf_limitations "Limitations"
  10. +
+ +\anchor blsurf_general_parameters +

General parameters

+ +\image html blsurf_parameters.png + + + +\ref blsurf_top "Back to top" + +\anchor blsurf_advanced_parameters +

Advanced parameters

+ +The notion of diag used in the descriptions means the diagonal of the bounding box of the +geometrical object to mesh. + +\image html blsurf_parameters_advanced.png + +
  • Verbosity level - Defines the percentage of "verbosity" of +BLSURF [0-100].
  • + +
  • Topology - allows creation of a conform mesh on a shell of +not sewed faces. + + +
  • ExportGMF - saves the computed mesh into a GMF file (.mesh or .meshb).
  • + +
  • Add option - provides the choice of multiple PreCAD and BLSURF +advanced options, which appear, if selected, in a table where it is +possible to input the value of the option and to edit it later.
  • + +
  • Clear option - removes the option selected in the table.
  • + + + +\n +The following BLSURF options are commonly usable. + + + +\n +The following PreCAD options are commonly usable. + + +\n +The following advanced options are not documented and you can use them +at your own risk. +\n\n Integer variables: + +Real variables: + +String variables: + + +\ref blsurf_top "Back to top" + +\anchor blsurf_local_size +

    Local size

    + +Local sizes can be defined on faces, edges or vertices. + + +3 different types of size maps can be defined: +
      +
    1. \ref blsurf_sizemap_computation "Computation of the physical size"
    2. +
    3. \ref blsurf_attractor "Advanced maps"
    4. +
    5. \ref blsurf_attractor_computation "Computation of attractors"
    6. +
    + +\ref blsurf_top "Back to top" + +\anchor blsurf_sizemap_computation +

    Computation of the physical size

    +\image html blsurf_parameters_sizemap1.png + +The physical size is obtained by querying sizemap functions associated to the input CAD object for surfaces, curves and points. +Each function can either return a value h (which is then trimmed +between the two bounds hphymin and hphymax), or "no answer" (by not +assigning a value to h), thus providing great flexibility in the +specification of the sizes. The computation depends on whether point P is internal to a surface, internal to a curve, or at the end of several curves: + +In order to compute the mean of several values, the arithmetic mean is used by default, but this can be modified by the parameter \ref blsurf_hmean_flag "hmean flag". In the same way, in order to interpolate two values, a linear interpolation is used by default, but this can be modified by \ref blsurf_hinterpol_flag "hinterpol flag". + +\ref blsurf_local_size "Back to \"Local size\"" \n +\ref blsurf_top "Back to top" + +\anchor blsurf_attractor +

    Advanced maps

    +\n +\image html blsurf_parameters_sizemap2.png +\n +More specific size maps can be defined on faces. + + + +\image html blsurf_const_size_near_shape2.png "Example of size map with constant size option, the size is kept constant on the left side of the surface until a certain distance" + +Remark : The validation of the hypothesis might take a few seconds if +attractors are defined or the "constant size" option is used because a +map of distances has to be built on the whole surface for each face +where such a hypothesis has been defined. + +
    See Also a sample TUI Script of the \ref tui_blsurf "creation of a BLSurf hypothesis", including size map. + +\ref blsurf_local_size "Back to \"Local size\"" \n +\ref blsurf_top "Back to top" + +\anchor blsurf_attractor_computation +

    Computation of attractors

    +\n +The size grows exponentially following the equation : +\f$h(d) = \mathrm{User Size} + (\mathrm{h\_start} - \mathrm{User Size}) \times e ^ { - \left( \frac{d}{R} \right) ^ {2} }\f$ +\n +Where : + + +\image html blsurf_attractors2.png "Example of mesh created using attractors, the attractors here are the side edges and the size grows from the side of the surface towards the apex" + +\ref blsurf_local_size "Back to \"Local size\"" \n +\ref blsurf_top "Back to top" + +\anchor blsurf_enforced_elements +

    Enforced vertices

    + +\image html blsurf_parameters_enforced_vertices.png + +It is possible to define some enforced vertices to BLSurf algorithm. +An enforced vertex is defined on a Face or a Compound by + +The enforced vertex is the projection of a point defined by its +(x,y,z) coordinates on the selected face. + + +
    See Also a sample TUI Script of the \ref tui_blsurf "creation of a BLSurf hypothesis", including enforced vertices. + +\ref blsurf_top "Back to top" + +\anchor blsurf_limitations +

    Limitations

    + +Currently BLSURF plugin has the following limitations. + + +\ref blsurf_top "Back to top" + +*/ diff --git a/doc/salome/gui/input/blsurfplugin_python_interface.doc b/doc/salome/gui/input/blsurfplugin_python_interface.doc new file mode 100644 index 0000000..0f605e9 --- /dev/null +++ b/doc/salome/gui/input/blsurfplugin_python_interface.doc @@ -0,0 +1,162 @@ +/*! + +\page blsurfplugin_python_interface_page Python Interface + +Python package \ref BLSURFPluginDC "BLSURFPlugin" defines several classes, destined for creation of the 2D meshes. + +Documentation for BLSURFPlugin package is available in linear form grouped by classes, declared in the BLSURFPluginDC.py file. + +Below you can see an example of usage of the BLSURFPlugin package for mesh generation: + +\anchor tui_blsurf +

    Construction of Mesh using BLSurf algorithm

    +

    Basic hypothesis

    +\code +import geompy +import smesh +import BLSURFPlugin + +# create a box +box = geompy.MakeBoxDXDYDZ(200., 200., 200.) +geompy.addToStudy(box, "box") + +# get sub-shapes +Face_1 = geompy.SubShapeAllSorted(box, geompy.ShapeType["FACE"])[0] +Edge_1 = geompy.SubShapeAllSorted(box, geompy.ShapeType["EDGE"])[0] +Vertex_1 = geompy.SubShapeAllSorted(box, geompy.ShapeType["VERTEX"])[0] + +Face_2 = geompy.SubShapeAllSorted(box, geompy.ShapeType["FACE"])[5] +Wire_1 = geompy.SubShapeAllSorted(Face_2, geompy.ShapeType["WIRE"])[0] + +# Geom object with sizemaps can be unpublished in study. +# They will then be automatically published. +geompy.addToStudyInFather(box,Face_1, "Face_1") +geompy.addToStudyInFather(box,Edge_1, "Edge_1") +geompy.addToStudyInFather(box,Vertex_1, "Vertex_1") + +geompy.addToStudyInFather(box ,Face_2, "Face_2") +geompy.addToStudyInFather(Face_2,Wire_1, "Wire_1") + +# create a mesh on the box +blsurfMesh = smesh.Mesh(box,"box: BLSurf mesh") + +# create a BLSurf algorithm for faces +algo2d = blsurfMesh.Triangle(algo=smesh.BLSURF) + +# End of script +\endcode + +

    Adding sizemaps

    +\code +# optional - set physical mesh to 2 = Size Map +algo2d.SetPhysicalMesh( 2 ) + +# optional - set global mesh size +algo2d.SetPhySize( 34.641 ) + +# set size on Face_1 +algo2d.SetSizeMap(Face_1, 'def f(u,v): return 10' ) +# set size on Edge_1 +algo2d.SetSizeMap(Edge_1, 'def f(t): return 5' ) +# set size on Vertex_1 +algo2d.SetSizeMap(Vertex_1, 'def f(): return 2' ) + +# compute the mesh +blsurfMesh.Compute() + +# End of script +\endcode + +

    Adding enforced vertices

    +\code + +# Add enforced vertex for Face_1 on (50, 50, 50) +# The projection coordinates will be (50, 50, 0) +algo2d.SetEnforcedVertex(Face_1, 50, 50, 50) + +# Add another enforced vertex on (150, 150, 150) +algo2d.SetEnforcedVertex(Face_1, 150, 150, 150) + +# Retrieve and print the list of enforced vertices defines on Face_1 +enfList = algo2d.GetEnforcedVertices(Face_1) +print "List of enforced vertices for Face_1: " +print enfList + +# compute the mesh +blsurfMesh.Compute() + +# Remove an enforced vertex and print the list +algo2d.UnsetEnforcedVertex(Face_1, 50, 50, 50) +enfList = algo2d.GetEnforcedVertices(Face_1) +print "List of enforced vertices for Face_1: " +print enfList + +# compute the mesh +blsurfMesh.Compute() + +# Remove all enforced vertices defined on Face_1 +algo2d.UnsetEnforcedVertices(Face_1) + +# compute the mesh +blsurfMesh.Compute() + +# End of script + +\endcode + +

    Adding an attractor

    +\code + +# Add an attractor on Face_2, which shape is Wire_1 + +# 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 size is kept constant until a distance of 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 +# the gradation to its maximum +algo2d.SetGradation( 2.5 ) + +# compute the mesh +blsurfMesh.Compute() + +# End of script + +\endcode + +

    Using internal vertices

    +\code + +# Creating a geometry containing internal vertices +Face_3 = geompy.MakeFaceHW(1, 1, 1) +Vertex_2 = geompy.MakeVertex(0.2, 0.2, 0) +Partition_1 = geompy.MakePartition([Face_3, Vertex_2], [], [], [], geompy.ShapeType["FACE"], 0, [], 0) +OX = geompy.MakeVectorDXDYDZ(1, 0, 0) +OY = geompy.MakeVectorDXDYDZ(0, 1, 0) +Multi_Translation_1 = geompy.MakeMultiTranslation2D(Partition_1, OX, 1, 10, OY, 1, 10) +geompy.addToStudy( Face_3, 'Face_3' ) +geompy.addToStudy( Vertex_2, 'Vertex_2' ) +geompy.addToStudy( Partition_1, 'Partition_1' ) +geompy.addToStudy( OX, 'OX' ) +geompy.addToStudy( OY, 'OY' ) +geompy.addToStudy( Multi_Translation_1, 'Multi-Translation_1' ) + +# The mesh on the geometry with internal vertices +blsurfMesh_internal = smesh.Mesh(Multi_Translation_1, "blsurfMesh_internal") +algo2d = blsurfMesh_internal.Triangle(algo=smesh.BLSURF) +algo2d.SetPhySize( 0.1 ) + +# Allows BLSURF to take into account internal vertices +algo2d.SetInternalEnforcedVertexAllFaces( True ) + +# Add the created nodes into a group +algo2d.SetInternalEnforcedVertexAllFacesGroup( "my group" ) + +# compute the mesh +blsurfMesh_internal.Compute() + +# End of script +\endcode + +*/ diff --git a/doc/salome/gui/input/empty b/doc/salome/gui/input/empty deleted file mode 100644 index e69de29..0000000