ファイルの作成、オープン、保存


デザイナーのためのフォーラムに参加しよう

あなたの専門知識はコミュニティにとって不可欠です。私たちに参加して、あなたの知識を提供してください。

今すぐフォーラムに参加する

業界最高のプロフェッショナルと分かち合い、学び、成長する.

おかえりなさい!今回は、3DEXPERIENCE(3DX)データベース・コンテンツの操作方法について説明します。

まずはじめに、ダッソーは3DXについて話すときに「ファイル」という言葉を使いたがりません。ご存知のように、3DXのコンテンツはすべてDBに保存され、そのDBの各項目は現在「PLMエンティティ」と呼ばれています。(最終的には、DBの各項目ごとにファイルがあり、サーバーのどこかに保存されています)。それでも、ここからは、DB内のすべての項目に対して、”PLMエンティティ “または “PLMオブジェクト “という言葉を使うことにします。

これがV5と3DXの最大の違いの一つでしょう。

ドキュメントベースとDBベース

V5はドキュメントベースです。V5で画面上にモデルが表示されるとき、それはドキュメント・オブジェクトとウィンドウ・オブジェクトの2つで表現されます。V5でモデルを開いたり保存したりするとき、CATIAは実際にファイルを読み込んだり保存したりします。

図1

3DXの画面に表示されるものも2つのもので表現されますが、今度はEditorオブジェクトとWindowオブジェクトです。Windowオブジェクトは、V5と同じようにモデルを画面に表示します。しかし、Editorオブジェクトの役割は、モデルのコンテンツの「コントローラ」です。つまり、現在のアプリを保持し、アプリから起動できるすべてのコマンドのリストを管理します。

エディタには アクティブオブジェクトこれは画面に表示されているオブジェクトです。アクティブオブジェクトを取得するには、VBAで以下のコマンドを使用し、そこから作業することができます。

01: Dim oActiveObj As AnyObject

02: セット oActiveObj = CATIA.ActiveEditor.ActiveObject

コンテンツ・オブジェクトは、メタデータ・カードとストレージ・ファイルで表現されるDB内のPLMエンティティに対応します。これにより、3DXセッションとDB内のファイルの間に「追加レイヤー」が作成されます。ファイルを取得するために、システムはまずメタデータを読み込みます。

図2

3DXでは、モデルを “開く “または “保存 “することはできません。3DXの「サービス」に依頼する必要があります。

3DXの “サービス “については、連載の第3回で詳しく説明します。

DBからの検索とオープン

モデルを3DXセッションに取り込むには、まずモデルを検索し(SearchService)、次に開く(PLMOpenService)必要があります。VBAコードは次のようになります:

SearchServiceオブジェクトを取得し、検索クエリを作成します。

01: Dim oSearchService As SearchService

02: セット oSearchService = CATIA.GetSessionService(“Search”)

03: Dim oDBSearch As DatabaseSearch

04: セット oDBSearch = oSearchService.DatabaseSearch

05: oDBSearch.BaseType = “VPMReference” ‘ PhysicalProductを検索します。

06: oDBSearch.AddEasyCriteria “V_Name”, “<model_title>” ‘ タイトルを使用して検索します。

‘ 検索を起動します

07: oSearchService.Search

‘ 見つかったエンティティのリストを取得

08: Dim cPLMEntities As PLMEntities

09: cPLMEntities = oDBSearch.Resultsを設定します。

‘ PLMOpen サービス &amp を取得します。

10: Dim oPLMOpenService As PLMOpenService

11: セット oPLMOpenService = CATIA.GetSessionService(“PLMOpenService”)

12: Dim oEditor As Editor

13: oPLMOpenService.PLMOpen cPLMEntities.Item(1), oEditor

DBへの保存

現在のモデルをDBに保存するには PLMPropagateService.VBAコードは次のようになります:

PropagateServiceオブジェクトを取得します

01: Dim oSaveService As PLMPropagateService

02: Set oSaveService = CATIA.GetSessionService(“PLMPropagateService”)

‘DBに保存(アクティブエディターの内容のみ保存)

03: oSaveService.PLMPropagate

新しいコンテンツの作成

さて、新しいコンテンツを作成するには、さらに別のサービスを使用する必要があります。 PLMN NewService.

01: Dim oServ As PLMN NewService

02: セット oServ = CATIA.GetSessionService(“PLMNewService”)

03: Dim oEditor As Editor

04: oServ.PLMCreate “<content_type>”, oEditor

を使用します。 <content_type&gt; 文字列は以下の値を持つことができます:

  • “Drawing”: ドローイングの作成
  • “3DShape “です: 3Dシェイプを作成します。
  • “3DPart”: 3Dパーツを作成
  • “VPMReference”: 物理的な製品の作成

マクロから新しい 3D パーツまたは物理製品を作成するには、VMX または E70 の特別なライセンスが必要です。このライセンスがないと、図面か3D形状しか作成できません。通常、ほとんどの企業はこのライセンスを持っていません。 スクリプトを使用して新しい3D部品や物理的な製品を作成できるとは思わないでください!

デザイナーのためのフォーラムに参加しよう

あなたの専門知識はコミュニティにとって不可欠です。私たちに参加して、あなたの知識を提供してください。

今すぐフォーラムに参加する

業界最高のプロフェッショナルと分かち合い、学び、成長する.