**porcupine#

Description#

This command builds a series of pyramids on a bset. This is generally used in conjunction with boolean operations, in order to join quadrangular mesh faces to triangular ones. See e.g. the illustration of **regularize_cfv, where the middle figure shows such an example (although pyramids where built differently in that particular situation).

Syntax#

The command has the following syntax:

**porcupine \(~\,\) [ *bset bset-name ] \(~\,\) [ *height relative-height ]

*bset

is the name of the bset on which pyramids are built. If it is not specified, pyramids are built on the whole mesh skin.

*height

is the height of the pyramid. It is a value relative to the perimeter of the base. The default value of \(\frac{\sqrt 2}{2}\) is chosen so that a square-based pyramid has equilateral faces.

Example#

****mesher
 ***mesh trench-for-diff.geof
  **open trench.geof           %  contains c3d8 elements
  **porcupine
   *height .2

% It is then used in a boolean operation
 ***mesh difference.geof
  **boolean_operation_ghs3d
   *operation difference
   *file1 earth.geof
   *file2 trench-for-diff.geof
   *output_file difference.gts
   *options        -m 100 -FEM % Memory size (MB)
   *optim_style 1
   *keep_2nd peau_commune

% And finally the ruled mesh is inserted in the hole we just created
 ***mesh earth2.geof
  **open difference.geof
  **union
   *add trench.geof
****return