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
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
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