この記事では、ジオメトリの組み合わせから要素を追加および削除する方法について説明します。
FamilyGeomCombination要素はジオメトリの組み合わせを実装し、GenSweep派生要素(押し出し、スイープ、ブレンドなど)のセットを含みます。
組み合わせに要素を追加する
組み合わせにソリッドフォームを追加するには、適切なaddSolidGeomToCombination()メソッドを使用します。
OdResult addSolidGeomToCombination(const OdBmObjectId& id);
ここで、id はソリッド GenSweep 要素の識別子です。
組み合わせにボイド形状を追加するには、addVoidGeomToCombination() メソッドを使用します。
OdResult addVoidGeomToCombination(const OdBmObjectId& id, const OdBmObjectId& solidId);
ここで、id はボイド GenSweep 要素の識別子であり、solidId は組み合わせ内の既存のソリッド GenSweep 要素の識別子です。
組み合わせから要素を削除する
組み合わせからソリッド形状を削除するには、適切な removeSolidGeomFromCombination() メソッドを使用します。
OdResult removeSolidGeomFromCombination(const OdBmObjectId& id);
ここで、id はソリッド GenSweep 要素の識別子です。
組み合わせからボイド形状を削除するには、removeVoidGeomFromCombination() メソッドを使用します。
OdResult removeVoidGeomFromCombination(const OdBmObjectId& id, const OdBmObjectId& solidId);
ここで、id はボイド GenSweep 要素の識別子であり、solidId は組み合わせ内の既存のソリッド GenSweep 要素の識別子です。
例以下の例は、Examples/TB_Commands/BmFamilyBooleanCmd.cpp ファイルにある _BmFormsJoin_func() 関数で見つけることができます。
OdBmFamilyGeomCombinationPtr pFamilyGeomCombination = OdBmFamilyGeomCombination::createObject();
ODBM_TRANSACTION_BEGIN(t, pDb)
t.start();
OdBmObjectId idFGC = pDb->addElement(pFamilyGeomCombination);
pFamilyGeomCombination->addSolidGeomToCombination(genSweep1);
pFamilyGeomCombination->addSolidGeomToCombination(genSweep2);
t.commit();
ODBM_TRANSACTION_END()