Esempio n. 1
0
    def accept(self):
        if self.pcbBorder.text() == '' or self.pcbHoles.text() == '':
            FreeCAD.Console.PrintWarning("Mandatory field is empty!\n")
        elif self.pcbBorder.text() == self.pcbHoles.text():
            FreeCAD.Console.PrintWarning("One sketch used two times!\n")
        else:
            newPartObjectFC = self.createDefaultProject(
                FreeCAD.ActiveDocument.Name)
            groupBRD = createGroup_PCB()

            PCBboard = FreeCAD.ActiveDocument.addObject(
                "Part::FeaturePython", "Board")
            PCBboardObject(PCBboard)
            PCBboard.Parent = newPartObjectFC
            PCBboard.Thickness = self.gruboscPlytki.value()
            PCBboard.Border = FreeCAD.ActiveDocument.getObject(
                self.pcbBorder.text())
            PCBboard.Holes = FreeCAD.ActiveDocument.getObject(
                self.pcbHoles.text())
            viewProviderPCBboardObject(PCBboard.ViewObject)
            groupBRD.addObject(FreeCAD.ActiveDocument.Board)
            FreeCADGui.activeDocument().getObject(
                PCBboard.Name).ShapeColor = self.pcbColor.getColor()
            FreeCAD.ActiveDocument.getObject(
                self.pcbBorder.text()).ViewObject.Visibility = False
            FreeCAD.ActiveDocument.getObject(
                self.pcbHoles.text()).ViewObject.Visibility = False
            #
            PCBboard.purgeTouched()
            PCBboard.recompute()
            return True
Esempio n. 2
0
def importBRD(filename, wersjaFormatu):
    ''' '''
    #try:
    #mw = QtGui.qApp.activeWindow()
    #mw.findChild(QtGui.QDockWidget, "Report view").layout().itemAt(0).widget().clear()
    #except AttributeError:  # Linux
    #pass
    mw = FreeCADGui.getMainWindow()
    mw.findChild(QtGui.QDockWidget,
                 "Report view").layout().itemAt(0).widget().clear()

    if wersjaFormatu == "eagle":
        plytkaPCB = EaglePCB(filename)
    elif wersjaFormatu == "freepcb":
        plytkaPCB = FreePCB()
    elif wersjaFormatu == "geda":
        plytkaPCB = gEDA_PCB(filename)
    elif wersjaFormatu == "fidocadj":
        plytkaPCB = FidoCadJ_PCB(filename)
    elif wersjaFormatu == "razen":
        plytkaPCB = Razen_PCB()
    elif wersjaFormatu == "kicad_v3":
        plytkaPCB = KiCadv3_PCB(filename)
    elif wersjaFormatu == "kicad_v4":
        plytkaPCB = KiCadv4_PCB(filename)
    elif wersjaFormatu == "idf_v2":
        plytkaPCB = IDFv2_PCB(filename)
    elif wersjaFormatu == "idf_v3":
        plytkaPCB = IDFv3_PCB(filename)
    elif wersjaFormatu == "idf_v4":
        plytkaPCB = IDFv4_PCB(filename)
    elif wersjaFormatu == "diptrace":
        plytkaPCB = DipTrace_PCB(filename)
    elif wersjaFormatu == "hyp_v2":
        plytkaPCB = HYP_PCB(filename)

    dial = plytkaPCB.dialogMAIN
    if dial.exec_():
        docname = os.path.splitext(os.path.basename(filename))[0]
        doc = FreeCAD.newDocument(docname)
        groupBRD = createGroup_PCB()
        ######
        start = time.time()

        plytkaPCB.setProject(filename)
        plytka = plytkaPCB.generate(doc, groupBRD, filename)

        FreeCAD.Console.PrintWarning('Total time: %i[s]\n' %
                                     (time.time() - start))
        ######
        FreeCADGui.ActiveDocument.ActiveView.viewAxometric()
        FreeCADGui.ActiveDocument.ActiveView.fitAll()

        view = pcbToolBarView()
        view.changeDisplayMode('Shaded')
        return plytka
Esempio n. 3
0
def importBRD(filename, wersjaFormatu):
    ''' '''
    #try:
        #mw = QtGui.qApp.activeWindow()
        #mw.findChild(QtGui.QDockWidget, "Report view").layout().itemAt(0).widget().clear()
    #except AttributeError:  # Linux
        #pass
    mw = FreeCADGui.getMainWindow()
    mw.findChild(QtGui.QDockWidget, "Report view").layout().itemAt(0).widget().clear()

    if wersjaFormatu == "eagle":
        plytkaPCB = EaglePCB(filename)
    elif wersjaFormatu == "freepcb":
        plytkaPCB = FreePCB()
    elif wersjaFormatu == "geda":
        plytkaPCB = gEDA_PCB(filename)
    elif wersjaFormatu == "fidocadj":
        plytkaPCB = FidoCadJ_PCB(filename)
    elif wersjaFormatu == "razen":
        plytkaPCB = Razen_PCB()
    elif wersjaFormatu == "kicad_v3":
        plytkaPCB = KiCadv3_PCB(filename)
    elif wersjaFormatu == "kicad_v4":
        plytkaPCB = KiCadv4_PCB(filename)
    elif wersjaFormatu == "idf_v2":
        plytkaPCB = IDFv2_PCB(filename)
    elif wersjaFormatu == "idf_v3":
        plytkaPCB = IDFv3_PCB(filename)
    elif wersjaFormatu == "idf_v4":
        plytkaPCB = IDFv4_PCB(filename)
    elif wersjaFormatu == "diptrace":
        plytkaPCB = DipTrace_PCB(filename)
    elif wersjaFormatu == "hyp_v2":
        plytkaPCB = HYP_PCB(filename)
    
    dial = plytkaPCB.dialogMAIN
    if dial.exec_():
        docname = os.path.splitext(os.path.basename(filename))[0]
        doc = FreeCAD.newDocument(docname)
        groupBRD = createGroup_PCB()
        ######
        start = time.time()
        
        plytkaPCB.setProject(filename)
        plytka = plytkaPCB.generate(doc, groupBRD, filename)
        
        FreeCAD.Console.PrintWarning('Total time: %i[s]\n' % (time.time() - start))
        ######
        FreeCADGui.ActiveDocument.ActiveView.viewAxometric()
        FreeCADGui.ActiveDocument.ActiveView.fitAll()
        
        view = pcbToolBarView()
        view.changeDisplayMode('Shaded')
        return plytka
Esempio n. 4
0
 def accept(self):
     if self.pcbBorder.text() == '' or self.pcbHoles.text() == '':
         FreeCAD.Console.PrintWarning("Mandatory field is empty!\n")
     elif self.pcbBorder.text() == self.pcbHoles.text():
         FreeCAD.Console.PrintWarning("One sketch used two times!\n")
     else:
         groupBRD = createGroup_PCB()
         
         PCBboard = FreeCAD.ActiveDocument.addObject("Part::FeaturePython", "Board")
         PCBboardObject(PCBboard)
         PCBboard.Thickness = self.gruboscPlytki.value()
         PCBboard.Border = FreeCAD.ActiveDocument.getObject(self.pcbBorder.text())
         PCBboard.Holes = FreeCAD.ActiveDocument.getObject(self.pcbHoles.text())
         viewProviderPCBboardObject(PCBboard.ViewObject)
         groupBRD.addObject(FreeCAD.ActiveDocument.Board)
         FreeCADGui.activeDocument().getObject(PCBboard.Name).ShapeColor = self.pcbColor.getColor()
         FreeCAD.ActiveDocument.getObject(self.pcbBorder.text()).ViewObject.Visibility = False
         FreeCAD.ActiveDocument.getObject(self.pcbHoles.text()).ViewObject.Visibility = False
         return True