有一位朋友问该如何快速并批量将prt文件转换为stp文件呢,这里具体如下,实现将哈哈文件夹中的所有prt文件转换为stp文件并将其保存到‘保存为’文件夹中:
import os
import NXOpen
import NXOpen.UF as UF
def main(folder_path,save_path) :
theSession = NXOpen.Session.GetSession()
uf_session=UF.UFSession.GetUFSession()
file_names=os.listdir(folder_path)
file_paths=[os.path.join(folder_path,file) for file in file_names]
m1=[]
for m2 in file_names:
file_root,file_ext=os.path.splitext(m2)
m3=f'{file_root}.stp'
m1.append(m3)
save_paths=[os.path.join(save_path,m4) for m4 in m1]
real_t_list=[]
for t in save_paths:
real_t=t.replace('\\',"\\\\")
real_t_list.append(real_t)
for num,file_path in enumerate(file_paths):
real_file_path=file_path.replace('\\',"\\\\")
theSession.Parts.OpenActiveDisplay("{}".format(real_file_path), NXOpen.DisplayPartOption.AllowAdditional)
workPart = theSession.Parts.Work
workPart.SaveAs("{}".format(real_t_list[num]))
partCloseResponses1 = theSession.Parts.NewPartCloseResponses()
workPart.Close(NXOpen.BasePart.CloseWholeTree.FalseValue, NXOpen.BasePart.CloseModified.UseResponses, partCloseResponses1)
if __name__ == '__main__':
folder_path='C:\\Users\\Lenovo\\Desktop\\哈哈' # 输入你将要转换的prt文件的所在文件夹路径
save_path='C:\\Users\\Lenovo\\Desktop\\保存为' # 输入你将要保存到的文件夹路径
main(folder_path,save_path)
效果如下: