Ajout de l'export PDF des fichiers contenant un dessin TechDraw
This commit is contained in:
parent
98924d44a1
commit
a883c20376
2 changed files with 16 additions and 0 deletions
|
|
@ -8,10 +8,12 @@ import vspt_freecad
|
||||||
import FreeCAD as App
|
import FreeCAD as App
|
||||||
import Import
|
import Import
|
||||||
import ImportGui
|
import ImportGui
|
||||||
|
import TechDrawGui
|
||||||
|
|
||||||
project_folder = os.getcwd()
|
project_folder = os.getcwd()
|
||||||
output_folder = project_folder + '/dist/STEP'
|
output_folder = project_folder + '/dist/STEP'
|
||||||
assemblies_output_folder = project_folder + '/dist/FCStd'
|
assemblies_output_folder = project_folder + '/dist/FCStd'
|
||||||
|
drawings_output_folder = project_folder + '/dist/PDF'
|
||||||
|
|
||||||
def convert_file(file_name, output_format):
|
def convert_file(file_name, output_format):
|
||||||
doc = App.open(project_folder + '/' + file_name)
|
doc = App.open(project_folder + '/' + file_name)
|
||||||
|
|
@ -70,6 +72,17 @@ def convert_file(file_name, output_format):
|
||||||
else:
|
else:
|
||||||
Import.export([main_object], output_path)
|
Import.export([main_object], output_path)
|
||||||
|
|
||||||
|
# Export 2D drawing
|
||||||
|
page_name = doc.Name + '_Drawing'
|
||||||
|
drawing_page = doc.getObject(page_name)
|
||||||
|
if drawing_page is not None:
|
||||||
|
drawing_output_path = drawings_output_folder + '/' + os.path.dirname(file_name) + '/' + Path(file_name).stem + '.pdf'
|
||||||
|
drawing_output_dir = os.path.dirname(drawing_output_path)
|
||||||
|
if not os.path.exists(drawing_output_dir):
|
||||||
|
os.makedirs(drawing_output_dir)
|
||||||
|
drawing_page.ViewObject.Visibility = True
|
||||||
|
TechDrawGui.export([drawing_page], drawing_output_path)
|
||||||
|
|
||||||
vspt_freecad.close_all_docs()
|
vspt_freecad.close_all_docs()
|
||||||
|
|
||||||
def export_assembly(doc, file_name, output_format):
|
def export_assembly(doc, file_name, output_format):
|
||||||
|
|
|
||||||
|
|
@ -203,6 +203,7 @@ async def generate_2d_drawing(file_name):
|
||||||
def addDimension(edgeA, edgeB, posY):
|
def addDimension(edgeA, edgeB, posY):
|
||||||
dim = doc.addObject('TechDraw::DrawViewDimension','Dimension')
|
dim = doc.addObject('TechDraw::DrawViewDimension','Dimension')
|
||||||
dim.Type = 'DistanceX'
|
dim.Type = 'DistanceX'
|
||||||
|
dim.FormatSpec = '%.1f'
|
||||||
dim.References2D = [(view, (getFeatureName(edgeA), getFeatureName(edgeB)))]
|
dim.References2D = [(view, (getFeatureName(edgeA), getFeatureName(edgeB)))]
|
||||||
visibleEdgeA = visibleEdges[edges.index(edgeA)]
|
visibleEdgeA = visibleEdges[edges.index(edgeA)]
|
||||||
visibleEdgeB = visibleEdges[edges.index(edgeB)]
|
visibleEdgeB = visibleEdges[edges.index(edgeB)]
|
||||||
|
|
@ -214,6 +215,7 @@ async def generate_2d_drawing(file_name):
|
||||||
if abs(edgeB.BoundBox.XLength - 6.5) > 0.01:
|
if abs(edgeB.BoundBox.XLength - 6.5) > 0.01:
|
||||||
dim = doc.addObject('TechDraw::DrawViewDimension','Dimension')
|
dim = doc.addObject('TechDraw::DrawViewDimension','Dimension')
|
||||||
dim.Type = 'Diameter'
|
dim.Type = 'Diameter'
|
||||||
|
dim.FormatSpec = '%.1f'
|
||||||
dim.References2D = [(view, ('Edge'+str(edges.index(edgeB)),))]
|
dim.References2D = [(view, ('Edge'+str(edges.index(edgeB)),))]
|
||||||
dim.X = visibleEdgeB.BoundBox.Center.x + 6.0
|
dim.X = visibleEdgeB.BoundBox.Center.x + 6.0
|
||||||
dim.Y = -6.0
|
dim.Y = -6.0
|
||||||
|
|
@ -222,6 +224,7 @@ async def generate_2d_drawing(file_name):
|
||||||
if abs(edgeB.BoundBox.Center.y) > 0.01 and lowestEdgeName != '':
|
if abs(edgeB.BoundBox.Center.y) > 0.01 and lowestEdgeName != '':
|
||||||
dim = doc.addObject('TechDraw::DrawViewDimension','Dimension')
|
dim = doc.addObject('TechDraw::DrawViewDimension','Dimension')
|
||||||
dim.Type = 'DistanceY'
|
dim.Type = 'DistanceY'
|
||||||
|
dim.FormatSpec = '%.1f'
|
||||||
dim.References2D = [(view, (getFeatureName(edgeB),lowestEdgeName))]
|
dim.References2D = [(view, (getFeatureName(edgeB),lowestEdgeName))]
|
||||||
dim.X = visibleEdgeB.BoundBox.Center.x + 2.0
|
dim.X = visibleEdgeB.BoundBox.Center.x + 2.0
|
||||||
dim.Y = -6.0
|
dim.Y = -6.0
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue