Upgrade to Pro — share decks privately, control downloads, hide ads and more …

SalomeのShaperモジュールを使ってみた!

JunTatsuno
August 22, 2020

 SalomeのShaperモジュールを使ってみた!

第79回オープンCAE勉強会@関西での発表内容です。
https://ocbkansai.connpass.com/event/182887/

JunTatsuno

August 22, 2020
Tweet

More Decks by JunTatsuno

Other Decks in Technology

Transcript

  1. 目次 1 Salomeとは 2 1.1 Salomeの主な機能 . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2 Salomeで何ができるのか? . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 Salomeオンライン リソース . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2 現在のGeomモジュール 5 3 Shaperモジュールとは 6 3.1 Shaperモジュールプロジェクトの概要 . . . . . . . . . . . . . . . . . . . . 6 3.2 Salomeの新しいCADモデラー . . . . . . . . . . . . . . . . . . . . . . . . 7 3.3 ShaperモジュールのGUIレイアウト . . . . . . . . . . . . . . . . . . . . . 8 3.4 Shaperモジュールのモデリング手順 . . . . . . . . . . . . . . . . . . . . . 9 3.5 Shaperモジュールのモデリング機能 . . . . . . . . . . . . . . . . . . . . . 10 4 Shaperモジュールのチュートリアル 11 5 そして、Geomモジュールについては? 37 1
  2. 1 Salomeとは • Salome*1は、数値シミュレーションのための汎用的なプリ・ポスト処理プラットフォーム を提供するオープンソースのソフトウェアです。 • Salomeはクロスプラットフォームのソリューションです。これはGNU LGPLライセンス の条件のもとで配布されています。 •

    Salomeは、CADモデルの作成、数値計算のための準備、計算結果の後処理のためのスタ ンドアロンのアプリケーションとして使用できます。 *1 Salomeは、 「Simulation Numerique par Architecture Logicielle en Open Source et a Methodologie d’ Evolution」の頭字語であり、 「オープンソース・ソフトウェア・アーキテクチャによる方法論的進化を伴う 数値シミュレーション」と、そのまま訳せます。 2
  3. 1.1 Salomeの主な機能 • CADモデリングと計算ソフト(CAD-CAEリンク)の相互運用性をサポートします。 • 数値計算の異種構成要素への新規コンポーネントの統合を容易にします。 • 計算ソフトウェア間のマルチフィジックス結合に優先度を設定します。 • 汎用的でユーザーフレンドリーで効率的なユーザーインタフェースを提供し、スタディ実

    施のコストと遅延の低減に貢献します。 • 統合されたPythonコンソールを介して、すべての機能にアクセスできます。 1.2 Salomeで何ができるのか? • CADモデルの作成、修正、インポートおよびエクスポート(IGES、STEP、BREP…) 、修 復およびクリーンアップ • CADモデルのメッシュ生成、メッシュの編集、メッシュ品質のチェック、メッシュデータ のインポートとエクスポート(MED、UNV、DAT、STL…) • 幾何学的なアイテムにアタッチされた物理プロパティと数量を扱うことができます。 • 1つ以上の外部ソルバー(結合)を使用して計算を実行します • 計算結果の表示(スカラー、ベクトルデータ) • スタディの管理(作成、保存、再読み込み…) 3
  4. 1.3 Salomeオンライン リソース • オフィシャルサイト ◦ https://www.Salome-platform.org/ • 最新のリリースバージョン ◦

    https://www.Salome-platform.org/downloads/current-version • Salomeドキュメント ◦ https://www.Salome-platform.org/user-section/documentation/current- release/current-release-gui • Salomeチュートリアル:Geometry、Smesh、表示機能のチュートリアル ◦ https://www.salome-platform.org/user-section/salome-tutorials/copy_of_salome- tutorial • Video Tutorials:Open Cascadeの公式YouTubeチャンネル ◦ https://www.youtube.com/playlist?list=PLgvBxFyGVRbZZz4wVvP36xXQL- S81RZsc&disable_polymer=true • Learn Salome channel:Shaperモジュールの機能紹介とチュートリアルが豊富な YouTubeチャンネル ◦ https://www.youtube.com/channel/UCm7CSP3v1VF6brzmTlV9c3Q • Salome Tutoriels channel:Salomeの公式YouTubeチャンネル、Salomeの紹介、ParaVis、 Shaperのチュートリアル ◦ https://www.youtube.com/channel/UCokrSqnpG3sLXkagZwUmuXg 4
  5. 2 現在のGeomモジュール • 長所: ◦ シンプルなインターフェイス:簡単に学習して簡単な形状を作成可能 ◦ パーティション:メッシュが一致するように共有面を確保 ◦ グループ:メッシュ上での材料と境界条件を容易に定義

    ◦ Pythonスクリプト: 簡単な学習 スタディをダンプ 基本的なパラメーター管理:ユーザーはトポロジーの変更に対応が必要 複雑な形状(複雑なスクリプトを使用) • 短所: ◦ GUIで複雑な形状作成が困難 ◦ 形状のパラメーターを編集不可 ◦ エンジン内のパラメーター管理がない ◦ 貧弱な2D-スケッチャー(拘束ソルバーなし) ◦ グループは各操作の後に失われ、再度取得する必要あり ◦ コードのアーキテクチャが陳腐化(新機能の統合にはコストがかかりすぎる) 5
  6. 3 Shaperモジュールとは 3.1 Shaperモジュールプロジェクトの概要 電気事業者のフランス電力(EDF)と仏原子力・代替エネルギー庁(CEA)が共同出資する 2014年-2018年にわたるプロジェクト 年月 実施事項 2013年 OCCTのパラメトリックAPIを使用するための予備研究

    2014年 仕様、最初の機能、アーキテクチャの検証 2015年 工業的な形状を作るための新機能 2016年 2Dスケッチからの3Dパーツ構築 スケッチャーの改良と拘束ソルバーPlaneGCS(FreeCADから)の 統合 Pythonスクリプト(高レベルAPI)の実装とダンプ機能の実装 軸、平面の作成 2018年05月 Salome 9.3.0リリース(エンドユーザーへの最初の配信) 2019年12月 Salome 9.4.0リリース 2020年07月 Salome 9.5.0リリース 6
  7. 3.2 Salomeの新しいCADモデラー • バリエーション: ◦ 寸法と拘束のある対話 式スケッチ(拘束ソル バー) ◦ 技術的な図面同様に記

    述 • パラメトリック: ◦ ボトムアップ方式 ◦ 形状の各パラメーター を編集可能 ◦ 最終的な形状は自動的 に更新(ダイナミック アップデート) • シ ミ ュ レ ー シ ョ ン 用 CAD: ◦ 複数次元ジオメトリ- ◦ 形状は適合的にメッシ ュ化するよう設計 (コン フォーマルメッシング) ◦ グループ定義可能 ◦ Pythonスクリプト作成 が可能 スケッチ revolution(回転) メッシュ 7
  8. 3.4 Shaperモジュールのモデリング手順 • ジオメトリのための標準的なCAD構築: ◦ スケッチを構築: すべてのエッジのインタラクティブな定義 拘束(幾何、寸法)の追加 ◦「Extrusion(押し出し) 」

    、 「revolution(回転) 」などの フィーチャー作成を繰り返し。 • 複数次元ジオメトリを構築 • ビルディングツリーからフィーチャーを編集 • ヒストリーラインにより、ヒストリー構築のどこにでも 新しいフィーチャーを追加可能 • パラメトリックな構築: ◦ 数値パラメーターのセットを定義 ◦ 各値は式にすることが可能 • C++/Pythonプラグインで新機能を追加 9
  9. 3.5 Shaperモジュールのモデリング機能 • プリミティブ: ◦ 3D:六面体、球、円柱、円錐、円環 ◦ 0D-1D-2D:頂点、エッジ、3D曲線、3D面、平面 • フィーチャー:

    ◦ ブーリアン演算:結合、差分、共有領域、スマッシュ、 パーティション ◦ 変換:移動、回転、対称 ◦ パイプ、フィレット ◦ シミュレーションに特化したもの:グループ、フィー ルド • Files(データ交換) : ◦ ビルディングツリー(XML、Python)の保存と読み 込み ◦ 複数フォーマット(STEP、XAOなど)のインポート とエクスポート • Applicative Programming Interface: ◦ パラメトリックAPI(C++、Python) ◦ ジオメトリAPI(C++、Python) 10
  10. 4 Shaperモジュールのチュートリアル このチュートリアルは、YouTube「Learn Salome channnel」の「SALOME SHAPER pipe flange」を文書化したものです。 「Shaperモジュール」を起動 •

    新規ファイルで「Shaperモジュール」を起動します。 *2 新規パーツを作成 • Part Newで新規パーツを作成します。 *2 このチュートリアルはSalome 9.5.0で作成していますので、それ以外のバージョンでは内容が異なる可能性 があります。 11
  11. 基本形状の断面を作成:スケッチ平面を指定 • Sketch Sketchでスケッチの作成を開始します。 •「sketch」ダイアログで、 「Size of the View」パラメータを「100」に設定します。 •

    ビューでXOZ平面(緑色)を選択します。 •「sketch」プロパティパネルのSet plane viewボタンをクリックするとスケッチ平面が正面 を向きます。 12
  12. 基本形状の断面を作成:寸法拘束を追加(1/4) • Sketch Distanceで、 寸法拘束条 件を追加します。 ◦ 原点を選択します。 ◦ 内側の垂直方向のエッジを

    選択し、 「r_int = 7.88」と 設定します(パラメーターは 「その場」で作成されます) 。 ◦ 再度、原点を選択します。 ◦ 外側の垂直方向のエッジを 選択し、 「r_ext=47.5」と設 定します。 15
  13. パラメーター編集後のスケッチ確認 • Skethc_1を編集して新しい値 を確認します。 ◦ パラメーターを表示するに は、 「Show existing expres-

    sions(既存の式を表示) 」に チェックします。 ◦ チェック解除します。 ◦ Cancelでスケッチを閉じま す。 ◦「Abort operation」 画面でOK します。 22
  14. 第2形状(軸穴)のスケッチ作成 • Sketch Sketchで新しいスケッ チ作成を開始します。 ◦ ビューで基本形状の上面を 選択します。 ◦ Sketch

    circleで円を作成しま す。 ◦ 正面のエッジに中心を設定 します。 ◦ 円周位置で再度クリックし て円を定義します。 ◦ Applyします。 23
  15. 第2形状のスケッチ作成:寸法拘束を追加 • Sketch Distanceで、 中心の位置 を設定するための寸法拘束を 追加します。 ◦ 中央を選択します。 ◦

    外側の点を選択します。 ◦「12.5」と設定します。 • Sketch Radiusで半径寸法拘束 を追加します。 ◦ 円を選択します。 ◦「7」と設定します。 ◦ Applyします。 • スケッチをApplyします。 24
  16. 押し出しフィーチャーの作成 • Features Extrusionで、 軸穴形状 を押し出しフィーチャで作成 します。 ◦ ビューで円を選択します。 ◦

    2番 目 の 作 成 モ ー ド 「By bounding faces and offsets」 を選択します。 ◦「To」フィールドをクリック します。 ◦ ビューで底面を選択します。 ◦ Applyします。 25
  17. 第3形状(ナット)のスケッチ作成 • Sketch Sketchでナットを定義するための新しいスケッチ作成を開始します。 ◦ ビューで基本形状の上面を選択します。 • Sketch Lineで線を作成します。 •

    Sketch Arcで中心と2点で円弧を作成します。 ◦ その中心を穴の中心に設定します。 ◦ 開始点をエッジの開始点に設定し、端点をエッジ近くに設定します。 • Sketch Coincidentで一 致拘束 を追加します。 ◦ 両端点を選択し、半円にし ます。 • Sketch Radiusで半径寸法拘束 を追加します。 ◦ 円弧を選択し、 「9」と設定し ます。 • スケッチは完全固定されまし たので、スケッチをApplyしま す。 30
  18. 押し出しフィーチャーの作成 • Features Extrusionで、ナットを作成します。 ◦ ビューで半円を選択します。 ◦ 最初のモード「By sizes」を選択します。 ◦

    最初のフィールド「To size」に「12」と設定します。 ◦ Applyします。 ◦ Extrusion(押し出し)の結果を非表示にします。 31
  19. 第4形状(ピン)のスケッチ作成 • Sketch Sketchでピンを定義するための新しいスケッチ作成を開始します。 ◦ ビューで基本形状の上面を選択します。 • Sketch Lineで線を作成します。 ◦

    Sketch Arcで中心と2点で円弧を作成します。 ◦ その中心を穴の中心に設定します。 ◦ 開始点をエッジの開始点に設定し、端点をエッジの近くに設定します。 • Sketch Coincidentで一 致拘 束 を追加します。 ◦ 両端点を選択し、半円にし ます。 • Sketch Radiusで半径寸法拘束 を追加します。 ◦ 円弧を選択し、 「6」と設定し ます。 • スケッチは完全固定されまし たので、スケッチをApplyしま す。 32
  20. 参考文献 [1] EDF,『Welcome to the www.Salome-platform.org — Salome Platform』 https://www.Salome-platform.org/

    [2] EDF,『Salome brochure』 https://www.salome-platform.org/user-section/salome-brochure [3] Francis Kloss(CEA), Alexandra Martín Sánchez(EDF),『Salome User Day 2019 Salome news』https://www.salome-platform.org/events/salome-user-day-2019 [4] Aymeric Canton(CEA), Vincent Stobiac(EDF),『Salome User Day 2019 Closure of the Day』https://www.salome-platform.org/events/salome-user-day-2019 [5] Francis Kloss(CEA), Vincent Stobiac(EDF),『Salome User Day 2018 Salome news』 https://www.salome-platform.org/events/salome-user-day-2018 [6] Guillaume Boulant(EDF), Aymeric Canton(CEA),『Salome User Day 2016 Salome news』https://www.salome-platform.org/events/salome-user-day-2016 [7] Christophe Bourcier(CEA), Clarisse Genrault(CEA), Raphaël Marc(EDF R&D), 『SHAPER : Parametric Modelling for Simulation』 https://www.salome-platform.org/events/salome-user-day-2015 All content is licensed under an open-source, ’copyleft’ license: 表示 4.0 国際(CC BY 4.0) 38