レイヤーステート
レイヤーステートには、トップレベルアセンブリの既存のレイヤーの表示状態およびすべての非表示レイヤーが保存されます。1 つ以上のレイヤーステートを作成して保存し、それらのレイヤーステートを切り替えることでアセンブリの表示を変更できます。
ProLayerstate オブジェクトはレイヤーステートを表します。このオブジェクトの宣言は ProModelitem オブジェクトと同じですが、タイプのみ PRO_LAYER_STATE になります。宣言は次のとおりです。
typedef struct pro_model_item
{
ProType type;
int id;
ProMdl owner;
}ProLayerstate;
次の関数について説明します。
ProLayerstatesGet() 関数は、指定されたソリッドのレイヤーステートの配列を返します。
ProLayerstateActiveGet() 関数は、指定されたソリッドモデルのアクティブなレイヤーステートを取得します。
ProLayerstateNameGet() 関数は、指定されたレイヤーステートの名前を取得します。
指定したレイヤーステートをアクティブにするには、
ProLayerstateActivate() 関数を使用します。
ProLayerstateCreate() 関数は、指定された参照に基づいて新しいレイヤーステートを作成します。この関数の入力引数は次のとおりです。
• p_solid - 新しいレイヤーステートを作成するソリッドモデルを指定します。
• state_name - 新しいレイヤーステートの名前を指定します。この名前では、英数字、アンダースコア、ハイフンのみを使用できます。
• layers - 参照レイヤーの配列を指定します。
• disp_arr - 表示ステータスの配列を指定します。表示スタータスの数は、参照レイヤーの数と同じです。
• hidden_items - 非表示アイテムの配列を指定します。
ProLayerstateLayersGet() 関数は、指定されたレイヤーステートの参照データを取得します。
ProLayerstateLayerAdd() 関数は、既存のレイヤーステートに新しいレイヤーを追加します。この関数には、新しいレイヤー、その表示状態、および既存のレイヤーステートの名前を入力引数として指定します。
ProLayerstateLayerRemove() 関数は、指定されたレイヤーステートから特定のレイヤーを除去します。
関数
ProLayerstateActivestateUpdate() では、指定したモデルでアクティブなレイヤーステートが更新されます。レイヤーの表示ステータスが変更された場合、この関数を呼び出すと、モデル内でのアクティブなレイヤーステートがレイヤーの新しい表示ステータスで確実に更新されます。
指定したレイヤーステートに特定のアイテムが表示されないようにするには、
ProLayerstateModelitemHide() 関数を使用します。
レイヤーステートの非表示アイテムのリストから特定のアイテムを除去するには、
ProLayerstateModelitemUnhide() 関数を使用します。
レイヤーステートでアイテムが非表示かどうかを調べるには、
ProLayerstateModelitemIsHidden() 関数を使用します。
指定したレイヤーステートを削除するには、
ProLayerstateDelete() 関数を使用します。