Macro CartoucheFC Full/en: Difference between revisions
(Updating to match new version of source page) |
(Updating to match new version of source page) |
||
(28 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
<languages/> |
|||
{{Macro|Icon=Text-x-python|Name=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}} |
|||
{{Macro |
|||
|Name=Macro_CartoucheFC_Full |
|||
|Icon=Macro_CartoucheFC_Full.png |
|||
|Description=This macro is a complete application, it allows to fill the cartridge of the drawing sheet with full editabletext (For [[Drawing_Module|Drawing Module]]). |
|||
|Author=Mario52 |
|||
|Version=00.10 |
|||
|Date=2017-02-15 |
|||
|FCVersion=All version using Drawing Workbench |
|||
|Download=[https://www.freecadweb.org/wiki/images/6/68/Macro_CartoucheFC_Full.png ToolBar Icon] |
|||
}} |
|||
==Description== |
|||
This macro is a complete application, it allows to fill simply all the fields of the cartridge |
|||
Choice in the page [[Misc_templates_Full|Misc_templates_Full]] |
|||
This macro is a complete application, it allows to fill simply all the fields of the cartridge [[Misc_templates#A3_Landscape_US_Text_Complet_Without_Convention| 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. |
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. |
||
[[File: |
[[File:Macro_CartoucheFC_Full_00.png|680px|CartoucheFC_Full]] |
||
== |
==Usage== |
||
'''PS: Some characters such as & $ are not accepted (and possibly other special characters).''' |
'''PS: Some characters such as & $ are not accepted (and possibly other special characters).''' |
||
Line 17: | Line 30: | ||
*After you have created your drawing sheet using the Drawing of FreeCAD module, run the macro '''Macro_CartoucheFC_Full'''. |
*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 {{KEY| Memo}} and kept in memory until the closure of the programme. |
*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. |
||
*First select your page to work |
|||
*Date button {{KEY| D.}} and time {{KEY| H.}} displayed the date and time of the system. |
*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 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). |
||
*Choice your format page |
|||
*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. |
*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'''. |
:*The choice of this symbol, affects the date format '''EU = dd/MM/yyyy''' and '''US = MM/dd/yyyy'''. |
||
Line 25: | Line 40: | ||
*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). |
*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== |
|||
Macro_CartoucheFC_Full. |
The icon for you toolBar [[File:Macro_CartoucheFC_Full.png]] |
||
<syntaxhighlight> |
|||
'''Macro_CartoucheFC_Full.FCMacro''' |
|||
{{MacroCode|code= |
|||
# -*- coding: utf-8 -*- |
# -*- coding: utf-8 -*- |
||
from __future__ import unicode_literals |
|||
""" |
""" |
||
*************************************************************************** |
*************************************************************************** |
||
* Copyright (c) 2014 <mario52> |
* Copyright (c) 2014 2016 2017 <mario52> * |
||
* * |
* * |
||
* This file is a supplement to the FreeCAD CAx development system. * |
* This file is a supplement to the FreeCAD CAx development system. * |
||
Line 57: | Line 75: | ||
*************************************************************************** |
*************************************************************************** |
||
""" |
""" |
||
#OS: Windows 10 |
|||
# Macro_CartoucheFC_Full.FcMacro |
|||
#Word size of OS: 64-bit |
|||
# Remplir les zones du cartouche + dates + symbole de convention EU ou US |
|||
#Word size of FreeCAD: 64-bit |
|||
# il faut que la page (drawing viewer) s'appelle " Page " qui est le nom par défaut du module Drawing |
|||
#Version: 0.16.6706 (Git) |
|||
# cette macro fonctionne avec la feuille A3_Landscape_ qui possede tous les champs EditableTexts et |
|||
#Build type: Release |
|||
# le symbole de convention absent "A3_Landscape_US_Text_Complet_Without_Convention.svg" |
|||
#Branch: releases/FreeCAD-0-16 |
|||
# http://www.freecadweb.org/wiki/index.php?title=Misc_templates#A3_Landscape_US_Text_Complet_Without_Convention |
|||
#Hash: f86a4e411ff7848dea98d7242f43b7774bee8fa0 |
|||
# DESIGNED_BY, CREATION_DATE, CHECKED_BY, CHECK_DATE, SIZE, SCALE, WEIGHT, DRAWING_NUMBER, SHEET, |
|||
#Python version: 2.7.8 |
|||
# TITLE, DESCRIPTION, COMPANY, COPYRIGHT, Note_A, Note_B, Note_C, Note_D, Note_E, Note_F, Note_G, Note_H, Note_I |
|||
#Qt version: 4.8.7 |
|||
# Fill the area of the cartridge |
|||
#Coin version: 4.0.0a |
|||
# It is necessary that the page (drawing viewer) is called "Page", which is the default name of the Drawing module |
|||
#OCC version: 6.8.0.oce-0.17 |
|||
# Python 2.6 Windows Vista Sp2 |
|||
# ver 5 : 08/08/2014 # PyQt4 and PySide |
|||
# Created: by mario52 |
|||
__title__ = "Macro_CartoucheFC_Full" |
|||
try: |
|||
__author__ = "Mario52" |
|||
import PyQt4 |
|||
__url__ = "http://www.freecadweb.org/index-fr.html" |
|||
from PyQt4 import QtCore, QtGui |
|||
__Wiki__ = "http://www.freecadweb.org/wiki/Macro_CartoucheFC_Full" |
|||
except Exception: |
|||
__version__ = "00.10" |
|||
import PySide |
|||
__date__ = "15/02/2017" |
|||
from PySide import QtCore, QtGui |
|||
__Requires__ = ("all version and freecad " + |
|||
" DESIGNED_BY, CREATION_DATE, CHECKED_BY, CHECK_DATE, SIZE, SCALE, WEIGHT, DRAWING_NUMBER, SHEET, " + |
|||
" TITLE, DESCRIPTION, COMPANY, COPYRIGHT, Note_A, Note_B, Note_C, Note_D, Note_E, Note_F, Note_G, Note_H, Note_I" ) |
|||
__Template__ = " A3_Landscape_xx_FULL.svg, A3_Portrait_xx_FULL, A4_Landscape_xx_FULL.svg, A4_Portrait_xx_FULL" |
|||
__Template_Link__ = "http://www.freecadweb.org/wiki/index.php?title=Misc_templates_Full" |
|||
import PySide |
|||
from PySide import QtCore, QtGui |
|||
import Draft, Part, FreeCAD, math, PartGui, FreeCADGui |
import Draft, Part, FreeCAD, math, PartGui, FreeCADGui |
||
Line 86: | Line 111: | ||
global path |
global path |
||
#path = FreeCAD.ConfigGet("AppHomePath") |
|||
global DESIGNED_BY ;DESIGNED_BY = "" # lineEdit01 DESIGNED_BY |
|||
path = FreeCAD.ConfigGet("UserAppData") |
|||
global CREATION_DATE ;CREATION_DATE = "" # lineEdit02 CREATION_DATE date |
|||
global CREA_DATE ;CREA_DATE = "" # lineEdit02h date |
|||
global |
global PageActive ; PageActive = "Select your page" # essais |
||
global |
#global PageActive ; PageActive = "Page" # page active |
||
global |
global DESIGNED_BY ; DESIGNED_BY = "" # lineEdit01 DESIGNED_BY |
||
global |
global MDESIGNED_BY ; MDESIGNED_BY = "" # |
||
global |
global CREATION_DATE ; CREATION_DATE = "" # lineEdit02 CREATION_DATE date |
||
global |
global MCREATION_DATE ; MCREATION_DATE = "" # |
||
global |
global CREA_DATE ; CREA_DATE = "" # lineEdit02h date |
||
global |
global MCREA_DATE ; MCREA_DATE = "" # |
||
global |
global CREA_TIME ; CREA_TIME = "" # lineEdit02h heure |
||
global |
global MCREA_TIME ; MCREA_TIME = "" # |
||
global |
global CHECKED_BY ; CHECKED_BY = "" # lineEdit03 |
||
global |
global MCHECKED_BY ; MCHECKED_BY = "" # |
||
global |
global CHECK_DATE ; CHECK_DATE = "" # lineEdit04 date |
||
global |
global MCHECK_DATE ; MCHECK_DATE = "" # |
||
global |
global CHEC_DATE ; CHEC_DATE = "" # lineEdit04 date |
||
global |
global MCHEC_DATE ; MCHEC_DATE = "" # |
||
global |
global CHEC_TIME ; CHEC_TIME = "" # lineEdit04h heure |
||
global |
global MCHEC_TIME ; MCHEC_TIME = "" # |
||
global |
global SIZE ; SIZE = "" # lineEdit05 |
||
global |
global MSIZE ; MSIZE = "" # |
||
global |
global SCALE ; SCALE = "" # lineEdit06 |
||
global |
global MSCALE ; MSCALE = "" # |
||
global |
global WEIGHT ; WEIGHT = "" # lineEdit07 |
||
global MWEIGHT ; MWEIGHT = "" # |
|||
global DRAWING_NUMBER ; DRAWING_NUMBER = "" # lineEdit08 |
|||
global MDRAWING_NUMBER ; MDRAWING_NUMBER = "" # |
|||
global SHEET ; SHEET = "" # lineEdit09 |
|||
global MSHEET ; MSHEET = "" # |
|||
global TITLE ; TITLE = "" # textEdit_01 |
|||
global MTITLE ; MTITLE = "" # |
|||
global DESCRIPTION ; DESCRIPTION = "" # textEdit_02 |
|||
global MDESCRIPTION ; MDESCRIPTION = "" # |
|||
global COMPANY ; COMPANY = "" # textEdit_02b |
|||
global MCOMPANY ; MCOMPANY = "" # |
|||
global COPYRIGHT ; COPYRIGHT = "" # lineEdit_20 |
|||
global MCOPYRIGHT ; MCOPYRIGHT = "" # |
|||
global Note_A ; Note_A = "" # lineEdit_10 |
|||
global MNote_A ; MNote_A = "" # |
|||
global Note_B ; Note_B = "" # lineEdit_11 |
|||
global MNote_B ; MNote_B = "" # |
|||
global Note_C ; Note_C = "" # lineEdit_12 |
|||
global MNote_C ; MNote_C = "" # |
|||
global Note_D ; Note_D = "" # lineEdit_13 |
|||
global MNote_D ; MNote_D = "" # |
|||
global Note_E ; Note_E = "" # lineEdit_14 |
|||
global MNote_E ; MNote_E = "" # |
|||
global Note_F ; Note_F = "" # lineEdit_15 |
|||
global MNote_F ; MNote_F = "" # |
|||
global Note_G ; Note_G = "" # lineEdit_16 |
|||
global MNote_G ; MNote_G = "" # |
|||
global Note_H ; Note_H = "" # lineEdit_17 |
|||
global MNote_H ; MNote_H = "" # |
|||
global Note_I ; Note_I = "" # lineEdit_18 |
|||
global MNote_I ; MNote_I = "" # |
|||
global SymbolSwitch ; SymbolSwitch = 1 # 0=US 1=EU |
|||
path = FreeCAD.ConfigGet("AppHomePath") |
|||
global ui ; ui = "" |
|||
def heure(): |
def heure(): |
||
Line 140: | Line 197: | ||
def errorDialog(msg): |
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 = QtGui.QMessageBox(QtGui.QMessageBox.Critical,u"Error Message",msg) |
||
diag.setWindowFlags(PySide.QtCore.Qt.WindowStaysOnTopHint) # cette fonction met la fenetre en avant |
|||
diag.exec_() |
|||
def symbol_EU(depx, depy, scale): #symbol_EU =O |
|||
global PageActive |
|||
global ui |
|||
try: |
try: |
||
page = App.activeDocument().getObjectsByLabel(PageActive.encode('utf-8'))[0] |
|||
diag.setWindowFlags(PyQt4.QtCore.Qt.WindowStaysOnTopHint) # cette fonction met la fenêtre en avant |
|||
except Exception: |
except Exception: |
||
page = App.activeDocument().getObjectsByLabel(PageActive)[0] |
|||
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" |
|||
if len(str(page)) != 2: |
|||
diag.exec_() |
|||
comP = [] |
|||
nameL = [] |
|||
if "Page" in (page.Name): |
|||
for ii in (page.Group): |
|||
if ((ii.Label) == "Symbol_EU") or ((ii.Label) == "Symbol_US") : |
|||
App.activeDocument().removeObject(ii.Name) |
|||
points=[FreeCAD.Vector(-7.5,0.0,0.0),FreeCAD.Vector(20.0,0.0,0.0)] |
|||
i = Draft.makeWire(points,closed=False,face=False,support=None) |
|||
comP.append(i.Shape) |
|||
nameL.append(i.Name) |
|||
points=[FreeCAD.Vector(12.5,7.5,0.0),FreeCAD.Vector(12.5,-7.5,0.0)] |
|||
i = Draft.makeWire(points,closed=False,face=False,support=None) |
|||
comP.append(i.Shape) |
|||
nameL.append(i.Name) |
|||
points=[FreeCAD.Vector(-5,2.5,0.0),FreeCAD.Vector(5.0,5.0,0.0),FreeCAD.Vector(5.0,-5.0,0.0),FreeCAD.Vector(-5.0,-2.5,0.0)] |
|||
i = Draft.makeWire(points,closed=True,face=False,support=None) |
|||
comP.append(i.Shape) |
|||
nameL.append(i.Name) |
|||
pl=FreeCAD.Placement() |
|||
pl.Rotation.Q=(0.0,-0.0,-0.0,1.0) |
|||
pl.Base=FreeCAD.Vector(12.5,-0.0,0.0) |
|||
i = Draft.makeCircle(radius=2.5,placement=pl,face=False,support=None) |
|||
comP.append(i.Shape) |
|||
nameL.append(i.Name) |
|||
i = Draft.makeCircle(radius=5.0,placement=pl,face=False,support=None) |
|||
comP.append(i.Shape) |
|||
nameL.append(i.Name) |
|||
comp = Part.makeCompound(comP) |
|||
Part.show(comp) |
|||
App.ActiveDocument.ActiveObject.Label = "Symbol_EU" |
|||
obj = FreeCAD.ActiveDocument.ActiveObject |
|||
obj.ViewObject.LineColor = (0.0,0.0,0.0) |
|||
obj.ViewObject.Visibility = False |
|||
obj2 = Draft.makeDrawingView(obj, page) |
|||
obj2.X = depx |
|||
obj2.Y = depy |
|||
obj2.Scale = scale #0.8 # A3 |
|||
obj2.Label = "Symbol_EU" |
|||
for i in nameL: App.activeDocument().removeObject(i) |
|||
App.activeDocument().getObjectsByLabel(PageActive.encode('utf-8'))[0].addObject(obj) |
|||
App.activeDocument().getObjectsByLabel(PageActive.encode('utf-8'))[0].addObject(obj2) |
|||
App.ActiveDocument.recompute() |
|||
else: |
|||
ui.pushButton05.setStyleSheet("background-color: red") # This function gives a color button |
|||
FreeCAD.Console.PrintError("Error selected page [ " + PageActive + " ]" + "\n") |
|||
def symbol_US(depx, depy, scale): #symbol_US O= |
|||
global PageActive |
|||
global ui |
|||
def symbol_EU(depx,depy): #symbol_EU =O |
|||
try: |
try: |
||
page = App.activeDocument().getObjectsByLabel(PageActive.encode('utf-8'))[0] |
|||
App.getDocument(App.ActiveDocument.Name).removeObject("Symbol_US") |
|||
except: |
except Exception: |
||
page = App.activeDocument().getObjectsByLabel(PageActive)[0] |
|||
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))) |
|||
if len(str(page)) != 2: |
|||
App.ActiveDocument.Symbol_EU.Placement = App.Placement(App.Vector(0.0,0.0),App.Rotation(0.000000,0.000000,0.000000,1.000000)) |
|||
comP = [] |
|||
App.ActiveDocument.Symbol_EU.addGeometry(Part.Line(App.Vector(12.50,-7.5,0),App.Vector(12.50,7.5,0.0))) |
|||
nameL = [] |
|||
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)) |
|||
if "Page" in (page.Name): |
|||
for ii in (page.Group): |
|||
if ((ii.Label) == "Symbol_EU") or ((ii.Label) == "Symbol_US") : |
|||
App.activeDocument().removeObject(ii.Name) |
|||
points=[FreeCAD.Vector(-7.5,0.0,0.0),FreeCAD.Vector(20.0,0.0,0.0)] |
|||
i = Draft.makeWire(points,closed=False,face=False,support=None) |
|||
App.ActiveDocument.Symbol_EU.addGeometry(Part.Line(App.Vector(-5.0,-2.5,0.0),App.Vector(-5.0,2.5,0.0))) |
|||
comP.append(i.Shape) |
|||
App.ActiveDocument.Symbol_EU.addGeometry(Part.Line(App.Vector(5.0,-5.0,0.0),App.Vector(-5.0,-2.5,0.0))) |
|||
nameL.append(i.Name) |
|||
App.ActiveDocument.Symbol_EU.addGeometry(Part.Line(App.Vector(5.0,-5.0,0.0),App.Vector(5.0,5.0,0.0))) |
|||
points=[FreeCAD.Vector(0.0,7.5,0.0),FreeCAD.Vector(0.0,-7.5,0.0)] |
|||
Gui.getDocument(App.ActiveDocument.Name).resetEdit() |
|||
i = Draft.makeWire(points,closed=False,face=False,support=None) |
|||
FreeCADGui.getDocument(App.ActiveDocument.Name).getObject("Symbol_EU").LineColor = (0.00,0.00,0.00) |
|||
comP.append(i.Shape) |
|||
App.ActiveDocument.recompute() |
|||
nameL.append(i.Name) |
|||
points=[FreeCAD.Vector(7.5,2.5,0.0),FreeCAD.Vector(17.5,5.0,0.0),FreeCAD.Vector(17.5,-5.0,0.0),FreeCAD.Vector(7.5,-2.5,0.0)] |
|||
i = Draft.makeWire(points,closed=True,face=False,support=None) |
|||
comP.append(i.Shape) |
|||
nameL.append(i.Name) |
|||
pl=FreeCAD.Placement() |
|||
pl.Rotation.Q=(0.0,-0.0,-0.0,1.0) |
|||
pl.Base=FreeCAD.Vector(0.0,-0.0,0.0) |
|||
i = Draft.makeCircle(radius=2.5,placement=pl,face=False,support=None) |
|||
comP.append(i.Shape) |
|||
nameL.append(i.Name) |
|||
i = Draft.makeCircle(radius=5.0,placement=pl,face=False,support=None) |
|||
comP.append(i.Shape) |
|||
nameL.append(i.Name) |
|||
comp = Part.makeCompound(comP) |
|||
Part.show(comp) |
|||
App.ActiveDocument.ActiveObject.Label = "Symbol_US" |
|||
obj = FreeCAD.ActiveDocument.ActiveObject |
|||
obj.ViewObject.LineColor = (0.0,0.0,0.0) |
|||
obj.ViewObject.Visibility = False |
|||
obj2 = Draft.makeDrawingView(obj, page) |
|||
obj2.X = depx |
|||
obj2.Y = depy |
|||
obj2.Scale = scale #0.8 # A3 |
|||
obj2.Label = "Symbol_US" |
|||
for i in nameL: App.activeDocument().removeObject(i) |
|||
App.activeDocument().getObjectsByLabel(PageActive.encode('utf-8'))[0].addObject(obj) |
|||
App.activeDocument().getObjectsByLabel(PageActive.encode('utf-8'))[0].addObject(obj2) |
|||
App.ActiveDocument.recompute() |
|||
else: |
|||
ui.pushButton05.setStyleSheet("background-color: red") # This function gives a color button |
|||
FreeCAD.Console.PrintError("Error selected page [ " + PageActive + " ]" + "\n") |
|||
def memoEntree(): |
|||
App.activeDocument().addObject('Drawing::FeatureViewPart','SymbolEU') |
|||
global MDESIGNED_BY, MCREATION_DATE, MCREA_DATE , MCREA_TIME, MCHECKED_BY, MCHECK_DATE |
|||
App.activeDocument().SymbolEU.Source = App.activeDocument().Symbol_EU |
|||
global MCHEC_DATE , MCHEC_TIME , MSIZE , MSCALE , MWEIGHT ,MDRAWING_NUMBER |
|||
App.activeDocument().SymbolEU.Direction = (0.0,0.0,1.0) |
|||
global MSHEET , MTITLE , MDESCRIPTION, MCOMPANY , MCOPYRIGHT |
|||
App.activeDocument().SymbolEU.X = depx |
|||
global MNote_A, MNote_B, MNote_C, MNote_D, MNote_E, MNote_F, MNote_G, MNote_H, MNote_I |
|||
App.activeDocument().SymbolEU.Y = depy |
|||
global PageActive |
|||
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: |
try: |
||
page = App.activeDocument().getObjectsByLabel(PageActive.encode('utf-8'))[0].Name |
|||
App.getDocument(App.ActiveDocument.Name).removeObject("Symbol_US") |
|||
except: |
except Exception: |
||
page = App.activeDocument().getObjectsByLabel(PageActive)[0] |
|||
None |
|||
try: |
try: |
||
MDESIGNED_BY = App.activeDocument().getObject(page).EditableTexts[0] # lineEdit01 DESIGNED_BY |
|||
App.getDocument(App.ActiveDocument.Name).removeObject("Symbol_EU") |
|||
MCREATION_DATE = App.activeDocument().getObject(page).EditableTexts[1] # lineEdit02 CREATION_DATE date |
|||
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))) |
|||
MCREA_DATE = MCREA_TIME = MCHEC_DATE = MCHEC_TIME = "" |
|||
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)) |
|||
try: |
|||
App.ActiveDocument.Symbol_US.addGeometry(Part.Line(App.Vector(17.5,5.0,0.0),App.Vector(7.5,2.5,0.0))) |
|||
MCREA_DATE = MCREATION_DATE.split(" - ")[0] # lineEdit02h date |
|||
App.ActiveDocument.Symbol_US.addGeometry(Part.Line(App.Vector(7.5,-2.5,0.0),App.Vector(7.5,2.5,0.0))) |
|||
except: |
|||
App.ActiveDocument.Symbol_US.addGeometry(Part.Line(App.Vector(17.5,-5.0,0.0),App.Vector(7.5,-2.5,0.0))) |
|||
MCREA_DATE = MCREATION_DATE |
|||
App.ActiveDocument.Symbol_US.addGeometry(Part.Line(App.Vector(17.5,-5.0,0.0),App.Vector(17.5,5.0,0.0))) |
|||
try: |
|||
Gui.getDocument(App.ActiveDocument.Name).resetEdit() |
|||
MCREA_TIME = MCREATION_DATE.split(" - ")[1] # lineEdit02h heure |
|||
FreeCADGui.getDocument(App.ActiveDocument.Name).getObject("Symbol_US").LineColor = (0.00,0.00,0.00) |
|||
except: None |
|||
App.ActiveDocument.recompute() |
|||
App.activeDocument(). |
MCHECKED_BY = App.activeDocument().getObject(page).EditableTexts[2] # lineEdit03 |
||
MCHECK_DATE = App.activeDocument().getObject(page).EditableTexts[3] # lineEdit04 date |
|||
App.activeDocument().SymbolUS.Direction = (0.0,0.0,1.0) |
|||
try: |
|||
App.activeDocument().SymbolUS.X = depx |
|||
MCHEC_DATE = MCHECK_DATE.split(" - ")[0] # lineEdit04 date |
|||
App.activeDocument().SymbolUS.Y = depy |
|||
except: |
|||
App.activeDocument().SymbolUS.Scale = 0.8 |
|||
MCHEC_DATE = MCHECK_DATE |
|||
App.activeDocument().Page.addObject(App.activeDocument().SymbolUS) |
|||
try: |
|||
App.ActiveDocument.recompute() |
|||
MCHEC_TIME = MCHECK_DATE.split(" - ")[1] # lineEdit04h heure |
|||
# App.getDocument(App.ActiveDocument.Name).removeObject("Symbol_US") |
|||
except: None |
|||
FreeCADGui.getDocument(App.ActiveDocument.Name).getObject("Symbol_US").Visibility = False |
|||
MSIZE = App.activeDocument().getObject(page).EditableTexts[4] # lineEdit05 |
|||
MSCALE = App.activeDocument().getObject(page).EditableTexts[5] # lineEdit06 |
|||
MWEIGHT = App.activeDocument().getObject(page).EditableTexts[6] # lineEdit07 |
|||
MDRAWING_NUMBER = App.activeDocument().getObject(page).EditableTexts[7] # lineEdit08 |
|||
MSHEET = App.activeDocument().getObject(page).EditableTexts[8] # lineEdit09 |
|||
MTITLE = App.activeDocument().getObject(page).EditableTexts[9] # textEdit_01 |
|||
try: |
|||
MDESCRIPTION = App.activeDocument().getObject(page).EditableTexts[10] # textEdit_02 |
|||
MCOMPANY = App.activeDocument().getObject(page).EditableTexts[11] # textEdit_02b |
|||
MCOPYRIGHT = App.activeDocument().getObject(page).EditableTexts[12] # lineEdit_20 |
|||
MNote_A = App.activeDocument().getObject(page).EditableTexts[13] # lineEdit_10 |
|||
MNote_B = App.activeDocument().getObject(page).EditableTexts[14] # lineEdit_11 |
|||
MNote_C = App.activeDocument().getObject(page).EditableTexts[15] # lineEdit_12 |
|||
MNote_D = App.activeDocument().getObject(page).EditableTexts[16] # lineEdit_13 |
|||
MNote_E = App.activeDocument().getObject(page).EditableTexts[17] # lineEdit_14 |
|||
MNote_F = App.activeDocument().getObject(page).EditableTexts[18] # lineEdit_15 |
|||
MNote_G = App.activeDocument().getObject(page).EditableTexts[19] # lineEdit_16 |
|||
MNote_H = App.activeDocument().getObject(page).EditableTexts[20] # lineEdit_17 |
|||
MNote_I = App.activeDocument().getObject(page).EditableTexts[21] # lineEdit_18 |
|||
except Exception: |
|||
App.Console.PrintError("Erreur cartouche level DESCRIPTION (Missing field)"+"\n" |
|||
"You may be using an inadequate template. Try with this template"+"\n") |
|||
App.Console.PrintMessage("http://www.freecadweb.org/wiki/index.php?title=Misc_templates_Full"+"\n\n") |
|||
App.Console.PrintError("Or for the original FreeCAD template use this macro"+"\n") |
|||
App.Console.PrintMessage("http://www.freecadweb.org/wiki/index.php?title=Macro_CartoucheFC"+"\n") |
|||
errorDialog("Erreur cartouche level DESCRIPTION (Missing field)"+"\n" |
|||
"You may be using an inadequate template. Try with this template"+"\n" |
|||
"http://www.freecadweb.org/wiki/index.php?title=Misc_templates_Full"+"\n\n" |
|||
"Or for the original FreeCAD template use this macro"+"\n" |
|||
"http://www.freecadweb.org/wiki/index.php?title=Macro_CartoucheFC"+"\n\n") |
|||
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: |
except: |
||
errorDialog("Erreur cartouche") |
|||
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): |
class Ui_MainWindow(object): |
||
def __init__(self, MainWindow): |
def __init__(self, MainWindow): |
||
global path |
|||
global PageActive |
|||
self.window = MainWindow |
self.window = MainWindow |
||
#___________________________________________________________________________________ |
|||
MainWindow.setObjectName(_fromUtf8("MainWindow")) |
MainWindow.setObjectName(_fromUtf8("MainWindow")) |
||
MainWindow.resize(810, |
MainWindow.resize(810, 400) |
||
MainWindow.setMaximumSize(QtCore.QSize(810, |
MainWindow.setMaximumSize(QtCore.QSize(810, 400)) |
||
self.centralWidget = QtGui.QWidget(MainWindow) |
self.centralWidget = QtGui.QWidget(MainWindow) |
||
self.centralWidget.setObjectName(_fromUtf8("centralWidget")) |
self.centralWidget.setObjectName(_fromUtf8("centralWidget")) |
||
Line 305: | Line 424: | ||
self.pushButton03 = QtGui.QPushButton(self.centralWidget) |
self.pushButton03 = QtGui.QPushButton(self.centralWidget) |
||
self.pushButton03.setGeometry(QtCore.QRect(335, 360, 93, 28)) |
self.pushButton03.setGeometry(QtCore.QRect(335, 360, 93, 28)) |
||
self.pushButton03.setToolTip("The memo button work only with the first Page") |
|||
self.pushButton03.setObjectName(_fromUtf8("pushButton03")) |
self.pushButton03.setObjectName(_fromUtf8("pushButton03")) |
||
self.pushButton03.clicked.connect(self.on_pushButton03_clicked) #connection pushButton03 |
self.pushButton03.clicked.connect(self.on_pushButton03_clicked) #connection pushButton03 |
||
Line 315: | Line 435: | ||
self.pushButton05 = QtGui.QPushButton(self.centralWidget) |
self.pushButton05 = QtGui.QPushButton(self.centralWidget) |
||
self.pushButton05.setGeometry(QtCore.QRect(555, 360, 93, 28)) |
self.pushButton05.setGeometry(QtCore.QRect(555, 360, 93, 28)) |
||
# self.pushButton05.setStyleSheet("background-color: red") # This function gives a color button |
|||
self.pushButton05.setObjectName(_fromUtf8("pushButton05")) |
self.pushButton05.setObjectName(_fromUtf8("pushButton05")) |
||
self.pushButton05.clicked.connect(self.on_pushButton05_clicked) #connection pushButton05 |
self.pushButton05.clicked.connect(self.on_pushButton05_clicked) #connection pushButton05 |
||
##### |
|||
self.groupBox = QtGui.QGroupBox(self.centralWidget) |
|||
self.groupBox.setGeometry(QtCore.QRect(20, 159, 190, 101)) |
|||
self.groupBox.setObjectName(_fromUtf8("groupBox")) |
|||
self.label_20 = QtGui.QLabel(self.groupBox) |
|||
self.label_20.setGeometry(QtCore.QRect(115, 5, 61, 17)) |
|||
self.label_20.setObjectName(_fromUtf8("label_20")) |
|||
############### font and color Label |
|||
font = QtGui.QFont() |
|||
font.setBold(True) |
|||
self.label_20.setFont(font) |
|||
self.label_20.setStyleSheet("color : #ff0000") |
|||
############### font and color |
|||
self.label_20.setVisible(False) |
|||
self.radioButton_0 = QtGui.QRadioButton(self.groupBox) |
|||
self.radioButton_0.setGeometry(QtCore.QRect(95, 1, 91, 17)) |
|||
self.radioButton_0.setChecked(True) |
|||
self.radioButton_0.setEnabled(False) |
|||
self.radioButton_0.setVisible(False) |
|||
self.radioButton_0.setObjectName(_fromUtf8("radioButton_0")) |
|||
self.radioButton_1 = QtGui.QRadioButton(self.groupBox) |
|||
self.radioButton_1.setGeometry(QtCore.QRect(95, 20, 91, 17)) |
|||
self.radioButton_1.setObjectName(_fromUtf8("radioButton_1")) |
|||
self.radioButton_1.clicked.connect(self.on_radioButton_A3_clicked)# connect radioButton_A3 |
|||
self.radioButton_2 = QtGui.QRadioButton(self.groupBox) |
|||
self.radioButton_2.setGeometry(QtCore.QRect(95, 39, 91, 17)) |
|||
self.radioButton_2.setObjectName(_fromUtf8("radioButton_2")) |
|||
self.radioButton_2.clicked.connect(self.on_radioButton_A3_clicked)# connect radioButton_A3 |
|||
self.radioButton_3 = QtGui.QRadioButton(self.groupBox) |
|||
self.radioButton_3.setGeometry(QtCore.QRect(95, 58, 91, 17)) |
|||
self.radioButton_3.setObjectName(_fromUtf8("radioButton_3")) |
|||
self.radioButton_3.clicked.connect(self.on_radioButton_A4_clicked)# connect radioButton_A4 |
|||
self.radioButton_4 = QtGui.QRadioButton(self.groupBox) |
|||
self.radioButton_4.setGeometry(QtCore.QRect(95, 76, 91, 17)) |
|||
self.radioButton_4.setObjectName(_fromUtf8("radioButton_4")) |
|||
self.radioButton_4.clicked.connect(self.on_radioButton_A4_clicked)# connect radioButton_A4 |
|||
self.lineEdit_05 = QtGui.QLineEdit(self.groupBox) |
|||
self.lineEdit_05.setGeometry(QtCore.QRect(10, 16, 75, 41)) |
|||
font = QtGui.QFont() |
|||
font.setPointSize(25) |
|||
font.setBold(False) |
|||
font.setWeight(50) |
|||
self.lineEdit_05.setFont(font) |
|||
self.lineEdit_05.setAlignment(QtCore.Qt.AlignCenter) |
|||
self.lineEdit_05.setObjectName(_fromUtf8("lineEdit_05")) |
|||
self.lineEdit_05.setText(SIZE) |
|||
self.frame = QtGui.QFrame(self.groupBox) |
|||
self.frame.setGeometry(QtCore.QRect(10, 58, 74, 41)) |
|||
self.frame.setFrameShape(QtGui.QFrame.StyledPanel) |
|||
self.frame.setFrameShadow(QtGui.QFrame.Raised) |
|||
self.frame.setObjectName(_fromUtf8("frame")) |
|||
self.radioButton_EU = QtGui.QRadioButton(self.frame) |
|||
self.radioButton_EU.setGeometry(QtCore.QRect(0, 1, 41, 17)) |
|||
self.radioButton_EU.setChecked(True) |
|||
self.radioButton_EU.setObjectName(_fromUtf8("radioButton_EU")) |
|||
self.radioButton_EU.clicked.connect(self.on_radioButton_EU_clicked) #connection radioButton_EU |
|||
self.radioButton_US = QtGui.QRadioButton(self.frame) |
|||
self.radioButton_US.setGeometry(QtCore.QRect(37, 1, 41, 17)) |
|||
self.radioButton_US.setObjectName(_fromUtf8("radioButton_US")) |
|||
self.radioButton_US.clicked.connect(self.on_radioButton_US_clicked) #connection radioButton_US |
|||
self.pushButton10 = QtGui.QPushButton(self.frame) |
|||
self.pushButton10.setGeometry(QtCore.QRect(0, 18, 75, 23)) |
|||
self.pushButton10.setToolTip("Create the symbol EU or US"+"\n" |
|||
"This button is Independent of the Write button"+"\n" |
|||
"If you desire modify the symbol in the cartouche,"+"\n" |
|||
"delete the inadequate symbol manualy.") |
|||
self.pushButton10.setEnabled(False) |
|||
self.pushButton10.setObjectName(_fromUtf8("pushButton10")) |
|||
self.pushButton10.clicked.connect(self.on_pushButton10_clicked) #connection pushButton10 |
|||
##### |
|||
self.pushButton06 = QtGui.QPushButton(self.centralWidget) |
self.pushButton06 = QtGui.QPushButton(self.centralWidget) |
||
self.pushButton06.setGeometry(QtCore.QRect(170, |
self.pushButton06.setGeometry(QtCore.QRect(170, 57, 20, 20)) |
||
self.pushButton06.setObjectName(_fromUtf8("pushButton06")) |
self.pushButton06.setObjectName(_fromUtf8("pushButton06")) |
||
self.pushButton06.clicked.connect(self.on_pushButton06_clicked) #connection pushButton06 |
self.pushButton06.clicked.connect(self.on_pushButton06_clicked) #connection pushButton06 |
||
self.pushButton07 = QtGui.QPushButton(self.centralWidget) |
self.pushButton07 = QtGui.QPushButton(self.centralWidget) |
||
self.pushButton07.setGeometry(QtCore.QRect(190, |
self.pushButton07.setGeometry(QtCore.QRect(190, 57, 20, 20)) |
||
self.pushButton07.setObjectName(_fromUtf8("pushButton07")) |
self.pushButton07.setObjectName(_fromUtf8("pushButton07")) |
||
self.pushButton07.clicked.connect(self.on_pushButton07_clicked) #connection pushButton07 |
self.pushButton07.clicked.connect(self.on_pushButton07_clicked) #connection pushButton07 |
||
self.pushButton08 = QtGui.QPushButton(self.centralWidget) |
self.pushButton08 = QtGui.QPushButton(self.centralWidget) |
||
self.pushButton08.setGeometry(QtCore.QRect(170, |
self.pushButton08.setGeometry(QtCore.QRect(170, 137, 20, 20)) |
||
self.pushButton08.setObjectName(_fromUtf8("pushButton08")) |
self.pushButton08.setObjectName(_fromUtf8("pushButton08")) |
||
self.pushButton08.clicked.connect(self.on_pushButton08_clicked) #connection pushButton08 |
self.pushButton08.clicked.connect(self.on_pushButton08_clicked) #connection pushButton08 |
||
self.pushButton09 = QtGui.QPushButton(self.centralWidget) |
self.pushButton09 = QtGui.QPushButton(self.centralWidget) |
||
self.pushButton09.setGeometry(QtCore.QRect(190, |
self.pushButton09.setGeometry(QtCore.QRect(190, 137, 20, 20)) |
||
self.pushButton09.setObjectName(_fromUtf8("pushButton09")) |
self.pushButton09.setObjectName(_fromUtf8("pushButton09")) |
||
self.pushButton09.clicked.connect(self.on_pushButton09_clicked) #connection 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 = QtGui.QLineEdit(self.centralWidget) |
||
self.lineEdit_01.setGeometry(QtCore.QRect(20, 20, |
self.lineEdit_01.setGeometry(QtCore.QRect(20, 20, 190, 16)) |
||
font = QtGui.QFont() |
font = QtGui.QFont() |
||
font.setPointSize(7) |
font.setPointSize(7) |
||
Line 368: | Line 567: | ||
self.lineEdit_03 = QtGui.QLineEdit(self.centralWidget) |
self.lineEdit_03 = QtGui.QLineEdit(self.centralWidget) |
||
self.lineEdit_03.setGeometry(QtCore.QRect(20, 100, |
self.lineEdit_03.setGeometry(QtCore.QRect(20, 100, 190, 16)) |
||
font = QtGui.QFont() |
font = QtGui.QFont() |
||
font.setPointSize(7) |
font.setPointSize(7) |
||
Line 390: | Line 589: | ||
self.lineEdit_04h.setObjectName(_fromUtf8("lineEdit_04h")) |
self.lineEdit_04h.setObjectName(_fromUtf8("lineEdit_04h")) |
||
self.lineEdit_04h.setText(CHEC_TIME) |
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 = QtGui.QLineEdit(self.centralWidget) |
||
Line 479: | Line 667: | ||
self.lineEdit_18.setObjectName(_fromUtf8("lineEdit_18")) |
self.lineEdit_18.setObjectName(_fromUtf8("lineEdit_18")) |
||
self.lineEdit_18.setText(Note_I) |
self.lineEdit_18.setText(Note_I) |
||
## |
|||
self.lineEdit_page = QtGui.QLineEdit(self.centralWidget) # nom de page |
|||
self.lineEdit_page.setGeometry(QtCore.QRect(20, 365, 181, 20)) |
|||
self.lineEdit_page.setToolTip("Name page to work"+"\n" |
|||
"The name of the first page is always named 'Page'" |
|||
"Select the new page in the Combo view") |
|||
self.lineEdit_page.setObjectName(_fromUtf8("lineEdit_page")) |
|||
self.lineEdit_page.setEnabled(False) |
|||
self.lineEdit_page.setStyleSheet("color: red") |
|||
self.lineEdit_page.setText(PageActive) |
|||
self.lineEdit_page.textChanged.connect(self.on_lineEdit_page_Pressed) # |
|||
self.label_01T = QtGui.QLabel(self.centralWidget) |
self.label_01T = QtGui.QLabel(self.centralWidget) |
||
Line 484: | Line 683: | ||
self.label_01T.setObjectName(_fromUtf8("label_01T")) |
self.label_01T.setObjectName(_fromUtf8("label_01T")) |
||
self.textEdit_01 = QtGui.QTextEdit(self.centralWidget) |
self.textEdit_01 = QtGui.QTextEdit(self.centralWidget) # Title |
||
self.textEdit_01.setGeometry(QtCore.QRect(220, 20, 431,55 )) |
self.textEdit_01.setGeometry(QtCore.QRect(220, 20, 431,55 )) |
||
font = QtGui.QFont() |
font = QtGui.QFont() |
||
Line 498: | Line 697: | ||
self.label_02T.setObjectName(_fromUtf8("label_02T")) |
self.label_02T.setObjectName(_fromUtf8("label_02T")) |
||
self.textEdit_02 = QtGui.QTextEdit(self.centralWidget) |
self.textEdit_02 = QtGui.QTextEdit(self.centralWidget) # DESCRIPTION |
||
self.textEdit_02.setGeometry(QtCore.QRect(220, 100, 431, 55)) |
self.textEdit_02.setGeometry(QtCore.QRect(220, 100, 431, 55)) |
||
self.textEdit_02.setObjectName(_fromUtf8("textEdit_02")) |
self.textEdit_02.setObjectName(_fromUtf8("textEdit_02")) |
||
Line 507: | Line 706: | ||
self.label_02bT.setObjectName(_fromUtf8("label_02bT")) |
self.label_02bT.setObjectName(_fromUtf8("label_02bT")) |
||
self.textEdit_02b = QtGui.QTextEdit(self.centralWidget) |
self.textEdit_02b = QtGui.QTextEdit(self.centralWidget) # COMPANY |
||
self.textEdit_02b.setGeometry(QtCore.QRect(220, 180, 340, 60)) |
self.textEdit_02b.setGeometry(QtCore.QRect(220, 180, 340, 60)) |
||
self.textEdit_02b.setObjectName(_fromUtf8("textEdit_02b")) |
self.textEdit_02b.setObjectName(_fromUtf8("textEdit_02b")) |
||
self.textEdit_02b.setText(COMPANY) |
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 = QtGui.QLabel(self.centralWidget) |
||
Line 533: | Line 726: | ||
self.label_04.setGeometry(QtCore.QRect(20, 120, 91, 16)) |
self.label_04.setGeometry(QtCore.QRect(20, 120, 91, 16)) |
||
self.label_04.setObjectName(_fromUtf8("label_04")) |
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 = QtGui.QLabel(self.centralWidget) |
||
Line 638: | Line 827: | ||
self.label_19.setGeometry(QtCore.QRect(720, 15, 100, 33)) |
self.label_19.setGeometry(QtCore.QRect(720, 15, 100, 33)) |
||
self.label_19.setObjectName(_fromUtf8("label_19")) |
self.label_19.setObjectName(_fromUtf8("label_19")) |
||
self.label_page = QtGui.QLabel(self.centralWidget) |
|||
self.label_page.setGeometry(QtCore.QRect(20, 350, 181, 16)) |
|||
self.label_page.setObjectName(_fromUtf8("label_page")) |
|||
self.label_Version = QtGui.QLabel(self.centralWidget) # Version |
|||
self.label_Version.setGeometry(QtCore.QRect(685, 383, 121, 20)) |
|||
self.label_Version.setObjectName(_fromUtf8("label_Version")) |
|||
MainWindow.setCentralWidget(self.centralWidget) |
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) |
self.retranslateUi(MainWindow) |
||
Line 652: | Line 842: | ||
def retranslateUi(self, MainWindow): |
def retranslateUi(self, MainWindow): |
||
MainWindow.setWindowFlags(PySide.QtCore.Qt.WindowStaysOnTopHint) # cette fonction met la fenetre en avant |
|||
try: |
|||
MainWindow.setWindowTitle("Cartouche (Full)") |
|||
MainWindow.setWindowFlags(PyQt4.QtCore.Qt.WindowStaysOnTopHint) # cette fonction met la fenêtre en avant |
|||
# self.pushButton01.setText("Position") |
|||
except Exception: |
|||
self.pushButton02.setText("Quit") #Quitter |
|||
MainWindow.setWindowFlags(PySide.QtCore.Qt.WindowStaysOnTopHint) # cette fonction met la fenêtre en avant |
|||
self.pushButton03.setText("Memo") |
|||
MainWindow.setWindowTitle(_translate("MainWindow", "Cartouche", None)) |
|||
self.pushButton04.setText("Clean")#Nettoyer |
|||
self. |
self.pushButton05.setText("Write")#Appliquer |
||
self. |
self.pushButton06.setText("D.") |
||
self. |
self.pushButton07.setText("H.") |
||
self. |
self.pushButton08.setText("D.") |
||
self. |
self.pushButton09.setText("H.") |
||
self. |
self.pushButton10.setText("Create Symb.") |
||
self.pushButton08.setText(_translate("MainWindow", "D.", None)) |
|||
self. |
self.label_01.setText("Designed by :") |
||
self. |
self.label_02.setText("Date :") |
||
self.label_03.setText("Checked by :") |
|||
self.label_04.setText("Date :") |
|||
self.label_06.setText("Scale :") |
|||
self.label_07.setText("Weight (Kg) :") |
|||
self.label_08.setText("Drawing number :") |
|||
self.label_01T.setText("Title :") |
|||
self.label_02T.setText("Description :") |
|||
self.label_02bT.setText("Company :") |
|||
self.label_09.setText("Sheet :") |
|||
self.label_10.setText("A") |
|||
self.label_11.setText("B") |
|||
self.label_12.setText("C") |
|||
self.label_13.setText("D") |
|||
self.label_14.setText("E") |
|||
self.label_15.setText("F") |
|||
self.label_16.setText("G") |
|||
self.label_17.setText("H") |
|||
self.label_18.setText("I") |
|||
self.label_19.setText("Notes") |
|||
self.label_20.setText("Warning") |
|||
self.label_page.setText("Name page to work") |
|||
self.label_Version.setText("Ver: 00.10 15/02/2017") # Version |
|||
self.groupBox.setTitle("Size :") |
|||
self.radioButton_1.setText("A3 Landscape") |
|||
self.radioButton_2.setText("A3 Portrait") |
|||
self.radioButton_3.setText("A4 Landscape") |
|||
self.radioButton_4.setText("A4 Portrait") |
|||
self.radioButton_EU.setText("EU") |
|||
self.radioButton_US.setText("US") |
|||
self.lineEdit_05.setText("?") |
|||
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 |
# Radio Boutons |
||
def |
def on_radioButton_A3_clicked(self): # connect radioButton_A3 |
||
self.label_20.setVisible(False) |
|||
self.pushButton10.setEnabled(True) |
|||
self.lineEdit_05.setText("A3") |
|||
self.pushButton10.setStyleSheet("color: QPalette.Base") # origin system |
|||
symbol_EU(247.5,263.5) |
|||
def on_radioButton_A4_clicked(self): # connect radioButton_A4 |
|||
self.label_20.setVisible(False) |
|||
self.pushButton10.setEnabled(True) |
|||
self.lineEdit_05.setText("A4") |
|||
self.pushButton10.setStyleSheet("color: QPalette.Base") # origin system |
|||
# Radio Boutons |
|||
def on_radioButton_EU_clicked(self): # Bouton /Symbole EU |
|||
global SymbolSwitch |
|||
SymbolSwitch = 1 |
|||
def on_radioButton_US_clicked(self): # Bouton /Symbole US |
|||
global SymbolSwitch |
|||
SymbolSwitch = 0 |
|||
def on_pushButton10_clicked(self): # Bouton /Symbole EU US disposition dans le cartouche |
|||
global SymbolSwitch |
|||
global PageActive |
|||
self.label_20.setVisible(False) |
|||
if self.radioButton_0.isChecked(): |
|||
self.label_20.setVisible(True) |
|||
self.pushButton10.setEnabled(False) |
|||
self.pushButton10.setStyleSheet("color: red") |
|||
self.lineEdit_page.setStyleSheet("color: red") |
|||
FreeCAD.Console.PrintError("Select one format A3 or A4 for the Symbole" + "\n") |
|||
else: |
else: |
||
self.pushButton10. |
self.pushButton10.setEnabled(True) |
||
self. |
self.pushButton10.setStyleSheet("background-color: #FF5B2B") |
||
self.pushButton10.setText("Wait.") |
|||
FreeCADGui.updateGui() # rafraichi l'ecran |
|||
if SymbolSwitch == 1: |
|||
if self.radioButton_1.isChecked(): |
|||
symbol_EU(247.5, 263.5, 0.8) # A3 Landscape |
|||
elif self.radioButton_2.isChecked(): |
|||
symbol_EU(124.55, 386.3, 0.8) # A3 Portrait |
|||
elif self.radioButton_3.isChecked(): |
|||
symbol_EU(158.7, 181.35, 0.6) # A4 Landscape |
|||
elif self.radioButton_4.isChecked(): |
|||
symbol_EU(71.9, 269.0, 0.6) # A4 Portrait |
|||
else: |
|||
if self.radioButton_1.isChecked(): |
|||
symbol_US(247.5, 263.5, 0.8) # A3 Landscape |
|||
elif self.radioButton_2.isChecked(): |
|||
symbol_US(124.55, 386.3, 0.8) # A3 Portrait |
|||
elif self.radioButton_3.isChecked(): |
|||
symbol_US(158.7, 181.35, 0.6) # A4 Landscape |
|||
elif self.radioButton_4.isChecked(): |
|||
symbol_US(71.9, 269.0, 0.6) # A4 Portrait |
|||
self.pushButton10.setStyleSheet("color: QPalette.Base") # origin system |
|||
self.pushButton10.setText("Create Symb.") |
|||
FreeCADGui.updateGui() # rafraichi l'ecran |
|||
def on_lineEdit_page_Pressed(self): # Name page |
|||
global PageActive |
|||
PageActive = self.lineEdit_page.text() |
|||
def on_pushButton09_clicked(self): # Bouton /heure document |
def on_pushButton09_clicked(self): # Bouton /heure document |
||
self.lineEdit_04h.setText(str(heure())) |
self.lineEdit_04h.setText(str(heure())) |
||
def on_pushButton08_clicked(self): # Bouton date/ document |
def on_pushButton08_clicked(self): # Bouton date/ document |
||
global SymbolSwitch |
|||
if self.textEdit_03.toPlainText()=="Symbole US": |
|||
if SymbolSwitch==0: |
|||
self.lineEdit_04.setText(str(dateUs())) |
self.lineEdit_04.setText(str(dateUs())) |
||
else: |
else: |
||
self.lineEdit_04.setText(str(dateEu())) |
self.lineEdit_04.setText(str(dateEu())) |
||
def on_pushButton07_clicked(self): # Bouton /heure checked |
def on_pushButton07_clicked(self): # Bouton /heure checked |
||
self.lineEdit_02h.setText(str(heure())) |
self.lineEdit_02h.setText(str(heure())) |
||
def on_pushButton06_clicked(self): # Bouton date/ checked |
def on_pushButton06_clicked(self): # Bouton date/ checked |
||
global SymbolSwitch |
|||
if self.textEdit_03.toPlainText()=="Symbole US": |
|||
if SymbolSwitch==0: |
|||
self.lineEdit_02.setText(str(dateUs())) |
self.lineEdit_02.setText(str(dateUs())) |
||
else: |
else: |
||
self.lineEdit_02.setText(str(dateEu())) |
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()) |
|||
def on_pushButton05_clicked(self): # Bouton Appliquer |
|||
try: |
try: |
||
global DESIGNED_BY, CREATION_DATE, CREA_DATE , CREA_TIME, CHECKED_BY, CHECK_DATE |
|||
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'),] |
|||
global CHEC_DATE , CHEC_TIME , SIZE , SCALE , WEIGHT ,DRAWING_NUMBER |
|||
App.ActiveDocument.recompute() |
|||
global SHEET , TITLE , DESCRIPTION, COMPANY , COPYRIGHT |
|||
except: |
|||
global Note_A, Note_B, Note_C, Note_D, Note_E, Note_F, Note_G, Note_H, Note_I |
|||
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'), ] |
|||
global ui |
|||
global SymbolSwitch |
|||
global PageActive |
|||
try: |
|||
page = App.activeDocument().getObjectsByLabel(PageActive.encode('utf-8'))[0] |
|||
except Exception: |
|||
page = App.activeDocument().getObjectsByLabel(PageActive)[0] |
|||
if len(str(page)) != 2: |
|||
self.pushButton05.setStyleSheet("background-color: #FF5B2B") |
|||
self.pushButton05.setText("Wait.") |
|||
FreeCADGui.updateGui() # rafraichi l'ecran |
|||
DESIGNED_BY = (self.lineEdit_01.text()) |
|||
CREATION_DATE = (self.lineEdit_02.text())+" - "+(self.lineEdit_02h.text()) |
|||
CHECKED_BY = (self.lineEdit_03.text()) |
|||
CHECK_DATE = (self.lineEdit_04.text())+" - "+(self.lineEdit_04h.text()) |
|||
SIZE = (self.lineEdit_05.text()) |
|||
SCALE = (self.lineEdit_06.text()) |
|||
WEIGHT = (self.lineEdit_07.text()) |
|||
DRAWING_NUMBER = (self.lineEdit_08.text()) |
|||
SHEET = (self.lineEdit_09.text()) |
|||
TITLE = (self.textEdit_01.toPlainText()) |
|||
DESCRIPTION = (self.textEdit_02.toPlainText()) |
|||
COMPANY = (self.textEdit_02b.toPlainText()) |
|||
COPYRIGHT = (self.lineEdit_20.text()) |
|||
Note_A = (self.lineEdit_10.text()) |
|||
Note_B = (self.lineEdit_11.text()) |
|||
Note_C = (self.lineEdit_12.text()) |
|||
Note_D = (self.lineEdit_13.text()) |
|||
Note_E = (self.lineEdit_14.text()) |
|||
Note_F = (self.lineEdit_15.text()) |
|||
Note_G = (self.lineEdit_16.text()) |
|||
Note_H = (self.lineEdit_17.text()) |
|||
Note_I = (self.lineEdit_18.text()) |
|||
try: |
|||
FreeCAD.getDocument(App.ActiveDocument.Name).getObject(page.Name).EditableTexts = [DESIGNED_BY, CREATION_DATE, CHECKED_BY, CHECK_DATE, SIZE, SCALE, WEIGHT, DRAWING_NUMBER, SHEET, TITLE, DESCRIPTION, COMPANY, COPYRIGHT, Note_A, Note_B, Note_C, Note_D, Note_E, Note_F, Note_G, Note_H, Note_I, ] |
|||
#old FreeCAD.getDocument(App.ActiveDocument.Name).getObjectsByLabel(PageActive.encode('utf-8'))[0].EditableTexts = [DESIGNED_BY, CREATION_DATE, CHECKED_BY, CHECK_DATE, SIZE, SCALE, WEIGHT, DRAWING_NUMBER, SHEET, TITLE, DESCRIPTION, COMPANY, COPYRIGHT, Note_A, Note_B, Note_C, Note_D, Note_E, Note_F, Note_G, Note_H, Note_I, ] |
|||
App.ActiveDocument.recompute() |
|||
FreeCAD.Console.PrintMessage("Write done to ( " + page.Label + " )" + "\n") |
|||
self.pushButton05.setStyleSheet("color: QPalette.Base") |
|||
except Exception: |
|||
FreeCAD.Console.PrintError("Error write cartouche or verify the selected page ( " + page.Label + " )" + "\n") |
|||
self.pushButton05.setStyleSheet("background-color: red") |
|||
else: |
|||
FreeCAD.Console.PrintError("Error selected page ( " + Page.Label + " )" + "\n") |
|||
self.pushButton05.setStyleSheet("background-color: red") |
|||
except Exception: |
|||
self.pushButton05.setStyleSheet("background-color: red") |
|||
FreeCAD.Console.PrintError("Error or not page " + "\n") |
|||
self.pushButton05.setText("Write") |
|||
App.ActiveDocument.recompute() |
|||
def on_pushButton04_clicked(self): # Bouton nettoyer |
def on_pushButton04_clicked(self): # Bouton nettoyer |
||
try: |
|||
self.lineEdit_01.setText("") |
|||
App.getDocument(App.ActiveDocument.Name).removeObject("Symbol_US") |
|||
self.lineEdit_02.setText("") |
|||
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("") |
self.lineEdit_02h.setText("") |
||
self.lineEdit_03.setText("") |
|||
self.lineEdit_04.setText("") |
|||
self.lineEdit_04h.setText("") |
self.lineEdit_04h.setText("") |
||
self.lineEdit_05.setText("?") |
|||
self.lineEdit_06.setText("") |
|||
self.lineEdit_07.setText("") |
|||
self.lineEdit_08.setText("") |
|||
self.lineEdit_09.setText("") |
|||
self.textEdit_01.setText("") |
|||
self.textEdit_02.setText("") |
|||
self.textEdit_02b.setText("") |
|||
self.lineEdit_20.setText("") |
|||
self.lineEdit_10.setText("") |
|||
self.lineEdit_11.setText("") |
|||
self.lineEdit_12.setText("") |
|||
self.lineEdit_13.setText("") |
|||
self.lineEdit_14.setText("") |
|||
self.lineEdit_15.setText("") |
|||
self.lineEdit_16.setText("") |
|||
self.lineEdit_17.setText("") |
|||
self.lineEdit_18.setText("") |
|||
self.pushButton10.setStyleSheet("color: QPalette.Base") # origin system |
|||
self.label_20.setVisible(False) |
|||
self.radioButton_0.setChecked(True) |
|||
self.pushButton05.setEnabled(True) |
|||
self.pushButton05.setStyleSheet("background-color: QPalette.Base") # origin system |
|||
self.groupBox.setEnabled(True) |
|||
def on_pushButton03_clicked(self): # Bouton Memo |
def on_pushButton03_clicked(self): # Bouton Memo |
||
global MDESIGNED_BY, MCREATION_DATE, MCREA_DATE , MCREA_TIME, MCHECKED_BY, MCHECK_DATE |
|||
self.lineEdit_01.setText(DESIGNED_BY) |
|||
global MCHEC_DATE , MCHEC_TIME , MSIZE , MSCALE , MWEIGHT ,MDRAWING_NUMBER |
|||
self.lineEdit_02.setText(CREA_DATE) |
|||
global MSHEET , MTITLE , MDESCRIPTION, MCOMPANY , MCOPYRIGHT |
|||
self.lineEdit_02h.setText(CREA_TIME) |
|||
global MNote_A, MNote_B, MNote_C, MNote_D, MNote_E, MNote_F, MNote_G, MNote_H, MNote_I |
|||
self.lineEdit_03.setText(CHECKED_BY) |
|||
self.lineEdit_04.setText(CHEC_DATE) |
|||
self. |
self.lineEdit_01.setText(MDESIGNED_BY) |
||
self. |
self.lineEdit_02.setText(MCREA_DATE) |
||
self. |
self.lineEdit_02h.setText(MCREA_TIME) |
||
self. |
self.lineEdit_03.setText(MCHECKED_BY) |
||
self. |
self.lineEdit_04.setText(MCHEC_DATE) |
||
self. |
self.lineEdit_04h.setText(MCHEC_TIME) |
||
self. |
self.lineEdit_05.setText("?") #(SIZE) |
||
self. |
self.lineEdit_06.setText(MSCALE) |
||
self. |
self.lineEdit_07.setText(MWEIGHT) |
||
self. |
self.lineEdit_08.setText(MDRAWING_NUMBER) |
||
self. |
self.lineEdit_09.setText(MSHEET) |
||
self. |
self.textEdit_01.setText(MTITLE) |
||
self. |
self.textEdit_02.setText(MDESCRIPTION) |
||
self. |
self.textEdit_02b.setText(MCOMPANY) |
||
self. |
self.lineEdit_20.setText(MCOPYRIGHT) |
||
self. |
self.lineEdit_10.setText(MNote_A) |
||
self. |
self.lineEdit_11.setText(MNote_B) |
||
self. |
self.lineEdit_12.setText(MNote_C) |
||
self. |
self.lineEdit_13.setText(MNote_D) |
||
self.lineEdit_14.setText(MNote_E) |
|||
self.lineEdit_15.setText(MNote_F) |
|||
self.lineEdit_16.setText(MNote_G) |
|||
self.lineEdit_17.setText(MNote_H) |
|||
self.lineEdit_18.setText(MNote_I) |
|||
# self.lineEdit_page.setText(PageActive) |
|||
self.radioButton_0.setChecked(True) |
|||
def on_pushButton02_clicked(self): # Bouton Quitter |
def on_pushButton02_clicked(self): # Bouton Quitter |
||
App.Console.PrintMessage(" |
App.Console.PrintMessage("End CartoucheFC_Full\r\n") |
||
self.window.hide() |
self.window.hide() |
||
FreeCADGui.Selection.removeObserver(s) # Uninstalls the resident function |
|||
App.Console.PrintMessage("removeObserver"+"\n") |
|||
# def on_pushButton01_clicked(self): # Bouton appel de Position |
# def on_pushButton01_clicked(self): # Bouton appel de Position |
||
# MainWindow.resize(210, 480) |
# MainWindow.resize(210, 480) |
||
Line 827: | Line 1,116: | ||
# MainWindow.resize(810, 480) |
# MainWindow.resize(810, 480) |
||
#______________________________________________________________________________________ |
#______________________________________________________________________________________ |
||
class SelObserver: |
|||
print "run.." |
|||
def setSelection(self,document): # Selection in ComboView |
|||
global PageActive |
|||
global ui |
|||
if len(Gui.Selection.getSelection(document)) == 1: |
|||
ff = ui |
|||
ff.lineEdit_page.setStyleSheet("color: QPalette.Base") # origin system |
|||
ff.pushButton05.setEnabled(True) |
|||
ff.pushButton05.setStyleSheet("background-color: QPalette.Base") # origin system |
|||
ff.groupBox.setEnabled(True) |
|||
if (str(Gui.Selection.getSelection(document)[0].Name[0:4]) == "Page"): |
|||
PageActive = str(Gui.Selection.getSelection(document)[0].Label.encode('utf-8')) |
|||
try: |
|||
ff.lineEdit_page.setText(unicode(PageActive,'utf-8')) # convert if accent |
|||
except Exception: |
|||
ff.lineEdit_page.setText(PageActive) # normal |
|||
memoEntree() # entree memo click mouse |
|||
ff.on_pushButton03_clicked() # Bouton Memo |
|||
else: |
|||
FreeCAD.Console.PrintError("Select a valid Page__________________________" + "\n") |
|||
ff.lineEdit_page.setStyleSheet("color: red") |
|||
ff.lineEdit_page.setText("Select a valid Page") # |
|||
ff.pushButton05.setEnabled(False) |
|||
ff.pushButton05.setStyleSheet("background-color: red") # This function gives a color button |
|||
ff.groupBox.setEnabled(False) |
|||
FreeCAD.Console.PrintMessage(" " + "Name Label" + "\n") |
|||
for i in App.ActiveDocument.Objects: |
|||
if i.Name[0:4] == "Page": |
|||
name = i.Name + " " |
|||
labe = i.Label+ " " |
|||
FreeCAD.Console.PrintMessage(" Valid Page : " + name[:15] + "," + labe[:25] + "\n") |
|||
FreeCAD.Console.PrintError("_____________________________________________" + "\n") |
|||
for obj in FreeCAD.ActiveDocument.Objects: # deslectionne |
|||
FreeCADGui.Selection.removeSelection(obj) |
|||
s=SelObserver() |
|||
FreeCADGui.Selection.addObserver(s) # install the function mode resident |
|||
MainWindow = QtGui.QMainWindow() |
MainWindow = QtGui.QMainWindow() |
||
ui = Ui_MainWindow(MainWindow) |
ui = Ui_MainWindow(MainWindow) |
||
MainWindow.show() |
MainWindow.show() |
||
}} |
|||
==Other== |
|||
</syntaxhighlight> |
|||
===Other=== |
|||
The fields have no length limit, check your cartouche. |
The fields have no length limit, check your cartouche. |
||
Line 840: | Line 1,173: | ||
If you want it to be cleared uncomment the commented lines and vice versa |
If you want it to be cleared uncomment the commented lines and vice versa |
||
{{Code|code= |
|||
<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 |
||
}} |
|||
</syntaxhighlight> |
|||
et |
et |
||
{{Code|code= |
|||
<syntaxhighlight> |
|||
# App.getDocument(App.ActiveDocument.Name).removeObject("Symbol_US") |
# App.getDocument(App.ActiveDocument.Name).removeObject("Symbol_US") |
||
FreeCADGui.getDocument(App.ActiveDocument.Name).getObject("Symbol_US").Visibility = False |
FreeCADGui.getDocument(App.ActiveDocument.Name).getObject("Symbol_US").Visibility = False |
||
}} |
|||
</syntaxhighlight> |
|||
(I had some times an error in execution when the symbol was erased) |
(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! |
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 "00.10" : 15/02/2017 : tuning page multiple (It is possible to lose a page if there are too many) |
|||
ver "00.09" : 10/02/2017 : add radio button for choice symbol and correct the placement symbol in the separate page |
|||
ver "00.08 : 06/02/2017 : the dialog box name page accept the accent |
|||
ver "00.07 : 05/02/2017 : add save cartouche with name page (for multi page in projects) ps: not for character accentuate "àùé ..." |
|||
ver 00.06 : 13/10/2016 : selection format page and position for the symbol convention (for FreeCAD ver 0.17) |
|||
ver 5 : 08/08/2014 PyQt4 and PySide |
ver 5 : 08/08/2014 PyQt4 and PySide |
||
{{clear}} |
{{clear}} |
||
<languages/> |
Revision as of 09:52, 23 May 2020
Description |
---|
This macro is a complete application, it allows to fill the cartridge of the drawing sheet with full editabletext (For Drawing Module). Macro version: 00.10 Last modified: 2017-02-15 FreeCAD version: All version using Drawing Workbench Download: ToolBar Icon Author: Mario52 |
Author |
Mario52 |
Download |
ToolBar Icon |
Links |
Macros recipes How to install macros How to customize toolbars |
Macro Version |
00.10 |
Date last modified |
2017-02-15 |
FreeCAD Version(s) |
All version using Drawing Workbench |
Default shortcut |
None |
See also |
None |
Description
This macro is a complete application, it allows to fill simply all the fields of the cartridge
Choice in the page Misc_templates_Full
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.
Usage
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.
- First select your page to work
- 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).
- Choice your format page
- 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 -*- from __future__ import unicode_literals """ *************************************************************************** * Copyright (c) 2014 2016 2017 <mario52> * * * * This file is a supplement to the FreeCAD CAx development system. * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Lesser General Public License (LGPL) * * as published by the Free Software Foundation; either version 2 of * * the License, or (at your option) any later version. * * for detail see the LICENCE text file. * * * * This software is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * GNU Library General Public License for more details. * * * * You should have received a copy of the GNU Library General Public * * License along with this macro; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * * USA * *************************************************************************** * WARNING! All changes in this file will be lost and * * may cause malfunction of the program * *************************************************************************** """ #OS: Windows 10 #Word size of OS: 64-bit #Word size of FreeCAD: 64-bit #Version: 0.16.6706 (Git) #Build type: Release #Branch: releases/FreeCAD-0-16 #Hash: f86a4e411ff7848dea98d7242f43b7774bee8fa0 #Python version: 2.7.8 #Qt version: 4.8.7 #Coin version: 4.0.0a #OCC version: 6.8.0.oce-0.17 __title__ = "Macro_CartoucheFC_Full" __author__ = "Mario52" __url__ = "http://www.freecadweb.org/index-fr.html" __Wiki__ = "http://www.freecadweb.org/wiki/Macro_CartoucheFC_Full" __version__ = "00.10" __date__ = "15/02/2017" __Requires__ = ("all version and freecad " + " DESIGNED_BY, CREATION_DATE, CHECKED_BY, CHECK_DATE, SIZE, SCALE, WEIGHT, DRAWING_NUMBER, SHEET, " + " TITLE, DESCRIPTION, COMPANY, COPYRIGHT, Note_A, Note_B, Note_C, Note_D, Note_E, Note_F, Note_G, Note_H, Note_I" ) __Template__ = " A3_Landscape_xx_FULL.svg, A3_Portrait_xx_FULL, A4_Landscape_xx_FULL.svg, A4_Portrait_xx_FULL" __Template_Link__ = "http://www.freecadweb.org/wiki/index.php?title=Misc_templates_Full" import PySide from PySide import QtCore, QtGui import Draft, Part, FreeCAD, math, PartGui, FreeCADGui from math import sqrt, pi, sin, cos, asin from FreeCAD import Base def utf8(unio): return unicode(unio).encode('UTF8') global path #path = FreeCAD.ConfigGet("AppHomePath") path = FreeCAD.ConfigGet("UserAppData") global PageActive ; PageActive = "Select your page" # essais #global PageActive ; PageActive = "Page" # page active global DESIGNED_BY ; DESIGNED_BY = "" # lineEdit01 DESIGNED_BY global MDESIGNED_BY ; MDESIGNED_BY = "" # global CREATION_DATE ; CREATION_DATE = "" # lineEdit02 CREATION_DATE date global MCREATION_DATE ; MCREATION_DATE = "" # global CREA_DATE ; CREA_DATE = "" # lineEdit02h date global MCREA_DATE ; MCREA_DATE = "" # global CREA_TIME ; CREA_TIME = "" # lineEdit02h heure global MCREA_TIME ; MCREA_TIME = "" # global CHECKED_BY ; CHECKED_BY = "" # lineEdit03 global MCHECKED_BY ; MCHECKED_BY = "" # global CHECK_DATE ; CHECK_DATE = "" # lineEdit04 date global MCHECK_DATE ; MCHECK_DATE = "" # global CHEC_DATE ; CHEC_DATE = "" # lineEdit04 date global MCHEC_DATE ; MCHEC_DATE = "" # global CHEC_TIME ; CHEC_TIME = "" # lineEdit04h heure global MCHEC_TIME ; MCHEC_TIME = "" # global SIZE ; SIZE = "" # lineEdit05 global MSIZE ; MSIZE = "" # global SCALE ; SCALE = "" # lineEdit06 global MSCALE ; MSCALE = "" # global WEIGHT ; WEIGHT = "" # lineEdit07 global MWEIGHT ; MWEIGHT = "" # global DRAWING_NUMBER ; DRAWING_NUMBER = "" # lineEdit08 global MDRAWING_NUMBER ; MDRAWING_NUMBER = "" # global SHEET ; SHEET = "" # lineEdit09 global MSHEET ; MSHEET = "" # global TITLE ; TITLE = "" # textEdit_01 global MTITLE ; MTITLE = "" # global DESCRIPTION ; DESCRIPTION = "" # textEdit_02 global MDESCRIPTION ; MDESCRIPTION = "" # global COMPANY ; COMPANY = "" # textEdit_02b global MCOMPANY ; MCOMPANY = "" # global COPYRIGHT ; COPYRIGHT = "" # lineEdit_20 global MCOPYRIGHT ; MCOPYRIGHT = "" # global Note_A ; Note_A = "" # lineEdit_10 global MNote_A ; MNote_A = "" # global Note_B ; Note_B = "" # lineEdit_11 global MNote_B ; MNote_B = "" # global Note_C ; Note_C = "" # lineEdit_12 global MNote_C ; MNote_C = "" # global Note_D ; Note_D = "" # lineEdit_13 global MNote_D ; MNote_D = "" # global Note_E ; Note_E = "" # lineEdit_14 global MNote_E ; MNote_E = "" # global Note_F ; Note_F = "" # lineEdit_15 global MNote_F ; MNote_F = "" # global Note_G ; Note_G = "" # lineEdit_16 global MNote_G ; MNote_G = "" # global Note_H ; Note_H = "" # lineEdit_17 global MNote_H ; MNote_H = "" # global Note_I ; Note_I = "" # lineEdit_18 global MNote_I ; MNote_I = "" # global SymbolSwitch ; SymbolSwitch = 1 # 0=US 1=EU global ui ; ui = "" def heure(): return QtCore.QTime().currentTime().toString('hh:mm:ss') def dateEu(): return QtCore.QDate().currentDate().toString('dd/MM/yyyy') # forme euro def dateUK(): return QtCore.QDate().currentDate().toString('yyyy/MM/dd') # forme UK def dateUs(): return QtCore.QDate().currentDate().toString('MM/dd/yyyy') # forme US def dateComp(): return QtCore.QDate().currentDate().toString('dddd d MMMM yyyy') # Retourne "dimanche 20 Juillet 77" try: _fromUtf8 = QtCore.QString.fromUtf8 except AttributeError: def _fromUtf8(s): return s try: _encoding = QtGui.QApplication.UnicodeUTF8 def _translate(context, text, disambig): return QtGui.QApplication.translate(context, text, disambig, _encoding) except AttributeError: def _translate(context, text, disambig): return QtGui.QApplication.translate(context, text, disambig) def errorDialog(msg): diag = QtGui.QMessageBox(QtGui.QMessageBox.Critical,u"Error Message",msg) diag.setWindowFlags(PySide.QtCore.Qt.WindowStaysOnTopHint) # cette fonction met la fenetre en avant diag.exec_() def symbol_EU(depx, depy, scale): #symbol_EU =O global PageActive global ui try: page = App.activeDocument().getObjectsByLabel(PageActive.encode('utf-8'))[0] except Exception: page = App.activeDocument().getObjectsByLabel(PageActive)[0] if len(str(page)) != 2: comP = [] nameL = [] if "Page" in (page.Name): for ii in (page.Group): if ((ii.Label) == "Symbol_EU") or ((ii.Label) == "Symbol_US") : App.activeDocument().removeObject(ii.Name) points=[FreeCAD.Vector(-7.5,0.0,0.0),FreeCAD.Vector(20.0,0.0,0.0)] i = Draft.makeWire(points,closed=False,face=False,support=None) comP.append(i.Shape) nameL.append(i.Name) points=[FreeCAD.Vector(12.5,7.5,0.0),FreeCAD.Vector(12.5,-7.5,0.0)] i = Draft.makeWire(points,closed=False,face=False,support=None) comP.append(i.Shape) nameL.append(i.Name) points=[FreeCAD.Vector(-5,2.5,0.0),FreeCAD.Vector(5.0,5.0,0.0),FreeCAD.Vector(5.0,-5.0,0.0),FreeCAD.Vector(-5.0,-2.5,0.0)] i = Draft.makeWire(points,closed=True,face=False,support=None) comP.append(i.Shape) nameL.append(i.Name) pl=FreeCAD.Placement() pl.Rotation.Q=(0.0,-0.0,-0.0,1.0) pl.Base=FreeCAD.Vector(12.5,-0.0,0.0) i = Draft.makeCircle(radius=2.5,placement=pl,face=False,support=None) comP.append(i.Shape) nameL.append(i.Name) i = Draft.makeCircle(radius=5.0,placement=pl,face=False,support=None) comP.append(i.Shape) nameL.append(i.Name) comp = Part.makeCompound(comP) Part.show(comp) App.ActiveDocument.ActiveObject.Label = "Symbol_EU" obj = FreeCAD.ActiveDocument.ActiveObject obj.ViewObject.LineColor = (0.0,0.0,0.0) obj.ViewObject.Visibility = False obj2 = Draft.makeDrawingView(obj, page) obj2.X = depx obj2.Y = depy obj2.Scale = scale #0.8 # A3 obj2.Label = "Symbol_EU" for i in nameL: App.activeDocument().removeObject(i) App.activeDocument().getObjectsByLabel(PageActive.encode('utf-8'))[0].addObject(obj) App.activeDocument().getObjectsByLabel(PageActive.encode('utf-8'))[0].addObject(obj2) App.ActiveDocument.recompute() else: ui.pushButton05.setStyleSheet("background-color: red") # This function gives a color button FreeCAD.Console.PrintError("Error selected page [ " + PageActive + " ]" + "\n") def symbol_US(depx, depy, scale): #symbol_US O= global PageActive global ui try: page = App.activeDocument().getObjectsByLabel(PageActive.encode('utf-8'))[0] except Exception: page = App.activeDocument().getObjectsByLabel(PageActive)[0] if len(str(page)) != 2: comP = [] nameL = [] if "Page" in (page.Name): for ii in (page.Group): if ((ii.Label) == "Symbol_EU") or ((ii.Label) == "Symbol_US") : App.activeDocument().removeObject(ii.Name) points=[FreeCAD.Vector(-7.5,0.0,0.0),FreeCAD.Vector(20.0,0.0,0.0)] i = Draft.makeWire(points,closed=False,face=False,support=None) comP.append(i.Shape) nameL.append(i.Name) points=[FreeCAD.Vector(0.0,7.5,0.0),FreeCAD.Vector(0.0,-7.5,0.0)] i = Draft.makeWire(points,closed=False,face=False,support=None) comP.append(i.Shape) nameL.append(i.Name) points=[FreeCAD.Vector(7.5,2.5,0.0),FreeCAD.Vector(17.5,5.0,0.0),FreeCAD.Vector(17.5,-5.0,0.0),FreeCAD.Vector(7.5,-2.5,0.0)] i = Draft.makeWire(points,closed=True,face=False,support=None) comP.append(i.Shape) nameL.append(i.Name) pl=FreeCAD.Placement() pl.Rotation.Q=(0.0,-0.0,-0.0,1.0) pl.Base=FreeCAD.Vector(0.0,-0.0,0.0) i = Draft.makeCircle(radius=2.5,placement=pl,face=False,support=None) comP.append(i.Shape) nameL.append(i.Name) i = Draft.makeCircle(radius=5.0,placement=pl,face=False,support=None) comP.append(i.Shape) nameL.append(i.Name) comp = Part.makeCompound(comP) Part.show(comp) App.ActiveDocument.ActiveObject.Label = "Symbol_US" obj = FreeCAD.ActiveDocument.ActiveObject obj.ViewObject.LineColor = (0.0,0.0,0.0) obj.ViewObject.Visibility = False obj2 = Draft.makeDrawingView(obj, page) obj2.X = depx obj2.Y = depy obj2.Scale = scale #0.8 # A3 obj2.Label = "Symbol_US" for i in nameL: App.activeDocument().removeObject(i) App.activeDocument().getObjectsByLabel(PageActive.encode('utf-8'))[0].addObject(obj) App.activeDocument().getObjectsByLabel(PageActive.encode('utf-8'))[0].addObject(obj2) App.ActiveDocument.recompute() else: ui.pushButton05.setStyleSheet("background-color: red") # This function gives a color button FreeCAD.Console.PrintError("Error selected page [ " + PageActive + " ]" + "\n") def memoEntree(): global MDESIGNED_BY, MCREATION_DATE, MCREA_DATE , MCREA_TIME, MCHECKED_BY, MCHECK_DATE global MCHEC_DATE , MCHEC_TIME , MSIZE , MSCALE , MWEIGHT ,MDRAWING_NUMBER global MSHEET , MTITLE , MDESCRIPTION, MCOMPANY , MCOPYRIGHT global MNote_A, MNote_B, MNote_C, MNote_D, MNote_E, MNote_F, MNote_G, MNote_H, MNote_I global PageActive try: page = App.activeDocument().getObjectsByLabel(PageActive.encode('utf-8'))[0].Name except Exception: page = App.activeDocument().getObjectsByLabel(PageActive)[0] try: MDESIGNED_BY = App.activeDocument().getObject(page).EditableTexts[0] # lineEdit01 DESIGNED_BY MCREATION_DATE = App.activeDocument().getObject(page).EditableTexts[1] # lineEdit02 CREATION_DATE date MCREA_DATE = MCREA_TIME = MCHEC_DATE = MCHEC_TIME = "" try: MCREA_DATE = MCREATION_DATE.split(" - ")[0] # lineEdit02h date except: MCREA_DATE = MCREATION_DATE try: MCREA_TIME = MCREATION_DATE.split(" - ")[1] # lineEdit02h heure except: None MCHECKED_BY = App.activeDocument().getObject(page).EditableTexts[2] # lineEdit03 MCHECK_DATE = App.activeDocument().getObject(page).EditableTexts[3] # lineEdit04 date try: MCHEC_DATE = MCHECK_DATE.split(" - ")[0] # lineEdit04 date except: MCHEC_DATE = MCHECK_DATE try: MCHEC_TIME = MCHECK_DATE.split(" - ")[1] # lineEdit04h heure except: None MSIZE = App.activeDocument().getObject(page).EditableTexts[4] # lineEdit05 MSCALE = App.activeDocument().getObject(page).EditableTexts[5] # lineEdit06 MWEIGHT = App.activeDocument().getObject(page).EditableTexts[6] # lineEdit07 MDRAWING_NUMBER = App.activeDocument().getObject(page).EditableTexts[7] # lineEdit08 MSHEET = App.activeDocument().getObject(page).EditableTexts[8] # lineEdit09 MTITLE = App.activeDocument().getObject(page).EditableTexts[9] # textEdit_01 try: MDESCRIPTION = App.activeDocument().getObject(page).EditableTexts[10] # textEdit_02 MCOMPANY = App.activeDocument().getObject(page).EditableTexts[11] # textEdit_02b MCOPYRIGHT = App.activeDocument().getObject(page).EditableTexts[12] # lineEdit_20 MNote_A = App.activeDocument().getObject(page).EditableTexts[13] # lineEdit_10 MNote_B = App.activeDocument().getObject(page).EditableTexts[14] # lineEdit_11 MNote_C = App.activeDocument().getObject(page).EditableTexts[15] # lineEdit_12 MNote_D = App.activeDocument().getObject(page).EditableTexts[16] # lineEdit_13 MNote_E = App.activeDocument().getObject(page).EditableTexts[17] # lineEdit_14 MNote_F = App.activeDocument().getObject(page).EditableTexts[18] # lineEdit_15 MNote_G = App.activeDocument().getObject(page).EditableTexts[19] # lineEdit_16 MNote_H = App.activeDocument().getObject(page).EditableTexts[20] # lineEdit_17 MNote_I = App.activeDocument().getObject(page).EditableTexts[21] # lineEdit_18 except Exception: App.Console.PrintError("Erreur cartouche level DESCRIPTION (Missing field)"+"\n" "You may be using an inadequate template. Try with this template"+"\n") App.Console.PrintMessage("http://www.freecadweb.org/wiki/index.php?title=Misc_templates_Full"+"\n\n") App.Console.PrintError("Or for the original FreeCAD template use this macro"+"\n") App.Console.PrintMessage("http://www.freecadweb.org/wiki/index.php?title=Macro_CartoucheFC"+"\n") errorDialog("Erreur cartouche level DESCRIPTION (Missing field)"+"\n" "You may be using an inadequate template. Try with this template"+"\n" "http://www.freecadweb.org/wiki/index.php?title=Misc_templates_Full"+"\n\n" "Or for the original FreeCAD template use this macro"+"\n" "http://www.freecadweb.org/wiki/index.php?title=Macro_CartoucheFC"+"\n\n") except: errorDialog("Erreur cartouche") class Ui_MainWindow(object): def __init__(self, MainWindow): global path global PageActive self.window = MainWindow MainWindow.setObjectName(_fromUtf8("MainWindow")) MainWindow.resize(810, 400) MainWindow.setMaximumSize(QtCore.QSize(810, 400)) self.centralWidget = QtGui.QWidget(MainWindow) self.centralWidget.setObjectName(_fromUtf8("centralWidget")) # self.pushButton01 = QtGui.QPushButton(self.centralWidget) # self.pushButton01.setGeometry(QtCore.QRect(115, 360, 93, 28)) # self.pushButton01.setObjectName(_fromUtf8("pushButton01")) # self.pushButton01.clicked.connect(self.on_pushButton01_clicked) #connection pushButton01 self.pushButton02 = QtGui.QPushButton(self.centralWidget) self.pushButton02.setGeometry(QtCore.QRect(225, 360, 93, 28)) self.pushButton02.setObjectName(_fromUtf8("pushButton02")) self.pushButton02.clicked.connect(self.on_pushButton02_clicked) #connection pushButton02 self.pushButton03 = QtGui.QPushButton(self.centralWidget) self.pushButton03.setGeometry(QtCore.QRect(335, 360, 93, 28)) self.pushButton03.setToolTip("The memo button work only with the first Page") self.pushButton03.setObjectName(_fromUtf8("pushButton03")) self.pushButton03.clicked.connect(self.on_pushButton03_clicked) #connection pushButton03 self.pushButton04 = QtGui.QPushButton(self.centralWidget) self.pushButton04.setGeometry(QtCore.QRect(445, 360, 93, 28)) self.pushButton04.setObjectName(_fromUtf8("pushButton04")) self.pushButton04.clicked.connect(self.on_pushButton04_clicked) #connection pushButton04 self.pushButton05 = QtGui.QPushButton(self.centralWidget) self.pushButton05.setGeometry(QtCore.QRect(555, 360, 93, 28)) # self.pushButton05.setStyleSheet("background-color: red") # This function gives a color button self.pushButton05.setObjectName(_fromUtf8("pushButton05")) self.pushButton05.clicked.connect(self.on_pushButton05_clicked) #connection pushButton05 ##### self.groupBox = QtGui.QGroupBox(self.centralWidget) self.groupBox.setGeometry(QtCore.QRect(20, 159, 190, 101)) self.groupBox.setObjectName(_fromUtf8("groupBox")) self.label_20 = QtGui.QLabel(self.groupBox) self.label_20.setGeometry(QtCore.QRect(115, 5, 61, 17)) self.label_20.setObjectName(_fromUtf8("label_20")) ############### font and color Label font = QtGui.QFont() font.setBold(True) self.label_20.setFont(font) self.label_20.setStyleSheet("color : #ff0000") ############### font and color self.label_20.setVisible(False) self.radioButton_0 = QtGui.QRadioButton(self.groupBox) self.radioButton_0.setGeometry(QtCore.QRect(95, 1, 91, 17)) self.radioButton_0.setChecked(True) self.radioButton_0.setEnabled(False) self.radioButton_0.setVisible(False) self.radioButton_0.setObjectName(_fromUtf8("radioButton_0")) self.radioButton_1 = QtGui.QRadioButton(self.groupBox) self.radioButton_1.setGeometry(QtCore.QRect(95, 20, 91, 17)) self.radioButton_1.setObjectName(_fromUtf8("radioButton_1")) self.radioButton_1.clicked.connect(self.on_radioButton_A3_clicked)# connect radioButton_A3 self.radioButton_2 = QtGui.QRadioButton(self.groupBox) self.radioButton_2.setGeometry(QtCore.QRect(95, 39, 91, 17)) self.radioButton_2.setObjectName(_fromUtf8("radioButton_2")) self.radioButton_2.clicked.connect(self.on_radioButton_A3_clicked)# connect radioButton_A3 self.radioButton_3 = QtGui.QRadioButton(self.groupBox) self.radioButton_3.setGeometry(QtCore.QRect(95, 58, 91, 17)) self.radioButton_3.setObjectName(_fromUtf8("radioButton_3")) self.radioButton_3.clicked.connect(self.on_radioButton_A4_clicked)# connect radioButton_A4 self.radioButton_4 = QtGui.QRadioButton(self.groupBox) self.radioButton_4.setGeometry(QtCore.QRect(95, 76, 91, 17)) self.radioButton_4.setObjectName(_fromUtf8("radioButton_4")) self.radioButton_4.clicked.connect(self.on_radioButton_A4_clicked)# connect radioButton_A4 self.lineEdit_05 = QtGui.QLineEdit(self.groupBox) self.lineEdit_05.setGeometry(QtCore.QRect(10, 16, 75, 41)) font = QtGui.QFont() font.setPointSize(25) font.setBold(False) font.setWeight(50) self.lineEdit_05.setFont(font) self.lineEdit_05.setAlignment(QtCore.Qt.AlignCenter) self.lineEdit_05.setObjectName(_fromUtf8("lineEdit_05")) self.lineEdit_05.setText(SIZE) self.frame = QtGui.QFrame(self.groupBox) self.frame.setGeometry(QtCore.QRect(10, 58, 74, 41)) self.frame.setFrameShape(QtGui.QFrame.StyledPanel) self.frame.setFrameShadow(QtGui.QFrame.Raised) self.frame.setObjectName(_fromUtf8("frame")) self.radioButton_EU = QtGui.QRadioButton(self.frame) self.radioButton_EU.setGeometry(QtCore.QRect(0, 1, 41, 17)) self.radioButton_EU.setChecked(True) self.radioButton_EU.setObjectName(_fromUtf8("radioButton_EU")) self.radioButton_EU.clicked.connect(self.on_radioButton_EU_clicked) #connection radioButton_EU self.radioButton_US = QtGui.QRadioButton(self.frame) self.radioButton_US.setGeometry(QtCore.QRect(37, 1, 41, 17)) self.radioButton_US.setObjectName(_fromUtf8("radioButton_US")) self.radioButton_US.clicked.connect(self.on_radioButton_US_clicked) #connection radioButton_US self.pushButton10 = QtGui.QPushButton(self.frame) self.pushButton10.setGeometry(QtCore.QRect(0, 18, 75, 23)) self.pushButton10.setToolTip("Create the symbol EU or US"+"\n" "This button is Independent of the Write button"+"\n" "If you desire modify the symbol in the cartouche,"+"\n" "delete the inadequate symbol manualy.") self.pushButton10.setEnabled(False) self.pushButton10.setObjectName(_fromUtf8("pushButton10")) self.pushButton10.clicked.connect(self.on_pushButton10_clicked) #connection pushButton10 ##### self.pushButton06 = QtGui.QPushButton(self.centralWidget) self.pushButton06.setGeometry(QtCore.QRect(170, 57, 20, 20)) self.pushButton06.setObjectName(_fromUtf8("pushButton06")) self.pushButton06.clicked.connect(self.on_pushButton06_clicked) #connection pushButton06 self.pushButton07 = QtGui.QPushButton(self.centralWidget) self.pushButton07.setGeometry(QtCore.QRect(190, 57, 20, 20)) self.pushButton07.setObjectName(_fromUtf8("pushButton07")) self.pushButton07.clicked.connect(self.on_pushButton07_clicked) #connection pushButton07 self.pushButton08 = QtGui.QPushButton(self.centralWidget) self.pushButton08.setGeometry(QtCore.QRect(170, 137, 20, 20)) self.pushButton08.setObjectName(_fromUtf8("pushButton08")) self.pushButton08.clicked.connect(self.on_pushButton08_clicked) #connection pushButton08 self.pushButton09 = QtGui.QPushButton(self.centralWidget) self.pushButton09.setGeometry(QtCore.QRect(190, 137, 20, 20)) self.pushButton09.setObjectName(_fromUtf8("pushButton09")) self.pushButton09.clicked.connect(self.on_pushButton09_clicked) #connection pushButton09 self.lineEdit_01 = QtGui.QLineEdit(self.centralWidget) self.lineEdit_01.setGeometry(QtCore.QRect(20, 20, 190, 16)) font = QtGui.QFont() font.setPointSize(7) self.lineEdit_01.setFont(font) self.lineEdit_01.setObjectName(_fromUtf8("lineEdit_01")) self.lineEdit_01.setText(DESIGNED_BY) self.lineEdit_02 = QtGui.QLineEdit(self.centralWidget) self.lineEdit_02.setGeometry(QtCore.QRect(20, 60, 82, 16)) font = QtGui.QFont() font.setPointSize(7) self.lineEdit_02.setFont(font) self.lineEdit_02.setObjectName(_fromUtf8("lineEdit_02")) self.lineEdit_02.setText(CREA_DATE) self.lineEdit_02h = QtGui.QLineEdit(self.centralWidget) self.lineEdit_02h.setGeometry(QtCore.QRect(98, 60, 72, 16)) font = QtGui.QFont() font.setPointSize(7) self.lineEdit_02h.setFont(font) self.lineEdit_02h.setObjectName(_fromUtf8("lineEdit_02h")) self.lineEdit_02h.setText(CREA_TIME) self.lineEdit_03 = QtGui.QLineEdit(self.centralWidget) self.lineEdit_03.setGeometry(QtCore.QRect(20, 100, 190, 16)) font = QtGui.QFont() font.setPointSize(7) self.lineEdit_03.setFont(font) self.lineEdit_03.setObjectName(_fromUtf8("lineEdit_03")) self.lineEdit_03.setText(CHECKED_BY) self.lineEdit_04 = QtGui.QLineEdit(self.centralWidget) self.lineEdit_04.setGeometry(QtCore.QRect(20, 140, 82, 16)) font = QtGui.QFont() font.setPointSize(7) self.lineEdit_04.setFont(font) self.lineEdit_04.setObjectName(_fromUtf8("lineEdit_04")) self.lineEdit_04.setText(CHEC_DATE) self.lineEdit_04h = QtGui.QLineEdit(self.centralWidget) self.lineEdit_04h.setGeometry(QtCore.QRect(98, 140, 72, 16)) font = QtGui.QFont() font.setPointSize(7) self.lineEdit_04h.setFont(font) self.lineEdit_04h.setObjectName(_fromUtf8("lineEdit_04h")) self.lineEdit_04h.setText(CHEC_TIME) self.lineEdit_06 = QtGui.QLineEdit(self.centralWidget) self.lineEdit_06.setGeometry(QtCore.QRect(20, 280, 61, 41)) font = QtGui.QFont() font.setPointSize(10) self.lineEdit_06.setFont(font) self.lineEdit_06.setAlignment(QtCore.Qt.AlignCenter) self.lineEdit_06.setObjectName(_fromUtf8("lineEdit_06")) self.lineEdit_06.setText(SCALE) self.lineEdit_07 = QtGui.QLineEdit(self.centralWidget) self.lineEdit_07.setGeometry(QtCore.QRect(100, 280, 101, 41)) font = QtGui.QFont() font.setPointSize(10) self.lineEdit_07.setFont(font) self.lineEdit_07.setAlignment(QtCore.Qt.AlignCenter) self.lineEdit_07.setObjectName(_fromUtf8("lineEdit_07")) self.lineEdit_07.setText(WEIGHT) self.lineEdit_08 = QtGui.QLineEdit(self.centralWidget) self.lineEdit_08.setGeometry(QtCore.QRect(220, 280, 341, 41)) self.lineEdit_08.setObjectName(_fromUtf8("lineEdit_08")) self.lineEdit_08.setText(DRAWING_NUMBER) self.lineEdit_09 = QtGui.QLineEdit(self.centralWidget) self.lineEdit_09.setGeometry(QtCore.QRect(570, 280, 81, 41)) self.lineEdit_09.setObjectName(_fromUtf8("lineEdit_09")) self.lineEdit_09.setText(SHEET) self.lineEdit_20 = QtGui.QLineEdit(self.centralWidget) # Copyright self.lineEdit_20.setGeometry(QtCore.QRect(20, 330, 771, 22)) self.lineEdit_20.setObjectName(_fromUtf8("lineEdit_20")) self.lineEdit_20.setText(COPYRIGHT) self.lineEdit_10 = QtGui.QLineEdit(self.centralWidget) self.lineEdit_10.setGeometry(QtCore.QRect(690, 290, 101, 30)) self.lineEdit_10.setObjectName(_fromUtf8("lineEdit_10")) self.lineEdit_10.setText(Note_A) self.lineEdit_11 = QtGui.QLineEdit(self.centralWidget) self.lineEdit_11.setGeometry(QtCore.QRect(690, 260, 101, 30)) self.lineEdit_11.setObjectName(_fromUtf8("lineEdit_11")) self.lineEdit_11.setText(Note_B) self.lineEdit_12 = QtGui.QLineEdit(self.centralWidget) self.lineEdit_12.setGeometry(QtCore.QRect(690, 230, 101, 30)) self.lineEdit_12.setObjectName(_fromUtf8("lineEdit_12")) self.lineEdit_12.setText(Note_C) self.lineEdit_13 = QtGui.QLineEdit(self.centralWidget) self.lineEdit_13.setGeometry(QtCore.QRect(690, 200, 101, 30)) self.lineEdit_13.setObjectName(_fromUtf8("lineEdit_13")) self.lineEdit_13.setText(Note_D) self.lineEdit_14 = QtGui.QLineEdit(self.centralWidget) self.lineEdit_14.setGeometry(QtCore.QRect(690, 170, 101, 30)) self.lineEdit_14.setObjectName(_fromUtf8("lineEdit_14")) self.lineEdit_14.setText(Note_E) self.lineEdit_15 = QtGui.QLineEdit(self.centralWidget) self.lineEdit_15.setGeometry(QtCore.QRect(690, 140, 101, 30)) self.lineEdit_15.setObjectName(_fromUtf8("lineEdit_15")) self.lineEdit_15.setText(Note_F) self.lineEdit_16 = QtGui.QLineEdit(self.centralWidget) self.lineEdit_16.setGeometry(QtCore.QRect(690, 110, 101, 30)) self.lineEdit_16.setObjectName(_fromUtf8("lineEdit_16")) self.lineEdit_16.setText(Note_G) self.lineEdit_17 = QtGui.QLineEdit(self.centralWidget) self.lineEdit_17.setGeometry(QtCore.QRect(690, 80, 101, 30)) self.lineEdit_17.setObjectName(_fromUtf8("lineEdit_17")) self.lineEdit_17.setText(Note_H) self.lineEdit_18 = QtGui.QLineEdit(self.centralWidget) self.lineEdit_18.setGeometry(QtCore.QRect(690, 50, 101, 30)) self.lineEdit_18.setObjectName(_fromUtf8("lineEdit_18")) self.lineEdit_18.setText(Note_I) ## self.lineEdit_page = QtGui.QLineEdit(self.centralWidget) # nom de page self.lineEdit_page.setGeometry(QtCore.QRect(20, 365, 181, 20)) self.lineEdit_page.setToolTip("Name page to work"+"\n" "The name of the first page is always named 'Page'" "Select the new page in the Combo view") self.lineEdit_page.setObjectName(_fromUtf8("lineEdit_page")) self.lineEdit_page.setEnabled(False) self.lineEdit_page.setStyleSheet("color: red") self.lineEdit_page.setText(PageActive) self.lineEdit_page.textChanged.connect(self.on_lineEdit_page_Pressed) # self.label_01T = QtGui.QLabel(self.centralWidget) self.label_01T.setGeometry(QtCore.QRect(220, 0, 91, 16)) self.label_01T.setObjectName(_fromUtf8("label_01T")) self.textEdit_01 = QtGui.QTextEdit(self.centralWidget) # Title self.textEdit_01.setGeometry(QtCore.QRect(220, 20, 431,55 )) font = QtGui.QFont() font.setPointSize(15) font.setBold(True) font.setWeight(75) self.textEdit_01.setFont(font) self.textEdit_01.setObjectName(_fromUtf8("textEdit_01")) self.textEdit_01.setText(TITLE) self.label_02T = QtGui.QLabel(self.centralWidget) self.label_02T.setGeometry(QtCore.QRect(220, 80, 101, 16)) self.label_02T.setObjectName(_fromUtf8("label_02T")) self.textEdit_02 = QtGui.QTextEdit(self.centralWidget) # DESCRIPTION self.textEdit_02.setGeometry(QtCore.QRect(220, 100, 431, 55)) self.textEdit_02.setObjectName(_fromUtf8("textEdit_02")) self.textEdit_02.setText(DESCRIPTION) self.label_02bT = QtGui.QLabel(self.centralWidget) self.label_02bT.setGeometry(QtCore.QRect(220, 160, 90, 16)) self.label_02bT.setObjectName(_fromUtf8("label_02bT")) self.textEdit_02b = QtGui.QTextEdit(self.centralWidget) # COMPANY self.textEdit_02b.setGeometry(QtCore.QRect(220, 180, 340, 60)) self.textEdit_02b.setObjectName(_fromUtf8("textEdit_02b")) self.textEdit_02b.setText(COMPANY) self.label_01 = QtGui.QLabel(self.centralWidget) self.label_01.setGeometry(QtCore.QRect(20, 0, 91, 16)) self.label_01.setObjectName(_fromUtf8("label_01")) self.label_02 = QtGui.QLabel(self.centralWidget) self.label_02.setGeometry(QtCore.QRect(20, 40, 53, 16)) self.label_02.setObjectName(_fromUtf8("label_02")) self.label_03 = QtGui.QLabel(self.centralWidget) self.label_03.setGeometry(QtCore.QRect(20, 80, 101, 16)) self.label_03.setObjectName(_fromUtf8("label_03")) self.label_04 = QtGui.QLabel(self.centralWidget) self.label_04.setGeometry(QtCore.QRect(20, 120, 91, 16)) self.label_04.setObjectName(_fromUtf8("label_04")) self.label_06 = QtGui.QLabel(self.centralWidget) self.label_06.setGeometry(QtCore.QRect(20, 260, 53, 16)) self.label_06.setObjectName(_fromUtf8("label_06")) self.label_07 = QtGui.QLabel(self.centralWidget) self.label_07.setGeometry(QtCore.QRect(100, 260, 101, 16)) self.label_07.setObjectName(_fromUtf8("label_07")) self.label_08 = QtGui.QLabel(self.centralWidget) self.label_08.setGeometry(QtCore.QRect(220, 260, 121, 16)) self.label_08.setObjectName(_fromUtf8("label_08")) self.label_09 = QtGui.QLabel(self.centralWidget) self.label_09.setGeometry(QtCore.QRect(570, 260, 53, 16)) self.label_09.setObjectName(_fromUtf8("label_09")) self.label_10 = QtGui.QLabel(self.centralWidget) self.label_10.setGeometry(QtCore.QRect(670, 290, 16, 33)) font = QtGui.QFont() font.setPointSize(12) font.setBold(True) font.setWeight(75) self.label_10.setFont(font) self.label_10.setObjectName(_fromUtf8("label_10")) self.label_11 = QtGui.QLabel(self.centralWidget) self.label_11.setGeometry(QtCore.QRect(670, 260, 16, 33)) font = QtGui.QFont() font.setPointSize(12) font.setBold(True) font.setWeight(75) self.label_11.setFont(font) self.label_11.setObjectName(_fromUtf8("label_11")) self.label_12 = QtGui.QLabel(self.centralWidget) self.label_12.setGeometry(QtCore.QRect(670, 230, 16, 33)) font = QtGui.QFont() font.setPointSize(12) font.setBold(True) font.setWeight(75) self.label_12.setFont(font) self.label_12.setObjectName(_fromUtf8("label_12")) self.label_13 = QtGui.QLabel(self.centralWidget) self.label_13.setGeometry(QtCore.QRect(670, 200, 18, 33)) font = QtGui.QFont() font.setPointSize(12) font.setBold(True) font.setWeight(75) self.label_13.setFont(font) self.label_13.setObjectName(_fromUtf8("label_13")) self.label_14 = QtGui.QLabel(self.centralWidget) self.label_14.setGeometry(QtCore.QRect(670, 170, 15, 33)) font = QtGui.QFont() font.setPointSize(12) font.setBold(True) font.setWeight(75) self.label_14.setFont(font) self.label_14.setObjectName(_fromUtf8("label_14")) self.label_15 = QtGui.QLabel(self.centralWidget) self.label_15.setGeometry(QtCore.QRect(670, 140, 14, 33)) font = QtGui.QFont() font.setPointSize(12) font.setBold(True) font.setWeight(75) self.label_15.setFont(font) self.label_15.setObjectName(_fromUtf8("label_15")) self.label_16 = QtGui.QLabel(self.centralWidget) self.label_16.setGeometry(QtCore.QRect(670, 110, 18, 33)) font = QtGui.QFont() font.setPointSize(12) font.setBold(True) font.setWeight(75) self.label_16.setFont(font) self.label_16.setObjectName(_fromUtf8("label_16")) self.label_17 = QtGui.QLabel(self.centralWidget) self.label_17.setGeometry(QtCore.QRect(670, 80, 18, 33)) font = QtGui.QFont() font.setPointSize(12) font.setBold(True) font.setWeight(75) self.label_17.setFont(font) self.label_17.setObjectName(_fromUtf8("label_17")) self.label_18 = QtGui.QLabel(self.centralWidget) self.label_18.setGeometry(QtCore.QRect(670, 50, 10, 33)) font = QtGui.QFont() font.setPointSize(12) font.setBold(True) font.setWeight(75) self.label_18.setFont(font) self.label_18.setObjectName(_fromUtf8("label_18")) self.label_19 = QtGui.QLabel(self.centralWidget) self.label_19.setGeometry(QtCore.QRect(720, 15, 100, 33)) self.label_19.setObjectName(_fromUtf8("label_19")) self.label_page = QtGui.QLabel(self.centralWidget) self.label_page.setGeometry(QtCore.QRect(20, 350, 181, 16)) self.label_page.setObjectName(_fromUtf8("label_page")) self.label_Version = QtGui.QLabel(self.centralWidget) # Version self.label_Version.setGeometry(QtCore.QRect(685, 383, 121, 20)) self.label_Version.setObjectName(_fromUtf8("label_Version")) MainWindow.setCentralWidget(self.centralWidget) self.retranslateUi(MainWindow) QtCore.QMetaObject.connectSlotsByName(MainWindow) def retranslateUi(self, MainWindow): MainWindow.setWindowFlags(PySide.QtCore.Qt.WindowStaysOnTopHint) # cette fonction met la fenetre en avant MainWindow.setWindowTitle("Cartouche (Full)") # self.pushButton01.setText("Position") self.pushButton02.setText("Quit") #Quitter self.pushButton03.setText("Memo") self.pushButton04.setText("Clean")#Nettoyer self.pushButton05.setText("Write")#Appliquer self.pushButton06.setText("D.") self.pushButton07.setText("H.") self.pushButton08.setText("D.") self.pushButton09.setText("H.") self.pushButton10.setText("Create Symb.") self.label_01.setText("Designed by :") self.label_02.setText("Date :") self.label_03.setText("Checked by :") self.label_04.setText("Date :") self.label_06.setText("Scale :") self.label_07.setText("Weight (Kg) :") self.label_08.setText("Drawing number :") self.label_01T.setText("Title :") self.label_02T.setText("Description :") self.label_02bT.setText("Company :") self.label_09.setText("Sheet :") self.label_10.setText("A") self.label_11.setText("B") self.label_12.setText("C") self.label_13.setText("D") self.label_14.setText("E") self.label_15.setText("F") self.label_16.setText("G") self.label_17.setText("H") self.label_18.setText("I") self.label_19.setText("Notes") self.label_20.setText("Warning") self.label_page.setText("Name page to work") self.label_Version.setText("Ver: 00.10 15/02/2017") # Version self.groupBox.setTitle("Size :") self.radioButton_1.setText("A3 Landscape") self.radioButton_2.setText("A3 Portrait") self.radioButton_3.setText("A4 Landscape") self.radioButton_4.setText("A4 Portrait") self.radioButton_EU.setText("EU") self.radioButton_US.setText("US") self.lineEdit_05.setText("?") #______________________________________________________________________________________ # Radio Boutons def on_radioButton_A3_clicked(self): # connect radioButton_A3 self.label_20.setVisible(False) self.pushButton10.setEnabled(True) self.lineEdit_05.setText("A3") self.pushButton10.setStyleSheet("color: QPalette.Base") # origin system def on_radioButton_A4_clicked(self): # connect radioButton_A4 self.label_20.setVisible(False) self.pushButton10.setEnabled(True) self.lineEdit_05.setText("A4") self.pushButton10.setStyleSheet("color: QPalette.Base") # origin system # Radio Boutons def on_radioButton_EU_clicked(self): # Bouton /Symbole EU global SymbolSwitch SymbolSwitch = 1 def on_radioButton_US_clicked(self): # Bouton /Symbole US global SymbolSwitch SymbolSwitch = 0 def on_pushButton10_clicked(self): # Bouton /Symbole EU US disposition dans le cartouche global SymbolSwitch global PageActive self.label_20.setVisible(False) if self.radioButton_0.isChecked(): self.label_20.setVisible(True) self.pushButton10.setEnabled(False) self.pushButton10.setStyleSheet("color: red") self.lineEdit_page.setStyleSheet("color: red") FreeCAD.Console.PrintError("Select one format A3 or A4 for the Symbole" + "\n") else: self.pushButton10.setEnabled(True) self.pushButton10.setStyleSheet("background-color: #FF5B2B") self.pushButton10.setText("Wait.") FreeCADGui.updateGui() # rafraichi l'ecran if SymbolSwitch == 1: if self.radioButton_1.isChecked(): symbol_EU(247.5, 263.5, 0.8) # A3 Landscape elif self.radioButton_2.isChecked(): symbol_EU(124.55, 386.3, 0.8) # A3 Portrait elif self.radioButton_3.isChecked(): symbol_EU(158.7, 181.35, 0.6) # A4 Landscape elif self.radioButton_4.isChecked(): symbol_EU(71.9, 269.0, 0.6) # A4 Portrait else: if self.radioButton_1.isChecked(): symbol_US(247.5, 263.5, 0.8) # A3 Landscape elif self.radioButton_2.isChecked(): symbol_US(124.55, 386.3, 0.8) # A3 Portrait elif self.radioButton_3.isChecked(): symbol_US(158.7, 181.35, 0.6) # A4 Landscape elif self.radioButton_4.isChecked(): symbol_US(71.9, 269.0, 0.6) # A4 Portrait self.pushButton10.setStyleSheet("color: QPalette.Base") # origin system self.pushButton10.setText("Create Symb.") FreeCADGui.updateGui() # rafraichi l'ecran def on_lineEdit_page_Pressed(self): # Name page global PageActive PageActive = self.lineEdit_page.text() def on_pushButton09_clicked(self): # Bouton /heure document self.lineEdit_04h.setText(str(heure())) def on_pushButton08_clicked(self): # Bouton date/ document global SymbolSwitch if SymbolSwitch==0: self.lineEdit_04.setText(str(dateUs())) else: self.lineEdit_04.setText(str(dateEu())) def on_pushButton07_clicked(self): # Bouton /heure checked self.lineEdit_02h.setText(str(heure())) def on_pushButton06_clicked(self): # Bouton date/ checked global SymbolSwitch if SymbolSwitch==0: self.lineEdit_02.setText(str(dateUs())) else: self.lineEdit_02.setText(str(dateEu())) def on_pushButton05_clicked(self): # Bouton Appliquer try: global DESIGNED_BY, CREATION_DATE, CREA_DATE , CREA_TIME, CHECKED_BY, CHECK_DATE global CHEC_DATE , CHEC_TIME , SIZE , SCALE , WEIGHT ,DRAWING_NUMBER global SHEET , TITLE , DESCRIPTION, COMPANY , COPYRIGHT global Note_A, Note_B, Note_C, Note_D, Note_E, Note_F, Note_G, Note_H, Note_I global ui global SymbolSwitch global PageActive try: page = App.activeDocument().getObjectsByLabel(PageActive.encode('utf-8'))[0] except Exception: page = App.activeDocument().getObjectsByLabel(PageActive)[0] if len(str(page)) != 2: self.pushButton05.setStyleSheet("background-color: #FF5B2B") self.pushButton05.setText("Wait.") FreeCADGui.updateGui() # rafraichi l'ecran DESIGNED_BY = (self.lineEdit_01.text()) CREATION_DATE = (self.lineEdit_02.text())+" - "+(self.lineEdit_02h.text()) CHECKED_BY = (self.lineEdit_03.text()) CHECK_DATE = (self.lineEdit_04.text())+" - "+(self.lineEdit_04h.text()) SIZE = (self.lineEdit_05.text()) SCALE = (self.lineEdit_06.text()) WEIGHT = (self.lineEdit_07.text()) DRAWING_NUMBER = (self.lineEdit_08.text()) SHEET = (self.lineEdit_09.text()) TITLE = (self.textEdit_01.toPlainText()) DESCRIPTION = (self.textEdit_02.toPlainText()) COMPANY = (self.textEdit_02b.toPlainText()) COPYRIGHT = (self.lineEdit_20.text()) Note_A = (self.lineEdit_10.text()) Note_B = (self.lineEdit_11.text()) Note_C = (self.lineEdit_12.text()) Note_D = (self.lineEdit_13.text()) Note_E = (self.lineEdit_14.text()) Note_F = (self.lineEdit_15.text()) Note_G = (self.lineEdit_16.text()) Note_H = (self.lineEdit_17.text()) Note_I = (self.lineEdit_18.text()) try: FreeCAD.getDocument(App.ActiveDocument.Name).getObject(page.Name).EditableTexts = [DESIGNED_BY, CREATION_DATE, CHECKED_BY, CHECK_DATE, SIZE, SCALE, WEIGHT, DRAWING_NUMBER, SHEET, TITLE, DESCRIPTION, COMPANY, COPYRIGHT, Note_A, Note_B, Note_C, Note_D, Note_E, Note_F, Note_G, Note_H, Note_I, ] #old FreeCAD.getDocument(App.ActiveDocument.Name).getObjectsByLabel(PageActive.encode('utf-8'))[0].EditableTexts = [DESIGNED_BY, CREATION_DATE, CHECKED_BY, CHECK_DATE, SIZE, SCALE, WEIGHT, DRAWING_NUMBER, SHEET, TITLE, DESCRIPTION, COMPANY, COPYRIGHT, Note_A, Note_B, Note_C, Note_D, Note_E, Note_F, Note_G, Note_H, Note_I, ] App.ActiveDocument.recompute() FreeCAD.Console.PrintMessage("Write done to ( " + page.Label + " )" + "\n") self.pushButton05.setStyleSheet("color: QPalette.Base") except Exception: FreeCAD.Console.PrintError("Error write cartouche or verify the selected page ( " + page.Label + " )" + "\n") self.pushButton05.setStyleSheet("background-color: red") else: FreeCAD.Console.PrintError("Error selected page ( " + Page.Label + " )" + "\n") self.pushButton05.setStyleSheet("background-color: red") except Exception: self.pushButton05.setStyleSheet("background-color: red") FreeCAD.Console.PrintError("Error or not page " + "\n") self.pushButton05.setText("Write") App.ActiveDocument.recompute() def on_pushButton04_clicked(self): # Bouton nettoyer self.lineEdit_01.setText("") self.lineEdit_02.setText("") self.lineEdit_02h.setText("") self.lineEdit_03.setText("") self.lineEdit_04.setText("") self.lineEdit_04h.setText("") self.lineEdit_05.setText("?") self.lineEdit_06.setText("") self.lineEdit_07.setText("") self.lineEdit_08.setText("") self.lineEdit_09.setText("") self.textEdit_01.setText("") self.textEdit_02.setText("") self.textEdit_02b.setText("") self.lineEdit_20.setText("") self.lineEdit_10.setText("") self.lineEdit_11.setText("") self.lineEdit_12.setText("") self.lineEdit_13.setText("") self.lineEdit_14.setText("") self.lineEdit_15.setText("") self.lineEdit_16.setText("") self.lineEdit_17.setText("") self.lineEdit_18.setText("") self.pushButton10.setStyleSheet("color: QPalette.Base") # origin system self.label_20.setVisible(False) self.radioButton_0.setChecked(True) self.pushButton05.setEnabled(True) self.pushButton05.setStyleSheet("background-color: QPalette.Base") # origin system self.groupBox.setEnabled(True) def on_pushButton03_clicked(self): # Bouton Memo global MDESIGNED_BY, MCREATION_DATE, MCREA_DATE , MCREA_TIME, MCHECKED_BY, MCHECK_DATE global MCHEC_DATE , MCHEC_TIME , MSIZE , MSCALE , MWEIGHT ,MDRAWING_NUMBER global MSHEET , MTITLE , MDESCRIPTION, MCOMPANY , MCOPYRIGHT global MNote_A, MNote_B, MNote_C, MNote_D, MNote_E, MNote_F, MNote_G, MNote_H, MNote_I self.lineEdit_01.setText(MDESIGNED_BY) self.lineEdit_02.setText(MCREA_DATE) self.lineEdit_02h.setText(MCREA_TIME) self.lineEdit_03.setText(MCHECKED_BY) self.lineEdit_04.setText(MCHEC_DATE) self.lineEdit_04h.setText(MCHEC_TIME) self.lineEdit_05.setText("?") #(SIZE) self.lineEdit_06.setText(MSCALE) self.lineEdit_07.setText(MWEIGHT) self.lineEdit_08.setText(MDRAWING_NUMBER) self.lineEdit_09.setText(MSHEET) self.textEdit_01.setText(MTITLE) self.textEdit_02.setText(MDESCRIPTION) self.textEdit_02b.setText(MCOMPANY) self.lineEdit_20.setText(MCOPYRIGHT) self.lineEdit_10.setText(MNote_A) self.lineEdit_11.setText(MNote_B) self.lineEdit_12.setText(MNote_C) self.lineEdit_13.setText(MNote_D) self.lineEdit_14.setText(MNote_E) self.lineEdit_15.setText(MNote_F) self.lineEdit_16.setText(MNote_G) self.lineEdit_17.setText(MNote_H) self.lineEdit_18.setText(MNote_I) # self.lineEdit_page.setText(PageActive) self.radioButton_0.setChecked(True) def on_pushButton02_clicked(self): # Bouton Quitter App.Console.PrintMessage("End CartoucheFC_Full\r\n") self.window.hide() FreeCADGui.Selection.removeObserver(s) # Uninstalls the resident function App.Console.PrintMessage("removeObserver"+"\n") # def on_pushButton01_clicked(self): # Bouton appel de Position # MainWindow.resize(210, 480) # executer() # MainWindow.resize(810, 480) #______________________________________________________________________________________ class SelObserver: print "run.." def setSelection(self,document): # Selection in ComboView global PageActive global ui if len(Gui.Selection.getSelection(document)) == 1: ff = ui ff.lineEdit_page.setStyleSheet("color: QPalette.Base") # origin system ff.pushButton05.setEnabled(True) ff.pushButton05.setStyleSheet("background-color: QPalette.Base") # origin system ff.groupBox.setEnabled(True) if (str(Gui.Selection.getSelection(document)[0].Name[0:4]) == "Page"): PageActive = str(Gui.Selection.getSelection(document)[0].Label.encode('utf-8')) try: ff.lineEdit_page.setText(unicode(PageActive,'utf-8')) # convert if accent except Exception: ff.lineEdit_page.setText(PageActive) # normal memoEntree() # entree memo click mouse ff.on_pushButton03_clicked() # Bouton Memo else: FreeCAD.Console.PrintError("Select a valid Page__________________________" + "\n") ff.lineEdit_page.setStyleSheet("color: red") ff.lineEdit_page.setText("Select a valid Page") # ff.pushButton05.setEnabled(False) ff.pushButton05.setStyleSheet("background-color: red") # This function gives a color button ff.groupBox.setEnabled(False) FreeCAD.Console.PrintMessage(" " + "Name Label" + "\n") for i in App.ActiveDocument.Objects: if i.Name[0:4] == "Page": name = i.Name + " " labe = i.Label+ " " FreeCAD.Console.PrintMessage(" Valid Page : " + name[:15] + "," + labe[:25] + "\n") FreeCAD.Console.PrintError("_____________________________________________" + "\n") for obj in FreeCAD.ActiveDocument.Objects: # deslectionne FreeCADGui.Selection.removeSelection(obj) s=SelObserver() FreeCADGui.Selection.addObserver(s) # install the function mode resident MainWindow = QtGui.QMainWindow() ui = Ui_MainWindow(MainWindow) MainWindow.show()
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 "00.10" : 15/02/2017 : tuning page multiple (It is possible to lose a page if there are too many)
ver "00.09" : 10/02/2017 : add radio button for choice symbol and correct the placement symbol in the separate page
ver "00.08 : 06/02/2017 : the dialog box name page accept the accent
ver "00.07 : 05/02/2017 : add save cartouche with name page (for multi page in projects) ps: not for character accentuate "àùé ..."
ver 00.06 : 13/10/2016 : selection format page and position for the symbol convention (for FreeCAD ver 0.17)
ver 5 : 08/08/2014 PyQt4 and PySide