列兵
UID9611031
U币1
G币25
技术0
主题1
精华0
阅读权限10
注册时间2023-11-11
最后登录2023-11-17
在线时间1 小时
居住地江苏省 南京市 江宁区 秣陵街道
QQ
手机17354199671
出生地安徽省 合肥市 蜀山区 西园新村街道
毕业学校合肥工业大学
学历硕士
职业软件工程师
列兵
|
刚学习使用NXOpen,在做一个项目。其中有一个需求,删除部件上的所有直径小于40的螺孔。如下是实现代码:
- def remove_holes(file:str, out_file:str, diameter:int):
- theSession = NXOpen.Session.GetSession()
- basePart1, partLoadStatus1 = theSession.Parts.OpenActiveDisplay(file, NXOpen.DisplayPartOption.AllowAdditional)
-
- workPart = theSession.Parts.Work
- displayPart = theSession.Parts.Display
- partLoadStatus1.Dispose()
- theSession.ApplicationSwitchImmediate("UG_APP_MODELING")
-
- # loop for holes
- for feature in workPart.Features:
- print(f'{feature.Name}')
- if isinstance(feature, NXOpen.Features.Hole):
- holeDiameter = feature.GetDiameter()
- print(f'{feature.Name}, hole diameter: {holeDiameter}')
- if holeDiameter < diameter:
- workPart.Features.Delete(feature)
-
- # save
- partSaveStatus1 = workPart.SaveAs(out_file)
- partSaveStatus1.Dispose()
复制代码 使用这种方式,feature都识别不出来,即"workPart.Features"是空的。
哪位大侠帮忙看看,该如何删除螺孔这个功能呢?
|
|