先の記事で、fms形式ファイルが有償のcfSuiteを使わないと作成できないと記しましたが、クロアチアの本場に行って体験してきた知人からコメントを頂きました。
surfaceFeatureEdges inputFileName.stl outputFileName.fms
で作成できるそうです。⇒早速やってみましたが、確かに出来ました。
なんでこんな事に気づかなかったんだろう・・・を少々解説しておきます。
実はsurfaceFeatureEdgesというユーティリティがあることには気づいていましたが、OpenFOAMの件の(間違ったパラメタを意図的に指定するという)使い方によると、
–> FOAM FATAL ERROR:
unknown file extension x for file “Dexcs.x”. Supported extensions are ‘.ftr’, ‘.stl’, ‘.stlb’, ‘.gts’, ‘.obj’, ‘.vtk’, ‘.off’, ‘.dx’, ‘.smesh’, ‘.ac’ and ‘.tri’From function triSurface::write(const fileName&, const word&, const bool)
in file triSurface/triSurface.C at line 496.FOAM exiting
となって、.fmsはリストに上がって来ないのです。.ftr などは試して、面分割してくれることは確認できていたのですがねぇ。
実はfmsが使えた・・・ということなので、ソースコード(cfMesh-v1.0/utilities/surfaceFeatureEdges/surfaceFeatureEdges.C)がどうなっていたかを調べてみました。
if( outFileName.ext() == “fms” || outFileName.ext() == “FMS” )
{
Info << “Writing : ” << outFileName << endl;
originalSurface.writeSurface(outFileName);
}
else
{
triSurfacePatchManipulator manipulator(originalSurface);
const triSurf* newSurfPtr = manipulator.surfaceWithPatches();Info << “Writing : ” << outFileName << endl;
newSurfPtr->writeSurface(outFileName);deleteDemandDrivenData(newSurfPtr);
}
ということで、拡張子がfms(またはFMS)の時とそうでない場合の処理が異なっているということで、以上、一件落着しました。