From f5681479e3e029279af9eca730bfbe7515382daa Mon Sep 17 00:00:00 2001 From: wandererfan Date: Wed, 8 May 2019 21:07:17 -0400 Subject: [PATCH] Add test script for leader line and RTA --- src/Mod/TechDraw/TDTest/DLeaderRText.py | 84 +++++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 src/Mod/TechDraw/TDTest/DLeaderRText.py diff --git a/src/Mod/TechDraw/TDTest/DLeaderRText.py b/src/Mod/TechDraw/TDTest/DLeaderRText.py new file mode 100644 index 000000000000..7e90798711b3 --- /dev/null +++ b/src/Mod/TechDraw/TDTest/DLeaderRText.py @@ -0,0 +1,84 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +# test script for TechDraw module +# creates a page and a view +# adds 1 leader to view1 +# adds 1 RTA to leader1 +from __future__ import print_function + +import FreeCAD +import Part +import Measure +import TechDraw +import os + +def DLeaderTest(): + path = os.path.dirname(os.path.abspath(__file__)) + print ('TDLead path: ' + path) + templateFileSpec = path + '/TestTemplate.svg' + myHTMLText = \ + """ + +

Some Rich Text for testing.

""" + + FreeCAD.newDocument("TDLead") + FreeCAD.setActiveDocument("TDLead") + FreeCAD.ActiveDocument=FreeCAD.getDocument("TDLead") + + #make source feature + box = FreeCAD.ActiveDocument.addObject("Part::Box","Box") + + #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 = 148 + view1.Y = 105 + FreeCAD.ActiveDocument.recompute() + + #make leader + print("making leader") + leaderObj = FreeCAD.ActiveDocument.addObject('TechDraw::DrawLeaderLine','DrawLeaderLine') + leaderObj.LeaderParent = view1 + p0 = FreeCAD.Vector(0.0,0.0,0.0); + p1 = FreeCAD.Vector(100.0,-100.0,0.0); + p2 = FreeCAD.Vector(500.0,-100.0,0.0); + leaderObj.WayPoints = [p0,p1,p2] + leaderObj.StartSymbol = 0 + leaderObj.EndSymbol = 4 + print("adding leader to page") + rc = page.addView(leaderObj) + leaderObj.X = 5 + leaderObj.Y = 5 + print("finished leader") + + #make RTA + print("making RTA") + blockObj = FreeCAD.ActiveDocument.addObject('TechDraw::DrawRichAnno','DrawRichAnno') + rc = page.addView(blockObj) + blockObj.AnnoParent = leaderObj + blockObj.X = 5 + blockObj.Y = 5 + blockObj.AnnoText = myHTMLText + + FreeCAD.ActiveDocument.recompute() + + rc = False + if ("Up-to-date" in leaderObj.State) and ("Up-to-date" in blockObj.State): + rc = True + FreeCAD.closeDocument("TDLead") + return rc + +if __name__ == '__main__': + DLeaderTest()