|
你好,想请教一个问题,我根据你的一个“更改钣金固定面”的宏,写了个在装配体中修改钣金件的代码,但现在出现一个问题,想请教一个:修改钣金固定面后,保存时出现未知的错误。 以下是代码 public static bool bianli()
{
bool err = true;
AssemblyDoc swAssy = default(AssemblyDoc);
swAssy = (AssemblyDoc)swApp.ActiveDoc;
ModelDoc2 swModel;
swModel = (ModelDoc2)swApp.ActiveDoc;
SelectionMgr swSelMgr;
swSelMgr = swModel.SelectionManager;;
string s2 = "";
err = DefineFace_(swAssy, swSelMgr, s2);
return err;
}
public static bool DefineFace_(AssemblyDoc swAssy, SelectionMgr swSelMgr ,string sFaile)
{
bool err = true;
ModelDoc2 AssyModel = (ModelDoc2)swAssy;
int a = swSelMgr.GetSelectedObjectCount2(0);
for (int i = 1; i <= a; i++)
{
Component2 swComp;
swComp = swSelMgr.GetSelectedObjectsComponent2(i);
ModelDoc2 SelectModel;
SelectModel = swComp.GetModelDoc();
Face2 swFace;
swFace = swSelMgr.GetSelectedObject6(i, -1);
Feature swFeat;
int featCount = -1;
featCount = SelectModel.GetFeatureCount();
for (int m = 0; m < featCount; m++)
{
FlatPatternFeatureData swFlatPatt;
swFeat = SelectModel.FeatureByPositionReverse(m);
string sType = swFeat.GetTypeName2();
if (sType == "FlatPattern")
{
swFlatPatt = swFeat.GetDefinition();
bool aaa = swFlatPatt.AccessSelections(swAssy, swComp);
swFlatPatt.FixedFace2 = swFace;
bool bbb = swFeat.ModifyDefinition(swFlatPatt, swAssy, swComp);
swFlatPatt.ReleaseSelectionAccess();
SelectModel.ClearSelection2(true);
swAssy.EditAssembly();
sFaile = "OK";
err = true;
break;
}
}
}
return err;
} |
|