If geometricTestOnly is set to true then edges will not be marked as region edges, only as internal or external edges. If there are any edges still marked as regions then this is because they are non-manifold.
118 lines
3.6 KiB
C++
118 lines
3.6 KiB
C++
/*--------------------------------*- C++ -*----------------------------------*\
|
|
| ========= | |
|
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
|
| \\ / O peration | Version: dev |
|
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
|
| \\/ M anipulation | |
|
|
\*---------------------------------------------------------------------------*/
|
|
FoamFile
|
|
{
|
|
version 2.0;
|
|
format ascii;
|
|
class dictionary;
|
|
object surfaceFeatureExtractDict;
|
|
}
|
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
|
|
surface1.stl
|
|
{
|
|
// How to obtain raw features (extractFromFile || extractFromSurface)
|
|
extractionMethod extractFromSurface;
|
|
|
|
extractFromSurfaceCoeffs
|
|
{
|
|
// Mark edges whose adjacent surface normals are at an angle less
|
|
// than includedAngle as features
|
|
// - 0 : selects no edges
|
|
// - 180: selects all edges
|
|
includedAngle 120;
|
|
|
|
// Do not mark region edges
|
|
geometricTestOnly yes;
|
|
}
|
|
|
|
// Write options
|
|
|
|
// Write features to obj format for postprocessing
|
|
writeObj yes;
|
|
}
|
|
|
|
|
|
surface2.nas
|
|
{
|
|
// How to obtain raw features (extractFromFile || extractFromSurface)
|
|
extractionMethod extractFromFile;
|
|
|
|
extractFromFileCoeffs
|
|
{
|
|
// Load from an existing feature edge file
|
|
featureEdgeFile "constant/triSurface/featureEdges.nas";
|
|
}
|
|
|
|
trimFeatures
|
|
{
|
|
// Remove features with fewer than the specified number of edges
|
|
minElem 0;
|
|
|
|
// Remove features shorter than the specified cumulative length
|
|
minLen 0.0;
|
|
}
|
|
|
|
subsetFeatures
|
|
{
|
|
// Use a plane to select feature edges
|
|
// (normal)(basePoint)
|
|
// Keep only edges that intersect the plane will be included
|
|
plane (1 0 0)(0 0 0);
|
|
|
|
// Select feature edges using a box
|
|
// (minPt)(maxPt)
|
|
// Keep edges inside the box:
|
|
insideBox (0 0 0)(1 1 1);
|
|
// Keep edges outside the box:
|
|
outsideBox (0 0 0)(1 1 1);
|
|
|
|
// Keep nonManifold edges (edges with >2 connected faces where
|
|
// the faces form more than two different normal planes)
|
|
nonManifoldEdges yes;
|
|
|
|
// Keep open edges (edges with 1 connected face)
|
|
openEdges yes;
|
|
}
|
|
|
|
addFeatures
|
|
{
|
|
// Add (without merging) another extendedFeatureEdgeMesh
|
|
name axZ.extendedFeatureEdgeMesh;
|
|
|
|
// Optionally flip features (invert all normals, making
|
|
// convex<->concave etc)
|
|
//flip false;
|
|
}
|
|
|
|
// Output the curvature of the surface
|
|
curvature no;
|
|
|
|
// Output the proximity of feature points and edges to each other
|
|
featureProximity no;
|
|
|
|
// The maximum search distance to use when looking for other feature
|
|
// points and edges
|
|
maxFeatureProximity 1;
|
|
|
|
// Out put the closeness of surface elements to other surface elements.
|
|
closeness no;
|
|
|
|
// Write options
|
|
|
|
// Write features to obj format for postprocessing
|
|
writeObj yes;
|
|
|
|
// Write surface proximity and curvature fields to vtk format
|
|
// for postprocessing
|
|
writeVTK no;
|
|
}
|
|
|
|
|
|
// ************************************************************************* //
|