*interactivemeshsurf

Brings a surface into the automeshing module and prepares it for processing, enabling the use of all the restricted module commands.

Syntax

*interactivemeshsurf markmask elementsize elem_type elem_type2 forcing size_control skew_control

Type

HyperMesh Tcl Modify

Description

Brings a surface into the automeshing module and prepares it for processing, enabling the use of all the restricted module commands.

Inputs

markmask
The surfaces to be meshed.
elementsize
The default element edge size used to calculate element densities along the edges (where necessary).
elem_type
Flag indicating the elements generated for mapped meshing algorithms. Valid values are:
  • 0 - trias
  • 1 - quads
  • 2 - mixed
  • 3 - right trias
  • 4 - quads only
elem_type_2
Flag indicating the elements generated for free meshing algorithms. Valid values are:
  • 0 - trias
  • 1 - quads
  • 2 - mixed
  • 3 - right trias
  • 4 - quads only
forcing
If nonzero, any saved surface parameters generated previously with the automesher are ignored.
size_control
Determines if uniform size elements in mapping algorithms should be created.
  • 1 = yes
  • 0 = no
skew_control
Determines if optimal shape elements in mapping algorithms should be created.
  • 1 = yes
  • 0 = no

Example

In this example, the automeshing module processes a surface with four faces and ten edges. To generate a mesh for each face, the module sets up values for element densities and biasing with the *setedgemeshparams() command. Automeshing parameters for each face are specified with the *setfacemeshparams() command. Each face is sent to the *automesh() command so it can determine the appropriate meshing algorithm and create an all-quads mesh. You then direct HyperMesh to smooth the meshes for ten iterations each. Next, the mesh for face two is rejected and a new mesh is created with slightly different element densities. The four meshes are saved to the HyperMesh database. The automeshing module clears from its memory any information regarding the current surface so that a new surface can be processed.

*surfacemode(1)
*createmark(surfaces,1)1
*interactivemeshsurf(1,1,1,1,1,0,0)
  *setedgemeshparams(2,5,0,0)
  *setedgemeshparams(2,5,0,0)
  *setedgemeshparams(0,2,0,0)
  *setedgemeshparams(1,6,0,0)
  *setedgemeshparams(5,3,0,0)
  *setfacemeshparams(0,0.5,0.5,0.5,1,0.5,0,0)
  *automesh(0,1,1)
  *setedgemeshparams(2,5,0,0)
  *setedgemeshparams(11,3,0,0)
  *setedgemeshparams(3,4,0,0)
  *setedgemeshparams(4,4,0,0)
  *setfacemeshparams(1,0.5,0.5,0.5,1,0.5,0,0)
  *automesh(1,1,1)
  *setedgemeshparams(8,6,-2,0)
  *setedgemeshparams(5,3,0,0)
  *setedgemeshparams(6,5,2,0)
  *setedgemeshparams(7,8,0,0)
  *setfacemeshparams(2,0.5,0.5,0.5,1,0.5,0,0)
  *automesh(2,1,1)
  *setedgemeshparams(8,6,-2,0)
  *setedgemeshparams(9,2,0,0)
  *setedgemeshparams(10,7,2,0)
  *setedgemeshparams(11,3,0,0)
  *setfacemeshparams(3,0.5,0.5,0.5,1,0.5,0,0)
  *automesh(3,1,1)
  *smoothelements(0,1,10)
  *smoothelements(1,1,10)
  *smoothelements(2,1,10)
  *smoothelements(3,1,10)
  *rejectmesh(2)
  *setedgemeshparams(8,6,-2,0)
  *setedgemeshparams(5,3,0,0)
  *setedgemeshparams(6,5,0,0)
  *setedgemeshparams(7,8,1,0)
  *setfacemeshparams(2,0.5,0.5,0.5,1,0.5,0,0)
  *automesh(2,1,1)
*storemeshtodatabase(0)
*ameshclearsurface()

The *createmark() command is required.

The function *defaultmeshsurf() writes a comment to the command file indicating what surface it has started processing. If there is a problem, you can rerun the command file and stop it before it reaches that surface.

Errors

None.