今天讲的是一个如何删除一个零件上的螺纹孔。
开发逻辑如下:选中有螺纹孔的零件上表面,获取想要的零件特征。遍历这个零件获取所有features,在循环中获取所有特征的name。判断name中是否存在“螺纹孔”,如果存在就把这个螺纹孔删除。
上述逻辑的代码如下:
SldWorks swApp;
swApp = Utility.ConnectToSolidWorks();
var swModel = (ModelDoc2)swApp.ActiveDoc;
Component2 swbottomcomp = null;
swbottomcomp = GetBottomComponent(swbottomcomp, swModel);
string pl = swbottomcomp.Name2;
ModelDoc2 bottommodeldoc = (ModelDoc2)swbottomcomp.GetModelDoc2();
FeatureManager swFeatMgr = bottommodeldoc.FeatureManager;
object[] features =(object[])swFeatMgr.GetFeatures(false);
for (int j = 0; j < features.Length; j++)
{
Feature aa = (Feature)features[j];
if (aa.Name.Contains("螺纹孔") == true)
{
bool boolstatus = false;
boolstatus = bottommodeldoc.Extension.SelectByID2(aa.Name + "@" + pl + "@装配体1-1", "BODYFEATURE", 0, 0, 0, false, 0, null, 0);
bottommodeldoc.EditDelete();
boolstatus = swModel.ForceRebuild3(true);
}
}
MessageBox.Show("删除完成");
运行程序之前为:
运行程序之后为:
有需要的直接带走,不用客气。
如果觉得《C# Solidworks二次开发:删除螺纹孔》对你有帮助,请点赞、收藏,并留下你的观点哦!