#!/usr/bin/env python3 # test script for TechDraw module # creates a page and a view # adds 1 leader to view1 # adds 1 RTA to leader1 import FreeCAD 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 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") page.addView(leaderObj) leaderObj.X = 5 leaderObj.Y = 5 print("finished leader") # make RTA print("making RTA") blockObj = FreeCAD.ActiveDocument.addObject( "TechDraw::DrawRichAnno", "DrawRichAnno" ) 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()