Macro CartoucheFC Full
Description |
---|
Cette macro est une application complète, elle permet de remplir le cartouche de la feuille de dessin avec tous les champs éditables (Pour l'atelier Drawing). Version macro : 00.10 Date dernière modification : 2017-02-15 Version FreeCAD : Toutes les versions utilisant l'atelier Drawing Téléchargement : Icône de la barre d'outils Auteur: Mario52 |
Auteur |
Mario52 |
Téléchargement |
Icône de la barre d'outils |
Liens |
Page des macros Comment installer une macro Comment créer une barre d'outils |
Version Macro |
00.10 |
Dernière modification |
2017-02-15 |
Version(s) FreeCAD |
Toutes les versions utilisant l'atelier Drawing |
Raccourci clavier |
None |
Voir aussi |
None |
Description
Cette macro est une application complète, elle permet de remplir simplement tous les champs du cartouche.
Téléchargez les feuilles Misc_templates_Full
Voici l'ordre de remplissage de la ligne éditable de FreeCAD. Les champs date et heure sont séparés par un 'espace négatif espace " - " et constituent une seule ligne éditable.
Utilisation
PS : certains caractères comme & $ ne sont pas acceptés (et peut être d'autres caractères spéciaux).
Si vous avez des questions ou si vous voulez ajouter une fonction, vous pouvez vous adresser au forum français Remplir cartouche
- La fenêtre reste au dessus des autres fenêtres et permet ainsi de contrôler le cartouche sans quitter le programme.
- Copiez le code dans un fichier nommé Macro_CartoucheFC_Full.py et placez le dans votre répertoire de macros habituelle.
- Après avoir créé votre feuille de dessin à l'aide du module Drawing de FreeCAD, lancez la macro Macro_CartoucheFC_Full.
- A l'ouverture, le programme enregistrera en mémoire toutes les données déjà présente dans le cartouche de la feuille (s'ils sont remplis), toutes ces données seront automatiquement restituées à l'aide du bouton Memo et tenus en mémoire jusqu’à la fermeture du programme.
- Les boutons de date D. et heure H. affichent la date et heure du système.
- Le format de la date est tributaire du symbole sélectionné EU ou US qui détermine le format régional. Le changement ne se fait pas automatiquement (pour le cas ou vous avez entré une date manuellement) il faut cliquer à nouveau sur les boutons dates si vous changez le symbole (vérifiez avant d'imprimer).
- Premièrement sélectionnez votre page de travail.
- Choice : choisissez le format de page utilisé.
- Le bouton Symbole EU ou US change le sens du symbole de projection "Select your Symbol" est affiché par défaut, puis le symbole actif s'affiche. Cliquez sur le bouton et vérifiez sur la feuille le symbole, cliquez une seconde fois pour modifier le symbole.
- Le choix de ce symbole, influe le format de la date EU = dd/MM/yyyy et US = MM/dd/yyyy.
- Attention : Cette commande ne passe pas par le bouton Appliquer et modifie immédiatement le symbole à chaque appuis sur la touche, vérifiez toujours si vous avez sur votre feuille le symbole approprié.
- Le bouton Nettoyer efface tous les champs du cartouche. Vous pouvez revenir aux données d'origine à l'aide du bouton Memo.
- Le bouton Appliquer enregistre tous les champs du cartouche dans la feuille. Vous pouvez revenir aux données d'origine à l'aide du bouton Memo (sauf pour le symbole régional qui travaille en indépendant et est effectif immédiatement).
Code
L' icône pour votre barre d'outils
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()
Autre
Les champs n'ont pas de limite de longueur, vérifiez l'affichage dans votre cartouche.
Ce programme crée sur votre projet un dessin représentant le symbole régional de projection, n'y touchez pas, il est enregistré sous forme cachée donc invisible.
Si vous voulez qu'il soit effacée dé-commentez les lignes commentées et vice versa.
# App.getDocument(App.ActiveDocument.Name).removeObject("Symbol_EU")
FreeCADGui.getDocument(App.ActiveDocument.Name).getObject("Symbol_EU").Visibility = False
et
# App.getDocument(App.ActiveDocument.Name).removeObject("Symbol_US")
FreeCADGui.getDocument(App.ActiveDocument.Name).getObject("Symbol_US").Visibility = False
(j'avais quelque fois une erreur à l'exécution quand le symbole était effacé)
Vous pouvez aussi utiliser une feuille avec le symbole présent dans le cartouche et ne pas utiliser cette fonction.
Ce module travaille avec le module de mise en plan de FreeCAD la feuille s'appelle Page, ne pas modifier le nom de cette page !
Version
ver "00.10" : 15/02/2017 : réglage pour pages multiples (Il est possible de perdre une page s'il y en a trop ! )
ver "00.09" : 10/02/2017 : ajout de boutons radio pour le choix du type de symbole et correction de la position du symbole dans les pages (la précédente version effaçait le symbole d'une page pour le reconstruire dans la nouvelle page) et ajout sélection par souris et de tests sur le choix des pages
ver "00.08 : 06/02/2017 : La boîte de dialoguenom de la page accepteles accents et autres caractères
ver "00.07 : 05/02/2017 : ajout d'une fenêtre "Nom" pour pouvoir remplir le cartouche de différentes feuilles dans le même projet PS: les caracteres accentué ne sont pas acceptés "àùé ..."
ver 00.06 : 13/10/2016 : sélection du format de la page et position automatique du symbole de convention (pour FreeCAD ver 0.17)
ver 5 : 08/08/2014 PyQt4 and PySide