Macro CartoucheFC Full/en: Difference between revisions

From FreeCAD Documentation
(Importing a new version from external source)
(Updating to match new version of source page)
Line 68: Line 68:
# It is necessary that the page (drawing viewer) is called "Page", which is the default name of the Drawing module
# It is necessary that the page (drawing viewer) is called "Page", which is the default name of the Drawing module
# Python 2.6 Windows Vista Sp2
# Python 2.6 Windows Vista Sp2
# ver 5 : 08/08/2014 # PyQt4 and PySide
# Created: 19/03/2014 ver 4 # ajout de "def utf8(unio):" pour accepter les accentués
# Created: by mario52
# Created: by mario52


try:
import Draft, Part, FreeCAD, math, PartGui, FreeCADGui, PyQt4
import PyQt4
from PyQt4 import QtCore, QtGui
except Exception:
import PySide
from PySide import QtCore, QtGui

import Draft, Part, FreeCAD, math, PartGui, FreeCADGui
from math import sqrt, pi, sin, cos, asin
from math import sqrt, pi, sin, cos, asin
from FreeCAD import Base
from FreeCAD import Base
from PyQt4 import QtCore, QtGui


def utf8(unio):
def utf8(unio):
Line 137: Line 143:
# The first argument indicates the icon used: one of QtGui.QMessageBox.{NoIcon, Information, Warning, Critical, Question}
# The first argument indicates the icon used: one of QtGui.QMessageBox.{NoIcon, Information, Warning, Critical, Question}
diag = QtGui.QMessageBox(QtGui.QMessageBox.Critical,u"Error Message",msg)
diag = QtGui.QMessageBox(QtGui.QMessageBox.Critical,u"Error Message",msg)
try:
diag.setWindowFlags(PyQt4.QtCore.Qt.WindowStaysOnTopHint) # cette fonction met la fenêtre en avant
diag.setWindowFlags(PyQt4.QtCore.Qt.WindowStaysOnTopHint) # cette fonction met la fenêtre en avant
except Exception:
diag.setWindowFlags(PySide.QtCore.Qt.WindowStaysOnTopHint) # cette fonction met la fenêtre en avant
#diag.setWindowModality(QtCore.Qt.ApplicationModal) # la fonction a été désactivée pour favoriser "WindowStaysOnTopHint"
#diag.setWindowModality(QtCore.Qt.ApplicationModal) # la fonction a été désactivée pour favoriser "WindowStaysOnTopHint"
diag.exec_()
diag.exec_()
Line 643: Line 652:


def retranslateUi(self, MainWindow):
def retranslateUi(self, MainWindow):
try:
MainWindow.setWindowFlags(PyQt4.QtCore.Qt.WindowStaysOnTopHint) # cette fonction met la fenêtre en avant
MainWindow.setWindowFlags(PyQt4.QtCore.Qt.WindowStaysOnTopHint) # cette fonction met la fenêtre en avant
except Exception:
MainWindow.setWindowFlags(PySide.QtCore.Qt.WindowStaysOnTopHint) # cette fonction met la fenêtre en avant
MainWindow.setWindowTitle(_translate("MainWindow", "Cartouche", None))
MainWindow.setWindowTitle(_translate("MainWindow", "Cartouche", None))
# self.pushButton01.setText(_translate("MainWindow", "Position", None))
# self.pushButton01.setText(_translate("MainWindow", "Position", None))
Line 732: Line 744:
App.ActiveDocument.recompute()
App.ActiveDocument.recompute()
except:
except:
FreeCAD.getDocument (App.ActiveDocument.Name).getObject("Page").EditableTexts = [DESIGNED_BY.encode('utf-8'), CREATION_DATE.encode('utf-8'), CHECKED_BY.encode('utf-8'), CHECK_DATE.encode('utf-8'), SIZE.encode('utf-8'), SCALE.encode('utf-8'), WEIGHT.encode('utf-8'), DRAWING_NUMBER.encode('utf-8'), SHEET.encode('utf-8'), TITLE.encode('utf-8'), DESCRIPTION.encode('utf-8'), COMPANY.encode('utf-8'), COPYRIGHT.encode('utf-8'), Note_A.encode('utf-8'), Note_B.encode('utf-8'), Note_C.encode('utf-8'), Note_D.encode('utf-8'), Note_E.encode('utf-8'), Note_F.encode('utf-8'), Note_G.encode('utf-8'), Note_H.encode('utf-8'), Note_I.encode('utf-8'), ]
errorDialog(u"Erreur en écriture")
App.ActiveDocument.recompute()
#print App.ActiveDocument.Name
#print App.ActiveDocument.Name


Line 839: Line 853:


This module works with the drawing sheet included in FreeCAD this sheet is called '''Page''', do not change the name of this sheet!
This module works with the drawing sheet included in FreeCAD this sheet is called '''Page''', do not change the name of this sheet!

===Revision===

ver 5 : 08/08/2014 PyQt4 and PySide

{{clear}}
{{clear}}
<languages/>
<languages/>

Revision as of 19:50, 8 August 2014

File:Text-x-python Macro_CartoucheFC_Full

Description
This macro is a complete application, it allows to fill the cartridge of the drawing sheet with full editabletext.

Author: Mario52
Author
Mario52
Download
None
Links
Macro Version
1.0
Date last modified
None
FreeCAD Version(s)
None
Default shortcut
None
See also
None

This macro is a complete application, it allows to fill simply all the fields of the cartridge A3_Landscape_US_Text_Complet_Without_Convention

Here the order of filling in the line FreeCAD texteditable. The date and time fields are separated by a "space negative space" " - " and constitute a single line textedit.

CartoucheFC_Full

Use

PS: Some characters such as & $ are not accepted (and possibly other special characters).

If you have any questions or want to add a function, you can address you on the french forum Remplir cartouche

  • The window remains above other Windows, thereby controlling the cartridge without leaving the program.
  • Copy the code into a file named Macro_CartoucheFC_Full.FCMacro and place it in your usual macros directory.
  • After you have created your drawing sheet using the Drawing of FreeCAD module, run the macro Macro_CartoucheFC_Full.
  • At the opening, the program will register in memory all data already present in the cartridge of the sheet (if they are filled), all these data will be automatically returned to using the button Memo and kept in memory until the closure of the programme.
  • Date button D. and time H. displayed the date and time of the system.
  • The date format depends on the selected symbol EU or US which determines the regional format. Change does not happen automatically (for the case or you have entered a date manually) you must again click buttons dates if you change the symbol (check before printing).
  • Button Symbole EU or US change the meaning of the symbol of projection "Select your Symbol" is displayed by default, and then the active symbol appears. Click on the button and check the leaf symbol, click a second time to modify the symbol.
  • The choice of this symbol, affects the date format EU = dd/MM/yyyy and US = MM/dd/yyyy.
  • Attention: this command does not pass through the button Apply and immediately changes the symbol to each presses on the key, always check if you have the appropriate symbol on your worksheet.
  • Button Clean Clears all fields in the cartridge. You can revert to the original data using the button Memo.
  • Button Apply saves all fields of the cartridge in the sheet. You can revert to the original data using the button Memo (except for the regional symbol that works in independent and is effective immediately).

Code

Macro_CartoucheFC_Full.FCMacro

# -*- coding: utf-8 -*-
"""
***************************************************************************
*   Copyright (c) 2014 <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                   *
***************************************************************************
"""
# Macro_CartoucheFC_Full.FcMacro
# Remplir les zones du cartouche + dates + symbole de convention EU ou US
# il faut que la page (drawing viewer) s'appelle " Page " qui est le nom par défaut du module Drawing
# cette macro fonctionne avec la feuille A3_Landscape_ qui possede tous les champs EditableTexts et
# le symbole de convention absent "A3_Landscape_US_Text_Complet_Without_Convention.svg"
# http://www.freecadweb.org/wiki/index.php?title=Misc_templates#A3_Landscape_US_Text_Complet_Without_Convention
# 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
# Fill the area of the cartridge
# It is necessary that the page (drawing viewer) is called "Page", which is the default name of the Drawing module
# Python 2.6 Windows Vista Sp2
# ver 5 : 08/08/2014 # PyQt4 and PySide
# Created:  by mario52

try:
    import PyQt4
    from PyQt4 import QtCore, QtGui
except Exception:
    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
global DESIGNED_BY    ;DESIGNED_BY = ""     # lineEdit01 DESIGNED_BY
global CREATION_DATE  ;CREATION_DATE = ""   # lineEdit02 CREATION_DATE date
global CREA_DATE      ;CREA_DATE = ""       # lineEdit02h date
global CREA_TIME      ;CREA_TIME = ""       # lineEdit02h heure
global CHECKED_BY     ;CHECKED_BY = ""      # lineEdit03
global CHECK_DATE     ;CHECK_DATE = ""      # lineEdit04 date
global CHEC_DATE      ;CHEC_DATE = ""       # lineEdit04 date
global CHEC_TIME      ;CHEC_TIME = ""       # lineEdit04h heure
global SIZE           ;SIZE = ""            # lineEdit05
global SCALE          ;SCALE =  ""          # lineEdit06
global WEIGHT         ;WEIGHT =  ""         # lineEdit07
global DRAWING_NUMBER ;DRAWING_NUMBER =  "" # lineEdit08
global SHEET          ;SHEET =  ""          # lineEdit09
global TITLE          ;TITLE =  ""          # textEdit_01
global DESCRIPTION    ;DESCRIPTION =  ""    # textEdit_02
global COMPANY        ;COMPANY = ""         # textEdit_02b
global COPYRIGHT      ; COPYRIGHT = ""      # lineEdit_20
global Note_A         ; Note_A = ""         # lineEdit_10
global Note_B         ; Note_B = ""         # lineEdit_11
global Note_C         ; Note_C = ""         # lineEdit_12
global Note_D         ; Note_D = ""         # lineEdit_13
global Note_E         ; Note_E = ""         # lineEdit_14
global Note_F         ; Note_F = ""         # lineEdit_15
global Note_G         ; Note_G = ""         # lineEdit_16
global Note_H         ; Note_H = ""         # lineEdit_17
global Note_I         ; Note_I = ""         # lineEdit_18

path = FreeCAD.ConfigGet("AppHomePath")

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):
    # Create a simple dialog QMessageBox
    # The first argument indicates the icon used: one of QtGui.QMessageBox.{NoIcon, Information, Warning, Critical, Question} 
    diag = QtGui.QMessageBox(QtGui.QMessageBox.Critical,u"Error Message",msg)
    try:
        diag.setWindowFlags(PyQt4.QtCore.Qt.WindowStaysOnTopHint) # cette fonction met la fenêtre en avant
    except Exception:
        diag.setWindowFlags(PySide.QtCore.Qt.WindowStaysOnTopHint) # cette fonction met la fenêtre en avant
    #diag.setWindowModality(QtCore.Qt.ApplicationModal) # la fonction a été désactivée pour favoriser "WindowStaysOnTopHint"
    diag.exec_()

def symbol_EU(depx,depy):    #symbol_EU =O
    try:
        App.getDocument(App.ActiveDocument.Name).removeObject("Symbol_US")
    except:
        None
    try:
        App.getDocument(App.ActiveDocument.Name).removeObject("Symbol_EU")
    except:
        None
    try:
        App.getDocument(App.ActiveDocument.Name).removeObject("SymbolUS")
    except:
        None
    try:
        App.getDocument(App.ActiveDocument.Name).removeObject("SymbolEU")
    except:
        None
    App.activeDocument().addObject('Sketcher::SketchObject','Symbol_EU')
    App.activeDocument().Symbol_EU.Placement = App.Placement(App.Vector(0.0,0.0,0.0),App.Rotation(0.000000,0.000000,0.000000,1.000000))
    App.ActiveDocument.Symbol_EU.addGeometry(Part.Line(App.Vector(-7.5,0.0,0.0),App.Vector(20.0,0.0,0.0)))

    App.ActiveDocument.Symbol_EU.Placement = App.Placement(App.Vector(0.0,0.0),App.Rotation(0.000000,0.000000,0.000000,1.000000))
    App.ActiveDocument.Symbol_EU.addGeometry(Part.Line(App.Vector(12.50,-7.5,0),App.Vector(12.50,7.5,0.0)))
    App.ActiveDocument.Symbol_EU.addGeometry(Part.Circle(App.Vector(12.50,0.0,0),App.Vector(0,0,1),2.5))
    App.ActiveDocument.Symbol_EU.addGeometry(Part.Circle(App.Vector(12.50,0.0,0),App.Vector(0,0,1),5.0))

    App.ActiveDocument.Symbol_EU.addGeometry(Part.Line(App.Vector(5.0,5.0,0.0),App.Vector(-5.0,2.5,0.0)))
    App.ActiveDocument.Symbol_EU.addGeometry(Part.Line(App.Vector(-5.0,-2.5,0.0),App.Vector(-5.0,2.5,0.0)))
    App.ActiveDocument.Symbol_EU.addGeometry(Part.Line(App.Vector(5.0,-5.0,0.0),App.Vector(-5.0,-2.5,0.0)))
    App.ActiveDocument.Symbol_EU.addGeometry(Part.Line(App.Vector(5.0,-5.0,0.0),App.Vector(5.0,5.0,0.0)))
    Gui.getDocument(App.ActiveDocument.Name).resetEdit()
    FreeCADGui.getDocument(App.ActiveDocument.Name).getObject("Symbol_EU").LineColor = (0.00,0.00,0.00)
    App.ActiveDocument.recompute()

    App.activeDocument().addObject('Drawing::FeatureViewPart','SymbolEU')
    App.activeDocument().SymbolEU.Source = App.activeDocument().Symbol_EU
    App.activeDocument().SymbolEU.Direction = (0.0,0.0,1.0)
    App.activeDocument().SymbolEU.X = depx
    App.activeDocument().SymbolEU.Y = depy
    App.activeDocument().SymbolEU.Scale = 0.8
    App.activeDocument().Page.addObject(App.activeDocument().SymbolEU)
    App.ActiveDocument.recompute()
#    App.getDocument(App.ActiveDocument.Name).removeObject("Symbol_EU")
    FreeCADGui.getDocument(App.ActiveDocument.Name).getObject("Symbol_EU").Visibility = False

def symbol_US(depx,depy):    #symbol_US O=
    try:
        App.getDocument(App.ActiveDocument.Name).removeObject("Symbol_US")
    except:
        None
    try:
        App.getDocument(App.ActiveDocument.Name).removeObject("Symbol_EU")
    except:
        None
    try:
        App.getDocument(App.ActiveDocument.Name).removeObject("SymbolUS")
    except:
        None
    try:
        App.getDocument(App.ActiveDocument.Name).removeObject("SymbolEU")
    except:
        None
    App.activeDocument().addObject('Sketcher::SketchObject','Symbol_US')
    App.activeDocument().Symbol_US.Placement = App.Placement(App.Vector(0.0,0.0,0.0),App.Rotation(0.000000,0.000000,0.000000,1.000000))
    App.ActiveDocument.Symbol_US.addGeometry(Part.Line(App.Vector(-7.5,0.0,0.0),App.Vector(20.0,0.0,0.0)))

    App.ActiveDocument.Symbol_US.Placement = App.Placement(App.Vector(0.0,0.0),App.Rotation(0.000000,0.000000,0.000000,1.000000))
    App.ActiveDocument.Symbol_US.addGeometry(Part.Line(App.Vector(0.0,-7.5,0.0),App.Vector(0.0,7.5,0.0)))
    App.ActiveDocument.Symbol_US.addGeometry(Part.Circle(App.Vector(0.0,0.0,0.0),App.Vector(0,0,1),2.5))
    App.ActiveDocument.Symbol_US.addGeometry(Part.Circle(App.Vector(0.0,0.0,0.0),App.Vector(0,0,1),5.0))

    App.ActiveDocument.Symbol_US.addGeometry(Part.Line(App.Vector(17.5,5.0,0.0),App.Vector(7.5,2.5,0.0)))
    App.ActiveDocument.Symbol_US.addGeometry(Part.Line(App.Vector(7.5,-2.5,0.0),App.Vector(7.5,2.5,0.0)))
    App.ActiveDocument.Symbol_US.addGeometry(Part.Line(App.Vector(17.5,-5.0,0.0),App.Vector(7.5,-2.5,0.0)))
    App.ActiveDocument.Symbol_US.addGeometry(Part.Line(App.Vector(17.5,-5.0,0.0),App.Vector(17.5,5.0,0.0)))
    Gui.getDocument(App.ActiveDocument.Name).resetEdit()
    FreeCADGui.getDocument(App.ActiveDocument.Name).getObject("Symbol_US").LineColor = (0.00,0.00,0.00)
    App.ActiveDocument.recompute()

    App.activeDocument().addObject('Drawing::FeatureViewPart','SymbolUS')
    App.activeDocument().SymbolUS.Source = App.activeDocument().Symbol_US
    App.activeDocument().SymbolUS.Direction = (0.0,0.0,1.0)
    App.activeDocument().SymbolUS.X = depx
    App.activeDocument().SymbolUS.Y = depy
    App.activeDocument().SymbolUS.Scale = 0.8
    App.activeDocument().Page.addObject(App.activeDocument().SymbolUS)
    App.ActiveDocument.recompute()
#    App.getDocument(App.ActiveDocument.Name).removeObject("Symbol_US")
    FreeCADGui.getDocument(App.ActiveDocument.Name).getObject("Symbol_US").Visibility = False

try:
    DESIGNED_BY = App.activeDocument().getObject("Page").EditableTexts[0]    # lineEdit01 DESIGNED_BY
    CREATION_DATE = App.activeDocument().getObject("Page").EditableTexts[1]  # lineEdit02 CREATION_DATE date
    try:
        CREA_DATE = CREATION_DATE.split(" - ")[0]                            # lineEdit02h date
    except:
        CREA_DATE = CREATION_DATE
    try:
        CREA_TIME = CREATION_DATE.split(" - ")[1]                            # lineEdit02h heure
    except: None    
    CHECKED_BY = App.activeDocument().getObject("Page").EditableTexts[2]     # lineEdit03
    CHECK_DATE = App.activeDocument().getObject("Page").EditableTexts[3]     # lineEdit04 date
    try:
        CHEC_DATE = CHECK_DATE.split(" - ")[0]                               # lineEdit04 date
    except:
        CHEC_DATE = CHECK_DATE
    try:
        CHEC_TIME = CHECK_DATE.split(" - ")[1]                               # lineEdit04h heure
    except: None    
    SIZE = App.activeDocument().getObject("Page").EditableTexts[4]           # lineEdit05
    SCALE = App.activeDocument().getObject("Page").EditableTexts[5]          # lineEdit06
    WEIGHT = App.activeDocument().getObject("Page").EditableTexts[6]         # lineEdit07
    DRAWING_NUMBER = App.activeDocument().getObject("Page").EditableTexts[7] # lineEdit08
    SHEET = App.activeDocument().getObject("Page").EditableTexts[8]          # lineEdit09
    TITLE = App.activeDocument().getObject("Page").EditableTexts[9]          # textEdit_01
    DESCRIPTION = App.activeDocument().getObject("Page").EditableTexts[10]   # textEdit_02
    COMPANY = App.activeDocument().getObject("Page").EditableTexts[11]       # textEdit_02b
    COPYRIGHT = App.activeDocument().getObject("Page").EditableTexts[12]     # lineEdit_20
    Note_A = App.activeDocument().getObject("Page").EditableTexts[13]        # lineEdit_10
    Note_B = App.activeDocument().getObject("Page").EditableTexts[14]        # lineEdit_11
    Note_C = App.activeDocument().getObject("Page").EditableTexts[15]        # lineEdit_12
    Note_D = App.activeDocument().getObject("Page").EditableTexts[16]        # lineEdit_13
    Note_E = App.activeDocument().getObject("Page").EditableTexts[17]        # lineEdit_14
    Note_F = App.activeDocument().getObject("Page").EditableTexts[18]        # lineEdit_15
    Note_G = App.activeDocument().getObject("Page").EditableTexts[19]        # lineEdit_16
    Note_H = App.activeDocument().getObject("Page").EditableTexts[20]        # lineEdit_17
    Note_I = App.activeDocument().getObject("Page").EditableTexts[21]        # lineEdit_18

except:
    errorDialog("erreur cartouche")

class Ui_MainWindow(object):

    def __init__(self, MainWindow):
        self.window = MainWindow
#___________________________________________________________________________________

        MainWindow.setObjectName(_fromUtf8("MainWindow"))
        MainWindow.resize(810, 440)
        MainWindow.setMaximumSize(QtCore.QSize(810, 480))
        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.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.setObjectName(_fromUtf8("pushButton05"))
        self.pushButton05.clicked.connect(self.on_pushButton05_clicked) #connection pushButton05

        self.pushButton06 = QtGui.QPushButton(self.centralWidget)
        self.pushButton06.setGeometry(QtCore.QRect(170, 56, 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, 56, 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, 136, 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, 136, 20, 20))
        self.pushButton09.setObjectName(_fromUtf8("pushButton09"))
        self.pushButton09.clicked.connect(self.on_pushButton09_clicked) #connection pushButton09

        self.pushButton10 = QtGui.QPushButton(self.centralWidget)
        self.pushButton10.setGeometry(QtCore.QRect(100, 220, 101, 20))
        self.pushButton10.setObjectName(_fromUtf8("pushButton10"))
        self.pushButton10.clicked.connect(self.on_pushButton10_clicked) #connection pushButton10

        self.lineEdit_01 = QtGui.QLineEdit(self.centralWidget)
        self.lineEdit_01.setGeometry(QtCore.QRect(20, 20, 181, 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, 181, 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_05 = QtGui.QLineEdit(self.centralWidget)
        self.lineEdit_05.setGeometry(QtCore.QRect(20, 180, 61, 61))
        font = QtGui.QFont()
        font.setPointSize(17)
        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.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.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)
        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)
        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)
        self.textEdit_02b.setGeometry(QtCore.QRect(220, 180, 340, 60))
        self.textEdit_02b.setObjectName(_fromUtf8("textEdit_02b"))
        self.textEdit_02b.setText(COMPANY)

        self.textEdit_03 = QtGui.QTextEdit(self.centralWidget)
        self.textEdit_03.setGeometry(QtCore.QRect(100, 170, 101, 45))
        self.textEdit_03.setAlignment(QtCore.Qt.AlignCenter)
        self.textEdit_03.setObjectName(_fromUtf8("textEdit_03"))
        self.textEdit_03.setText("Select your Symbol")

        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_05 = QtGui.QLabel(self.centralWidget)
        self.label_05.setGeometry(QtCore.QRect(20, 160, 53, 16))
        self.label_05.setObjectName(_fromUtf8("label_05"))

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

        MainWindow.setCentralWidget(self.centralWidget)
        self.menuBar = QtGui.QMenuBar(MainWindow)
        self.menuBar.setGeometry(QtCore.QRect(0, 0, 810, 26))
        self.menuBar.setObjectName(_fromUtf8("menuBar"))
        MainWindow.setMenuBar(self.menuBar)
        self.statusBar = QtGui.QStatusBar(MainWindow)
        self.statusBar.setObjectName(_fromUtf8("statusBar"))
        MainWindow.setStatusBar(self.statusBar)

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        try:
            MainWindow.setWindowFlags(PyQt4.QtCore.Qt.WindowStaysOnTopHint) # cette fonction met la fenêtre en avant
        except Exception:
            MainWindow.setWindowFlags(PySide.QtCore.Qt.WindowStaysOnTopHint) # cette fonction met la fenêtre en avant
        MainWindow.setWindowTitle(_translate("MainWindow", "Cartouche", None))
#        self.pushButton01.setText(_translate("MainWindow", "Position", None))
        self.pushButton02.setText(_translate("MainWindow", "Quitter", None))
        self.pushButton03.setText(_translate("MainWindow", "Memo", None))
        self.pushButton04.setText(_translate("MainWindow", "Nettoyer", None))
        self.pushButton05.setText(_translate("MainWindow", "Appliquer", None))
        self.pushButton06.setText(_translate("MainWindow", "D.", None))
        self.pushButton07.setText(_translate("MainWindow", "H.", None))
        self.pushButton08.setText(_translate("MainWindow", "D.", None))
        self.pushButton09.setText(_translate("MainWindow", "H.", None))
        self.pushButton10.setText(_translate("MainWindow", "Symbole EU", None))

        self.label_01.setText(_translate("MainWindow", "Designed by :", None))
        self.label_02.setText(_translate("MainWindow", "Date :", None))
        self.label_03.setText(_translate("MainWindow", "Checked by :", None))
        self.label_04.setText(_translate("MainWindow", "Date :", None))
        self.label_05.setText(_translate("MainWindow", "Size :", None))
        self.label_06.setText(_translate("MainWindow", "Scale :", None))
        self.label_07.setText(_translate("MainWindow", "Weight (Kg) :", None))
        self.label_08.setText(_translate("MainWindow", "Drawing number :", None))
        self.label_01T.setText(_translate("MainWindow", "Title :", None))
        self.label_02T.setText(_translate("MainWindow", "Description :", None))
        self.label_02bT.setText(_translate("MainWindow", "Company :", None))
        self.label_09.setText(_translate("MainWindow", "Sheet :", None))
        self.label_10.setText(_translate("MainWindow", "A", None))
        self.label_11.setText(_translate("MainWindow", "B", None))
        self.label_12.setText(_translate("MainWindow", "C", None))
        self.label_13.setText(_translate("MainWindow", "D", None))
        self.label_14.setText(_translate("MainWindow", "E", None))
        self.label_15.setText(_translate("MainWindow", "F", None))
        self.label_16.setText(_translate("MainWindow", "G", None))
        self.label_17.setText(_translate("MainWindow", "H", None))
        self.label_18.setText(_translate("MainWindow", "I", None))
        self.label_19.setText(_translate("MainWindow", "Notes", None))
#______________________________________________________________________________________
    # Boutons
    def on_pushButton10_clicked(self):    # Bouton /Symbole
        if self.textEdit_03.toPlainText()=="Symbole US":
            self.pushButton10.setText(_translate("MainWindow", "Symbole US", None))
            self.textEdit_03.setText("Symbole EU")
            symbol_EU(247.5,263.5)
        else:
            self.pushButton10.setText(_translate("MainWindow", "Symbole EU", None))
            self.textEdit_03.setText("Symbole US")
            symbol_US(247.5,263.5)
    def on_pushButton09_clicked(self):    # Bouton /heure document
        self.lineEdit_04h.setText(str(heure()))
    def on_pushButton08_clicked(self):    # Bouton date/ document
        if self.textEdit_03.toPlainText()=="Symbole US":
            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
        if self.textEdit_03.toPlainText()=="Symbole US":
            self.lineEdit_02.setText(str(dateUs()))
        else:
            self.lineEdit_02.setText(str(dateEu()))
    def on_pushButton05_clicked(self):    # Bouton Appliquer
        DESIGNED_BY = utf8(self.lineEdit_01.text())
        CREATION_DATE = utf8(self.lineEdit_02.text())+" - "+utf8(self.lineEdit_02h.text())
        CHECKED_BY = utf8(self.lineEdit_03.text())
        CHECK_DATE = utf8(self.lineEdit_04.text())+" - "+utf8(self.lineEdit_04h.text())
        SIZE = utf8(self.lineEdit_05.text())
        SYMBOL = utf8(self.textEdit_03.toPlainText())
        SCALE = utf8(self.lineEdit_06.text())
        WEIGHT = utf8(self.lineEdit_07.text())
        DRAWING_NUMBER = utf8(self.lineEdit_08.text())
        SHEET = utf8(self.lineEdit_09.text())
        TITLE = utf8(self.textEdit_01.toPlainText())
        DESCRIPTION = utf8(self.textEdit_02.toPlainText())
        COMPANY = utf8(self.textEdit_02b.toPlainText())
        COPYRIGHT = utf8(self.lineEdit_20.text())
        Note_A = utf8(self.lineEdit_10.text())
        Note_B = utf8(self.lineEdit_11.text())
        Note_C = utf8(self.lineEdit_12.text())
        Note_D = utf8(self.lineEdit_13.text())
        Note_E = utf8(self.lineEdit_14.text())
        Note_F = utf8(self.lineEdit_15.text())
        Note_G = utf8(self.lineEdit_16.text())
        Note_H = utf8(self.lineEdit_17.text())
        Note_I = utf8(self.lineEdit_18.text())

        try:
            FreeCAD.getDocument (App.ActiveDocument.Name).getObject("Page").EditableTexts = [unicode(DESIGNED_BY, 'utf-8'),unicode(CREATION_DATE, 'utf-8'),unicode(CHECKED_BY, 'utf-8'),       unicode(CHECK_DATE, 'utf-8'),  unicode(SIZE, 'utf-8'),  unicode(SCALE, 'utf-8'),  unicode(WEIGHT, 'utf-8'),  unicode(DRAWING_NUMBER, 'utf-8'),  unicode(SHEET, 'utf-8'),  unicode(TITLE, 'utf-8'),  unicode(DESCRIPTION, 'utf-8'),  unicode(COMPANY, 'utf-8'),  unicode(COPYRIGHT, 'utf-8'),  unicode(Note_A, 'utf-8'),  unicode(Note_B, 'utf-8'),  unicode(Note_C, 'utf-8'),  unicode(Note_D, 'utf-8'),  unicode(Note_E, 'utf-8'),  unicode(Note_F, 'utf-8'),  unicode(Note_G, 'utf-8'),  unicode(Note_H, 'utf-8'),  unicode(Note_I, 'utf-8'),]
            App.ActiveDocument.recompute()
        except:
            FreeCAD.getDocument (App.ActiveDocument.Name).getObject("Page").EditableTexts = [DESIGNED_BY.encode('utf-8'), CREATION_DATE.encode('utf-8'), CHECKED_BY.encode('utf-8'), CHECK_DATE.encode('utf-8'), SIZE.encode('utf-8'), SCALE.encode('utf-8'), WEIGHT.encode('utf-8'), DRAWING_NUMBER.encode('utf-8'), SHEET.encode('utf-8'), TITLE.encode('utf-8'), DESCRIPTION.encode('utf-8'), COMPANY.encode('utf-8'), COPYRIGHT.encode('utf-8'), Note_A.encode('utf-8'), Note_B.encode('utf-8'), Note_C.encode('utf-8'), Note_D.encode('utf-8'), Note_E.encode('utf-8'), Note_F.encode('utf-8'), Note_G.encode('utf-8'), Note_H.encode('utf-8'), Note_I.encode('utf-8'), ]
            App.ActiveDocument.recompute()
            
        #print App.ActiveDocument.Name

#        App.ActiveDocument.recompute()

    def on_pushButton04_clicked(self):    # Bouton nettoyer
        try:
            App.getDocument(App.ActiveDocument.Name).removeObject("Symbol_US")
        except:
            None
        try:
            App.getDocument(App.ActiveDocument.Name).removeObject("Symbol_EU")
        except:
            None
        try:
            App.getDocument(App.ActiveDocument.Name).removeObject("SymbolUS")
        except:
            None
        try:
            App.getDocument(App.ActiveDocument.Name).removeObject("SymbolEU")
        except:
            None
        DESIGNED_BY = ""    ;self.lineEdit_01.setText("")
        CREATION_DATE = ""  ;self.lineEdit_02.setText("")
        self.lineEdit_02h.setText("")
        CHECKED_BY = ""     ;self.lineEdit_03.setText("")
        CHECK_DATE = ""     ;self.lineEdit_04.setText("")
        self.lineEdit_04h.setText("")
        SIZE  = ""          ;self.lineEdit_05.setText("")
        SCALE = ""          ;self.lineEdit_06.setText("")
        WEIGHT = ""         ;self.lineEdit_07.setText("")
        DRAWING_NUMBER = "" ;self.lineEdit_08.setText("")
        SHEET = ""          ;self.lineEdit_09.setText("")
        TITLE = ""          ;self.textEdit_01.setText("")
        DESCRIPTION = ""    ;self.textEdit_02.setText("")
        COMPANY = ""        ;self.textEdit_02b.setText("")
        COPYRIGHT = ""      ;self.lineEdit_20.setText("")
        Note_A = ""         ;self.lineEdit_10.setText("")
        Note_B = ""         ;self.lineEdit_11.setText("")
        Note_C = ""         ;self.lineEdit_12.setText("")
        Note_D = ""         ;self.lineEdit_13.setText("")
        Note_E = ""         ;self.lineEdit_14.setText("")
        Note_F = ""         ;self.lineEdit_15.setText("")
        Note_G = ""         ;self.lineEdit_16.setText("")
        Note_H = ""         ;self.lineEdit_17.setText("")
        Note_I = ""         ;self.lineEdit_18.setText("")

    def on_pushButton03_clicked(self):    # Bouton Memo
        self.lineEdit_01.setText(DESIGNED_BY)
        self.lineEdit_02.setText(CREA_DATE)
        self.lineEdit_02h.setText(CREA_TIME)
        self.lineEdit_03.setText(CHECKED_BY)
        self.lineEdit_04.setText(CHEC_DATE)
        self.lineEdit_04h.setText(CHEC_TIME)
        self.lineEdit_05.setText(SIZE)
        self.lineEdit_06.setText(SCALE)
        self.lineEdit_07.setText(WEIGHT)
        self.lineEdit_08.setText(DRAWING_NUMBER)
        self.lineEdit_09.setText(SHEET)
        self.textEdit_01.setText(TITLE)
        self.textEdit_02.setText(DESCRIPTION)
        self.textEdit_02b.setText(COMPANY)
        self.lineEdit_20.setText(COPYRIGHT)
        self.lineEdit_10.setText(Note_A)
        self.lineEdit_11.setText(Note_B)
        self.lineEdit_12.setText(Note_C)
        self.lineEdit_13.setText(Note_D)
        self.lineEdit_14.setText(Note_E)
        self.lineEdit_15.setText(Note_F)
        self.lineEdit_16.setText(Note_G)
        self.lineEdit_17.setText(Note_H)
        self.lineEdit_18.setText(Note_I)

    def on_pushButton02_clicked(self):    # Bouton Quitter
        App.Console.PrintMessage("Terminé\r\n")
        self.window.hide()
#    def on_pushButton01_clicked(self):    # Bouton appel de Position
#        MainWindow.resize(210, 480)
#        executer()
#        MainWindow.resize(810, 480)
#______________________________________________________________________________________

MainWindow = QtGui.QMainWindow()
ui = Ui_MainWindow(MainWindow)
MainWindow.show()

Other

The fields have no length limit, check your cartouche.

This program creates a drawing representing the regional projection symbol on your project, do not touch it is registered therefore hidden form invisible.

If you want it to be cleared uncomment the commented lines and 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

(I had some times an error in execution when the symbol was erased)

This module works with the drawing sheet included in FreeCAD this sheet is called Page, do not change the name of this sheet!

Revision

ver 5 : 08/08/2014 PyQt4 and PySide