作成者別アーカイブ: Koji

Advanced Surface Mesherの作成方法

Advanced Surface Mesherは以下の関数を使用して作成する

 // pMSHMeshManagerはCATIMSGMeshManegerのポインタ
 // CreateMeshPartの引数に"MSHPartSmartSurf"を設定するとAdvanced Surface Mesherになる
 CATIMSHMeshPart * pMeshPart = pMSHMeshManager->CreateMeshPart("MSHPartSmartSurf");

 // Meshを貼る対象要素を設定
 // pProduct : CATIProductのポインタ(Support要素を含むProduct要素)
 // pSupport : CATILinkableObjectのポインタ(Support要素)
 HRESULT rc = pMeshPart->SetSupport(pProduct, pSupport);

要素を選択した際の座標を取得

CATPathElementAgentを使用して、
要素を取得した時に、選択した座標を取得する方法。

CATPathElementAgentが実行された直後に、
CATIndicationAgentを取得させることで、
スクリーン上の座標とスクリーンの向きを取得して、
選択した要素に点を投影するなどといった方法が考えられるが、
以下の手法だともっと簡単に取得できる。

続きを読む

履歴付き要素をDatum要素に置き換える その2

以前、記載した「履歴付き要素をDatum要素に置き換える」方法では、
別次元の要素が混ざっている場合に、エラーが発生してしまう。

その場合は、以下の方法で、同次元の要素のみ(点のみ、線のみ、面のみ)になるが、
Datum要素に変換することができる。

続きを読む