|
Descrizione |
---|
Questa macro è una applicazione completa che permette di compilare tutti i campi della tabella del foglio di disegno. |
Autore |
Mario52 |
Link |
Esempi di macro Come installare le Macro Personalizzare la barra degli strumenti |
Versione |
00.10 |
Data ultima modifica |
2017-02-15 |
Questa macro è una applicazione completa che permette di compilare tutti i campi della tabella del foglio di disegno nel modello
Scaricare i modelli dalla pagina Modelli vari completi
L'ordine di compilazione dei campi di testo è quello descritto nella figura seguente . I campi di data e ora sono separati da "spazio trattino spazio" " - " e costituiscono una unica riga di testo.
Nota: Alcuni caratteri come & o $ non sono accettati, e forse anche altri caratteri speciali.
Se avete domande o volete aggiungere una funzione, potete contattarmi sul forum francese Remplir cartouche
Macro_CartoucheFC_Full.FCMacro
# -*- coding: utf-8 -*- from __future__ import unicode_literals """ *************************************************************************** * Copyright (c) 2014 2016 2017 <mario52> * * * * This file is a supplement to the FreeCAD CAx development system. * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Lesser General Public License (LGPL) * * as published by the Free Software Foundation; either version 2 of * * the License, or (at your option) any later version. * * for detail see the LICENCE text file. * * * * This software is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * GNU Library General Public License for more details. * * * * You should have received a copy of the GNU Library General Public * * License along with this macro; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * * USA * *************************************************************************** * WARNING! All changes in this file will be lost and * * may cause malfunction of the program * *************************************************************************** """ #OS: Windows 10 #Word size of OS: 64-bit #Word size of FreeCAD: 64-bit #Version: 0.16.6706 (Git) #Build type: Release #Branch: releases/FreeCAD-0-16 #Hash: f86a4e411ff7848dea98d7242f43b7774bee8fa0 #Python version: 2.7.8 #Qt version: 4.8.7 #Coin version: 4.0.0a #OCC version: 6.8.0.oce-0.17 __title__ = "Macro_CartoucheFC_Full" __author__ = "Mario52" __url__ = "http://www.freecadweb.org/index-fr.html" __Wiki__ = "http://www.freecadweb.org/wiki/Macro_CartoucheFC_Full" __version__ = "00.10" __date__ = "15/02/2017" __Requires__ = ("all version and freecad " + " DESIGNED_BY, CREATION_DATE, CHECKED_BY, CHECK_DATE, SIZE, SCALE, WEIGHT, DRAWING_NUMBER, SHEET, " + " TITLE, DESCRIPTION, COMPANY, COPYRIGHT, Note_A, Note_B, Note_C, Note_D, Note_E, Note_F, Note_G, Note_H, Note_I" ) __Template__ = " A3_Landscape_xx_FULL.svg, A3_Portrait_xx_FULL, A4_Landscape_xx_FULL.svg, A4_Portrait_xx_FULL" __Template_Link__ = "http://www.freecadweb.org/wiki/index.php?title=Misc_templates_Full" import PySide from PySide import QtCore, QtGui import Draft, Part, FreeCAD, math, PartGui, FreeCADGui from math import sqrt, pi, sin, cos, asin from FreeCAD import Base def utf8(unio): return unicode(unio).encode('UTF8') global path #path = FreeCAD.ConfigGet("AppHomePath") path = FreeCAD.ConfigGet("UserAppData") global PageActive ; PageActive = "Select your page" # essais #global PageActive ; PageActive = "Page" # page active global DESIGNED_BY ; DESIGNED_BY = "" # lineEdit01 DESIGNED_BY global MDESIGNED_BY ; MDESIGNED_BY = "" # global CREATION_DATE ; CREATION_DATE = "" # lineEdit02 CREATION_DATE date global MCREATION_DATE ; MCREATION_DATE = "" # global CREA_DATE ; CREA_DATE = "" # lineEdit02h date global MCREA_DATE ; MCREA_DATE = "" # global CREA_TIME ; CREA_TIME = "" # lineEdit02h heure global MCREA_TIME ; MCREA_TIME = "" # global CHECKED_BY ; CHECKED_BY = "" # lineEdit03 global MCHECKED_BY ; MCHECKED_BY = "" # global CHECK_DATE ; CHECK_DATE = "" # lineEdit04 date global MCHECK_DATE ; MCHECK_DATE = "" # global CHEC_DATE ; CHEC_DATE = "" # lineEdit04 date global MCHEC_DATE ; MCHEC_DATE = "" # global CHEC_TIME ; CHEC_TIME = "" # lineEdit04h heure global MCHEC_TIME ; MCHEC_TIME = "" # global SIZE ; SIZE = "" # lineEdit05 global MSIZE ; MSIZE = "" # global SCALE ; SCALE = "" # lineEdit06 global MSCALE ; MSCALE = "" # global WEIGHT ; WEIGHT = "" # lineEdit07 global MWEIGHT ; MWEIGHT = "" # global DRAWING_NUMBER ; DRAWING_NUMBER = "" # lineEdit08 global MDRAWING_NUMBER ; MDRAWING_NUMBER = "" # global SHEET ; SHEET = "" # lineEdit09 global MSHEET ; MSHEET = "" # global TITLE ; TITLE = "" # textEdit_01 global MTITLE ; MTITLE = "" # global DESCRIPTION ; DESCRIPTION = "" # textEdit_02 global MDESCRIPTION ; MDESCRIPTION = "" # global COMPANY ; COMPANY = "" # textEdit_02b global MCOMPANY ; MCOMPANY = "" # global COPYRIGHT ; COPYRIGHT = "" # lineEdit_20 global MCOPYRIGHT ; MCOPYRIGHT = "" # global Note_A ; Note_A = "" # lineEdit_10 global MNote_A ; MNote_A = "" # global Note_B ; Note_B = "" # lineEdit_11 global MNote_B ; MNote_B = "" # global Note_C ; Note_C = "" # lineEdit_12 global MNote_C ; MNote_C = "" # global Note_D ; Note_D = "" # lineEdit_13 global MNote_D ; MNote_D = "" # global Note_E ; Note_E = "" # lineEdit_14 global MNote_E ; MNote_E = "" # global Note_F ; Note_F = "" # lineEdit_15 global MNote_F ; MNote_F = "" # global Note_G ; Note_G = "" # lineEdit_16 global MNote_G ; MNote_G = "" # global Note_H ; Note_H = "" # lineEdit_17 global MNote_H ; MNote_H = "" # global Note_I ; Note_I = "" # lineEdit_18 global MNote_I ; MNote_I = "" # global SymbolSwitch ; SymbolSwitch = 1 # 0=US 1=EU global ui ; ui = "" def heure(): return QtCore.QTime().currentTime().toString('hh:mm:ss') def dateEu(): return QtCore.QDate().currentDate().toString('dd/MM/yyyy') # forme euro def dateUK(): return QtCore.QDate().currentDate().toString('yyyy/MM/dd') # forme UK def dateUs(): return QtCore.QDate().currentDate().toString('MM/dd/yyyy') # forme US def dateComp(): return QtCore.QDate().currentDate().toString('dddd d MMMM yyyy') # Retourne "dimanche 20 Juillet 77" try: _fromUtf8 = QtCore.QString.fromUtf8 except AttributeError: def _fromUtf8(s): return s try: _encoding = QtGui.QApplication.UnicodeUTF8 def _translate(context, text, disambig): return QtGui.QApplication.translate(context, text, disambig, _encoding) except AttributeError: def _translate(context, text, disambig): return QtGui.QApplication.translate(context, text, disambig) def errorDialog(msg): diag = QtGui.QMessageBox(QtGui.QMessageBox.Critical,u"Error Message",msg) diag.setWindowFlags(PySide.QtCore.Qt.WindowStaysOnTopHint) # cette fonction met la fenetre en avant diag.exec_() def symbol_EU(depx, depy, scale): #symbol_EU =O global PageActive global ui try: page = App.activeDocument().getObjectsByLabel(PageActive.encode('utf-8'))[0] except Exception: page = App.activeDocument().getObjectsByLabel(PageActive)[0] if len(str(page)) != 2: comP = [] nameL = [] if "Page" in (page.Name): for ii in (page.Group): if ((ii.Label) == "Symbol_EU") or ((ii.Label) == "Symbol_US") : App.activeDocument().removeObject(ii.Name) points=[FreeCAD.Vector(-7.5,0.0,0.0),FreeCAD.Vector(20.0,0.0,0.0)] i = Draft.makeWire(points,closed=False,face=False,support=None) comP.append(i.Shape) nameL.append(i.Name) points=[FreeCAD.Vector(12.5,7.5,0.0),FreeCAD.Vector(12.5,-7.5,0.0)] i = Draft.makeWire(points,closed=False,face=False,support=None) comP.append(i.Shape) nameL.append(i.Name) points=[FreeCAD.Vector(-5,2.5,0.0),FreeCAD.Vector(5.0,5.0,0.0),FreeCAD.Vector(5.0,-5.0,0.0),FreeCAD.Vector(-5.0,-2.5,0.0)] i = Draft.makeWire(points,closed=True,face=False,support=None) comP.append(i.Shape) nameL.append(i.Name) pl=FreeCAD.Placement() pl.Rotation.Q=(0.0,-0.0,-0.0,1.0) pl.Base=FreeCAD.Vector(12.5,-0.0,0.0) i = Draft.makeCircle(radius=2.5,placement=pl,face=False,support=None) comP.append(i.Shape) nameL.append(i.Name) i = Draft.makeCircle(radius=5.0,placement=pl,face=False,support=None) comP.append(i.Shape) nameL.append(i.Name) comp = Part.makeCompound(comP) Part.show(comp) App.ActiveDocument.ActiveObject.Label = "Symbol_EU" obj = FreeCAD.ActiveDocument.ActiveObject obj.ViewObject.LineColor = (0.0,0.0,0.0) obj.ViewObject.Visibility = False obj2 = Draft.makeDrawingView(obj, page) obj2.X = depx obj2.Y = depy obj2.Scale = scale #0.8 # A3 obj2.Label = "Symbol_EU" for i in nameL: App.activeDocument().removeObject(i) App.activeDocument().getObjectsByLabel(PageActive.encode('utf-8'))[0].addObject(obj) App.activeDocument().getObjectsByLabel(PageActive.encode('utf-8'))[0].addObject(obj2) App.ActiveDocument.recompute() else: ui.pushButton05.setStyleSheet("background-color: red") # This function gives a color button FreeCAD.Console.PrintError("Error selected page [ " + PageActive + " ]" + "\n") def symbol_US(depx, depy, scale): #symbol_US O= global PageActive global ui try: page = App.activeDocument().getObjectsByLabel(PageActive.encode('utf-8'))[0] except Exception: page = App.activeDocument().getObjectsByLabel(PageActive)[0] if len(str(page)) != 2: comP = [] nameL = [] if "Page" in (page.Name): for ii in (page.Group): if ((ii.Label) == "Symbol_EU") or ((ii.Label) == "Symbol_US") : App.activeDocument().removeObject(ii.Name) points=[FreeCAD.Vector(-7.5,0.0,0.0),FreeCAD.Vector(20.0,0.0,0.0)] i = Draft.makeWire(points,closed=False,face=False,support=None) comP.append(i.Shape) nameL.append(i.Name) points=[FreeCAD.Vector(0.0,7.5,0.0),FreeCAD.Vector(0.0,-7.5,0.0)] i = Draft.makeWire(points,closed=False,face=False,support=None) comP.append(i.Shape) nameL.append(i.Name) points=[FreeCAD.Vector(7.5,2.5,0.0),FreeCAD.Vector(17.5,5.0,0.0),FreeCAD.Vector(17.5,-5.0,0.0),FreeCAD.Vector(7.5,-2.5,0.0)] i = Draft.makeWire(points,closed=True,face=False,support=None) comP.append(i.Shape) nameL.append(i.Name) pl=FreeCAD.Placement() pl.Rotation.Q=(0.0,-0.0,-0.0,1.0) pl.Base=FreeCAD.Vector(0.0,-0.0,0.0) i = Draft.makeCircle(radius=2.5,placement=pl,face=False,support=None) comP.append(i.Shape) nameL.append(i.Name) i = Draft.makeCircle(radius=5.0,placement=pl,face=False,support=None) comP.append(i.Shape) nameL.append(i.Name) comp = Part.makeCompound(comP) Part.show(comp) App.ActiveDocument.ActiveObject.Label = "Symbol_US" obj = FreeCAD.ActiveDocument.ActiveObject obj.ViewObject.LineColor = (0.0,0.0,0.0) obj.ViewObject.Visibility = False obj2 = Draft.makeDrawingView(obj, page) obj2.X = depx obj2.Y = depy obj2.Scale = scale #0.8 # A3 obj2.Label = "Symbol_US" for i in nameL: App.activeDocument().removeObject(i) App.activeDocument().getObjectsByLabel(PageActive.encode('utf-8'))[0].addObject(obj) App.activeDocument().getObjectsByLabel(PageActive.encode('utf-8'))[0].addObject(obj2) App.ActiveDocument.recompute() else: ui.pushButton05.setStyleSheet("background-color: red") # This function gives a color button FreeCAD.Console.PrintError("Error selected page [ " + PageActive + " ]" + "\n") def memoEntree(): global MDESIGNED_BY, MCREATION_DATE, MCREA_DATE , MCREA_TIME, MCHECKED_BY, MCHECK_DATE global MCHEC_DATE , MCHEC_TIME , MSIZE , MSCALE , MWEIGHT ,MDRAWING_NUMBER global MSHEET , MTITLE , MDESCRIPTION, MCOMPANY , MCOPYRIGHT global MNote_A, MNote_B, MNote_C, MNote_D, MNote_E, MNote_F, MNote_G, MNote_H, MNote_I global PageActive try: page = App.activeDocument().getObjectsByLabel(PageActive.encode('utf-8'))[0].Name except Exception: page = App.activeDocument().getObjectsByLabel(PageActive)[0] try: MDESIGNED_BY = App.activeDocument().getObject(page).EditableTexts[0] # lineEdit01 DESIGNED_BY MCREATION_DATE = App.activeDocument().getObject(page).EditableTexts[1] # lineEdit02 CREATION_DATE date MCREA_DATE = MCREA_TIME = MCHEC_DATE = MCHEC_TIME = "" try: MCREA_DATE = MCREATION_DATE.split(" - ")[0] # lineEdit02h date except: MCREA_DATE = MCREATION_DATE try: MCREA_TIME = MCREATION_DATE.split(" - ")[1] # lineEdit02h heure except: None MCHECKED_BY = App.activeDocument().getObject(page).EditableTexts[2] # lineEdit03 MCHECK_DATE = App.activeDocument().getObject(page).EditableTexts[3] # lineEdit04 date try: MCHEC_DATE = MCHECK_DATE.split(" - ")[0] # lineEdit04 date except: MCHEC_DATE = MCHECK_DATE try: MCHEC_TIME = MCHECK_DATE.split(" - ")[1] # lineEdit04h heure except: None MSIZE = App.activeDocument().getObject(page).EditableTexts[4] # lineEdit05 MSCALE = App.activeDocument().getObject(page).EditableTexts[5] # lineEdit06 MWEIGHT = App.activeDocument().getObject(page).EditableTexts[6] # lineEdit07 MDRAWING_NUMBER = App.activeDocument().getObject(page).EditableTexts[7] # lineEdit08 MSHEET = App.activeDocument().getObject(page).EditableTexts[8] # lineEdit09 MTITLE = App.activeDocument().getObject(page).EditableTexts[9] # textEdit_01 try: MDESCRIPTION = App.activeDocument().getObject(page).EditableTexts[10] # textEdit_02 MCOMPANY = App.activeDocument().getObject(page).EditableTexts[11] # textEdit_02b MCOPYRIGHT = App.activeDocument().getObject(page).EditableTexts[12] # lineEdit_20 MNote_A = App.activeDocument().getObject(page).EditableTexts[13] # lineEdit_10 MNote_B = App.activeDocument().getObject(page).EditableTexts[14] # lineEdit_11 MNote_C = App.activeDocument().getObject(page).EditableTexts[15] # lineEdit_12 MNote_D = App.activeDocument().getObject(page).EditableTexts[16] # lineEdit_13 MNote_E = App.activeDocument().getObject(page).EditableTexts[17] # lineEdit_14 MNote_F = App.activeDocument().getObject(page).EditableTexts[18] # lineEdit_15 MNote_G = App.activeDocument().getObject(page).EditableTexts[19] # lineEdit_16 MNote_H = App.activeDocument().getObject(page).EditableTexts[20] # lineEdit_17 MNote_I = App.activeDocument().getObject(page).EditableTexts[21] # lineEdit_18 except Exception: App.Console.PrintError("Erreur cartouche level DESCRIPTION (Missing field)"+"\n" "You may be using an inadequate template. Try with this template"+"\n") App.Console.PrintMessage("http://www.freecadweb.org/wiki/index.php?title=Misc_templates_Full"+"\n\n") App.Console.PrintError("Or for the original FreeCAD template use this macro"+"\n") App.Console.PrintMessage("http://www.freecadweb.org/wiki/index.php?title=Macro_CartoucheFC"+"\n") errorDialog("Erreur cartouche level DESCRIPTION (Missing field)"+"\n" "You may be using an inadequate template. Try with this template"+"\n" "http://www.freecadweb.org/wiki/index.php?title=Misc_templates_Full"+"\n\n" "Or for the original FreeCAD template use this macro"+"\n" "http://www.freecadweb.org/wiki/index.php?title=Macro_CartoucheFC"+"\n\n") except: errorDialog("Erreur cartouche") class Ui_MainWindow(object): def __init__(self, MainWindow): global path global PageActive self.window = MainWindow MainWindow.setObjectName(_fromUtf8("MainWindow")) MainWindow.resize(810, 400) MainWindow.setMaximumSize(QtCore.QSize(810, 400)) self.centralWidget = QtGui.QWidget(MainWindow) self.centralWidget.setObjectName(_fromUtf8("centralWidget")) # self.pushButton01 = QtGui.QPushButton(self.centralWidget) # self.pushButton01.setGeometry(QtCore.QRect(115, 360, 93, 28)) # self.pushButton01.setObjectName(_fromUtf8("pushButton01")) # self.pushButton01.clicked.connect(self.on_pushButton01_clicked) #connection pushButton01 self.pushButton02 = QtGui.QPushButton(self.centralWidget) self.pushButton02.setGeometry(QtCore.QRect(225, 360, 93, 28)) self.pushButton02.setObjectName(_fromUtf8("pushButton02")) self.pushButton02.clicked.connect(self.on_pushButton02_clicked) #connection pushButton02 self.pushButton03 = QtGui.QPushButton(self.centralWidget) self.pushButton03.setGeometry(QtCore.QRect(335, 360, 93, 28)) self.pushButton03.setToolTip("The memo button work only with the first Page") self.pushButton03.setObjectName(_fromUtf8("pushButton03")) self.pushButton03.clicked.connect(self.on_pushButton03_clicked) #connection pushButton03 self.pushButton04 = QtGui.QPushButton(self.centralWidget) self.pushButton04.setGeometry(QtCore.QRect(445, 360, 93, 28)) self.pushButton04.setObjectName(_fromUtf8("pushButton04")) self.pushButton04.clicked.connect(self.on_pushButton04_clicked) #connection pushButton04 self.pushButton05 = QtGui.QPushButton(self.centralWidget) self.pushButton05.setGeometry(QtCore.QRect(555, 360, 93, 28)) # self.pushButton05.setStyleSheet("background-color: red") # This function gives a color button self.pushButton05.setObjectName(_fromUtf8("pushButton05")) self.pushButton05.clicked.connect(self.on_pushButton05_clicked) #connection pushButton05 ##### self.groupBox = QtGui.QGroupBox(self.centralWidget) self.groupBox.setGeometry(QtCore.QRect(20, 159, 190, 101)) self.groupBox.setObjectName(_fromUtf8("groupBox")) self.label_20 = QtGui.QLabel(self.groupBox) self.label_20.setGeometry(QtCore.QRect(115, 5, 61, 17)) self.label_20.setObjectName(_fromUtf8("label_20")) ############### font and color Label font = QtGui.QFont() font.setBold(True) self.label_20.setFont(font) self.label_20.setStyleSheet("color : #ff0000") ############### font and color self.label_20.setVisible(False) self.radioButton_0 = QtGui.QRadioButton(self.groupBox) self.radioButton_0.setGeometry(QtCore.QRect(95, 1, 91, 17)) self.radioButton_0.setChecked(True) self.radioButton_0.setEnabled(False) self.radioButton_0.setVisible(False) self.radioButton_0.setObjectName(_fromUtf8("radioButton_0")) self.radioButton_1 = QtGui.QRadioButton(self.groupBox) self.radioButton_1.setGeometry(QtCore.QRect(95, 20, 91, 17)) self.radioButton_1.setObjectName(_fromUtf8("radioButton_1")) self.radioButton_1.clicked.connect(self.on_radioButton_A3_clicked)# connect radioButton_A3 self.radioButton_2 = QtGui.QRadioButton(self.groupBox) self.radioButton_2.setGeometry(QtCore.QRect(95, 39, 91, 17)) self.radioButton_2.setObjectName(_fromUtf8("radioButton_2")) self.radioButton_2.clicked.connect(self.on_radioButton_A3_clicked)# connect radioButton_A3 self.radioButton_3 = QtGui.QRadioButton(self.groupBox) self.radioButton_3.setGeometry(QtCore.QRect(95, 58, 91, 17)) self.radioButton_3.setObjectName(_fromUtf8("radioButton_3")) self.radioButton_3.clicked.connect(self.on_radioButton_A4_clicked)# connect radioButton_A4 self.radioButton_4 = QtGui.QRadioButton(self.groupBox) self.radioButton_4.setGeometry(QtCore.QRect(95, 76, 91, 17)) self.radioButton_4.setObjectName(_fromUtf8("radioButton_4")) self.radioButton_4.clicked.connect(self.on_radioButton_A4_clicked)# connect radioButton_A4 self.lineEdit_05 = QtGui.QLineEdit(self.groupBox) self.lineEdit_05.setGeometry(QtCore.QRect(10, 16, 75, 41)) font = QtGui.QFont() font.setPointSize(25) font.setBold(False) font.setWeight(50) self.lineEdit_05.setFont(font) self.lineEdit_05.setAlignment(QtCore.Qt.AlignCenter) self.lineEdit_05.setObjectName(_fromUtf8("lineEdit_05")) self.lineEdit_05.setText(SIZE) self.frame = QtGui.QFrame(self.groupBox) self.frame.setGeometry(QtCore.QRect(10, 58, 74, 41)) self.frame.setFrameShape(QtGui.QFrame.StyledPanel) self.frame.setFrameShadow(QtGui.QFrame.Raised) self.frame.setObjectName(_fromUtf8("frame")) self.radioButton_EU = QtGui.QRadioButton(self.frame) self.radioButton_EU.setGeometry(QtCore.QRect(0, 1, 41, 17)) self.radioButton_EU.setChecked(True) self.radioButton_EU.setObjectName(_fromUtf8("radioButton_EU")) self.radioButton_EU.clicked.connect(self.on_radioButton_EU_clicked) #connection radioButton_EU self.radioButton_US = QtGui.QRadioButton(self.frame) self.radioButton_US.setGeometry(QtCore.QRect(37, 1, 41, 17)) self.radioButton_US.setObjectName(_fromUtf8("radioButton_US")) self.radioButton_US.clicked.connect(self.on_radioButton_US_clicked) #connection radioButton_US self.pushButton10 = QtGui.QPushButton(self.frame) self.pushButton10.setGeometry(QtCore.QRect(0, 18, 75, 23)) self.pushButton10.setToolTip("Create the symbol EU or US"+"\n" "This button is Independent of the Write button"+"\n" "If you desire modify the symbol in the cartouche,"+"\n" "delete the inadequate symbol manualy.") self.pushButton10.setEnabled(False) self.pushButton10.setObjectName(_fromUtf8("pushButton10")) self.pushButton10.clicked.connect(self.on_pushButton10_clicked) #connection pushButton10 ##### self.pushButton06 = QtGui.QPushButton(self.centralWidget) self.pushButton06.setGeometry(QtCore.QRect(170, 57, 20, 20)) self.pushButton06.setObjectName(_fromUtf8("pushButton06")) self.pushButton06.clicked.connect(self.on_pushButton06_clicked) #connection pushButton06 self.pushButton07 = QtGui.QPushButton(self.centralWidget) self.pushButton07.setGeometry(QtCore.QRect(190, 57, 20, 20)) self.pushButton07.setObjectName(_fromUtf8("pushButton07")) self.pushButton07.clicked.connect(self.on_pushButton07_clicked) #connection pushButton07 self.pushButton08 = QtGui.QPushButton(self.centralWidget) self.pushButton08.setGeometry(QtCore.QRect(170, 137, 20, 20)) self.pushButton08.setObjectName(_fromUtf8("pushButton08")) self.pushButton08.clicked.connect(self.on_pushButton08_clicked) #connection pushButton08 self.pushButton09 = QtGui.QPushButton(self.centralWidget) self.pushButton09.setGeometry(QtCore.QRect(190, 137, 20, 20)) self.pushButton09.setObjectName(_fromUtf8("pushButton09")) self.pushButton09.clicked.connect(self.on_pushButton09_clicked) #connection pushButton09 self.lineEdit_01 = QtGui.QLineEdit(self.centralWidget) self.lineEdit_01.setGeometry(QtCore.QRect(20, 20, 190, 16)) font = QtGui.QFont() font.setPointSize(7) self.lineEdit_01.setFont(font) self.lineEdit_01.setObjectName(_fromUtf8("lineEdit_01")) self.lineEdit_01.setText(DESIGNED_BY) self.lineEdit_02 = QtGui.QLineEdit(self.centralWidget) self.lineEdit_02.setGeometry(QtCore.QRect(20, 60, 82, 16)) font = QtGui.QFont() font.setPointSize(7) self.lineEdit_02.setFont(font) self.lineEdit_02.setObjectName(_fromUtf8("lineEdit_02")) self.lineEdit_02.setText(CREA_DATE) self.lineEdit_02h = QtGui.QLineEdit(self.centralWidget) self.lineEdit_02h.setGeometry(QtCore.QRect(98, 60, 72, 16)) font = QtGui.QFont() font.setPointSize(7) self.lineEdit_02h.setFont(font) self.lineEdit_02h.setObjectName(_fromUtf8("lineEdit_02h")) self.lineEdit_02h.setText(CREA_TIME) self.lineEdit_03 = QtGui.QLineEdit(self.centralWidget) self.lineEdit_03.setGeometry(QtCore.QRect(20, 100, 190, 16)) font = QtGui.QFont() font.setPointSize(7) self.lineEdit_03.setFont(font) self.lineEdit_03.setObjectName(_fromUtf8("lineEdit_03")) self.lineEdit_03.setText(CHECKED_BY) self.lineEdit_04 = QtGui.QLineEdit(self.centralWidget) self.lineEdit_04.setGeometry(QtCore.QRect(20, 140, 82, 16)) font = QtGui.QFont() font.setPointSize(7) self.lineEdit_04.setFont(font) self.lineEdit_04.setObjectName(_fromUtf8("lineEdit_04")) self.lineEdit_04.setText(CHEC_DATE) self.lineEdit_04h = QtGui.QLineEdit(self.centralWidget) self.lineEdit_04h.setGeometry(QtCore.QRect(98, 140, 72, 16)) font = QtGui.QFont() font.setPointSize(7) self.lineEdit_04h.setFont(font) self.lineEdit_04h.setObjectName(_fromUtf8("lineEdit_04h")) self.lineEdit_04h.setText(CHEC_TIME) self.lineEdit_06 = QtGui.QLineEdit(self.centralWidget) self.lineEdit_06.setGeometry(QtCore.QRect(20, 280, 61, 41)) font = QtGui.QFont() font.setPointSize(10) self.lineEdit_06.setFont(font) self.lineEdit_06.setAlignment(QtCore.Qt.AlignCenter) self.lineEdit_06.setObjectName(_fromUtf8("lineEdit_06")) self.lineEdit_06.setText(SCALE) self.lineEdit_07 = QtGui.QLineEdit(self.centralWidget) self.lineEdit_07.setGeometry(QtCore.QRect(100, 280, 101, 41)) font = QtGui.QFont() font.setPointSize(10) self.lineEdit_07.setFont(font) self.lineEdit_07.setAlignment(QtCore.Qt.AlignCenter) self.lineEdit_07.setObjectName(_fromUtf8("lineEdit_07")) self.lineEdit_07.setText(WEIGHT) self.lineEdit_08 = QtGui.QLineEdit(self.centralWidget) self.lineEdit_08.setGeometry(QtCore.QRect(220, 280, 341, 41)) self.lineEdit_08.setObjectName(_fromUtf8("lineEdit_08")) self.lineEdit_08.setText(DRAWING_NUMBER) self.lineEdit_09 = QtGui.QLineEdit(self.centralWidget) self.lineEdit_09.setGeometry(QtCore.QRect(570, 280, 81, 41)) self.lineEdit_09.setObjectName(_fromUtf8("lineEdit_09")) self.lineEdit_09.setText(SHEET) self.lineEdit_20 = QtGui.QLineEdit(self.centralWidget) # Copyright self.lineEdit_20.setGeometry(QtCore.QRect(20, 330, 771, 22)) self.lineEdit_20.setObjectName(_fromUtf8("lineEdit_20")) self.lineEdit_20.setText(COPYRIGHT) self.lineEdit_10 = QtGui.QLineEdit(self.centralWidget) self.lineEdit_10.setGeometry(QtCore.QRect(690, 290, 101, 30)) self.lineEdit_10.setObjectName(_fromUtf8("lineEdit_10")) self.lineEdit_10.setText(Note_A) self.lineEdit_11 = QtGui.QLineEdit(self.centralWidget) self.lineEdit_11.setGeometry(QtCore.QRect(690, 260, 101, 30)) self.lineEdit_11.setObjectName(_fromUtf8("lineEdit_11")) self.lineEdit_11.setText(Note_B) self.lineEdit_12 = QtGui.QLineEdit(self.centralWidget) self.lineEdit_12.setGeometry(QtCore.QRect(690, 230, 101, 30)) self.lineEdit_12.setObjectName(_fromUtf8("lineEdit_12")) self.lineEdit_12.setText(Note_C) self.lineEdit_13 = QtGui.QLineEdit(self.centralWidget) self.lineEdit_13.setGeometry(QtCore.QRect(690, 200, 101, 30)) self.lineEdit_13.setObjectName(_fromUtf8("lineEdit_13")) self.lineEdit_13.setText(Note_D) self.lineEdit_14 = QtGui.QLineEdit(self.centralWidget) self.lineEdit_14.setGeometry(QtCore.QRect(690, 170, 101, 30)) self.lineEdit_14.setObjectName(_fromUtf8("lineEdit_14")) self.lineEdit_14.setText(Note_E) self.lineEdit_15 = QtGui.QLineEdit(self.centralWidget) self.lineEdit_15.setGeometry(QtCore.QRect(690, 140, 101, 30)) self.lineEdit_15.setObjectName(_fromUtf8("lineEdit_15")) self.lineEdit_15.setText(Note_F) self.lineEdit_16 = QtGui.QLineEdit(self.centralWidget) self.lineEdit_16.setGeometry(QtCore.QRect(690, 110, 101, 30)) self.lineEdit_16.setObjectName(_fromUtf8("lineEdit_16")) self.lineEdit_16.setText(Note_G) self.lineEdit_17 = QtGui.QLineEdit(self.centralWidget) self.lineEdit_17.setGeometry(QtCore.QRect(690, 80, 101, 30)) self.lineEdit_17.setObjectName(_fromUtf8("lineEdit_17")) self.lineEdit_17.setText(Note_H) self.lineEdit_18 = QtGui.QLineEdit(self.centralWidget) self.lineEdit_18.setGeometry(QtCore.QRect(690, 50, 101, 30)) self.lineEdit_18.setObjectName(_fromUtf8("lineEdit_18")) self.lineEdit_18.setText(Note_I) ## self.lineEdit_page = QtGui.QLineEdit(self.centralWidget) # nom de page self.lineEdit_page.setGeometry(QtCore.QRect(20, 365, 181, 20)) self.lineEdit_page.setToolTip("Name page to work"+"\n" "The name of the first page is always named 'Page'" "Select the new page in the Combo view") self.lineEdit_page.setObjectName(_fromUtf8("lineEdit_page")) self.lineEdit_page.setEnabled(False) self.lineEdit_page.setStyleSheet("color: red") self.lineEdit_page.setText(PageActive) self.lineEdit_page.textChanged.connect(self.on_lineEdit_page_Pressed) # self.label_01T = QtGui.QLabel(self.centralWidget) self.label_01T.setGeometry(QtCore.QRect(220, 0, 91, 16)) self.label_01T.setObjectName(_fromUtf8("label_01T")) self.textEdit_01 = QtGui.QTextEdit(self.centralWidget) # Title self.textEdit_01.setGeometry(QtCore.QRect(220, 20, 431,55 )) font = QtGui.QFont() font.setPointSize(15) font.setBold(True) font.setWeight(75) self.textEdit_01.setFont(font) self.textEdit_01.setObjectName(_fromUtf8("textEdit_01")) self.textEdit_01.setText(TITLE) self.label_02T = QtGui.QLabel(self.centralWidget) self.label_02T.setGeometry(QtCore.QRect(220, 80, 101, 16)) self.label_02T.setObjectName(_fromUtf8("label_02T")) self.textEdit_02 = QtGui.QTextEdit(self.centralWidget) # DESCRIPTION self.textEdit_02.setGeometry(QtCore.QRect(220, 100, 431, 55)) self.textEdit_02.setObjectName(_fromUtf8("textEdit_02")) self.textEdit_02.setText(DESCRIPTION) self.label_02bT = QtGui.QLabel(self.centralWidget) self.label_02bT.setGeometry(QtCore.QRect(220, 160, 90, 16)) self.label_02bT.setObjectName(_fromUtf8("label_02bT")) self.textEdit_02b = QtGui.QTextEdit(self.centralWidget) # COMPANY self.textEdit_02b.setGeometry(QtCore.QRect(220, 180, 340, 60)) self.textEdit_02b.setObjectName(_fromUtf8("textEdit_02b")) self.textEdit_02b.setText(COMPANY) self.label_01 = QtGui.QLabel(self.centralWidget) self.label_01.setGeometry(QtCore.QRect(20, 0, 91, 16)) self.label_01.setObjectName(_fromUtf8("label_01")) self.label_02 = QtGui.QLabel(self.centralWidget) self.label_02.setGeometry(QtCore.QRect(20, 40, 53, 16)) self.label_02.setObjectName(_fromUtf8("label_02")) self.label_03 = QtGui.QLabel(self.centralWidget) self.label_03.setGeometry(QtCore.QRect(20, 80, 101, 16)) self.label_03.setObjectName(_fromUtf8("label_03")) self.label_04 = QtGui.QLabel(self.centralWidget) self.label_04.setGeometry(QtCore.QRect(20, 120, 91, 16)) self.label_04.setObjectName(_fromUtf8("label_04")) self.label_06 = QtGui.QLabel(self.centralWidget) self.label_06.setGeometry(QtCore.QRect(20, 260, 53, 16)) self.label_06.setObjectName(_fromUtf8("label_06")) self.label_07 = QtGui.QLabel(self.centralWidget) self.label_07.setGeometry(QtCore.QRect(100, 260, 101, 16)) self.label_07.setObjectName(_fromUtf8("label_07")) self.label_08 = QtGui.QLabel(self.centralWidget) self.label_08.setGeometry(QtCore.QRect(220, 260, 121, 16)) self.label_08.setObjectName(_fromUtf8("label_08")) self.label_09 = QtGui.QLabel(self.centralWidget) self.label_09.setGeometry(QtCore.QRect(570, 260, 53, 16)) self.label_09.setObjectName(_fromUtf8("label_09")) self.label_10 = QtGui.QLabel(self.centralWidget) self.label_10.setGeometry(QtCore.QRect(670, 290, 16, 33)) font = QtGui.QFont() font.setPointSize(12) font.setBold(True) font.setWeight(75) self.label_10.setFont(font) self.label_10.setObjectName(_fromUtf8("label_10")) self.label_11 = QtGui.QLabel(self.centralWidget) self.label_11.setGeometry(QtCore.QRect(670, 260, 16, 33)) font = QtGui.QFont() font.setPointSize(12) font.setBold(True) font.setWeight(75) self.label_11.setFont(font) self.label_11.setObjectName(_fromUtf8("label_11")) self.label_12 = QtGui.QLabel(self.centralWidget) self.label_12.setGeometry(QtCore.QRect(670, 230, 16, 33)) font = QtGui.QFont() font.setPointSize(12) font.setBold(True) font.setWeight(75) self.label_12.setFont(font) self.label_12.setObjectName(_fromUtf8("label_12")) self.label_13 = QtGui.QLabel(self.centralWidget) self.label_13.setGeometry(QtCore.QRect(670, 200, 18, 33)) font = QtGui.QFont() font.setPointSize(12) font.setBold(True) font.setWeight(75) self.label_13.setFont(font) self.label_13.setObjectName(_fromUtf8("label_13")) self.label_14 = QtGui.QLabel(self.centralWidget) self.label_14.setGeometry(QtCore.QRect(670, 170, 15, 33)) font = QtGui.QFont() font.setPointSize(12) font.setBold(True) font.setWeight(75) self.label_14.setFont(font) self.label_14.setObjectName(_fromUtf8("label_14")) self.label_15 = QtGui.QLabel(self.centralWidget) self.label_15.setGeometry(QtCore.QRect(670, 140, 14, 33)) font = QtGui.QFont() font.setPointSize(12) font.setBold(True) font.setWeight(75) self.label_15.setFont(font) self.label_15.setObjectName(_fromUtf8("label_15")) self.label_16 = QtGui.QLabel(self.centralWidget) self.label_16.setGeometry(QtCore.QRect(670, 110, 18, 33)) font = QtGui.QFont() font.setPointSize(12) font.setBold(True) font.setWeight(75) self.label_16.setFont(font) self.label_16.setObjectName(_fromUtf8("label_16")) self.label_17 = QtGui.QLabel(self.centralWidget) self.label_17.setGeometry(QtCore.QRect(670, 80, 18, 33)) font = QtGui.QFont() font.setPointSize(12) font.setBold(True) font.setWeight(75) self.label_17.setFont(font) self.label_17.setObjectName(_fromUtf8("label_17")) self.label_18 = QtGui.QLabel(self.centralWidget) self.label_18.setGeometry(QtCore.QRect(670, 50, 10, 33)) font = QtGui.QFont() font.setPointSize(12) font.setBold(True) font.setWeight(75) self.label_18.setFont(font) self.label_18.setObjectName(_fromUtf8("label_18")) self.label_19 = QtGui.QLabel(self.centralWidget) self.label_19.setGeometry(QtCore.QRect(720, 15, 100, 33)) self.label_19.setObjectName(_fromUtf8("label_19")) self.label_page = QtGui.QLabel(self.centralWidget) self.label_page.setGeometry(QtCore.QRect(20, 350, 181, 16)) self.label_page.setObjectName(_fromUtf8("label_page")) self.label_Version = QtGui.QLabel(self.centralWidget) # Version self.label_Version.setGeometry(QtCore.QRect(685, 383, 121, 20)) self.label_Version.setObjectName(_fromUtf8("label_Version")) MainWindow.setCentralWidget(self.centralWidget) self.retranslateUi(MainWindow) QtCore.QMetaObject.connectSlotsByName(MainWindow) def retranslateUi(self, MainWindow): MainWindow.setWindowFlags(PySide.QtCore.Qt.WindowStaysOnTopHint) # cette fonction met la fenetre en avant MainWindow.setWindowTitle("Cartouche (Full)") # self.pushButton01.setText("Position") self.pushButton02.setText("Quit") #Quitter self.pushButton03.setText("Memo") self.pushButton04.setText("Clean")#Nettoyer self.pushButton05.setText("Write")#Appliquer self.pushButton06.setText("D.") self.pushButton07.setText("H.") self.pushButton08.setText("D.") self.pushButton09.setText("H.") self.pushButton10.setText("Create Symb.") self.label_01.setText("Designed by :") self.label_02.setText("Date :") self.label_03.setText("Checked by :") self.label_04.setText("Date :") self.label_06.setText("Scale :") self.label_07.setText("Weight (Kg) :") self.label_08.setText("Drawing number :") self.label_01T.setText("Title :") self.label_02T.setText("Description :") self.label_02bT.setText("Company :") self.label_09.setText("Sheet :") self.label_10.setText("A") self.label_11.setText("B") self.label_12.setText("C") self.label_13.setText("D") self.label_14.setText("E") self.label_15.setText("F") self.label_16.setText("G") self.label_17.setText("H") self.label_18.setText("I") self.label_19.setText("Notes") self.label_20.setText("Warning") self.label_page.setText("Name page to work") self.label_Version.setText("Ver: 00.10 15/02/2017") # Version self.groupBox.setTitle("Size :") self.radioButton_1.setText("A3 Landscape") self.radioButton_2.setText("A3 Portrait") self.radioButton_3.setText("A4 Landscape") self.radioButton_4.setText("A4 Portrait") self.radioButton_EU.setText("EU") self.radioButton_US.setText("US") self.lineEdit_05.setText("?") #______________________________________________________________________________________ # Radio Boutons def on_radioButton_A3_clicked(self): # connect radioButton_A3 self.label_20.setVisible(False) self.pushButton10.setEnabled(True) self.lineEdit_05.setText("A3") self.pushButton10.setStyleSheet("color: QPalette.Base") # origin system def on_radioButton_A4_clicked(self): # connect radioButton_A4 self.label_20.setVisible(False) self.pushButton10.setEnabled(True) self.lineEdit_05.setText("A4") self.pushButton10.setStyleSheet("color: QPalette.Base") # origin system # Radio Boutons def on_radioButton_EU_clicked(self): # Bouton /Symbole EU global SymbolSwitch SymbolSwitch = 1 def on_radioButton_US_clicked(self): # Bouton /Symbole US global SymbolSwitch SymbolSwitch = 0 def on_pushButton10_clicked(self): # Bouton /Symbole EU US disposition dans le cartouche global SymbolSwitch global PageActive self.label_20.setVisible(False) if self.radioButton_0.isChecked(): self.label_20.setVisible(True) self.pushButton10.setEnabled(False) self.pushButton10.setStyleSheet("color: red") self.lineEdit_page.setStyleSheet("color: red") FreeCAD.Console.PrintError("Select one format A3 or A4 for the Symbole" + "\n") else: self.pushButton10.setEnabled(True) self.pushButton10.setStyleSheet("background-color: #FF5B2B") self.pushButton10.setText("Wait.") FreeCADGui.updateGui() # rafraichi l'ecran if SymbolSwitch == 1: if self.radioButton_1.isChecked(): symbol_EU(247.5, 263.5, 0.8) # A3 Landscape elif self.radioButton_2.isChecked(): symbol_EU(124.55, 386.3, 0.8) # A3 Portrait elif self.radioButton_3.isChecked(): symbol_EU(158.7, 181.35, 0.6) # A4 Landscape elif self.radioButton_4.isChecked(): symbol_EU(71.9, 269.0, 0.6) # A4 Portrait else: if self.radioButton_1.isChecked(): symbol_US(247.5, 263.5, 0.8) # A3 Landscape elif self.radioButton_2.isChecked(): symbol_US(124.55, 386.3, 0.8) # A3 Portrait elif self.radioButton_3.isChecked(): symbol_US(158.7, 181.35, 0.6) # A4 Landscape elif self.radioButton_4.isChecked(): symbol_US(71.9, 269.0, 0.6) # A4 Portrait self.pushButton10.setStyleSheet("color: QPalette.Base") # origin system self.pushButton10.setText("Create Symb.") FreeCADGui.updateGui() # rafraichi l'ecran def on_lineEdit_page_Pressed(self): # Name page global PageActive PageActive = self.lineEdit_page.text() def on_pushButton09_clicked(self): # Bouton /heure document self.lineEdit_04h.setText(str(heure())) def on_pushButton08_clicked(self): # Bouton date/ document global SymbolSwitch if SymbolSwitch==0: self.lineEdit_04.setText(str(dateUs())) else: self.lineEdit_04.setText(str(dateEu())) def on_pushButton07_clicked(self): # Bouton /heure checked self.lineEdit_02h.setText(str(heure())) def on_pushButton06_clicked(self): # Bouton date/ checked global SymbolSwitch if SymbolSwitch==0: self.lineEdit_02.setText(str(dateUs())) else: self.lineEdit_02.setText(str(dateEu())) def on_pushButton05_clicked(self): # Bouton Appliquer try: global DESIGNED_BY, CREATION_DATE, CREA_DATE , CREA_TIME, CHECKED_BY, CHECK_DATE global CHEC_DATE , CHEC_TIME , SIZE , SCALE , WEIGHT ,DRAWING_NUMBER global SHEET , TITLE , DESCRIPTION, COMPANY , COPYRIGHT global Note_A, Note_B, Note_C, Note_D, Note_E, Note_F, Note_G, Note_H, Note_I global ui global SymbolSwitch global PageActive try: page = App.activeDocument().getObjectsByLabel(PageActive.encode('utf-8'))[0] except Exception: page = App.activeDocument().getObjectsByLabel(PageActive)[0] if len(str(page)) != 2: self.pushButton05.setStyleSheet("background-color: #FF5B2B") self.pushButton05.setText("Wait.") FreeCADGui.updateGui() # rafraichi l'ecran DESIGNED_BY = (self.lineEdit_01.text()) CREATION_DATE = (self.lineEdit_02.text())+" - "+(self.lineEdit_02h.text()) CHECKED_BY = (self.lineEdit_03.text()) CHECK_DATE = (self.lineEdit_04.text())+" - "+(self.lineEdit_04h.text()) SIZE = (self.lineEdit_05.text()) SCALE = (self.lineEdit_06.text()) WEIGHT = (self.lineEdit_07.text()) DRAWING_NUMBER = (self.lineEdit_08.text()) SHEET = (self.lineEdit_09.text()) TITLE = (self.textEdit_01.toPlainText()) DESCRIPTION = (self.textEdit_02.toPlainText()) COMPANY = (self.textEdit_02b.toPlainText()) COPYRIGHT = (self.lineEdit_20.text()) Note_A = (self.lineEdit_10.text()) Note_B = (self.lineEdit_11.text()) Note_C = (self.lineEdit_12.text()) Note_D = (self.lineEdit_13.text()) Note_E = (self.lineEdit_14.text()) Note_F = (self.lineEdit_15.text()) Note_G = (self.lineEdit_16.text()) Note_H = (self.lineEdit_17.text()) Note_I = (self.lineEdit_18.text()) try: FreeCAD.getDocument(App.ActiveDocument.Name).getObject(page.Name).EditableTexts = [DESIGNED_BY, CREATION_DATE, CHECKED_BY, CHECK_DATE, SIZE, SCALE, WEIGHT, DRAWING_NUMBER, SHEET, TITLE, DESCRIPTION, COMPANY, COPYRIGHT, Note_A, Note_B, Note_C, Note_D, Note_E, Note_F, Note_G, Note_H, Note_I, ] #old FreeCAD.getDocument(App.ActiveDocument.Name).getObjectsByLabel(PageActive.encode('utf-8'))[0].EditableTexts = [DESIGNED_BY, CREATION_DATE, CHECKED_BY, CHECK_DATE, SIZE, SCALE, WEIGHT, DRAWING_NUMBER, SHEET, TITLE, DESCRIPTION, COMPANY, COPYRIGHT, Note_A, Note_B, Note_C, Note_D, Note_E, Note_F, Note_G, Note_H, Note_I, ] App.ActiveDocument.recompute() FreeCAD.Console.PrintMessage("Write done to ( " + page.Label + " )" + "\n") self.pushButton05.setStyleSheet("color: QPalette.Base") except Exception: FreeCAD.Console.PrintError("Error write cartouche or verify the selected page ( " + page.Label + " )" + "\n") self.pushButton05.setStyleSheet("background-color: red") else: FreeCAD.Console.PrintError("Error selected page ( " + Page.Label + " )" + "\n") self.pushButton05.setStyleSheet("background-color: red") except Exception: self.pushButton05.setStyleSheet("background-color: red") FreeCAD.Console.PrintError("Error or not page " + "\n") self.pushButton05.setText("Write") App.ActiveDocument.recompute() def on_pushButton04_clicked(self): # Bouton nettoyer self.lineEdit_01.setText("") self.lineEdit_02.setText("") self.lineEdit_02h.setText("") self.lineEdit_03.setText("") self.lineEdit_04.setText("") self.lineEdit_04h.setText("") self.lineEdit_05.setText("?") self.lineEdit_06.setText("") self.lineEdit_07.setText("") self.lineEdit_08.setText("") self.lineEdit_09.setText("") self.textEdit_01.setText("") self.textEdit_02.setText("") self.textEdit_02b.setText("") self.lineEdit_20.setText("") self.lineEdit_10.setText("") self.lineEdit_11.setText("") self.lineEdit_12.setText("") self.lineEdit_13.setText("") self.lineEdit_14.setText("") self.lineEdit_15.setText("") self.lineEdit_16.setText("") self.lineEdit_17.setText("") self.lineEdit_18.setText("") self.pushButton10.setStyleSheet("color: QPalette.Base") # origin system self.label_20.setVisible(False) self.radioButton_0.setChecked(True) self.pushButton05.setEnabled(True) self.pushButton05.setStyleSheet("background-color: QPalette.Base") # origin system self.groupBox.setEnabled(True) def on_pushButton03_clicked(self): # Bouton Memo global MDESIGNED_BY, MCREATION_DATE, MCREA_DATE , MCREA_TIME, MCHECKED_BY, MCHECK_DATE global MCHEC_DATE , MCHEC_TIME , MSIZE , MSCALE , MWEIGHT ,MDRAWING_NUMBER global MSHEET , MTITLE , MDESCRIPTION, MCOMPANY , MCOPYRIGHT global MNote_A, MNote_B, MNote_C, MNote_D, MNote_E, MNote_F, MNote_G, MNote_H, MNote_I self.lineEdit_01.setText(MDESIGNED_BY) self.lineEdit_02.setText(MCREA_DATE) self.lineEdit_02h.setText(MCREA_TIME) self.lineEdit_03.setText(MCHECKED_BY) self.lineEdit_04.setText(MCHEC_DATE) self.lineEdit_04h.setText(MCHEC_TIME) self.lineEdit_05.setText("?") #(SIZE) self.lineEdit_06.setText(MSCALE) self.lineEdit_07.setText(MWEIGHT) self.lineEdit_08.setText(MDRAWING_NUMBER) self.lineEdit_09.setText(MSHEET) self.textEdit_01.setText(MTITLE) self.textEdit_02.setText(MDESCRIPTION) self.textEdit_02b.setText(MCOMPANY) self.lineEdit_20.setText(MCOPYRIGHT) self.lineEdit_10.setText(MNote_A) self.lineEdit_11.setText(MNote_B) self.lineEdit_12.setText(MNote_C) self.lineEdit_13.setText(MNote_D) self.lineEdit_14.setText(MNote_E) self.lineEdit_15.setText(MNote_F) self.lineEdit_16.setText(MNote_G) self.lineEdit_17.setText(MNote_H) self.lineEdit_18.setText(MNote_I) # self.lineEdit_page.setText(PageActive) self.radioButton_0.setChecked(True) def on_pushButton02_clicked(self): # Bouton Quitter App.Console.PrintMessage("End CartoucheFC_Full\r\n") self.window.hide() FreeCADGui.Selection.removeObserver(s) # Uninstalls the resident function App.Console.PrintMessage("removeObserver"+"\n") # def on_pushButton01_clicked(self): # Bouton appel de Position # MainWindow.resize(210, 480) # executer() # MainWindow.resize(810, 480) #______________________________________________________________________________________ class SelObserver: print "run.." def setSelection(self,document): # Selection in ComboView global PageActive global ui if len(Gui.Selection.getSelection(document)) == 1: ff = ui ff.lineEdit_page.setStyleSheet("color: QPalette.Base") # origin system ff.pushButton05.setEnabled(True) ff.pushButton05.setStyleSheet("background-color: QPalette.Base") # origin system ff.groupBox.setEnabled(True) if (str(Gui.Selection.getSelection(document)[0].Name[0:4]) == "Page"): PageActive = str(Gui.Selection.getSelection(document)[0].Label.encode('utf-8')) try: ff.lineEdit_page.setText(unicode(PageActive,'utf-8')) # convert if accent except Exception: ff.lineEdit_page.setText(PageActive) # normal memoEntree() # entree memo click mouse ff.on_pushButton03_clicked() # Bouton Memo else: FreeCAD.Console.PrintError("Select a valid Page__________________________" + "\n") ff.lineEdit_page.setStyleSheet("color: red") ff.lineEdit_page.setText("Select a valid Page") # ff.pushButton05.setEnabled(False) ff.pushButton05.setStyleSheet("background-color: red") # This function gives a color button ff.groupBox.setEnabled(False) FreeCAD.Console.PrintMessage(" " + "Name Label" + "\n") for i in App.ActiveDocument.Objects: if i.Name[0:4] == "Page": name = i.Name + " " labe = i.Label+ " " FreeCAD.Console.PrintMessage(" Valid Page : " + name[:15] + "," + labe[:25] + "\n") FreeCAD.Console.PrintError("_____________________________________________" + "\n") for obj in FreeCAD.ActiveDocument.Objects: # deslectionne FreeCADGui.Selection.removeSelection(obj) s=SelObserver() FreeCADGui.Selection.addObserver(s) # install the function mode resident MainWindow = QtGui.QMainWindow() ui = Ui_MainWindow(MainWindow) MainWindow.show()
I campi non hanno alcun limite di lunghezza, controllare il risultato nella tabella.
Questo programma crea nel progetto un disegno che rappresenta il simbolo di proiezione regionale, non modificatelo, è registrato in forma nascosta quindi è invisibile.
Per visualizzare il simbolo di proiezione rimuovere il commento dalle righe commentate e viceversa
# App.getDocument(App.ActiveDocument.Name).removeObject("Symbol_EU") FreeCADGui.getDocument(App.ActiveDocument.Name).getObject("Symbol_EU").Visibility = False
oppure
# App.getDocument(App.ActiveDocument.Name).removeObject("Symbol_US") FreeCADGui.getDocument(App.ActiveDocument.Name).getObject("Symbol_US").Visibility = False
Si sono prodotti alcuni errori in esecuzione quando il simbolo è stato cancellato.
Questo modulo funziona con il foglio di disegno incluso in FreeCAD che si chiama Page. Non cambiate il nome del foglio!
ver "00.10" : 15/02/2017 : regolazione per le pagine multiple (E possibile di perdere una pagina se sono tropo)
ver "00,09" : 10/02/2017 : Aggiunto pulsanti di opzione per la scelta del tipo di simbolo e correggere la posizione del simbolo nelle pagine (la versione precedente cancellave il simbolo di una pagina per ricostruire dentro la nuova pagina) e Aggiunto dalla selezione mouse e test sulla selezione di pagine
ver "00.08 : 06/02/2017 : il campo di testo accetta i nomi con accenti e altri caratteri
ver "00.07 : 05/02/2017 : aggiunto un campo di testo "nome della pagina" (per multi pagine nello stesso progetto) nota: non accetta i caratteri speciali "àùé ...ecc"
ver 00.06 : 13/10/2016 : selezionare il formato della pagine questa selezione imposta la posizione del simbolo convenzionale (per FreeCAD ver 0.17)
ver 5 : 08/08/2014 PyQt4 e PySide