11# hyccai
假設要取得A零件的路徑可以用
ProSolidFeatVisit()
在Asm中,part和subasm都是feature
feature type都是PRO_FEAT_COMPONENT
所以在ProSolidFeatVisit()中可以用filter將part/asm過濾出來
另外ProAsmcomppath裡的ProIdTable就是
PRO_FEAT_COMPONENT的feat id
這樣就能取得A零件的ProAsmcomppath
例如:
ProAsmcomppath comp_path;
ProSolidFeatVisit(TopAsmHandle, act_func, filter_func, &comp_path)
filter_func就不說了
ProError act_func(ProFeature *feature, ProError error, ProAppData appdata)
{
//這邊實作確認feature是A零件
//以下是取得A零件的路徑
ProAsmcomppath* p_path;
ProIdTable comp_id_table;
p_path = (ProAsmcomppath*)appdata;
comp_id_table[0] = feature->id;
comp_id_table[1] = -1;
ProAsmcomppathInit((ProSolid)TopAsm, comp_id_table, 1, path);
....
}
這樣應該就可以了
需注意的如果part在subasm就需要用遞迴ProSolidFeatVist一層一層往下做 |