143 lines
4.1 KiB
C++
143 lines
4.1 KiB
C++
/*--------------------------------*- C++ -*----------------------------------*\
|
|
| ========= | |
|
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
|
| \\ / O peration | Version: v1912 |
|
|
| \\ / A nd | Website: www.openfoam.com |
|
|
| \\/ M anipulation | |
|
|
\*---------------------------------------------------------------------------*/
|
|
FoamFile
|
|
{
|
|
version 2.0;
|
|
format ascii;
|
|
class dictionary;
|
|
object surfaceFeatureExtractDict;
|
|
}
|
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
|
|
surface1.stl
|
|
{
|
|
// Extract raw features (none | extractFromFile | extractFromSurface)
|
|
extractionMethod extractFromSurface;
|
|
|
|
// 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;
|
|
|
|
// Generate additional intersection features (none | self | region)
|
|
intersectionMethod none;
|
|
|
|
// Tolerance for surface intersections
|
|
// tolerance 1e-3;
|
|
|
|
// Output options:
|
|
|
|
// Write features to obj format for postprocessing
|
|
writeObj yes;
|
|
}
|
|
|
|
|
|
// Self intersection (single or multiple surfaces).
|
|
// - Use 'surfaces' entry (a wordRe list) if it exists.
|
|
// - If the dictionary name does not have an extension, 'surfaces' is mandatory.
|
|
outputName1
|
|
{
|
|
extractionMethod none;
|
|
|
|
surfaces (surface1.stl surface2.nas);
|
|
|
|
// mm -> m scaling
|
|
// scale 0.001;
|
|
|
|
// Generate additional intersection features (none | self | region)
|
|
intersectionMethod self;
|
|
|
|
// Tolerance for surface intersections
|
|
// tolerance 1e-3;
|
|
|
|
// Output options:
|
|
|
|
// Write features to OBJ format for postprocessing
|
|
writeObj yes;
|
|
}
|
|
|
|
|
|
surface2.nas
|
|
{
|
|
// Extract raw features (none | extractFromFile | extractFromSurface)
|
|
extractionMethod extractFromFile;
|
|
|
|
// 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)
|
|
// Only keep edges that intersect the plane
|
|
plane (1 0 0)(0 0 0);
|
|
|
|
// Select feature edges using a box // (minPt)(maxPt)
|
|
// Only keep edges inside the box:
|
|
insideBox (0 0 0)(1 1 1);
|
|
|
|
// Only 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;
|
|
}
|
|
|
|
|
|
// Generate additional intersection features (none | self | region)
|
|
intersectionMethod none;
|
|
|
|
// Tolerance for surface intersections
|
|
// tolerance 1e-3;
|
|
|
|
// Output options:
|
|
|
|
// Output the closeness of surface elements to other surface elements.
|
|
closeness no;
|
|
|
|
// Output surface curvature
|
|
curvature no;
|
|
|
|
// Output the proximity of feature points and edges to another
|
|
featureProximity no;
|
|
|
|
// Maximum search distance when checking feature proximity (default: 1m)
|
|
maxFeatureProximity 1;
|
|
|
|
// Write features to OBJ format for postprocessing
|
|
writeObj no;
|
|
|
|
// Write closeness/curvature/proximity fields as VTK for postprocessing
|
|
writeVTK no;
|
|
}
|
|
|
|
|
|
// ************************************************************************* //
|