Ajout d'un script pour générer des dessins 2D pour tous les tubes

This commit is contained in:
Youen 2023-11-03 17:43:49 +01:00
parent 43d7036751
commit 98924d44a1
5 changed files with 348 additions and 9 deletions

View file

@ -1,5 +1,9 @@
from pathlib import Path
import os
import sys
sys.path.append(os.path.join(os.path.dirname(__file__), 'utils'))
import vspt_freecad
import FreeCAD as App
import Import
@ -9,10 +13,6 @@ project_folder = os.getcwd()
output_folder = project_folder + '/dist/STEP'
assemblies_output_folder = project_folder + '/dist/FCStd'
def close_all_docs():
while len(FreeCAD.listDocuments().values()) > 0:
FreeCAD.closeDocument(list(FreeCAD.listDocuments().values())[0].Name)
def convert_file(file_name, output_format):
doc = App.open(project_folder + '/' + file_name)
@ -35,7 +35,7 @@ def convert_file(file_name, output_format):
if 'experimental' in main_object.Label or 'expérimental' in main_object.Label:
print('Document ' + doc.Name + ' is marked as experimental and will be ignored')
close_all_docs()
vspt_freecad.close_all_docs()
return
secondary_objects = []
@ -70,7 +70,7 @@ def convert_file(file_name, output_format):
else:
Import.export([main_object], output_path)
close_all_docs()
vspt_freecad.close_all_docs()
def export_assembly(doc, file_name, output_format):
root_objects = []
@ -115,7 +115,7 @@ def convert_assembly(file_name, output_format):
print("Exporting assembly " + file_name + "...")
doc = App.open(project_folder + '/' + file_name)
export_assembly(doc, file_name, output_format)
close_all_docs()
vspt_freecad.close_all_docs()
def export_configuration(file_name, config_name, output_filename, output_format):
print('Generating assembly for configuration '+config_name+'...')
@ -131,7 +131,7 @@ def export_configuration(file_name, config_name, output_filename, output_format)
#doc.saveAs(assemblies_output_folder + '/' + output_filename + '.FCStd')
close_all_docs()
vspt_freecad.close_all_docs()
try:
folders = [
@ -158,6 +158,6 @@ except Exception as e:
print(e)
# exit FreeCAD
close_all_docs()
vspt_freecad.close_all_docs()
FreeCADGui.getMainWindow().close()