Macro CartoucheFC/fr: Difference between revisions

From FreeCAD Documentation
m (Robot: Automated text replacement (-https://sourceforge.net/apps/phpbb/free-cad +http://forum.freecadweb.org))
(Updating to match new version of source page)
Line 1: Line 1:
{{Macro|Icon=Text-x-python|Name=Macro_CartoucheFC|Description=This macro is a complete application, it allows to fill the cartridge of the drawing sheet delivered with FreeCAD.|Author=Mario52}}


This macro is a complete application, it allows to fill simply all the fields of the cartridge of the drawing sheet delivered with FreeCAD.
{{Macro/fr|Icon=Text-x-python|Name=Macro_CartoucheFC|Name/fr=Macro_CartoucheFC|Description=Cette macro est une application complète, elle permet de remplir le cartouche de la feuille de dessin livrée avec FreeCAD.|Author=Mario52}}
==Description==
Cette macro est une application complète, elle permet de remplir simplement tous les champs du cartouche de la feuille de dessin livrée avec FreeCAD.
<br><br>
[[File:CartoucheFC.png|480px|CartoucheFC]]
{{clear}}
==Utilisation==


'''La modification de la feuille dans Inkscape peut pour le moment poser des problèmes de fonctionnement au programme (dans le cas ou vous enlevez le symbole sur la feuille, même problème avec FreeCAD), travaillez sur une copie de A3_Landscape.svg. '''


[[File:CartoucheFC.png|480px|CartoucheFC]]
'''PS : certains caractères comme & $ ne sont pas acceptés (et peut être d'autres caractères spéciaux) !'''


===Use===
Si vous avez des questions ou désirez ajouter une fonction, vous pouvez vous adresse sur le forum [http://forum.freecadweb.org/viewtopic.php?f=12&t=2049 Remplir cartouche]
'''Changing the map in Inkscape can at the moment cause operation problems in the program (where you remove the symbol on the worksheet, same problem with FreeCAD), work on a copy of A3_Landscape.svg.'''<br />
'''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 [http://forum.freecadweb.org/viewtopic.php?f=12&t=2049 Remplir cartouche]<br />
*La fenêtre reste au dessus des autres fenêtres et permet ainsi de contrôler le cartouche sans quitter le programme.
*The window remains above other Windows, thereby controlling the cartridge without leaving the program.
*Copy the code into a file named '''Macro_CartoucheFC.py''' 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'''.
*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 {{KEY| Memo}} and kept in memory until the closure of the programme.
*Date button {{KEY| D.}} and time {{KEY| 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).
*The field '''A3''' is not functional (this program is based on the the A3 of FreeCAD sheet cartridge).
*Button {{KEY|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 {{KEY|Apply}} and immediately changes the symbol to each presses on the key, always check if you have the appropriate symbol on your worksheet.
*Button {{KEY|Clean}} Clears all fields in the cartridge. You can revert to the original data using the button {{KEY|Memo}}.
*Button {{KEY|Apply}} saves all fields of the cartridge in the sheet. You can revert to the original data using the button {{KEY|Memo}} (except for the regional symbol that works in independent and is effective immediately).


===Code===
*Copiez le code dans un fichier nommé '''Macro_CartoucheFC.py''' et placez le dans votre répertoire de macros habituelle.
Macro_CartoucheFC.FcMacro


*Après avoir créé votre feuille de dessin à l'aide du module Drawing de FreeCAD, lancez la macro '''Macro_CartoucheFC'''.


<syntaxhighlight>
*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 {{KEY|Memo}} et tenus en mémoire jusqu’à la fermeture du programme.


*Les boutons de date {{KEY| D.}} et heure {{KEY| 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).

*Le champ '''A3''' n'est pas fonctionnel (ce programme est basé sur le cartouche de la feuille A3 de FreeCAD).

*Le bouton {{KEY|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 {{KEY|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 {{KEY|Nettoyer}} efface tous les champs du cartouche. Vous pouvez revenir aux données d'origine à l'aide du bouton {{KEY|Memo}}.

*Le bouton {{KEY|Appliquer}} enregistre tous les champs du cartouche dans la feuille. Vous pouvez revenir aux données d'origine à l'aide du bouton {{KEY|Memo}} (sauf pour le symbole régional qui travaille en indépendant et est effectif immédiatement).
==Code==
Macro_CartoucheFC.FcMacro
<syntaxhighlight>
# -*- coding: utf-8 -*-
# -*- coding: utf-8 -*-
# Macro_CartoucheFC.py
# Macro_CartoucheFC.py
Line 197: Line 186:
DESCRIPTION = App.activeDocument().getObject("Page").EditableTexts[9] # textEdit_02
DESCRIPTION = App.activeDocument().getObject("Page").EditableTexts[9] # textEdit_02
except:
except:
errorDialog("Erreur de lecture dans le cartouche")
errorDialog("Error reading in the cartridge")
else:
else:
try:
try:
Line 241: Line 230:
lineEdit20 = ""
lineEdit20 = ""
except:
except:
errorDialog("Erreur notes")
errorDialog("Error notes")


class Ui_MainWindow(object):
class Ui_MainWindow(object):
Line 611: Line 600:
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))
self.pushButton02.setText(_translate("MainWindow", "Quitter", None))
self.pushButton02.setText(_translate("MainWindow", "Leave", None))
self.pushButton03.setText(_translate("MainWindow", "Memo", None))
self.pushButton03.setText(_translate("MainWindow", "Memo", None))
self.pushButton04.setText(_translate("MainWindow", "Nettoyer", None))
self.pushButton04.setText(_translate("MainWindow", "Clean", None))
self.pushButton05.setText(_translate("MainWindow", "Appliquer", None))
self.pushButton05.setText(_translate("MainWindow", "Apply", None))
self.pushButton06.setText(_translate("MainWindow", "D.", None))
self.pushButton06.setText(_translate("MainWindow", "D.", None))
self.pushButton07.setText(_translate("MainWindow", "H.", None))
self.pushButton07.setText(_translate("MainWindow", "H.", None))
Line 686: Line 675:
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(SCALE, 'utf-8'), unicode(WEIGHT, 'utf-8'), unicode(DRAWING_NUMBER, 'utf-8'), unicode(SHEET, 'utf-8'), unicode(TITLE, 'utf-8'), unicode(DESCRIPTION, 'utf-8')]
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(SCALE, 'utf-8'), unicode(WEIGHT, 'utf-8'), unicode(DRAWING_NUMBER, 'utf-8'), unicode(SHEET, 'utf-8'), unicode(TITLE, 'utf-8'), unicode(DESCRIPTION, 'utf-8')]
except:
except:
errorDialog("Erreur de sauvegarde dans le cartouche.")
errorDialog("Error saving into the cartridge.")
try:
try:
App.activeDocument().removeObject('Note_I')
App.activeDocument().removeObject('Note_I')
Line 882: Line 871:


</syntaxhighlight>
</syntaxhighlight>
==Autre==
Les champs n'ont pas de limite de longueur, vérifiez votre cartouche.


===Other===
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.
The fields have no length limit, check your cartouche.<br />
This program creates a drawing representing the regional projection symbol on your project, do not touch it is registered therefore hidden form invisible.<br />
If you want it to be cleared uncomment the commented lines and vice versa


Si vous voulez qu'il soit effacée dé-commentez ces lignes commentées et vice versa
<syntaxhighlight>
<syntaxhighlight>

# App.getDocument(App.ActiveDocument.Name).removeObject("Symbol_EU")
# App.getDocument(App.ActiveDocument.Name).removeObject("Symbol_EU")
FreeCADGui.getDocument(App.ActiveDocument.Name).getObject("Symbol_EU").Visibility = False
FreeCADGui.getDocument(App.ActiveDocument.Name).getObject("Symbol_EU").Visibility = False
Line 895: Line 885:
FreeCADGui.getDocument(App.ActiveDocument.Name).getObject("Symbol_US").Visibility = False
FreeCADGui.getDocument(App.ActiveDocument.Name).getObject("Symbol_US").Visibility = False
</syntaxhighlight>
</syntaxhighlight>
(j'avais quelque fois une erreur à l'exécution quand le symbole était effacé)


Ce module travaille avec la feuille de mise en plan incluse dans FreeCAD cette feuille s'appelle '''Page''', ne pas modifier le nom de cette feuille !


(I had some times an error in execution when the symbol was erased)<br />
<br>
This module works with the drawing sheet included in FreeCAD this sheet is called '''Page''', do not change the name of this sheet!
{{languages/fr | {{en|Macro_CartoucheFC}} {{it|Macro_CartoucheFC/it}} }}

[[Category:Python Code/fr]]
{{clear}}
<languages/>

Revision as of 18:00, 25 December 2013

File:Text-x-python Macro_CartoucheFC

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

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 of the drawing sheet delivered with FreeCAD.


CartoucheFC

Use

Changing the map in Inkscape can at the moment cause operation problems in the program (where you remove the symbol on the worksheet, same problem with FreeCAD), work on a copy of A3_Landscape.svg.
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.py 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.
  • 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).
  • The field A3 is not functional (this program is based on the the A3 of FreeCAD sheet cartridge).
  • 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.FcMacro


# -*- coding: utf-8 -*-
# Macro_CartoucheFC.py
# Remplir les zones du cartouche
# il faut que la page (drawing viewer) s'appelle " Page " qui est le nom par défaut du module Drawing
# 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
# Created: 27/04/2013 revision 02/05/2013 (accepte les accentués)
# Created: by mario52

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

global  path

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

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 )
    diag.setWindowFlags(PyQt4.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):    # création du symbol_EU
    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):    # création du symbol_US
    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
    CREA_DATE = CREATION_DATE[0:10]                                         # lineEdit02h date
    CREA_TIME = CREATION_DATE[13:21]                                        # lineEdit02h heure
    CHECKED_BY = App.activeDocument().getObject("Page").EditableTexts[2]    # lineEdit03
    CHECK_DATE = App.activeDocument().getObject("Page").EditableTexts[3]    # lineEdit04 date
    CHEC_DATE = CHECK_DATE[0:10]                                            # lineEdit04 date
    CHEC_TIME = CHECK_DATE[13:21]                                           # lineEdit04h heure
    SIZE = "A3"                                                             # lineEdit05
    SCALE = App.activeDocument().getObject("Page").EditableTexts[4]         # lineEdit06
    WEIGHT = App.activeDocument().getObject("Page").EditableTexts[5]        # lineEdit07
    DRAWING_NUMBER = App.activeDocument().getObject("Page").EditableTexts[6]# lineEdit08
    SHEET = App.activeDocument().getObject("Page").EditableTexts[7]         # lineEdit09
    TITLE = App.activeDocument().getObject("Page").EditableTexts[8]         # textEdit_01
    DESCRIPTION = App.activeDocument().getObject("Page").EditableTexts[9]   # textEdit_02
except:
    errorDialog("Error reading in the cartridge")
else:
	try:
		try:
			lineEdit18 = App.activeDocument().getObject("Note_I").Text[0] 
		except:
			lineEdit18 = ""
		try:
			lineEdit17 = App.activeDocument().getObject("Note_H").Text[0] 
		except:
			lineEdit17 = ""
		try:
			lineEdit16 = App.activeDocument().getObject("Note_G").Text[0] 
		except:
			lineEdit16 = ""
		try:
			lineEdit15 = App.activeDocument().getObject("Note_F").Text[0] 
		except:
			lineEdit15 = ""
		try:
			lineEdit14 = App.activeDocument().getObject("Note_E").Text[0] 
		except:
			lineEdit14 = ""
		try:
			lineEdit13 = App.activeDocument().getObject("Note_D").Text[0] 
		except:
			lineEdit13 = ""
		try:
			lineEdit12 = App.activeDocument().getObject("Note_C").Text[0] 
		except:
			lineEdit12 = ""
		try:
			lineEdit11 = App.activeDocument().getObject("Note_B").Text[0] 
		except:
			lineEdit11 = ""
		try:
			lineEdit10 = App.activeDocument().getObject("Note_A").Text[0] 
		except:
			lineEdit10 = ""
		try:
			lineEdit20 = App.activeDocument().getObject("CopyRight").Text[0] 
		except:
			lineEdit20 = ""
	except:
		errorDialog("Error notes")

	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_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(lineEdit10)

			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(lineEdit11)

			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(lineEdit12)

			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(lineEdit13)

			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(lineEdit14)

			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(lineEdit15)

			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(lineEdit16)

			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(lineEdit17)

			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(lineEdit18)

			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(lineEdit20)

			self.textEdit_01 = QtGui.QTextEdit(self.centralWidget)
			self.textEdit_01.setGeometry(QtCore.QRect(220, 20, 431,60 ))
			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.textEdit_02 = QtGui.QTextEdit(self.centralWidget)
			self.textEdit_02.setGeometry(QtCore.QRect(220, 90, 431, 60))
			self.textEdit_02.setObjectName(_fromUtf8("textEdit_02"))
			self.textEdit_02.setText(DESCRIPTION)

	#        self.graphicsView_01 = QtGui.QGraphicsView(self.centralWidget)
	#        self.graphicsView_01.setGeometry(QtCore.QRect(100, 160, 101, 81))
	#        brush = QtGui.QBrush(QtGui.QColor(0, 170, 255))
	#        brush.setStyle(QtCore.Qt.NoBrush)
	#        self.graphicsView_01.setBackgroundBrush(brush)
	#        self.graphicsView_01.setObjectName(_fromUtf8("graphicsView_01"))

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

			self.graphicsView_02 = QtGui.QGraphicsView(self.centralWidget)
			self.graphicsView_02.setGeometry(QtCore.QRect(220, 160, 431, 81))
			self.graphicsView_02.setObjectName(_fromUtf8("graphicsView_02"))

			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):
			MainWindow.setWindowFlags(PyQt4.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", "Leave", None))
			self.pushButton03.setText(_translate("MainWindow", "Memo", None))
			self.pushButton04.setText(_translate("MainWindow", "Clean", None))
			self.pushButton05.setText(_translate("MainWindow", "Apply", 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_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) #(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) #(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 = unicode(self.lineEdit_01.text(), 'ISO-8859-1').encode('UTF-8')
			CREATION_DATE = unicode(self.lineEdit_02.text()+" - "+self.lineEdit_02h.text() , 'ISO-8859-1').encode('UTF-8')
			if CREATION_DATE == " - ":
				CREATION_DATE = ""
			CHECKED_BY = unicode(self.lineEdit_03.text() , 'ISO-8859-1').encode('UTF-8')
			CHECK_DATE = unicode(self.lineEdit_04.text()+" - "+self.lineEdit_04h.text() , 'ISO-8859-1').encode('UTF-8')
			if CHECK_DATE == " - ":
				CHECK_DATE = ""
			SIZE  = "A3" # self.lineEdit_05.text()
			SIZE = unicode(self.lineEdit_05.text() , 'ISO-8859-1').encode('UTF-8')
			SCALE = unicode(self.lineEdit_06.text() , 'ISO-8859-1').encode('UTF-8')
			WEIGHT = unicode(self.lineEdit_07.text() , 'ISO-8859-1').encode('UTF-8')
			DRAWING_NUMBER = unicode(self.lineEdit_08.text() , 'ISO-8859-1').encode('UTF-8')
			SHEET = unicode(self.lineEdit_09.text() , 'ISO-8859-1').encode('UTF-8')
			TITLE = unicode(self.textEdit_01.toPlainText() , 'ISO-8859-1').encode('UTF-8')
			DESCRIPTION = unicode(self.textEdit_02.toPlainText() , 'ISO-8859-1').encode('UTF-8')
			SYMBOL = unicode(self.textEdit_03.toPlainText() , 'ISO-8859-1').encode('UTF-8')
			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(SCALE, 'utf-8'),  unicode(WEIGHT, 'utf-8'),  unicode(DRAWING_NUMBER, 'utf-8'),  unicode(SHEET, 'utf-8'),  unicode(TITLE, 'utf-8'),  unicode(DESCRIPTION, 'utf-8')]
			except:
				errorDialog("Error saving into the cartridge.")
			try:
				App.activeDocument().removeObject('Note_I')
			except:
				None
			try:
				App.activeDocument().removeObject('Note_H')
			except:
				None
			try:
				App.activeDocument().removeObject('Note_G')
			except:
				None
			try:
				App.activeDocument().removeObject('Note_F')
			except:
				None
			try:
				App.activeDocument().removeObject('Note_E')
			except:
				None
			try:
				App.activeDocument().removeObject('Note_D')
			except:
				None
			try:
				App.activeDocument().removeObject('Note_C')
			except:
				None
			try:
				App.activeDocument().removeObject('Note_B')
			except:
				None
			try:
				App.activeDocument().removeObject('Note_A')
			except:
				None
			try:
				App.activeDocument().removeObject('CopyRight')
			except:
				None
			if self.lineEdit_18.text() != "":
				App.activeDocument().addObject('Drawing::FeatureViewAnnotation','Note_I')
				App.activeDocument().Note_I.X = 391.0
				App.activeDocument().Note_I.Y = 232
				App.activeDocument().Note_I.Scale = 3.0
				App.activeDocument().Note_I.Text = str(unicode(self.lineEdit_18.text() , 'ISO-8859-1').encode('UTF-8'))
				App.activeDocument().Page.addObject(App.activeDocument().Note_I)
			if self.lineEdit_17.text() != "":
				App.activeDocument().addObject('Drawing::FeatureViewAnnotation','Note_H')
				App.activeDocument().Note_H.X = 391.0
				App.activeDocument().Note_H.Y = 238.8
				App.activeDocument().Note_H.Scale = 3.0
				App.activeDocument().Note_H.Text = str(unicode(self.lineEdit_17.text() , 'ISO-8859-1').encode('UTF-8'))
				App.activeDocument().Page.addObject(App.activeDocument().Note_H)
			if self.lineEdit_16.text() != "":
				App.activeDocument().addObject('Drawing::FeatureViewAnnotation','Note_G')
				App.activeDocument().Note_G.X = 391.0
				App.activeDocument().Note_G.Y = 245.4
				App.activeDocument().Note_G.Scale = 3.0
				App.activeDocument().Note_G.Text = str(unicode(self.lineEdit_16.text() , 'ISO-8859-1').encode('UTF-8'))
				App.activeDocument().Page.addObject(App.activeDocument().Note_G)
			if self.lineEdit_15.text() != "":
				App.activeDocument().addObject('Drawing::FeatureViewAnnotation','Note_F')
				App.activeDocument().Note_F.X = 391.0
				App.activeDocument().Note_F.Y = 252
				App.activeDocument().Note_F.Scale = 3.0
				App.activeDocument().Note_F.Text = str(unicode(self.lineEdit_15.text() , 'ISO-8859-1').encode('UTF-8'))
				App.activeDocument().Page.addObject(App.activeDocument().Note_F)
			if self.lineEdit_14.text() != "":
				App.activeDocument().addObject('Drawing::FeatureViewAnnotation','Note_E')
				App.activeDocument().Note_E.X = 391.0
				App.activeDocument().Note_E.Y = 258.6
				App.activeDocument().Note_E.Scale = 3.0
				App.activeDocument().Note_E.Text = str(unicode(self.lineEdit_14.text() , 'ISO-8859-1').encode('UTF-8'))
				App.activeDocument().Page.addObject(App.activeDocument().Note_E)
			if self.lineEdit_13.text() != "":
				App.activeDocument().addObject('Drawing::FeatureViewAnnotation','Note_D')
				App.activeDocument().Note_D.X = 391.0
				App.activeDocument().Note_D.Y = 265.2
				App.activeDocument().Note_D.Scale = 3.0
				App.activeDocument().Note_D.Text = str(unicode(self.lineEdit_13.text() , 'ISO-8859-1').encode('UTF-8'))
				App.activeDocument().Page.addObject(App.activeDocument().Note_D)
			if self.lineEdit_12.text() != "":
				App.activeDocument().addObject('Drawing::FeatureViewAnnotation','Note_C')
				App.activeDocument().Note_C.X = 391.0
				App.activeDocument().Note_C.Y = 271.8
				App.activeDocument().Note_C.Scale = 3.0
				App.activeDocument().Note_C.Text =  str(unicode(self.lineEdit_12.text() , 'ISO-8859-1').encode('UTF-8'))
				App.activeDocument().Page.addObject(App.activeDocument().Note_C)
			if self.lineEdit_11.text() != "":
				App.activeDocument().addObject('Drawing::FeatureViewAnnotation','Note_B')
				App.activeDocument().Note_B.X = 391.0
				App.activeDocument().Note_B.Y = 278.4
				App.activeDocument().Note_B.Scale = 3.0
				App.activeDocument().Note_B.Text = str(unicode(self.lineEdit_11.text() , 'ISO-8859-1').encode('UTF-8'))
				App.activeDocument().Page.addObject(App.activeDocument().Note_B)
			if self.lineEdit_10.text() != "":
				App.activeDocument().addObject('Drawing::FeatureViewAnnotation','Note_A')
				App.activeDocument().Note_A.X = 391.0
				App.activeDocument().Note_A.Y = 285.0
				App.activeDocument().Note_A.Scale = 3.0
				App.activeDocument().Note_A.Text = str(unicode(self.lineEdit_10.text() , 'ISO-8859-1').encode('UTF-8'))
				App.activeDocument().Page.addObject(App.activeDocument().Note_A)
			if self.lineEdit_20.text() != "":
				App.activeDocument().addObject('Drawing::FeatureViewAnnotation','CopyRight')
				App.activeDocument().CopyRight.X = 221
				App.activeDocument().CopyRight.Y = 286
				App.activeDocument().CopyRight.Scale = 3.0
				App.activeDocument().CopyRight.Text = str(unicode(self.lineEdit_20.text() , 'ISO-8859-1').encode('UTF-8'))
				App.activeDocument().Page.addObject(App.activeDocument().CopyRight)

			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  = "A3"        ;self.lineEdit_05.setText("A3")
			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("")
			
			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.lineEdit_20.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.lineEdit_18.setText(lineEdit18)
			self.lineEdit_17.setText(lineEdit17)
			self.lineEdit_16.setText(lineEdit16)
			self.lineEdit_15.setText(lineEdit15)
			self.lineEdit_14.setText(lineEdit14)
			self.lineEdit_13.setText(lineEdit13)
			self.lineEdit_12.setText(lineEdit12)
			self.lineEdit_11.setText(lineEdit11)
			self.lineEdit_10.setText(lineEdit10)
			self.lineEdit_20.setText(lineEdit20)

		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!

Other languages: