Files
create/src/Mod/TechDraw/TDTest/DVDimensionTest.py
WandererFan e7e74aba0d Update TechDraw Unit Test set
Allow unit test to run in console mode

Change to unique document names for each unit test

Fix error in CMake install for test files

Correct Py3/Py2 unicode error
2018-02-01 19:34:04 +01:00

81 lines
2.5 KiB
Python

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# test script for TechDraw module
# creates a page and 2 views
# adds 1 length dimension to view1
# adds 1 radius dimension to view2
from __future__ import print_function
import FreeCAD
import Part
import Measure
import TechDraw
import os
def DVDimensionTest():
path = os.path.dirname(os.path.abspath(__file__))
print ('TDDim path: ' + path)
templateFileSpec = path + '/TestTemplate.svg'
FreeCAD.newDocument("TDDim")
FreeCAD.setActiveDocument("TDDim")
FreeCAD.ActiveDocument=FreeCAD.getDocument("TDDim")
#make source feature
box = FreeCAD.ActiveDocument.addObject("Part::Box","Box")
sphere = FreeCAD.ActiveDocument.addObject("Part::Sphere","Sphere")
#make a page
page = FreeCAD.ActiveDocument.addObject('TechDraw::DrawPage','Page')
FreeCAD.ActiveDocument.addObject('TechDraw::DrawSVGTemplate','Template')
FreeCAD.ActiveDocument.Template.Template = templateFileSpec
FreeCAD.ActiveDocument.Page.Template = FreeCAD.ActiveDocument.Template
page.Scale = 5.0
# page.ViewObject.show() # unit tests run in console mode
#make Views
view1 = FreeCAD.ActiveDocument.addObject('TechDraw::DrawViewPart','View')
FreeCAD.ActiveDocument.View.Source = [FreeCAD.ActiveDocument.Box]
rc = page.addView(view1)
view1.X = 30
view1.Y = 150
view2 = FreeCAD.activeDocument().addObject('TechDraw::DrawViewPart','View001')
FreeCAD.activeDocument().View001.Source = [FreeCAD.activeDocument().Sphere]
rc = page.addView(view2)
view2.X = 220
view2.Y = 150
FreeCAD.ActiveDocument.recompute()
#make length dimension
print("making length dimension")
dim1 = FreeCAD.ActiveDocument.addObject('TechDraw::DrawViewDimension','Dimension')
dim1.Type = "Distance"
objs = list()
objs.append(view1)
subObjs = list()
subObjs.append("Edge1")
dim1.References2D=[(view1, 'Edge1')]
print("adding dim1 to page")
rc = page.addView(dim1)
print("finished length dimension")
#make radius dimension
print("making radius dimension")
dim2 = FreeCAD.ActiveDocument.addObject('TechDraw::DrawViewDimension','Dimension001')
dim2.Type = "Radius"
dim2.MeasureType = "Projected"
dim2.References2D=[(view2, 'Edge0')]
rc = page.addView(dim2)
FreeCAD.ActiveDocument.recompute()
rc = False
if ("Up-to-date" in dim1.State) and ("Up-to-date" in dim2.State):
rc = True
FreeCAD.closeDocument("TDDim")
return rc
if __name__ == '__main__':
DVDimensionTest()