Exemplo n.º 1
0
def DVPartTest():
    path = os.path.dirname(os.path.abspath(__file__))
    print ('TDPart path: ' + path)
    templateFileSpec = path + '/TestTemplate.svg'

    FreeCAD.newDocument("TDPart")
    FreeCAD.setActiveDocument("TDPart")
    FreeCAD.ActiveDocument=FreeCAD.getDocument("TDPart")

    box = FreeCAD.ActiveDocument.addObject("Part::Box","Box")

    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
    print("page created")

    view = FreeCAD.ActiveDocument.addObject('TechDraw::DrawViewPart','View')
    rc = page.addView(view)

    FreeCAD.ActiveDocument.View.Source = [FreeCAD.ActiveDocument.Box]

    FreeCAD.ActiveDocument.recompute()

    rc = False
    if ("Up-to-date" in view.State):
        rc = True
    FreeCAD.closeDocument("TDPart")
    return rc
Exemplo n.º 2
0
def add_part(base,params,doc):
	if isinstance(base,freecad.BaseFunction):
		module = importlib.import_module("BOLTS.freecad.%s.%s" %
			(base.collection,base.module_name))
		module.__dict__[base.name](params,doc)
	elif isinstance(base,freecad.BaseFcstd):
		#copy part to doc
		src_doc = FreeCAD.openDocument(base.path)
		src_obj = src_doc.getObject(base.objectname)
		if src_obj is None:
			raise MalformedBaseError("No object %s found" % base.objectname)
		#maps source name to destination object
		srcdstmap = {}
		dst_obj = copy_part_recursive(src_obj,doc,srcdstmap)

		#set parameters
		for obj_name,proptoparam in base.proptoparam.iteritems():
			for prop,param in proptoparam.iteritems():
				setattr(srcdstmap[obj_name],prop,params[param])

		#finish presentation
		dst_obj.touch()
		doc.recompute()
		FreeCADGui.getDocument(doc.Name).getObject(dst_obj.Name).Visibility = True
		FreeCAD.setActiveDocument(doc.Name)
		FreeCAD.closeDocument(src_doc.Name)
def MyNewApp():
    # neue Datei erzeugen wenn nicht vorhanden
    if not (App.ActiveDocument):
        #Create new document
        App.newDocument("merzi")
        App.setActiveDocument("merzi")
        App.ActiveDocument = App.getDocument("merzi")
        Gui.ActiveDocument = Gui.getDocument("merzi")
Exemplo n.º 4
0
 def setUp(self):
     # setting a new document to hold the tests
     if FreeCAD.ActiveDocument:
         if FreeCAD.ActiveDocument.Name != "TransportationTest":
             FreeCAD.newDocument("TransportationTestA")
     else:
         FreeCAD.newDocument("TransportationTestA")
     FreeCAD.setActiveDocument("TransportationTestA")
Exemplo n.º 5
0
 def setUp(self):
     # setting a new document to hold the tests
     if FreeCAD.ActiveDocument:
         if FreeCAD.ActiveDocument.Name != "DraftTest":
             FreeCAD.newDocument("DraftTest")
     else:
         FreeCAD.newDocument("DraftTest")
     FreeCAD.setActiveDocument("DraftTest")
Exemplo n.º 6
0
 def setUp(self):
     try:
         FreeCAD.setActiveDocument("FemTest")
     except:
         FreeCAD.newDocument("FemTest")
     finally:
         FreeCAD.setActiveDocument("FemTest")
     self.active_doc = FreeCAD.ActiveDocument
 def visualize_circle(self, doc, name="circle"):
     FreeCAD.setActiveDocument(doc.Name)
     name += "_" + str(self.radius)
     try:
         Part.show(self.shape, name)
     except:
         print("first create circle")
     self.object = doc.ActiveObject
Exemplo n.º 8
0
 def setUp(self):
     try:
         FreeCAD.setActiveDocument("FemTest")
     except:
         FreeCAD.newDocument("FemTest")
     finally:
         FreeCAD.setActiveDocument("FemTest")
     self.active_doc = FreeCAD.ActiveDocument
Exemplo n.º 9
0
 def setUp(self):
     '''Set up a new document to hold the tests'''
     if FreeCAD.ActiveDocument:
         if FreeCAD.ActiveDocument.Name != "DraftTest":
             FreeCAD.newDocument("DraftTest")
     else:
         FreeCAD.newDocument("DraftTest")
     FreeCAD.setActiveDocument("DraftTest")
Exemplo n.º 10
0
def open(filename):
	"""called when freecad opens an Emn file"""
	docname = os.path.splitext(os.path.basename(filename))[0]
	doc = FreeCAD.newDocument(docname)
	FreeCAD.setActiveDocument(docname)
	message='Started with opening of "'+filename+'" file\n'
	FreeCAD.Console.PrintMessage(message)
	process_emn(doc,filename)
Exemplo n.º 11
0
 def setUp(self):
     # setting a new document to hold the tests
     if FreeCAD.ActiveDocument:
         if FreeCAD.ActiveDocument.Name != "DraftTest":
             FreeCAD.newDocument("DraftTest")
     else:
         FreeCAD.newDocument("DraftTest")
     FreeCAD.setActiveDocument("DraftTest")
Exemplo n.º 12
0
 def setUp(self):
     self.doc_name = "TestObjectCreate"
     try:
         FreeCAD.setActiveDocument(self.doc_name)
     except:
         FreeCAD.newDocument(self.doc_name)
     finally:
         FreeCAD.setActiveDocument(self.doc_name)
     self.active_doc = FreeCAD.ActiveDocument
Exemplo n.º 13
0
    def draw(self):
        try:
            Gui.getDocument('zRodL')
            Gui.getDocument('zRodL').resetEdit()
            App.getDocument('zRodL').recompute()
            App.closeDocument("zRodL")
            App.setActiveDocument("")
            App.ActiveDocument = None
            Gui.ActiveDocument = None
        except:
            pass

        #make document
        App.newDocument("zRodL")
        App.setActiveDocument("zRodL")
        App.ActiveDocument = App.getDocument("zRodL")
        Gui.ActiveDocument = Gui.getDocument("zRodL")

        #make sketch
        sketch = App.activeDocument().addObject('Sketcher::SketchObject',
                                                'Sketch')
        App.activeDocument().Sketch.Placement = App.Placement(
            App.Vector(0.000000, 0.000000, 0.000000),
            App.Rotation(0.000000, 0.000000, 0.000000, 1.000000))
        Gui.activeDocument().activeView().setCamera(
            '#Inventor V2.1 ascii \n OrthographicCamera {\n viewportMapping ADJUST_CAMERA\n  position 87 0 0 \n  orientation 0.57735026 0.57735026 0.57735026  2.0943952 \n  nearDistance -112.887\n  farDistance 287.28699\n  aspectRatio 1\n  focalDistance 87\n  height 143.52005\n\n}'
        )
        ##		Gui.activeDocument().setEdit('Sketch')
        App.ActiveDocument.Sketch.addGeometry(
            Part.Circle(App.Vector(50, 50, 0), App.Vector(0, 0, 1),
                        gv.zRodDiaL))
        App.ActiveDocument.recompute()
        sketch.addConstraint(Sketcher.Constraint('Coincident', 0, 3, -1, 1))
        App.ActiveDocument.recompute()
        App.ActiveDocument.Sketch.addConstraint(
            Sketcher.Constraint('Radius', 0, gv.zRodDiaL / 2))
        App.ActiveDocument.recompute()
        Gui.getDocument('zRodL').resetEdit()
        App.getDocument('zRodL').recompute()

        #Pad sketch
        App.activeDocument().addObject("PartDesign::Pad", "Pad")
        App.activeDocument().Pad.Sketch = App.activeDocument().Sketch
        App.activeDocument().Pad.Length = 10.0
        App.ActiveDocument.recompute()
        Gui.activeDocument().hide("Sketch")
        App.ActiveDocument.Pad.Length = gv.zRodLength
        App.ActiveDocument.Pad.Reversed = 0
        App.ActiveDocument.Pad.Midplane = 0
        App.ActiveDocument.Pad.Length2 = 100.000000
        App.ActiveDocument.Pad.Type = 0
        App.ActiveDocument.Pad.UpToFace = None
        App.ActiveDocument.recompute()
        Gui.activeDocument().resetEdit()

        #set view as axiometric
        Gui.activeDocument().activeView().viewAxometric()
Exemplo n.º 14
0
 def setUp(self):
     """ Load document with part. """
     print(test_file_dir)
     part_file = os.path.join(test_file_dir, 'parts',
                              self.__class__.__doc_name + '.fcstd')
     FreeCAD.open(part_file)
     FreeCAD.setActiveDocument(self.__class__.__doc_name)
     self.active_doc = FreeCAD.ActiveDocument
     self.active_doc.recompute()
Exemplo n.º 15
0
 def setUp(self):
     self.doc_name = "TestMeshCommon"
     try:
         FreeCAD.setActiveDocument(self.doc_name)
     except:
         FreeCAD.newDocument(self.doc_name)
     finally:
         FreeCAD.setActiveDocument(self.doc_name)
     self.active_doc = FreeCAD.ActiveDocument
Exemplo n.º 16
0
 def setUp(self):
     self.doc_name = "TestObjectCreate"
     try:
         FreeCAD.setActiveDocument(self.doc_name)
     except:
         FreeCAD.newDocument(self.doc_name)
     finally:
         FreeCAD.setActiveDocument(self.doc_name)
     self.active_doc = FreeCAD.ActiveDocument
Exemplo n.º 17
0
 def setUp(self):
     self.doc_name = "TestsFemCommon"
     try:
         FreeCAD.setActiveDocument(self.doc_name)
     except:
         FreeCAD.newDocument(self.doc_name)
     finally:
         FreeCAD.setActiveDocument(self.doc_name)
     self.active_doc = FreeCAD.ActiveDocument
Exemplo n.º 18
0
 def setUp(self):
     try:
         FreeCAD.setActiveDocument("FemTest")
     except:
         FreeCAD.newDocument("FemTest")
     finally:
         FreeCAD.setActiveDocument("FemTest")
     self.active_doc = FreeCAD.ActiveDocument
     self.box = self.active_doc.addObject("Part::Box", "Box")
     self.active_doc.recompute()
Exemplo n.º 19
0
 def setUp(self):
     # init, is executed before every test
     self.doc_name = "TestResult"
     try:
         FreeCAD.setActiveDocument(self.doc_name)
     except:
         FreeCAD.newDocument(self.doc_name)
     finally:
         FreeCAD.setActiveDocument(self.doc_name)
     self.active_doc = FreeCAD.ActiveDocument
Exemplo n.º 20
0
 def setUp(self):
     try:
         FreeCAD.setActiveDocument("FemTest")
     except:
         FreeCAD.newDocument("FemTest")
     finally:
         FreeCAD.setActiveDocument("FemTest")
     self.active_doc = FreeCAD.ActiveDocument
     self.box = self.active_doc.addObject("Part::Box", "Box")
     self.active_doc.recompute()
Exemplo n.º 21
0
 def setUp(self):
     # init, is executed before every test
     self.doc_name = "TestsFemCommon"
     try:
         FreeCAD.setActiveDocument(self.doc_name)
     except:
         FreeCAD.newDocument(self.doc_name)
     finally:
         FreeCAD.setActiveDocument(self.doc_name)
     self.active_doc = FreeCAD.ActiveDocument
Exemplo n.º 22
0
    def Activated(self):
        # neue Datei erzeugen wenn nicht vorhanden
        if not (App.ActiveDocument):
            #Create new document
            App.newDocument("merzi")
            App.setActiveDocument("merzi")
            App.ActiveDocument = App.getDocument("merzi")
            Gui.ActiveDocument = Gui.getDocument("merzi")

        # Aufruf Funktion
        self.callback = self.KugellagerZeichnen()
Exemplo n.º 23
0
 def insert(self, index=None):
     import FreeCADGui
     # check if the main document is open
     try:
         FreeCAD.setActiveDocument(self.mainDocName)
     except:
         print("It is not possible to insert because the main document is closed.")
         return
     FreeCAD.closeDocument(self.previewDocName)
     if not index:
         index = self.form.tree.selectedIndexes()
         if not index:
             return
         index = index[0]
     if self.modelmode == 1:
         path = self.dirmodel.filePath(index)
     else:
         path = self.filemodel.itemFromIndex(index).toolTip()
     if path.startswith(":github"):
         path = self.download(LIBRARYURL.replace("/tree","/raw") + "/" + path[7:])
     before = FreeCAD.ActiveDocument.Objects
     self.name = os.path.splitext(os.path.basename(path))[0]
     if path.lower().endswith(".stp") or path.lower().endswith(".step") or path.lower().endswith(".brp") or path.lower().endswith(".brep"):
         self.place(path)
     elif path.lower().endswith(".fcstd"):
         FreeCADGui.ActiveDocument.mergeProject(path)
         from DraftGui import todo
         todo.delay(self.reject,None)
     elif path.lower().endswith(".ifc"):
         import importIFC
         importIFC.ZOOMOUT = False
         importIFC.insert(path,FreeCAD.ActiveDocument.Name)
         from DraftGui import todo
         todo.delay(self.reject,None)
     elif path.lower().endswith(".sat") or path.lower().endswith(".sab"):
         try:
             # InventorLoader addon
             import importerIL
         except ImportError:
             try:
                 # CADExchanger addon
                 import CadExchangerIO
             except ImportError:
                 FreeCAD.Console.PrintError(translate("BIM","Error: Unable to import SAT files - CadExchanger addon must be installed"))
             else:
                 path = CadExchangerIO.insert(path,FreeCAD.ActiveDocument.Name,returnpath = True)
                 self.place(path)
         else:
             path = importerIL.insert(path,FreeCAD.ActiveDocument.Name)
     FreeCADGui.Selection.clearSelection()
     for o in FreeCAD.ActiveDocument.Objects:
         if not o in before:
             FreeCADGui.Selection.addSelection(o)
     FreeCADGui.SendMsgToActiveView("ViewSelection")
Exemplo n.º 24
0
 def loadBitBody(self, obj, force=False):
     if force or not obj.BitBody:
         activeDoc = FreeCAD.ActiveDocument
         if force:
             self._removeBitBody(obj)
         (doc, opened) = self._loadBitBody(obj)
         obj.BitBody = obj.Document.copyObject(doc.RootObjects[0], True)
         if opened:
             FreeCAD.setActiveDocument(activeDoc.Name)
             FreeCAD.closeDocument(doc.Name)
         self._updateBitShape(obj)
Exemplo n.º 25
0
def insert(filename,docname):
    """called when freecad imports an PlmXml file"""
    global FreeCAD_On,FreeCAD_Doc
    import FreeCAD
    FreeCAD.setActiveDocument(docname)
    doc=FreeCAD.getDocument(docname)
    FreeCAD.Console.PrintMessage('Started import of "'+filename+'" file')
    FreeCAD_Doc = doc
    FreeCAD_On = True
    parse(fileName)
    resolveRefs()
Exemplo n.º 26
0
def insert(filename, docname):
    """called when freecad imports an PlmXml file"""
    global FreeCAD_On, FreeCAD_Doc
    import FreeCAD
    FreeCAD.setActiveDocument(docname)
    doc = FreeCAD.getDocument(docname)
    FreeCAD.Console.PrintMessage('Started import of "' + filename + '" file')
    FreeCAD_Doc = doc
    FreeCAD_On = True
    parse(fileName)
    resolveRefs()
Exemplo n.º 27
0
def DVAnnoSymImageTest():
    path = os.path.dirname(os.path.abspath(__file__))
    print("TDTestAnno path: " + path)
    templateFileSpec = path + "/TestTemplate.svg"
    symbolFileSpec = path + "/TestSymbol.svg"
    imageFileSpec = path + "/TestImage.png"

    FreeCAD.newDocument("TDAnno")
    FreeCAD.setActiveDocument("TDAnno")
    FreeCAD.ActiveDocument = FreeCAD.getDocument("TDAnno")

    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.ViewObject.show()  # unit tests run in console mode

    # annotation
    anno = FreeCAD.ActiveDocument.addObject("TechDraw::DrawViewAnnotation",
                                            "TestAnno")
    s = "Different Text"
    sl = list()
    sl.append(s)
    anno.Text = sl
    anno.TextStyle = "Bold"
    page.addView(anno)
    anno.X = 30.0
    anno.Y = 150.0

    # symbol
    sym = FreeCAD.ActiveDocument.addObject("TechDraw::DrawViewSymbol",
                                           "TestSymbol")
    f = open(symbolFileSpec, "r")
    svg = f.read()
    f.close()
    sym.Symbol = svg
    page.addView(sym)
    sym.X = 220.0
    sym.Y = 150.0

    # image
    img = FreeCAD.ActiveDocument.addObject("TechDraw::DrawViewImage",
                                           "TestImage")
    img.ImageFile = imageFileSpec
    page.addView(img)

    FreeCAD.ActiveDocument.recompute()
    rc = False
    if (("Up-to-date" in anno.State) and ("Up-to-date" in sym.State)
            and ("Up-to-date" in img.State)):
        rc = True

    FreeCAD.closeDocument("TDAnno")
    return rc
Exemplo n.º 28
0
 def setUp(self):
     try:
         FreeCAD.setActiveDocument("FemTest")
     except:
         FreeCAD.newDocument("FemTest")
     finally:
         FreeCAD.setActiveDocument("FemTest")
     self.active_doc = FreeCAD.ActiveDocument
     self.mesh_name = 'Mesh'
     self.temp_dir = testtools.get_fem_test_tmp_dir()
     self.test_file_dir = testtools.get_fem_test_home_dir() + 'ccx/'
Exemplo n.º 29
0
 def setUp(self):
     # setUp is executed before every test
     # setting up a document to hold the tests
     self.doc_name = self.__class__.__name__
     if FreeCAD.ActiveDocument:
         if FreeCAD.ActiveDocument.Name != self.doc_name:
             FreeCAD.newDocument(self.doc_name)
     else:
         FreeCAD.newDocument(self.doc_name)
     FreeCAD.setActiveDocument(self.doc_name)
     self.active_doc = FreeCAD.ActiveDocument
Exemplo n.º 30
0
 def setUp(self):
     try:
         FreeCAD.setActiveDocument("FemTest")
     except:
         FreeCAD.newDocument("FemTest")
     finally:
         FreeCAD.setActiveDocument("FemTest")
     self.active_doc = FreeCAD.ActiveDocument
     self.mesh_name = 'Mesh'
     self.temp_dir = testtools.get_fem_test_tmp_dir()
     self.test_file_dir = testtools.get_fem_test_home_dir() + 'ccx/'
Exemplo n.º 31
0
    def setUp(self):
        """Creates a page"""
        FreeCAD.newDocument("TDPart")
        FreeCAD.setActiveDocument("TDPart")
        FreeCAD.ActiveDocument = FreeCAD.getDocument("TDPart")

        FreeCAD.ActiveDocument.addObject("Part::Box", "Box")

        self.page = createPageWithSVGTemplate()
        self.page.Scale = 5.0
        # page.ViewObject.show()    # unit tests run in console mode
        print("page created")
Exemplo n.º 32
0
 def setUp(self):
     self.doc_name = "TestSolverFrameWork"
     try:
         FreeCAD.setActiveDocument(self.doc_name)
     except:
         FreeCAD.newDocument(self.doc_name)
     finally:
         FreeCAD.setActiveDocument(self.doc_name)
     self.active_doc = FreeCAD.ActiveDocument
     self.mesh_name = 'Mesh'
     self.temp_dir = testtools.get_fem_test_tmp_dir()
     self.test_file_dir = testtools.get_fem_test_home_dir() + 'ccx/'
Exemplo n.º 33
0
def setup(part,view):
    date = datetime.date.today().strftime("%m_%d_%Y")
    printerDir = gv.printerDir+"Printer_"+date+"/"
    #part: "printBedSupport"
    #subpart: App.ActiveDocument.Pocket001
    
    FreeCAD.open(printerDir+"Parts/"+part+".FCStd")
    App.setActiveDocument(part)
    view = eval('App.ActiveDocument.'+view)
    create(view)
    App.getDocument(part).save()
    App.closeDocument(part)
Exemplo n.º 34
0
def setup(part,view):
    date = datetime.date.today().strftime("%m_%d_%Y")
    printerDir = gv.printerDir+"Printer_"+date+"/"
    #part: "printBedSupport"
    #subpart: App.ActiveDocument.Pocket001
    
    FreeCAD.open(printerDir+"Parts/"+part+".FCStd")
    App.setActiveDocument(part)
    view = eval('App.ActiveDocument.'+view)
    create(view)
    App.getDocument(part).save()
    App.closeDocument(part)
Exemplo n.º 35
0
    def setUp(self):
        # setUp is executed before every test
        # setting up a document to hold the tests
        self.doc_name = self.__class__.__name__
        if FreeCAD.ActiveDocument:
            if FreeCAD.ActiveDocument.Name != self.doc_name:
                FreeCAD.newDocument(self.doc_name)
        else:
            FreeCAD.newDocument(self.doc_name)
        FreeCAD.setActiveDocument(self.doc_name)
        self.active_doc = FreeCAD.ActiveDocument

        # more inits
        self.elem = "tetra10"
        self.base_testfile = join(testtools.get_fem_test_home_dir(), "mesh",
                                  (self.elem + "_mesh."))
        self.base_outfile = join(testtools.get_fem_test_tmp_dir(),
                                 (self.elem + "_mesh."))
        # 10 node tetrahedron --> tetra10
        femmesh = Fem.FemMesh()
        femmesh.addNode(6, 12, 18, 1)
        femmesh.addNode(0, 0, 18, 2)
        femmesh.addNode(12, 0, 18, 3)
        femmesh.addNode(6, 6, 0, 4)
        femmesh.addNode(3, 6, 18, 5)
        femmesh.addNode(6, 0, 18, 6)
        femmesh.addNode(9, 6, 18, 7)
        femmesh.addNode(6, 9, 9, 8)
        femmesh.addNode(3, 3, 9, 9)
        femmesh.addNode(9, 3, 9, 10)
        femmesh.addVolume([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
        self.femmesh = femmesh
        self.expected_nodes = {
            "count": 10,
            "nodes": {
                1: FreeCAD.Vector(6.0, 12.0, 18.0),
                2: FreeCAD.Vector(0.0, 0.0, 18.0),
                3: FreeCAD.Vector(12.0, 0.0, 18.0),
                4: FreeCAD.Vector(6.0, 6.0, 0.0),
                5: FreeCAD.Vector(3.0, 6.0, 18.0),
                6: FreeCAD.Vector(6.0, 0.0, 18.0),
                7: FreeCAD.Vector(9.0, 6.0, 18.0),
                8: FreeCAD.Vector(6.0, 9.0, 9.0),
                9: FreeCAD.Vector(3.0, 3.0, 9.0),
                10: FreeCAD.Vector(9.0, 3.0, 9.0),
            }
        }
        self.expected_elem = {
            "volcount": 1,
            "tetcount": 1,
            "volumes": [1, (1, 2, 3, 4, 5, 6, 7, 8, 9, 10)]
        }
        """
Exemplo n.º 36
0
    def clicked(self, index, previewDocName = "Viewer"):
        import Part, FreeCADGui, zipfile, tempfile, os
        self.previewOn = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/BIM").GetBool("3DPreview",False)
        try:
            self.path = self.dirmodel.filePath(index)
        except:
            self.path = self.previousIndex
            print(self.path)
        self.isFile = os.path.isfile(self.path)
        # if the 3D preview checkbox is on ticked, show the preview
        if self.previewOn == True or self.linked == True:
            if self.isFile == True:
                # close a non linked preview document
                if self.linked == False:
                    try:
                        FreeCAD.closeDocument(self.previewDocName)
                    except:
                        pass
                # create different kinds of previews based on file type
                if self.path.lower().endswith(".stp") or self.path.lower().endswith(".step") or self.path.lower().endswith(".brp") or self.path.lower().endswith(".brep"):
                    self.previewDocName = "Viewer"
                    FreeCAD.newDocument(self.previewDocName)
                    FreeCAD.setActiveDocument(self.previewDocName)
                    Part.show(Part.read(self.path))
                    FreeCADGui.SendMsgToActiveView("ViewFit")
                elif self.path.lower().endswith(".fcstd"):
                    openedDoc = FreeCAD.openDocument(self.path)
                    FreeCADGui.SendMsgToActiveView("ViewFit")
                    self.previewDocName = FreeCAD.ActiveDocument.Name
                    thumbnailSave = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/BIM").GetBool("SaveThumbnails",False)
                    if thumbnailSave == True:
                        FreeCAD.ActiveDocument.save()
        if self.linked == False:
            self.previousIndex = self.path

        # create a 2D image preview
        if self.path.lower().endswith(".fcstd"):
            zfile=zipfile.ZipFile(self.path)
            files=zfile.namelist()
            # check for meta-file if it's really a FreeCAD document
            if files[0] == "Document.xml":
                image="thumbnails/Thumbnail.png"
                if image in files:
                    image=zfile.read(image)
                    thumbfile = tempfile.mkstemp(suffix='.png')[1]
                    thumb = open(thumbfile,"wb")
                    thumb.write(image)
                    thumb.close()
                    im = QtGui.QPixmap(thumbfile)
                    self.form.framePreview.setPixmap(im)
                    return self.previewDocName, self.previousIndex, self.linked
        self.form.framePreview.clear()
        return self.previewDocName, self.previousIndex, self.linked
Exemplo n.º 37
0
 def setUp(self):
     self.doc_name = "TestSolverFrameWork"
     try:
         FreeCAD.setActiveDocument(self.doc_name)
     except:
         FreeCAD.newDocument(self.doc_name)
     finally:
         FreeCAD.setActiveDocument(self.doc_name)
     self.active_doc = FreeCAD.ActiveDocument
     self.mesh_name = 'Mesh'
     self.temp_dir = testtools.get_fem_test_tmp_dir()
     self.test_file_dir = testtools.get_fem_test_home_dir() + 'ccx/'
Exemplo n.º 38
0
    def test000(self):
        # Test basic name generation with empty string
        FreeCAD.setActiveDocument(self.doc.Label)
        teststring = ""
        self.job.PostProcessorOutputFile = teststring
        self.job.SplitOutput = False
        outlist = PathPost.buildPostList(self.job)

        self.assertTrue(len(outlist) == 1)
        subpart, objs = outlist[0]

        filename = PathPost.resolveFileName(self.job, subpart, 0)
        self.assertEqual(filename, f"{self.testfilename}.nc")
    def setUp(self):

        import transportationwb
        import transportationwb.labeltools
        reload(transportationwb.labeltools)

        if FreeCAD.ActiveDocument:
            if FreeCAD.ActiveDocument.Name != "TransportationTest":
                FreeCAD.newDocument("TransportationTest")
        else:
            FreeCAD.newDocument("TransportationTest")
        FreeCAD.setActiveDocument("TransportationTest")
        self.windows = []
Exemplo n.º 40
0
def test_overlapping_parts(datadir):
    """
    This tests that two parts that were generated from lithography over a wire register as intersecting. Due to
    an OCC bug, FC 0.18 at one point would claim that these didn't intersect, resulting in geometry and meshing errors.
    """
    path = os.path.join(datadir, "intersection_test.FCStd")
    doc = FreeCAD.newDocument("instance")
    FreeCAD.setActiveDocument("instance")
    doc.load(path)
    shape_1 = doc.Objects[0]
    shape_2 = doc.Objects[1]
    assert checkOverlap([shape_1, shape_2])
    FreeCAD.closeDocument(doc.Name)
Exemplo n.º 41
0
 def setUp(self):
     # init, is executed before every test
     self.doc_name = "TestCcxTools"
     try:
         FreeCAD.setActiveDocument(self.doc_name)
     except:
         FreeCAD.newDocument(self.doc_name)
     finally:
         FreeCAD.setActiveDocument(self.doc_name)
     self.active_doc = FreeCAD.ActiveDocument
     self.mesh_name = 'Mesh'
     self.temp_dir = testtools.get_fem_test_tmp_dir()
     self.test_file_dir = join(testtools.get_fem_test_home_dir(), 'ccx')
Exemplo n.º 42
0
 def setUp(self):
     try:
         FreeCAD.setActiveDocument("TherMechFemTest")
     except:
         FreeCAD.newDocument("TherMechFemTest")
     finally:
         FreeCAD.setActiveDocument("TherMechFemTest")
     self.active_doc = FreeCAD.ActiveDocument
     self.box = self.active_doc.addObject("Part::Box", "Box")
     self.box.Height = 25.4
     self.box.Width = 25.4
     self.box.Length = 203.2
     self.active_doc.recompute()
Exemplo n.º 43
0
    def Activated(self):
        # neue Datei erzeugen wenn nicht vorhanden
        if not (App.ActiveDocument):
            #Create new document
            App.newDocument("merzi")
            App.setActiveDocument("merzi")
            App.ActiveDocument = App.getDocument("merzi")
            Gui.ActiveDocument = Gui.getDocument("merzi")

        self.view = Gui.ActiveDocument.ActiveView
        self.stack = []
        self.callback = self.view.addEventCallbackPivy(
            SoMouseButtonEvent.getClassTypeId(), self.getpoint)
Exemplo n.º 44
0
 def setUp(self):
     try:
         FreeCAD.setActiveDocument("TherMechFemTest")
     except:
         FreeCAD.newDocument("TherMechFemTest")
     finally:
         FreeCAD.setActiveDocument("TherMechFemTest")
     self.active_doc = FreeCAD.ActiveDocument
     self.box = self.active_doc.addObject("Part::Box", "Box")
     self.box.Height = 25.4
     self.box.Width = 25.4
     self.box.Length = 203.2
     self.active_doc.recompute()
Exemplo n.º 45
0
	def draw(self):
		try:
			Gui.getDocument('zRodR')
			Gui.getDocument('zRodR').resetEdit()
			App.getDocument('zRodR').recompute()
			App.closeDocument("zRodR")
			App.setActiveDocument("")
			App.ActiveDocument=None
			Gui.ActiveDocument=None	
		except:
			pass

		#make document
		App.newDocument("zRodR")
		App.setActiveDocument("zRodR")
		App.ActiveDocument=App.getDocument("zRodR")
		Gui.ActiveDocument=Gui.getDocument("zRodR")
		
		#make sketch
	#	sketch = App.activeDocument().addObject('Sketcher::SketchObject','Sketch')
		App.activeDocument().addObject('Sketcher::SketchObject','Sketch')
		App.activeDocument().Sketch.Placement = App.Placement(App.Vector(0.000000,0.000000,0.000000),App.Rotation(0.000000,0.000000,0.000000,1.000000))
		Gui.activeDocument().activeView().setCamera('#Inventor V2.1 ascii \n OrthographicCamera {\n viewportMapping ADJUST_CAMERA\n  position 87 0 0 \n  orientation 0.57735026 0.57735026 0.57735026  2.0943952 \n  nearDistance -112.887\n  farDistance 287.28699\n  aspectRatio 1\n  focalDistance 87\n  height 143.52005\n\n}')
##		Gui.activeDocument().setEdit('Sketch')
		App.ActiveDocument.Sketch.addGeometry(Part.Circle(App.Vector(50,50,0),App.Vector(0,0,1),gv.zRodDiaR))
		App.ActiveDocument.recompute()
		#sketch.addConstraint(Sketcher.Constraint('Coincident',0,3,-1,1)) 
		App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',0,3,-1,1)) 
		App.ActiveDocument.recompute()
		App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Radius',0,gv.zRodDiaR/2)) 
		App.ActiveDocument.recompute()
		Gui.getDocument('zRodR').resetEdit()
		App.getDocument('zRodR').recompute()
				
		#Pad sketch
		App.activeDocument().addObject("PartDesign::Pad","Pad")
		App.activeDocument().Pad.Sketch = App.activeDocument().Sketch
		App.activeDocument().Pad.Length = 10.0
		App.ActiveDocument.recompute()
		Gui.activeDocument().hide("Sketch")
		App.ActiveDocument.Pad.Length = gv.zRodLength
		App.ActiveDocument.Pad.Reversed = 0
		App.ActiveDocument.Pad.Midplane = 0
		App.ActiveDocument.Pad.Length2 = 100.000000
		App.ActiveDocument.Pad.Type = 0
		App.ActiveDocument.Pad.UpToFace = None
		App.ActiveDocument.recompute()
		Gui.activeDocument().resetEdit()
		
		#set view as axiometric
		Gui.activeDocument().activeView().viewAxometric()
Exemplo n.º 46
0
def makeAssemblyFile():
    try:
        App.getDocument('PrinterAssembly').recompute()
        App.closeDocument("PrinterAssembly")
        App.setActiveDocument("")
        App.ActiveDocument = None
    except:
        pass

    # make document
    # Make Assembly file
    App.newDocument("PrinterAssembly")
    App.setActiveDocument("PrinterAssembly")
    App.ActiveDocument = App.getDocument("PrinterAssembly")
Exemplo n.º 47
0
def DVAnnoSymImageTest():
    path = os.path.dirname(os.path.abspath(__file__))
    print ('TDTestAnno path: ' + path)
    templateFileSpec = path + '/TestTemplate.svg'
    symbolFileSpec = path + '/TestSymbol.svg'
    imageFileSpec = path + '/TestImage.png'

    FreeCAD.newDocument("TDAnno")
    FreeCAD.setActiveDocument("TDAnno")
    FreeCAD.ActiveDocument=FreeCAD.getDocument("TDAnno")

    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.ViewObject.show()    # unit tests run in console mode

    #annotation
    anno = FreeCAD.ActiveDocument.addObject('TechDraw::DrawViewAnnotation','TestAnno')
    s = 'Different Text'
    sl = list()
    sl.append(s)
    anno.Text = sl
    anno.TextStyle = 'Bold'
    rc = page.addView(anno)
    anno.X = 30.0
    anno.Y = 150.0

    #symbol
    sym = FreeCAD.ActiveDocument.addObject('TechDraw::DrawViewSymbol','TestSymbol')
    f = open(symbolFileSpec, 'r')
    svg = f.read()
    f.close()
    sym.Symbol = svg
    rc = page.addView(sym)
    sym.X = 220.0
    sym.Y = 150.0

    #image
    img = FreeCAD.ActiveDocument.addObject('TechDraw::DrawViewImage','TestImage')
    img.ImageFile = imageFileSpec
    rc = page.addView(img)

    FreeCAD.ActiveDocument.recompute()
    rc = False
    if ("Up-to-date" in anno.State) and ("Up-to-date" in sym.State) and ("Up-to-date" in img.State):
        rc = True
    FreeCAD.closeDocument("TDAnno")
    return rc
Exemplo n.º 48
0
    def setUp(self):
        self.doc_name = "TestMeshEleTetra10"
        try:
            FreeCAD.setActiveDocument(self.doc_name)
        except:
            FreeCAD.newDocument(self.doc_name)
        finally:
            FreeCAD.setActiveDocument(self.doc_name)
        self.active_doc = FreeCAD.ActiveDocument

        self.elem = 'tetra10'
        self.base_testfile = join(testtools.get_fem_test_home_dir(), 'mesh', (self.elem + '_mesh.'))
        self.base_outfile = join(testtools.get_fem_test_tmp_dir(), (self.elem + '_mesh.'))
        # 10 node tetrahedron --> tetra10
        femmesh = Fem.FemMesh()
        femmesh.addNode(6, 12, 18, 1)
        femmesh.addNode(0, 0, 18, 2)
        femmesh.addNode(12, 0, 18, 3)
        femmesh.addNode(6, 6, 0, 4)
        femmesh.addNode(3, 6, 18, 5)
        femmesh.addNode(6, 0, 18, 6)
        femmesh.addNode(9, 6, 18, 7)
        femmesh.addNode(6, 9, 9, 8)
        femmesh.addNode(3, 3, 9, 9)
        femmesh.addNode(9, 3, 9, 10)
        femmesh.addVolume([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
        self.femmesh = femmesh
        self.expected_nodes = {
            'count': 10,
            'nodes': {
                1: FreeCAD.Vector(6.0, 12.0, 18.0),
                2: FreeCAD.Vector(0.0, 0.0, 18.0),
                3: FreeCAD.Vector(12.0, 0.0, 18.0),
                4: FreeCAD.Vector(6.0, 6.0, 0.0),
                5: FreeCAD.Vector(3.0, 6.0, 18.0),
                6: FreeCAD.Vector(6.0, 0.0, 18.0),
                7: FreeCAD.Vector(9.0, 6.0, 18.0),
                8: FreeCAD.Vector(6.0, 9.0, 9.0),
                9: FreeCAD.Vector(3.0, 3.0, 9.0),
                10: FreeCAD.Vector(9.0, 3.0, 9.0),
            }
        }
        self.expected_elem = {
            'volcount': 1,
            'tetcount': 1,
            'volumes': [1, (1, 2, 3, 4, 5, 6, 7, 8, 9, 10)]
        }
        '''
Exemplo n.º 49
0
def updateAssembly():
    if len(FreeCADGui.Selection.getSelection()) == 0:
        FreeCAD.Console.PrintWarning("Select assembly!\n")
    
    mainFile = FreeCAD.ActiveDocument.Label
    for i in FreeCADGui.Selection.getSelection():
        if hasattr(i, "Proxy") and hasattr(i, "Type") and i.Proxy.Type == 'assemblyMain':
            i.Proxy.updateParts(i)
            i.Proxy.updateRotation(i)
    #
    FreeCAD.setActiveDocument(mainFile)
    FreeCADGui.ActiveDocument = FreeCADGui.getDocument(mainFile)
    
    FreeCADGui.ActiveDocument.activeView().viewAxometric()
    FreeCADGui.ActiveDocument.activeView().fitAll()
    FreeCAD.ActiveDocument.recompute()
Exemplo n.º 50
0
	def draw(self):
		try:
			App.getDocument(self.name).recompute()
			App.closeDocument(self.name)
			App.setActiveDocument("")
			App.ActiveDocument=None
		except:
			pass

		#make document
		App.newDocument(self.name)
		App.setActiveDocument(self.name)
		App.ActiveDocument=App.getDocument(self.name)

		#extrude crossBarTop
		uf.extrudeFrameMember(self.name, gv.frameSpacerLength)
Exemplo n.º 51
0
    def draw(self):

        self.defineVariables()
        # import FreeCAD modules
        import FreeCAD as App
        import Part
        import Sketcher

        try:
            App.getDocument('xRodBottom').recompute()
            App.closeDocument("xRodBottom")
            App.setActiveDocument("")
            App.ActiveDocument = None
        except:
            pass

        # make document
        App.newDocument("xRodBottom")
        App.setActiveDocument("xRodBottom")
        App.ActiveDocument = App.getDocument("xRodBottom")

        # make sketch
        App.activeDocument().addObject('Sketcher::SketchObject', 'Sketch')
        App.activeDocument().Sketch.Placement = App.Placement(App.Vector(0.000000, 0.000000, 0.000000),
                                                              App.Rotation(0.500000, 0.500000, 0.500000, 0.500000))
        App.ActiveDocument.Sketch.addGeometry(
            Part.Circle(App.Vector(50, 50, 0), App.Vector(0, 0, 1), self.Diameter / 2))
        App.ActiveDocument.recompute()
        App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident', 0, 3, -1, 1))
        App.ActiveDocument.recompute()
        App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Radius', 0, self.Diameter / 2))
        App.ActiveDocument.recompute()
        App.getDocument('xRodBottom').recompute()

        # Pad sketch
        App.activeDocument().addObject("PartDesign::Pad", "Pad")
        App.activeDocument().Pad.Sketch = App.activeDocument().Sketch
        App.activeDocument().Pad.Length = 10.0
        App.ActiveDocument.recompute()
        App.ActiveDocument.Pad.Length = self.Length_of_Shorter_X_Rod
        App.ActiveDocument.Pad.Reversed = 0
        App.ActiveDocument.Pad.Midplane = 0
        App.ActiveDocument.Pad.Length2 = 100.000000
        App.ActiveDocument.Pad.Type = 0
        App.ActiveDocument.Pad.UpToFace = None
        App.ActiveDocument.recompute()
Exemplo n.º 52
0
    def draw(self):
        #import FreeCAD modules
        import FreeCAD as App
        import Part
        import Sketcher

        #Specific to printer
        import globalVars as gv

        try:
            App.getDocument('xRodTop').recompute()
            App.closeDocument("xRodTop")
            App.setActiveDocument("")
            App.ActiveDocument=None
        except:
            pass

        #make document
        App.newDocument("xRodTop")
        App.setActiveDocument("xRodTop")
        App.ActiveDocument=App.getDocument("xRodTop")

        #make sketch
        App.activeDocument().addObject('Sketcher::SketchObject','Sketch')
        App.activeDocument().Sketch.Placement = App.Placement(App.Vector(0.000000,0.000000,0.000000),App.Rotation(0.500000,0.500000,0.500000,0.500000))
        App.ActiveDocument.Sketch.addGeometry(Part.Circle(App.Vector(50,50,0),App.Vector(0,0,1),gv.xRodDiaTop/2))
        App.ActiveDocument.recompute()
        App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',0,3,-1,1))
        App.ActiveDocument.recompute()
        App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Radius',0,gv.xRodDiaTop/2))
        App.ActiveDocument.recompute()
        App.getDocument('xRodTop').recompute()

        #Pad sketch
        App.activeDocument().addObject("PartDesign::Pad","Pad")
        App.activeDocument().Pad.Sketch = App.activeDocument().Sketch
        App.activeDocument().Pad.Length = 10.0
        App.ActiveDocument.recompute()
        App.ActiveDocument.Pad.Length = gv.xRodLength
        App.ActiveDocument.Pad.Reversed = 0
        App.ActiveDocument.Pad.Midplane = 0
        App.ActiveDocument.Pad.Length2 = 100.000000
        App.ActiveDocument.Pad.Type = 0
        App.ActiveDocument.Pad.UpToFace = None
        App.ActiveDocument.recompute()
Exemplo n.º 53
0
def creaProjecte(name="Projecte"):
    """
    Crea l'estructura basica de projecte
    """
    FreeCADGui.activateWorkbench("Survey")

    # setting a new document to hold the tests
    if not FreeCAD.ActiveDocument:
        FreeCAD.newDocument("SurveyProject")
        FreeCAD.setActiveDocument("SurveyProject")

    doc = FreeCAD.activeDocument()
    creaCarpetaProjecte("Punts", "Punts", doc)
    creaCarpetaProjecte("Breaklines", "Breaklines", doc)
    creaCarpetaProjecte("Surfaces", "Surfaces", doc)
    creaCarpetaProjecte("Alignment", "Alignments", doc)

    return doc
Exemplo n.º 54
0
def DVSectionTest():
    path = os.path.dirname(os.path.abspath(__file__))
    print ('TDSection path: ' + path)
    templateFileSpec = path + '/TestTemplate.svg'

    FreeCAD.newDocument("TDSection")
    FreeCAD.setActiveDocument("TDSection")
    FreeCAD.ActiveDocument=FreeCAD.getDocument("TDSection")

    box = FreeCAD.ActiveDocument.addObject("Part::Box","Box")

    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
    print("page created")

    view = FreeCAD.ActiveDocument.addObject('TechDraw::DrawViewPart','View')
    rc = page.addView(view)
    view.Source = [box]
    view.Direction = (0.0,0.0,1.0)
    view.Rotation = 0.0
    view.X = 30.0
    view.Y = 150.0
    print("view created")

    section = FreeCAD.ActiveDocument.addObject('TechDraw::DrawViewSection','Section')
    rc = page.addView(section)
    section.Source = [box]
    section.BaseView = view
    section.Direction = (0.0,1.0,0.0)
    section.SectionNormal = (0.0,1.0,0.0)
    section.SectionOrigin = (5.0,5.0,5.0)
    view.touch()
    print("section created")

    FreeCAD.ActiveDocument.recompute()
    rc = False
    if ("Up-to-date" in view.State) and ("Up-to-date" in section.State):
        rc = True
    FreeCAD.closeDocument("TDSection")
    return rc
Exemplo n.º 55
0
def DHatchTest():
    path = os.path.dirname(os.path.abspath(__file__))
    print ('TDHatch path: ' + path)
    templateFileSpec = path+'/TestTemplate.svg'
    hatchFileSpec = path + '/TestHatch.svg'

    FreeCAD.newDocument("TDHatch")
    FreeCAD.setActiveDocument("TDHatch")
    FreeCAD.ActiveDocument=FreeCAD.getDocument("TDHatch")

    #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 = [box]
    rc = page.addView(view1)
    FreeCAD.ActiveDocument.recompute()

    #make hatch
    print("making hatch")
    hatch = FreeCAD.ActiveDocument.addObject('TechDraw::DrawHatch','Hatch')
    hatch.Source = (view1,["Face0"])
    hatch.HatchPattern = hatchFileSpec          #comment out to use default from preferences
    print("adding hatch to page")
    rc = page.addView(hatch)
    print("finished hatch")

    FreeCAD.ActiveDocument.recompute()

    rc = False
    if ("Up-to-date" in hatch.State):
        rc = True
    FreeCAD.closeDocument("TDHatch")
    return rc
Exemplo n.º 56
0
def test():
    """
import ops
reload(ops)
ops.test()
    """
    import Draft
    FreeCAD.newDocument()
    FreeCAD.setActiveDocument("Unnamed")
    FreeCAD.ActiveDocument=FreeCAD.getDocument("Unnamed")
    FreeCAD.Gui.ActiveDocument=FreeCAD.Gui.getDocument("Unnamed")
    #wb=FreeCAD.Gui.getWorkbench('SurfaceEditingWorkbench')
    am=SurfaceEditing.AddMesh()
    am.Activated()
    mesh=FreeCAD.Gui.getDocument("Unnamed").getObject("Mesh").Proxy
    FreeCAD.Gui.Selection.addSelection(mesh.Object)
    FreeCAD.Gui.seEditor.addPoint((400,400))
    FreeCAD.Gui.seEditor.addPoint((410,410))
    FreeCAD.Gui.seEditor.addPoint((415,415))
    p=FreeCAD.ActiveDocument.getObject('Point')
    print p.Coordinates
    mesh.doop('MovePoint',["Point"],relative=True,x=-0.5,y=-0.5,z=10)
    print p.Coordinates
    FreeCAD.Gui.SendMsgToActiveView("ViewFit")
    h1=mesh.history[0]
    mesh.redoop(h1,[],layer='Default Layer',x=0.3,y=0,z=0)
    print p.Coordinates
    FreeCAD.Gui.SendMsgToActiveView("ViewFit")
    w1=FreeCAD.Base.Vector(0,0,0)
    w2=FreeCAD.Base.Vector(0,1,0)
    wire=Draft.makeWire([w1,w2]) 
    op=mesh.doop('AddWire',[wire.Label])
    pname=op.attributes['points'][1]
    mesh.doop('MovePoint',[pname],relative=True,x=-0.2,y=0.2)
    ob=FreeCAD.Gui.getDocument("Unnamed").getObject("Line")
    ps=ob.Object.Points
    ps[1]=FreeCAD.Base.Vector(0.5,0.5,0)
    ob.Object.Points=ps
    mesh.redoop(op,op.sources,**op.attributes)
    mesh.redoop(op,op.sources,**op.attributes)
    mesh.doop('AddPoint',[],x=0.5,y=0.5,z=1)
        
    FreeCAD.Gui.SendMsgToActiveView("ViewFit")
Exemplo n.º 57
0
def makeAssemblyFile():
	try:
		Gui.getDocument('PrinterAssembly')
		Gui.getDocument('PrinterAssembly').resetEdit()
		App.getDocument('PrinterAssembly').recompute()
		App.closeDocument("PrinterAssembly")
		App.setActiveDocument("")
		App.ActiveDocument=None
		Gui.ActiveDocument=None	
	except:
		pass

		#make document
	#Make Assembly file
	App.newDocument("PrinterAssembly")
	App.setActiveDocument("PrinterAssembly")
	App.ActiveDocument=App.getDocument("PrinterAssembly")
	Gui.ActiveDocument=Gui.getDocument("PrinterAssembly")
	Gui.activeDocument().activeView().setCamera('#Inventor V2.1 ascii \n OrthographicCamera {\n viewportMapping ADJUST_CAMERA \n position 0 0 87 \n orientation 0 0 1  0 \n nearDistance -112.88701 \n farDistance 287.28702 \n aspectRatio 1 \n focalDistance 87 \n height 143.52005 }')
	Gui.activeDocument().activeView().viewAxometric()
Exemplo n.º 58
0
	def draw(self):
		try:
			Gui.getDocument(self.name)
			Gui.getDocument(self.name).resetEdit()
			App.getDocument(self.name).recompute()
			App.closeDocument(self.name)
			App.setActiveDocument("")
			App.ActiveDocument=None
			Gui.ActiveDocument=None	
		except:
			pass

		#make document
		App.newDocument(self.name)
		App.setActiveDocument(self.name)
		App.ActiveDocument=App.getDocument(self.name)
		Gui.ActiveDocument=Gui.getDocument(self.name)
		
		#extrude crossBarBottom
		uf.extrudeFrameMember(self.name, gv.sideBarLength)
Exemplo n.º 59
0
    def draw(self):
        try:
            App.getDocument("xRodTop").recompute()
            App.closeDocument("xRodTop")
            App.setActiveDocument("")
            App.ActiveDocument = None
        except:
            pass

            # make document
        App.newDocument("xRodTop")
        App.setActiveDocument("xRodTop")
        App.ActiveDocument = App.getDocument("xRodTop")

        # make sketch
        App.activeDocument().addObject("Sketcher::SketchObject", "Sketch")
        App.activeDocument().Sketch.Placement = App.Placement(
            App.Vector(0.000000, 0.000000, 0.000000), App.Rotation(0.500000, 0.500000, 0.500000, 0.500000)
        )
        App.ActiveDocument.Sketch.addGeometry(
            Part.Circle(App.Vector(50, 50, 0), App.Vector(0, 0, 1), gv.xRodDiaTop / 2)
        )
        App.ActiveDocument.recompute()
        App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint("Coincident", 0, 3, -1, 1))
        App.ActiveDocument.recompute()
        App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint("Radius", 0, gv.xRodDiaTop / 2))
        App.ActiveDocument.recompute()
        App.getDocument("xRodTop").recompute()

        # Pad sketch
        App.activeDocument().addObject("PartDesign::Pad", "Pad")
        App.activeDocument().Pad.Sketch = App.activeDocument().Sketch
        App.activeDocument().Pad.Length = 10.0
        App.ActiveDocument.recompute()
        App.ActiveDocument.Pad.Length = gv.xRodLength
        App.ActiveDocument.Pad.Reversed = 0
        App.ActiveDocument.Pad.Midplane = 0
        App.ActiveDocument.Pad.Length2 = 100.000000
        App.ActiveDocument.Pad.Type = 0
        App.ActiveDocument.Pad.UpToFace = None
        App.ActiveDocument.recompute()