Skip to content

Instantly share code, notes, and snippets.

@mario52a
Last active August 12, 2021 23:51
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mario52a/3d719574089a5f9044ec to your computer and use it in GitHub Desktop.
Save mario52a/3d719574089a5f9044ec to your computer and use it in GitHub Desktop.
This macro convert the object line, wire in line Dash, DashDot, DashDotDot, Zigzag, Hand with the dimensions given.
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from __future__ import division
"""
***************************************************************************
* Copyright (c) 2014 2015 2016 2017 2018 2019 2020 <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. *
** **
* Use at your own risk. The author assumes no liability for data loss. *
* It is advised to backup your data frequently. *
* If you do not trust the software do not use it. *
** **
* This software is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU Library General Public License for more details. *
* *
* You should have received a copy of the GNU Library General Public *
* License along with this macro; if not, write to the Free Software *
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 *
* USA *
***************************************************************************
* WARNING! All changes in this file will be lost and *
* may cause malfunction of the program *
***************************************************************************
"""
#Macro_FCConvertLines 03/01/2016 - 18/02/2016 GUI - 05/09/2016 - 11/01/2017 - 20/02/2017 - 13/05/2017 - 09/11/2020
#
#OS: Windows 10 (10.0)
#Word size of OS: 64-bit
#Word size of FreeCAD: 64-bit
#Version: 0.19.22894 (Git)
#Build type: Release
#Branch: master
#Hash: 9eb080488d970d313c538473e7272117ea0a7cd1
#Python version: 3.6.8
#Qt version: 5.12.1
#Coin version: 4.0.0a
#OCC version: 7.3.0
#Locale: French/Mars (fr_MA)
#
__title__ = "FCConvertLines"
__url__ = "http://www.freecadweb.org/index-fr.html"
__Wiki__ = "http://www.freecadweb.org/wiki/index.php?title=Macro_FC_Convert_Lines"
__author__ = "Mario52"
__version__ = "00.07b"
__date__ = "09/11/2020"
#
import PySide
from PySide import QtGui ,QtCore
from PySide.QtGui import *
from PySide.QtCore import *
import Draft, Part, math, PartGui
from math import sqrt, pi, sin, cos, asin
from FreeCAD import Base
import os, time, sys, platform
import FreeCAD, FreeCADGui
App = FreeCAD
Gui = FreeCADGui
global emergency ; emergency = 0
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) # PySide #cette fonction met la fenêtre en avant
diag.exec_()
####################################################################################################################
def cutLength(cutLength = 10.0,cutLine = 0, red = 0, green = 0, blue = 0, typeColor = 0, createLine = 1, createPoints = 0, lineWidth = 2.0, pSize = 2.0):
#typeColor = 0 (color system) typeColor = 1 (color = red white)
global emergency
def createLines(numberOfPoints, points, createLine, createPoints): # create lines special cutLength ant cut x lines
bicolor = 0
for lin in range(numberOfPoints-1):
if typeColor == 1: # type color 0 (color system), 1 (color = red white)
if bicolor == 0:
red2 = 255.0; green2 = 0.0; blue2 = 0.0
bicolor = 1
else:
red2 = 255.0; green2 = 255.0; blue2 = 255.0
bicolor = 0
else:
red2 = red; green2 = green; blue2 = blue
if createLine == 1: # create line
creaLine = [FreeCAD.Vector(points[lin]),FreeCAD.Vector(points[lin+1])]
wire = Draft.makeWire(creaLine,closed=False,face=False,support=None)
colorize(red2 = red2, green2 = green2, blue2 = blue2)
if createPoints == 1: # create points
Draft.makePoint( FreeCAD.Vector(points[lin]))
colorize(red2 = red2, green2 = green2, blue2 = blue2)
if (lin == numberOfPoints-2):
Draft.makePoint( FreeCAD.Vector(points[lin+1]))
colorize(red2 = red2, green2 = green2, blue2 = blue2)
def colorize(red2 = 0, green2 = 0, blue2 = 0):
FreeCADGui.activeDocument().activeObject().LineColor = (float(red2)/255,float(green2)/255,float(blue2)/255) # cutToLength
FreeCADGui.activeDocument().activeObject().PointColor = (float(red2)/255,float(green2)/255,float(blue2)/255) # cutToLength
FreeCADGui.activeDocument().activeObject().ShapeColor = (float(red2)/255,float(green2)/255,float(blue2)/255) # cutToLength
FreeCADGui.activeDocument().activeObject().LineWidth = lineWidth
FreeCADGui.activeDocument().activeObject().PointSize = pSize
if (cutLength + cutLine) != 0:
points = []; points[:] = []
points2 = []; points2[:] = []
precision = 10000.0 # permet 4 decimales = 0.0001
cutLength = cutLength * precision
try:
#######Selectionne un ou des objets vue 3D ou vue combinnee (subObjects complete) getSelection()############################
# compt_Oject = -1 #
# selectionObjects = FreeCADGui.Selection.getSelection() # Select an object or primitive getSelection()
# for selection in enumerate(selectionObjects): #
# compt_Oject += 1 #
# compt_Edges = -1 #
# for selectedEdge in enumerate(selectionObjects[compt_Oject].Shape.Edges): # Search the "Edges" and their lengths
# compt_Edges += 1 #
# longueur = (selectionObjects[compt_Oject].Shape.Edges[compt_Edges].Length) * precision #
# numberOfPoints = (longueur + 1) #
# points = selectionObjects[compt_Oject].Shape.Edges[compt_Edges].discretize(int(numberOfPoints)) # Dicretize
############################################################################################################################
#####selection 1 objet ou sous objet a la fois dans la vue 3D getSelectionEx()#############################################
selectionObjects = FreeCADGui.Selection.getSelectionEx() # Select an object or sub object getSelectionEx
for selection in selectionObjects: #
for selectedEdge in selection.SubObjects: #
if cutLine != 0: # cut line to x parts
points = selectedEdge.Edges[0].discretize(int(cutLine+1)) # Dicretize
createLines(len(points), points, createLine, createPoints)
else: # cut line to x length
longueur = (selectedEdge.Length) * precision
numberOfPoints = (longueur + 1)
points = selectedEdge.Edges[0].discretize(int(numberOfPoints)) # Dicretize
compt = 0
points2 += [points[0]]
for ii2 in range(len(points)):
try:
compt += int(cutLength)
points2 += [points[compt]]
except Exception:
points2 += [points[-1]]
points2[-1] = points[-1]
break
createLines(len(points2), points2, createLine, createPoints)
points[:] = []
points2[:] = []
points[:] = []
points2[:] = []
#App.ActiveDocument.ActiveObject.recompute()
App.ActiveDocument.recompute()
except Exception:
FreeCAD.Console.PrintError("can not create"+"\n")
emergency = 1
else:
FreeCAD.Console.PrintError("Zero not permitted"+"\n")
emergency = 1
########################################################################################################################
########################################################################################################################
def handLine(LengthA = 150, HeightB = 2.0, WaveC = 40.0, compLine = 0, red = 0, green = 0, blue = 0, plane = 1, lineWidth = 2.0, pSize = 2.0):
global emergency
def colorize():
FreeCADGui.activeDocument().activeObject().LineColor = (float(red)/255,float(green)/255,float(blue)/255)
FreeCADGui.activeDocument().activeObject().PointColor = (float(red)/255,float(green)/255,float(blue)/255)
FreeCADGui.activeDocument().activeObject().ShapeColor = (float(red)/255,float(green)/255,float(blue)/255)
FreeCADGui.activeDocument().activeObject().LineWidth = lineWidth
FreeCADGui.activeDocument().activeObject().PointSize = pSize
if LengthA and HeightB and WaveC != 0:
try:
points = []; points[:] = []
coor_X = 0.0
coor_Y = 0.0
coor_Z = 0.0
X = 0.0
Y = 0.0
precision = 10.0
while X <= LengthA :
points += [FreeCAD.Vector(coor_X,coor_Y,coor_Z)]
X += (WaveC / precision)
Y = sin(X * WaveC )
coor_X = X
coor_Y = Y * (HeightB /2)
zz = Draft.makeBSpline(points,closed=False)
colorize()
if plane == 1: # "XY"
zz.Placement = App.Placement(App.Vector(0,0,0), App.Rotation(0,0,0), App.Vector(0,0,0))
zz.Label = " Hand_XY" #zz.Name + " Hand_XY"
Gui.activeDocument().activeView().viewTop()
if plane == 2: # "YZ"
zz.Placement = App.Placement(App.Vector(0,0,0), App.Rotation(90,0,90), App.Vector(0,0,0))
zz.Label = " Hand_YZ" #zz.Name + " Hand_YZ"
Gui.activeDocument().activeView().viewRight()
if plane == 3: # "XZ"
zz.Placement = App.Placement(App.Vector(0,0,0), App.Rotation(0,0,90), App.Vector(0,0,0))
zz.Label = " Hand_XZ" #zz.Name + " Hand_XZ"
Gui.activeDocument().activeView().viewFront()
points[:] = []
#App.ActiveDocument.ActiveObject.recompute()
App.ActiveDocument.recompute()
except Exception:
FreeCAD.Console.PrintError("can not create"+"\n")
emergency = 1
else:
FreeCAD.Console.PrintError("Zero not permitted"+"\n")
emergency = 1
########################################################################################################################
####################################################################################################################
def zigzagLine(NumberX = 10, BeginA = 2.0, DimensionB = 4.0, GapC = 10.0, HeightD = 2.0, NumberE = 1, compLine = 0, red = 0, green = 0, blue = 0, plane = 1, lineWidth = 2.0, pSize = 2.0):
global emergency
def colorize():
FreeCADGui.activeDocument().activeObject().LineColor = (float(red)/255,float(green)/255,float(blue)/255)
FreeCADGui.activeDocument().activeObject().PointColor = (float(red)/255,float(green)/255,float(blue)/255)
FreeCADGui.activeDocument().activeObject().ShapeColor = (float(red)/255,float(green)/255,float(blue)/255)
FreeCADGui.activeDocument().activeObject().LineWidth = lineWidth
FreeCADGui.activeDocument().activeObject().PointSize = pSize
if DimensionB and GapC and HeightD and NumberE != 0:
points2 = []; points2[:] = []
points = []; points[:] = []
Longueur = (BeginA * 2) + ((NumberX * (DimensionB + (GapC * NumberE))) - DimensionB)
ZigZag = Draft.makeWire([FreeCAD.Vector(0.0,0.0,0.0),FreeCAD.Vector(Longueur,0.0,0.0)],closed=False,face=False,support=None)
App.ActiveDocument.ActiveObject.recompute()
precision = 100.0 # permet 2 decimales = 0.01
BeginA = BeginA * precision
DimensionB = DimensionB * precision
GapC = GapC * precision
try:
Longueur *= precision
points = ZigZag.Shape.copy().discretize(int(Longueur)) # Dicretize points base
App.ActiveDocument.removeObject(ZigZag.Name) # remove line to base directrice
compt = 0 # compt points
points2 += [points[compt]] #
compt = int(BeginA)
points2 += [points[compt]]
for ii2 in range(int(NumberX)):
try:
for i in range(NumberE):
x0 = points[compt][0]+((GapC/precision)*0.25)
y0 = points[compt][1]+HeightD
z0 = 0.0
points2 += [FreeCAD.Vector(x0,y0,z0)]
x0 = points[compt][0]+((GapC/precision)*0.75)
y0 = points[compt][1]-HeightD
z0 = 0.0
points2 += [FreeCAD.Vector(x0,y0,z0)]
compt += int(GapC)
points2 += [points[compt]]
compt += int(DimensionB)
points2 += [points[compt]]
except Exception:
None
points2 += [points[-1]]
zz = Draft.makeWire(points2,closed=False,face=False,support=None)
colorize()
if plane == 1: # Placement "XY"
zz.Placement = App.Placement(App.Vector(0,0,0), App.Rotation(0,0,0), App.Vector(0,0,0))
zz.Label = " ZigZag_XY" #zz.Name + " ZigZag_XY"
Gui.activeDocument().activeView().viewTop()
if plane == 2: # Placement "YZ"
zz.Placement = App.Placement(App.Vector(0,0,0), App.Rotation(90,0,90), App.Vector(0,0,0))
zz.Label = " ZigZag_YZ" #zz.Name + " ZigZag_YZ"
Gui.activeDocument().activeView().viewRight()
if plane == 3: # Placement "XZ"
zz.Placement = App.Placement(App.Vector(0,0,0), App.Rotation(0,0,90), App.Vector(0,0,0))
zz.Label = " ZigZag_XZ" #zz.Name + " ZigZag_XZ"
Gui.activeDocument().activeView().viewFront()
points[:] = []
points2[:] = []
#App.ActiveDocument.ActiveObject.recompute()
App.ActiveDocument.recompute()
except Exception:
FreeCAD.Console.PrintError("Can not create"+"\n")
emergency = 1
else:
FreeCAD.Console.PrintError("Zero not permitted"+"\n")
emergency = 1
########################################################################################################################
####################################################################################################################
def dashLine(dash001 = 2.0, space001 = 1.0, dash002 = 1.0, space002 = 1.0, compLine = 0, red = 0, green = 0, blue = 0, typeLine = 1, lineWidth = 2.0, pSize = 2.0):
# typeLine = 1 "_ _ _ _ _ _ _ _ _ " dash (dash001, space001)
# typeLine = 2 "___ _ ___ _ ___ _ " dash dot (dash001, space001, dash002, space002)
# typeLine = 3 "___ _ _ ___ _ _ ___" dash dot dot (dash001, space001, dash002, space002)
global emergency
def createLines(numberOfPoints, points):
space = 0
for lin in range(numberOfPoints-1):
if space == 0:
creaLine = [FreeCAD.Vector(points[lin]),FreeCAD.Vector(points[lin+1])]
if str(creaLine[0]) != str(creaLine[1]):
wire = Draft.makeWire(creaLine,closed=False,face=False,support=None)# lines
else:
wire = Draft.makePoint(FreeCAD.Vector(points[lin+1])) # end line = point
App.ActiveDocument.ActiveObject.recompute()
space = 1
ligne.append(wire.Shape) # for compount
nom.append(wire.Name) # for compount
else:
space = 0
# si pas possible affiche cette ligne (ajoute recompute() pour corriger)# Cannot compute Inventor representation for the shape of Shape.
def colorize():
FreeCADGui.activeDocument().activeObject().LineColor = (float(red)/255,float(green)/255,float(blue)/255)
FreeCADGui.activeDocument().activeObject().PointColor = (float(red)/255,float(green)/255,float(blue)/255)
FreeCADGui.activeDocument().activeObject().ShapeColor = (float(red)/255,float(green)/255,float(blue)/255)
FreeCADGui.activeDocument().activeObject().LineWidth = lineWidth
FreeCADGui.activeDocument().activeObject().PointSize = pSize
if dash001 and space001 and dash002 and space002 != 0:
nom = []; nom[:] = []
ligne = []; ligne[:] = []
comp2 = []; comp2[:] = []
points = []; points[:] = []
points2 = []; points2[:] = []
precision = 1000.0 # permet 3 decimales = 0.001
dash001 = dash001 * precision
space001 = space001 * precision
dash002 = dash002 * precision
space002 = space002 * precision
try:
#######Selectionne un ou des objets vue 3D ou vue combinnee (subObjects complete) getSelection()############################
# compt_Oject = -1 #
# selectionObjects = FreeCADGui.Selection.getSelection() # Select an object or primitive getSelection()
# for selection in enumerate(selectionObjects): #
# compt_Oject += 1 #
# compt_Edges = -1 #
# for selectedEdge in enumerate(selectionObjects[compt_Oject].Shape.Edges): # Search the "Edges" and their lengths
# dash01 = dash001; space01 = space001; dash02 = dash002; space02 = space002 #
# compt_Edges += 1 #
# longueur = (selectionObjects[compt_Oject].Shape.Edges[compt_Edges].Length) * precision #
# if (dash01 + space01 + dash02 + space02) >= longueur: #
# dash01 = int(longueur / 6) # altenate solution
# space01 = int(longueur / 6) # altenate solution
# dash02 = int(longueur / 6) # altenate solution
# space02 = int(longueur / 6) # altenate solution
# FreeCAD.Console.PrintError("Alernate Dash"+"\n") # altenate solution
# numberOfPoints = (longueur + 1) #
# points = selectionObjects[compt_Oject].Shape.Edges[compt_Edges].discretize(int(numberOfPoints)) # Dicretize
############################################################################################################################
#####selection 1 objet ou sous objet a la fois dans la vue 3D getSelectionEx()#############################################
selectionObjects = FreeCADGui.Selection.getSelectionEx() # Select an object or sub object getSelectionEx
for selection in selectionObjects: #
# compEdge = 0 # compt affichage nom
for selectedEdge in selection.SubObjects: #
dash01 = dash001; space01 = space001; dash02 = dash002; space02 = space002 #
longueur = (selectedEdge.Length) * precision #
if (dash01 + space01 + dash02 + space02) >= longueur: # altenate solution
dash01 = int(longueur / 6) # altenate solution
space01 = int(longueur / 6) # altenate solution
dash02 = int(longueur / 6) # altenate solution
space02 = int(longueur / 6) # altenate solution
FreeCAD.Console.PrintError("Alernate Dash"+"\n") # altenate solution
# print selection.SubElementNames[compEdge] #
# compEdge += 1 #
numberOfPoints = (longueur + 1) #
points = selectedEdge.Edges[0].discretize(int(numberOfPoints)) # Dicretize
###########################################################################################################################
#######cut line in dashDot coordinates#########################################################################
compt = 0
points2 += [points[0]]
for ii2 in range(len(points)):
try:
compt += int(dash01) # typeLine = 1 "_ _ _ _ _ _ _ _ _ " dash
points2 += [points[compt]]
compt += int(space01)
points2 += [points[compt]]
if typeLine > 1: # typeLine = 2 "___ _ ___ _ ___ _ " dash dot
compt += int(dash02) # "___ _ ___ _ ___ "
points2 += [points[compt]]
if typeLine == 2:
compt += int(space02)
else:
compt += int(space01)
points2 += [points[compt]]
if typeLine > 2: # typeLine = 3 "___ _ _ ___ _ _ ___" dash dot dot
compt += int(dash02)
points2 += [points[compt]]
compt += int(space01)
points2 += [points[compt]]
except Exception:
points2 += [points[-1]]
points2[-1] = points[-1]
break
createLines(len(points2), points2)
#######cut line in dash coordinates##############################################################################
if compLine == 0:
comp = Part.makeCompound(ligne) # si compount ligne separee
Part.show(comp) # si compount ligne separee
else:
comp2 += ligne
if typeLine == 1:
App.ActiveDocument.ActiveObject.Label = "Line_Dash"
elif typeLine == 2:
App.ActiveDocument.ActiveObject.Label = "Line_Dash_D"
elif typeLine == 3:
App.ActiveDocument.ActiveObject.Label = "Line_Dash_DD"
colorize()
ligne[:] = [] # si compount ligne separee
points[:] = []
points2[:] = []
for i in nom:
FreeCAD.ActiveDocument.removeObject(i)
if compLine != 0: # 1 = toutes les selections en un compount
comp = Part.makeCompound(comp2) # si compount ensemble complet
Part.show(comp) # si compount ensemble complet
colorize()
if typeLine == 1:
App.ActiveDocument.ActiveObject.Label = "Line_Dash_C"
elif typeLine == 2:
App.ActiveDocument.ActiveObject.Label = "Line_Dash_D_C"
elif typeLine == 3:
App.ActiveDocument.ActiveObject.Label = "Line_Dash_DD_C"
nom[:] = []
ligne[:] = []
comp2[:] = []
points[:] = []
points2[:] = []
#App.ActiveDocument.ActiveObject.recompute()
App.ActiveDocument.recompute()
except Exception:
FreeCAD.Console.PrintError("can not create"+"\n")
emergency = 1
else:
FreeCAD.Console.PrintError("Zero not permitted"+"\n")
emergency = 1
#####################################################################################################################
class Ui_MainWindow(object):
def __init__(self):
#self.path = FreeCAD.ConfigGet("AppHomePath")
#self.path = FreeCAD.ConfigGet("UserAppData")
#self.path = "your path"
param = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Macro")# macro path
self.path = param.GetString("MacroPath","") + "/" # macro path
self.path = self.path.replace("\\","/")
global emergency
self.NumberCut = 2.0
self.LineA = 2.0
self.SpaceB = 0.5
self.Line2C = 0.2
self.Space2D = self.SpaceB
self.red = 0
self.green = 0
self.blue = 0
self.NHeadsX = 20
self.BeginA = 2.0
self.DimensionB = 4.0
self.GapC = 3.0
self.HeightD = 2.0
self.NumberE = 1
self.Compound = 0
self.lineWidth = 2.0
self.pointSize = 2.0
self.Plan = 1
self.LengthA = 150
self.HeightB = 2.0
self.WaveC = 40.0
self.NameType = "Name of type"
self.fontGlobal_08 = "" # pour compatibilite Windows Linux pour tous les textes
def setupUi(self, MainWindow):
self.window = MainWindow
MainWindow.setObjectName(_fromUtf8("MainWindow"))
MainWindow.resize(363, 621)
MainWindow.setMinimumSize(QtCore.QSize(363, 621))
MainWindow.setMaximumSize(QtCore.QSize(363, 621))
MainWindow.setToolTip(_fromUtf8(""))
self.centralwidget = QtGui.QWidget(MainWindow)
self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
self.fontGlobal_08 = QtGui.QFont() # pour compatibilite Windows Linux pour tous les textes
self.fontGlobal_08.setFamily("Arial") # pour compatibilite Windows Linux pour tous les textes
self.fontGlobal_08.setPointSize(8.0) # pour compatibilite Windows Linux pour tous les textes
self.PB_01_Save = QtGui.QPushButton(self.centralwidget)
self.PB_01_Save.setGeometry(QtCore.QRect(10, 560, 73, 23))
self.PB_01_Save.setFont(self.fontGlobal_08)
self.PB_01_Save.setToolTip(_fromUtf8("Save the configuration in file with extension .FCConvert"))
self.PB_01_Save.setObjectName(_fromUtf8("PB_01_Save"))
self.PB_01_Save.clicked.connect(self.on_PB_01_Save) #
self.PB_02_Load = QtGui.QPushButton(self.centralwidget)
self.PB_02_Load.setGeometry(QtCore.QRect(100, 560, 73, 23))
self.PB_02_Load.setFont(self.fontGlobal_08)
self.PB_02_Load.setToolTip(_fromUtf8("Load the file configuration"))
self.PB_02_Load.setObjectName(_fromUtf8("PB_02_Load"))
self.PB_02_Load.clicked.connect(self.on_PB_02_Load) #
self.LE_01_LineType = QtGui.QLineEdit(self.centralwidget)
self.LE_01_LineType.setGeometry(QtCore.QRect(190, 560, 161, 23))
self.LE_01_LineType.setFont(self.fontGlobal_08)
self.LE_01_LineType.setObjectName(_fromUtf8("LE_01_LineType"))
self.LE_01_LineType.setToolTip("Give the name of type line created"+"\n"+
"This information is saved in the file")
# self.LE_01_LineType.setText(QtGui.QApplication.translate("Form", "Name type line", None, QtGui.QApplication.UnicodeUTF8))
#self.LE_01_LineType.returnPressed.connect(self.on_lineEdit_1_Pressed) # connect on def "on_lineEdit_1_Pressed" for execute actionn # for validate the data with press on return touch
self.LE_01_LineType.textChanged.connect(self.on_LE_01_LineType_Pressed) # connect on def "on_lineEdit_1_Pressed" for execute actionn # with tips key char by char
self.PB_04_CreateComp = QtGui.QPushButton(self.centralwidget)
self.PB_04_CreateComp.setGeometry(QtCore.QRect(100, 590, 73, 23))
self.PB_04_CreateComp.setFont(self.fontGlobal_08)
self.PB_04_CreateComp.setToolTip(_fromUtf8("Create the lines and create the compound."+"\n"+
"Not for Cut Lines, Ziqzag and Hand"))
self.PB_04_CreateComp.setEnabled(False)
self.PB_04_CreateComp.setObjectName(_fromUtf8("PB_04_CreateComp"))
self.PB_04_CreateComp.clicked.connect(self.on_PB_04_CreateComp) #
self.PB_05_Create = QtGui.QPushButton(self.centralwidget)
self.PB_05_Create.setGeometry(QtCore.QRect(190, 590, 73, 23))
self.PB_05_Create.setFont(self.fontGlobal_08)
self.PB_05_Create.setToolTip(_fromUtf8("Create the lines"))
self.PB_05_Create.setObjectName(_fromUtf8("PB_05_Create"))
self.PB_05_Create.clicked.connect(self.on_PB_05_Create) #
self.PB_03_Reset = QtGui.QPushButton(self.centralwidget)
self.PB_03_Reset.setGeometry(QtCore.QRect(10, 590, 73, 23))
self.PB_03_Reset.setFont(self.fontGlobal_08)
self.PB_03_Reset.setToolTip(_fromUtf8("Reset the macro in the defaut values"))
self.PB_03_Reset.setObjectName(_fromUtf8("PB_03_Reset"))
self.PB_03_Reset.clicked.connect(self.on_PB_03_Reset) #
self.PB_06_Quit = QtGui.QPushButton(self.centralwidget)
self.PB_06_Quit.setGeometry(QtCore.QRect(280, 590, 73, 23))
self.PB_06_Quit.setFont(self.fontGlobal_08)
self.PB_06_Quit.setToolTip(_fromUtf8("Quit the macro and goodbye"))
self.PB_06_Quit.setObjectName(_fromUtf8("PB_06_Quit"))
self.PB_06_Quit.clicked.connect(self.on_PB_06_Quit) #
self.groupBox_00_CutLine = QtGui.QGroupBox(self.centralwidget)
self.groupBox_00_CutLine.setGeometry(QtCore.QRect(10, 30, 341, 51))
self.groupBox_00_CutLine.setFont(self.fontGlobal_08)
self.groupBox_00_CutLine.setCheckable(True)
self.groupBox_00_CutLine.setToolTip(_fromUtf8("Cut line in x parts if this checkBox is checked five types of lines can be selected"))
self.groupBox_00_CutLine.setObjectName(_fromUtf8("groupBox_00_CutLine"))
self.groupBox_00_CutLine.clicked.connect(self.on_groupBox_00_CutLine) #connection checkBox
self.DS_01_NumberCut = QtGui.QDoubleSpinBox(self.centralwidget)
self.DS_01_NumberCut.setGeometry(QtCore.QRect(20, 49, 81, 22))
self.DS_01_NumberCut.setFont(self.fontGlobal_08)
self.DS_01_NumberCut.setObjectName(_fromUtf8("DS_01_NumberCut"))
self.DS_01_NumberCut.setSingleStep(1)
self.DS_01_NumberCut.setMaximum(9999999)
self.DS_01_NumberCut.setMinimum(1)
self.DS_01_NumberCut.setDecimals(0)
self.DS_01_NumberCut.setSuffix(_fromUtf8(" Cut"))
self.DS_01_NumberCut.setValue(self.NumberCut)
self.DS_01_NumberCut.setToolTip(_fromUtf8("Select one or more line(s) in the 3D view enter the desired number of cut (The suffix is Cut)"+"\n"+
"If Dimension is checked one length is input (The suffix is Dim)"))
self.DS_01_NumberCut.valueChanged.connect(self.on_DS_01_NumberCut_valueChanged) #connect on def "on_DS_00_01_NumberCut_valueChanged"
self.label_00_01 = QtGui.QLabel(self.groupBox_00_CutLine)
self.label_00_01.setGeometry(QtCore.QRect(70, 20, 61, 16))
self.label_00_01.setFont(self.fontGlobal_08)
self.label_00_01.setToolTip(_fromUtf8(""))
self.label_00_01.setObjectName(_fromUtf8("label_00_01"))
self.CB_00_02_BiColor = QtGui.QCheckBox(self.groupBox_00_CutLine)
self.CB_00_02_BiColor.setGeometry(QtCore.QRect(231, 23, 61, 17))
self.CB_00_02_BiColor.setFont(self.fontGlobal_08)
self.CB_00_02_BiColor.setToolTip(_fromUtf8("If Bicolor is checked the line Cut or Dimension are colored in Red and White."+"\n"+
"If this checkBox is not checked the color is the color selected in the button Color"))
self.CB_00_02_BiColor.setChecked(True)
self.CB_00_02_BiColor.setObjectName(_fromUtf8("CB_00_02_BiColor"))
self.CB_00_02_BiColor.clicked.connect(self.on_CB_00_02_BiColor_clicked) # connect on def "CB_00_01_Dimension"
self.CB_00_03_CreatePoints = QtGui.QCheckBox(self.groupBox_00_CutLine)
self.CB_00_03_CreatePoints.setGeometry(QtCore.QRect(290, 23, 51, 17))
self.CB_00_03_CreatePoints.setFont(self.fontGlobal_08)
self.CB_00_03_CreatePoints.setToolTip(_fromUtf8("If Points is checked on point is created to the Cut or Dimension (Checked by defaut)"))
self.CB_00_03_CreatePoints.setObjectName(_fromUtf8("CB_00_03_CreatePoints"))
self.CB_00_03_CreatePoints.clicked.connect(self.on_CB_00_03_CreatePoints_clicked) # connect on def "CB_00_01_Dimension"
self.CB_00_01_Dimension = QtGui.QCheckBox(self.groupBox_00_CutLine)
self.CB_00_01_Dimension.setGeometry(QtCore.QRect(164, 23, 71, 17))
self.CB_00_01_Dimension.setFont(self.fontGlobal_08)
self.CB_00_01_Dimension.setToolTip(_fromUtf8("If Dimension is not checked the number entered is the number of cut"+"\n"+
"If Dimension is checked the number entered is a length"+"\n"+
"The line is cut into given length."+"\n"+
"If the dimension greater than the line the line is duplicated"+"\n"+
"If the line is greater than the Dimension a line will be created with the remaining length"))
self.CB_00_01_Dimension.setObjectName(_fromUtf8("CB_00_01_Dimension"))
self.CB_00_01_Dimension.clicked.connect(self.on_CB_00_01_Dimension_clicked) # connect on def "CB_00_01_Dimension"
self.CB_00_00_CreateLine = QtGui.QCheckBox(self.groupBox_00_CutLine)
self.CB_00_00_CreateLine.setGeometry(QtCore.QRect(100, 23, 71, 17))
self.CB_00_00_CreateLine.setFont(self.fontGlobal_08)
self.CB_00_00_CreateLine.setToolTip(_fromUtf8("If Create line is checked the lines are created (Checked by defaut)"))
self.CB_00_00_CreateLine.setChecked(True)
self.CB_00_00_CreateLine.setObjectName(_fromUtf8("CB_00_00_CreateLine"))
self.CB_00_00_CreateLine.clicked.connect(self.on_CB_00_CB_00_00_CreateLine_clicked) # connect on def "CB_00_01_Dimension"
self.groupBox_01_TypeLine = QtGui.QGroupBox(self.centralwidget)
self.groupBox_01_TypeLine.setEnabled(False)
self.groupBox_01_TypeLine.setGeometry(QtCore.QRect(10, 90, 341, 461))
self.groupBox_01_TypeLine.setFont(self.fontGlobal_08)
self.groupBox_01_TypeLine.setToolTip(_fromUtf8(""))
self.groupBox_01_TypeLine.setTitle(_fromUtf8("Type line"))
self.groupBox_01_TypeLine.setCheckable(False)
self.groupBox_01_TypeLine.setChecked(False)
self.groupBox_01_TypeLine.setObjectName(_fromUtf8("groupBox_01_TypeLine"))
self.RB_01_01_Dash = QtGui.QRadioButton(self.groupBox_01_TypeLine)
self.RB_01_01_Dash.setGeometry(QtCore.QRect(10, 20, 51, 17))
self.RB_01_01_Dash.setFont(self.fontGlobal_08)
self.RB_01_01_Dash.setToolTip(_fromUtf8("The type line is Dash. Select one or more line(s) in the 3D view and create"))
self.RB_01_01_Dash.setChecked(True)
self.RB_01_01_Dash.setObjectName(_fromUtf8("RB_01_01_Dash"))
self.RB_01_01_Dash.clicked.connect(self.on_RB_01_01_Dash) #connection radioButton
self.RB_01_02_DashDot = QtGui.QRadioButton(self.groupBox_01_TypeLine)
self.RB_01_02_DashDot.setGeometry(QtCore.QRect(70, 20, 61, 17))
self.RB_01_02_DashDot.setFont(self.fontGlobal_08)
self.RB_01_02_DashDot.setToolTip(_fromUtf8("The type line is Dash Dot. Select one or more line(s) in the 3D view and create"))
self.RB_01_02_DashDot.setObjectName(_fromUtf8("RB_01_02_DashDot"))
self.RB_01_02_DashDot.clicked.connect(self.on_RB_01_02_DashDot) #connection radioButton
self.RB_01_03_DashDotDot = QtGui.QRadioButton(self.groupBox_01_TypeLine)
self.RB_01_03_DashDotDot.setGeometry(QtCore.QRect(140, 20, 81, 17))
self.RB_01_03_DashDotDot.setFont(self.fontGlobal_08)
self.RB_01_03_DashDotDot.setToolTip(_fromUtf8("The type line is Dash Dot Dot. Select one or more line(s) in the 3D view and create"))
self.RB_01_03_DashDotDot.setObjectName(_fromUtf8("RB_01_03_DashDotDot"))
self.RB_01_03_DashDotDot.clicked.connect(self.on_RB_01_03_DashDotDot) #connection radioButton
self.RB_01_04_ZigZag = QtGui.QRadioButton(self.groupBox_01_TypeLine)
self.RB_01_04_ZigZag.setGeometry(QtCore.QRect(220, 20, 61, 17))
self.RB_01_04_ZigZag.setFont(self.fontGlobal_08)
self.RB_01_04_ZigZag.setToolTip(_fromUtf8("The type line is ZigZag one line are created"+"\n"+
"Select the plane XY, YZ or ZX the length is calculate in real time"))
self.RB_01_04_ZigZag.setObjectName(_fromUtf8("RB_01_04_ZigZag"))
self.RB_01_04_ZigZag.clicked.connect(self.on_RB_01_04_ZigZag) #connection radioButton
self.RB_01_05_Hand = QtGui.QRadioButton(self.groupBox_01_TypeLine)
self.RB_01_05_Hand.setGeometry(QtCore.QRect(290, 20, 51, 17))
self.RB_01_05_Hand.setFont(self.fontGlobal_08)
self.RB_01_05_Hand.setToolTip(_fromUtf8("The type line is Hand one line aleatory are created"+"\n"+
"Select the plane XY, YZ or ZX"))
self.RB_01_05_Hand.setObjectName(_fromUtf8("RB_01_05_Hand"))
self.RB_01_05_Hand.clicked.connect(self.on_RB_01_05_Hand) #connection radioButton
self.groupBox_02_01_DashDot = QtGui.QGroupBox(self.groupBox_01_TypeLine)
self.groupBox_02_01_DashDot.setGeometry(QtCore.QRect(10, 40, 321, 61))
self.groupBox_02_01_DashDot.setFont(self.fontGlobal_08)
self.groupBox_02_01_DashDot.setObjectName(_fromUtf8("groupBox_02_01_DashDot"))
self.label_02_01_01_A = QtGui.QLabel(self.groupBox_02_01_DashDot)
self.label_02_01_01_A.setGeometry(QtCore.QRect(10, 10, 61, 16))
self.label_02_01_01_A.setFont(self.fontGlobal_08)
self.label_02_01_01_A.setToolTip(_fromUtf8("First line set"))
self.label_02_01_01_A.setObjectName(_fromUtf8("label_02_01_01_A"))
self.label_02_01_02_B = QtGui.QLabel(self.groupBox_02_01_DashDot)
self.label_02_01_02_B.setGeometry(QtCore.QRect(90, 10, 61, 16))
self.label_02_01_02_B.setFont(self.fontGlobal_08)
self.label_02_01_02_B.setToolTip(_fromUtf8("First space set"))
self.label_02_01_02_B.setObjectName(_fromUtf8("label_02_01_02_B"))
self.label_02_01_03_C = QtGui.QLabel(self.groupBox_02_01_DashDot)
self.label_02_01_03_C.setGeometry(QtCore.QRect(170, 10, 61, 16))
self.label_02_01_03_C.setFont(self.fontGlobal_08)
self.label_02_01_03_C.setToolTip(_fromUtf8("Second line set"))
self.label_02_01_03_C.setObjectName(_fromUtf8("label_02_01_03_C"))
self.label_02_01_04_D = QtGui.QLabel(self.groupBox_02_01_DashDot)
self.label_02_01_04_D.setGeometry(QtCore.QRect(250, 10, 61, 16))
self.label_02_01_04_D.setFont(self.fontGlobal_08)
self.label_02_01_04_D.setToolTip(_fromUtf8("Second space set"))
self.label_02_01_04_D.setObjectName(_fromUtf8("label_02_01_04_D"))
self.DS_02_01_01_LineA = QtGui.QDoubleSpinBox(self.groupBox_02_01_DashDot)
self.DS_02_01_01_LineA.setGeometry(QtCore.QRect(10, 30, 62, 22))
self.DS_02_01_01_LineA.setFont(self.fontGlobal_08)
self.DS_02_01_01_LineA.setToolTip(_fromUtf8("First line set"))
self.DS_02_01_01_LineA.setMaximum(999999.999999)
self.DS_02_01_01_LineA.setValue(self.LineA)
self.DS_02_01_01_LineA.setObjectName(_fromUtf8("DS_02_01_01_LineA"))
self.DS_02_01_01_LineA.valueChanged.connect(self.on_DS_02_01_01_LineA_valueChanged) # connect on def "on_DS_02_01_01_LineA_valueChanged"
self.DS_02_01_02_SpaceB = QtGui.QDoubleSpinBox(self.groupBox_02_01_DashDot)
self.DS_02_01_02_SpaceB.setGeometry(QtCore.QRect(90, 30, 62, 22))
self.DS_02_01_02_SpaceB.setFont(self.fontGlobal_08)
self.DS_02_01_02_SpaceB.setToolTip(_fromUtf8("First space set"))
self.DS_02_01_02_SpaceB.setMaximum(999999.999999)
self.DS_02_01_02_SpaceB.setValue(self.SpaceB)
self.DS_02_01_02_SpaceB.setObjectName(_fromUtf8("DS_02_01_02_SpaceB"))
self.DS_02_01_02_SpaceB.valueChanged.connect(self.on_DS_02_01_02_SpaceB_valueChanged) # connect on def "on_DS_02_01_02_SpaceB_valueChanged"
self.DS_02_01_03_Line2C = QtGui.QDoubleSpinBox(self.groupBox_02_01_DashDot)
self.DS_02_01_03_Line2C.setGeometry(QtCore.QRect(170, 30, 62, 22))
self.DS_02_01_03_Line2C.setFont(self.fontGlobal_08)
self.DS_02_01_03_Line2C.setToolTip(_fromUtf8("Second line set"))
self.DS_02_01_03_Line2C.setMaximum(999999.999999)
self.DS_02_01_03_Line2C.setValue(self.Line2C)
self.DS_02_01_03_Line2C.setObjectName(_fromUtf8("DS_02_01_03_Line2C"))
self.DS_02_01_03_Line2C.valueChanged.connect(self.on_DS_02_01_03_Line2C_valueChanged) # connect on def "on_DS_02_01_03_Line2C_valueChanged"
self.DS_02_01_04_Space2D = QtGui.QDoubleSpinBox(self.groupBox_02_01_DashDot)
self.DS_02_01_04_Space2D.setGeometry(QtCore.QRect(250, 30, 62, 22))
self.DS_02_01_04_Space2D.setFont(self.fontGlobal_08)
self.DS_02_01_04_Space2D.setToolTip(_fromUtf8("Second space set"))
self.DS_02_01_04_Space2D.setMaximum(999999.999999)
self.DS_02_01_04_Space2D.setValue(self.Space2D)
self.DS_02_01_04_Space2D.setObjectName(_fromUtf8("DS_02_01_04_Space2D"))
self.DS_02_01_04_Space2D.valueChanged.connect(self.on_DS_02_01_04_Space2D_valueChanged) # connect on def "on_DS_02_01_04_Space2D_valueChanged"
self.groupBox_02_02_ZigZag = QtGui.QGroupBox(self.groupBox_01_TypeLine)
self.groupBox_02_02_ZigZag.setGeometry(QtCore.QRect(10, 110, 321, 101))
self.groupBox_02_02_ZigZag.setFont(self.fontGlobal_08)
self.groupBox_02_02_ZigZag.setObjectName(_fromUtf8("groupBox_02_02_ZigZag"))
self.label_02_02_Length = QtGui.QLabel(self.groupBox_02_02_ZigZag)
self.label_02_02_Length.setGeometry(QtCore.QRect(200, 20, 110, 20))
self.label_02_02_Length.setFont(self.fontGlobal_08)
self.label_02_02_Length.setFrameShape(QtGui.QFrame.Box)
self.label_02_02_Length.setLineWidth(2)
self.label_02_02_Length.setAlignment(QtCore.Qt.AlignCenter)
self.label_02_02_Length.setToolTip(_fromUtf8("For the ZigZag the length is calculate in real time"+"\n"+
"and displayed in this window"))
self.label_02_02_Length.setIndent(0)
self.label_02_02_Length.setObjectName(_fromUtf8("label_02_02_Length"))
self.label_02_02_Length.setText(str((self.BeginA * 2) + ((self.NHeadsX * (self.DimensionB + (self.GapC * self.NumberE))) - self.DimensionB)))
self.label_02_02_0X = QtGui.QLabel(self.groupBox_02_02_ZigZag)
self.label_02_02_0X.setGeometry(QtCore.QRect(70, 20, 91, 16))
self.label_02_02_0X.setFont(self.fontGlobal_08)
self.label_02_02_0X.setToolTip(_fromUtf8("Number of heads in the line (a head is a crown)"))
self.label_02_02_0X.setObjectName(_fromUtf8("label_02_02_0X"))
self.label_02_02_01_A = QtGui.QLabel(self.groupBox_02_02_ZigZag)
self.label_02_02_01_A.setGeometry(QtCore.QRect(10, 50, 46, 13))
self.label_02_02_01_A.setFont(self.fontGlobal_08)
self.label_02_02_01_A.setToolTip(_fromUtf8("First and latest section of the line"))
self.label_02_02_01_A.setObjectName(_fromUtf8("label_02_02_01_A"))
self.label_02_02_02_B = QtGui.QLabel(self.groupBox_02_02_ZigZag)
self.label_02_02_02_B.setGeometry(QtCore.QRect(70, 50, 61, 16))
self.label_02_02_02_B.setFont(self.fontGlobal_08)
self.label_02_02_02_B.setToolTip(_fromUtf8("Dimension betwen two heads"))
self.label_02_02_02_B.setObjectName(_fromUtf8("label_02_02_02_B"))
self.label_02_02_03_C = QtGui.QLabel(self.groupBox_02_02_ZigZag)
self.label_02_02_03_C.setGeometry(QtCore.QRect(140, 50, 61, 16))
self.label_02_02_03_C.setFont(self.fontGlobal_08)
self.label_02_02_03_C.setToolTip(_fromUtf8("Gap of the head"))
self.label_02_02_03_C.setObjectName(_fromUtf8("label_02_02_03_C"))
self.label_02_02_04_D = QtGui.QLabel(self.groupBox_02_02_ZigZag)
self.label_02_02_04_D.setGeometry(QtCore.QRect(200, 50, 61, 16))
self.label_02_02_04_D.setFont(self.fontGlobal_08)
self.label_02_02_04_D.setToolTip(_fromUtf8("Head height"))
self.label_02_02_04_D.setObjectName(_fromUtf8("label_02_02_04_D"))
self.label_02_02_05_E = QtGui.QLabel(self.groupBox_02_02_ZigZag)
self.label_02_02_05_E.setGeometry(QtCore.QRect(260, 50, 61, 16))
self.label_02_02_05_E.setFont(self.fontGlobal_08)
self.label_02_02_05_E.setToolTip(_fromUtf8("Number of contiguous heads"))
self.label_02_02_05_E.setObjectName(_fromUtf8("label_02_02_05_E"))
self.SP_02_02_01_NHeadsX = QtGui.QSpinBox(self.groupBox_02_02_ZigZag)
self.SP_02_02_01_NHeadsX.setGeometry(QtCore.QRect(10, 20, 51, 22))
self.SP_02_02_01_NHeadsX.setFont(self.fontGlobal_08)
self.SP_02_02_01_NHeadsX.setToolTip(_fromUtf8("Number of heads in the line (a head is a crown)"))
self.SP_02_02_01_NHeadsX.setMaximum(999999.999999)
self.SP_02_02_01_NHeadsX.setValue(self.NHeadsX)
self.SP_02_02_01_NHeadsX.setObjectName(_fromUtf8("SP_02_02_01_NHeadsX"))
self.SP_02_02_01_NHeadsX.valueChanged.connect(self.on_SP_02_02_01_NHeadsX_valueChanged) # connect on def "SP_02_02_01_NHeadsX"
self.DS_02_02_01_BeginA = QtGui.QDoubleSpinBox(self.groupBox_02_02_ZigZag)
self.DS_02_02_01_BeginA.setGeometry(QtCore.QRect(10, 70, 51, 22))
self.DS_02_02_01_BeginA.setFont(self.fontGlobal_08)
self.DS_02_02_01_BeginA.setToolTip(_fromUtf8("First and latest section of the line"))
self.DS_02_02_01_BeginA.setMaximum(999999.999999)
self.DS_02_02_01_BeginA.setValue(self.BeginA)
self.DS_02_02_01_BeginA.setObjectName(_fromUtf8("DS_02_02_01_BeginA"))
self.DS_02_02_01_BeginA.valueChanged.connect(self.on_DS_02_02_01_BeginA_valueChanged) # connect on def "DS_02_02_01_DimensionA"
self.DS_02_02_02_DimensionB = QtGui.QDoubleSpinBox(self.groupBox_02_02_ZigZag)
self.DS_02_02_02_DimensionB.setGeometry(QtCore.QRect(70, 70, 61, 22))
self.DS_02_02_02_DimensionB.setFont(self.fontGlobal_08)
self.DS_02_02_02_DimensionB.setToolTip(_fromUtf8("Dimension betwen two heads"))
self.DS_02_02_02_DimensionB.setMaximum(999999.999999)
self.DS_02_02_02_DimensionB.setValue(self.DimensionB)
self.DS_02_02_02_DimensionB.setObjectName(_fromUtf8("DS_02_02_02_DimensionB"))
self.DS_02_02_02_DimensionB.valueChanged.connect(self.on_DS_02_02_02_DimensionB_valueChanged) # connect on def "DS_02_02_02_DimensionB"
self.DS_02_02_03_GapC = QtGui.QDoubleSpinBox(self.groupBox_02_02_ZigZag)
self.DS_02_02_03_GapC.setGeometry(QtCore.QRect(140, 70, 51, 22))
self.DS_02_02_03_GapC.setFont(self.fontGlobal_08)
self.DS_02_02_03_GapC.setToolTip(_fromUtf8("Gap of the head"))
self.DS_02_02_03_GapC.setMaximum(999999.999999)
self.DS_02_02_03_GapC.setValue(self.GapC)
self.DS_02_02_03_GapC.setObjectName(_fromUtf8("DS_02_02_03_GapC"))
self.DS_02_02_03_GapC.valueChanged.connect(self.on_DS_02_02_03_GapC_valueChanged) # connect on def "on_DS_02_02_03_GapB_valueChanged"
self.DS_02_02_04_HeightD = QtGui.QDoubleSpinBox(self.groupBox_02_02_ZigZag)
self.DS_02_02_04_HeightD.setGeometry(QtCore.QRect(200, 70, 51, 22))
self.DS_02_02_04_HeightD.setFont(self.fontGlobal_08)
self.DS_02_02_04_HeightD.setToolTip(_fromUtf8("Head height"))
self.DS_02_02_04_HeightD.setMaximum(999999.999999)
self.DS_02_02_04_HeightD.setValue(self.HeightD)
self.DS_02_02_04_HeightD.setObjectName(_fromUtf8("DS_02_02_04_HeightD"))
self.DS_02_02_04_HeightD.valueChanged.connect(self.on_DS_02_02_04_HeightD_valueChanged)# connect on def "on_DS_02_02_02_HeightC_valueChanged"
self.SP_02_02_05_NumberE = QtGui.QSpinBox(self.groupBox_02_02_ZigZag)
self.SP_02_02_05_NumberE.setGeometry(QtCore.QRect(260, 70, 51, 22))
self.SP_02_02_05_NumberE.setFont(self.fontGlobal_08)
self.SP_02_02_05_NumberE.setToolTip(_fromUtf8("Number of contiguous heads"))
self.SP_02_02_05_NumberE.setMaximum(999999.999999)
self.SP_02_02_05_NumberE.setValue(self.NumberE)
self.SP_02_02_05_NumberE.setObjectName(_fromUtf8("SP_02_02_05_NumberE"))
self.SP_02_02_05_NumberE.valueChanged.connect(self.on_SP_02_02_05_NumberE_valueChanged)# connect on def "on_SP_02_02_04_NumberD_valueChanged"
self.groupBox_02_03_Hand = QtGui.QGroupBox(self.groupBox_01_TypeLine)
self.groupBox_02_03_Hand.setGeometry(QtCore.QRect(10, 220, 211, 71))
self.groupBox_02_03_Hand.setFont(self.fontGlobal_08)
self.groupBox_02_03_Hand.setObjectName(_fromUtf8("groupBox_02_03_Hand"))
self.label_02_03_01_A = QtGui.QLabel(self.groupBox_02_03_Hand)
self.label_02_03_01_A.setGeometry(QtCore.QRect(10, 20, 61, 16))
self.label_02_03_01_A.setFont(self.fontGlobal_08)
self.label_02_03_01_A.setToolTip(_fromUtf8("Length of complete line"))
self.label_02_03_01_A.setObjectName(_fromUtf8("label_02_03_01_A"))
self.label_02_03_02_B = QtGui.QLabel(self.groupBox_02_03_Hand)
self.label_02_03_02_B.setGeometry(QtCore.QRect(90, 20, 51, 16))
self.label_02_03_02_B.setFont(self.fontGlobal_08)
self.label_02_03_02_B.setToolTip(_fromUtf8("Heigth of the wave"))
self.label_02_03_02_B.setObjectName(_fromUtf8("label_02_03_02_H"))
self.label_02_03_03_C = QtGui.QLabel(self.groupBox_02_03_Hand)
self.label_02_03_03_C.setGeometry(QtCore.QRect(150, 20, 51, 16))
self.label_02_03_03_C.setFont(self.fontGlobal_08)
self.label_02_03_03_C.setToolTip(_fromUtf8("Length betwen two crown"))
self.label_02_03_03_C.setObjectName(_fromUtf8("label_02_03_03_P"))
self.DS_02_03_01_LengthA = QtGui.QDoubleSpinBox(self.groupBox_02_03_Hand)
self.DS_02_03_01_LengthA.setGeometry(QtCore.QRect(10, 40, 71, 22))
self.DS_02_03_01_LengthA.setFont(self.fontGlobal_08)
self.DS_02_03_01_LengthA.setToolTip(_fromUtf8("Length of complete line"))
self.DS_02_03_01_LengthA.setMaximum(999999.999999)
self.DS_02_03_01_LengthA.setValue(self.LengthA)
self.DS_02_03_01_LengthA.setObjectName(_fromUtf8("DS_02_03_01_LengthA"))
self.DS_02_03_01_LengthA.valueChanged.connect(self.on_DS_02_03_01_LengthA_valueChanged)# connect on def "on_DS_02_03_01_LengthA_valueChanged"
self.DS_02_03_02_HeightB = QtGui.QDoubleSpinBox(self.groupBox_02_03_Hand)
self.DS_02_03_02_HeightB.setGeometry(QtCore.QRect(90, 40, 51, 22))
self.DS_02_03_02_HeightB.setFont(self.fontGlobal_08)
self.DS_02_03_02_HeightB.setToolTip(_fromUtf8("Heigth of the wave"))
self.DS_02_03_02_HeightB.setMaximum(999999.999999)
self.DS_02_03_02_HeightB.setValue(self.HeightB)
self.DS_02_03_02_HeightB.setObjectName(_fromUtf8("DS_02_03_02_HeightB"))
self.DS_02_03_02_HeightB.valueChanged.connect(self.on_DS_02_03_02_HeightB_valueChanged)# connect on def "on_DS_02_03_02_HeightB_valueChanged"
self.DS_02_03_03_WaveC = QtGui.QDoubleSpinBox(self.groupBox_02_03_Hand)
self.DS_02_03_03_WaveC.setGeometry(QtCore.QRect(150, 40, 51, 22))
self.DS_02_03_03_WaveC.setFont(self.fontGlobal_08)
self.DS_02_03_03_WaveC.setToolTip(_fromUtf8("Length betwen two crown"))
self.DS_02_03_03_WaveC.setMaximum(999999.999999)
self.DS_02_03_03_WaveC.setValue(self.WaveC)
self.DS_02_03_03_WaveC.setObjectName(_fromUtf8("DS_02_03_03_WaveC"))
self.DS_02_03_03_WaveC.valueChanged.connect(self.on_DS_02_03_03_WaveC_valueChanged) # connect on def "on_DS_02_03_03_WaveC_valueChanged"
self.groupBox_02_04_OptionsL = QtGui.QGroupBox(self.centralwidget)
self.groupBox_02_04_OptionsL.setGeometry(QtCore.QRect(240, 310, 101, 131))
self.groupBox_02_04_OptionsL.setFont(self.fontGlobal_08)
self.groupBox_02_04_OptionsL.setFlat(False)
self.groupBox_02_04_OptionsL.setObjectName(_fromUtf8("groupBox_02_04_OptionsL"))
self.label_02_04_01 = QtGui.QLabel(self.groupBox_02_04_OptionsL)
self.label_02_04_01.setGeometry(QtCore.QRect(10, 20, 71, 16))
self.label_02_04_01.setFont(self.fontGlobal_08)
self.label_02_04_01.setToolTip(_fromUtf8("Line width"))
self.label_02_04_01.setObjectName(_fromUtf8("label_02_04_01"))
self.label_02_04_02 = QtGui.QLabel(self.groupBox_02_04_OptionsL)
self.label_02_04_02.setGeometry(QtCore.QRect(90, 20, 46, 13))
self.label_02_04_02.setFont(self.fontGlobal_08)
self.label_02_04_02.setToolTip(_fromUtf8("Points of line"))
self.label_02_04_02.setObjectName(_fromUtf8("label_02_04_02"))
self.DS_02_04_01_LineWidth = QtGui.QDoubleSpinBox(self.groupBox_02_04_OptionsL)
self.DS_02_04_01_LineWidth.setGeometry(QtCore.QRect(10, 20, 81, 22))
self.DS_02_04_01_LineWidth.setFont(self.fontGlobal_08)
self.DS_02_04_01_LineWidth.setToolTip(_fromUtf8("Line Width"))
self.DS_02_04_01_LineWidth.setMaximum(999999.999999)
self.DS_02_04_01_LineWidth.setSingleStep(self.lineWidth)
self.DS_02_04_01_LineWidth.setValue(self.lineWidth)
self.DS_02_04_01_LineWidth.setSingleStep(1)
self.DS_02_04_01_LineWidth.setObjectName(_fromUtf8("DS_02_04_01_LineWidth"))
self.DS_02_04_01_LineWidth.valueChanged.connect(self.on_DS_02_04_01_LineWidth) # connect on def "on_DS_02_04_01_LineWidth_valueChanged"
self.DS_02_04_02_PSize = QtGui.QDoubleSpinBox(self.groupBox_02_04_OptionsL)
self.DS_02_04_02_PSize.setGeometry(QtCore.QRect(10, 50, 81, 22))
self.DS_02_04_02_PSize.setFont(self.fontGlobal_08)
self.DS_02_04_02_PSize.setToolTip(_fromUtf8("Points of line"))
self.DS_02_04_02_PSize.setMaximum(999999.999999)
self.DS_02_04_02_PSize.setSingleStep(self.pointSize)
self.DS_02_04_02_PSize.setValue(self.pointSize)
self.DS_02_04_02_PSize.setSingleStep(1)
self.DS_02_04_02_PSize.setObjectName(_fromUtf8("DS_02_04_02_PSize"))
self.DS_02_04_02_PSize.valueChanged.connect(self.on_DS_02_04_02_PSize) # connect on def "on_DS_02_04_02_PSize"
self.PB_02_04_03_Color = QtGui.QPushButton(self.groupBox_02_04_OptionsL)
self.PB_02_04_03_Color.setGeometry(QtCore.QRect(10, 90, 81, 31))
self.PB_02_04_03_Color.setFont(self.fontGlobal_08)
self.PB_02_04_03_Color.setToolTip(_fromUtf8("Color of line"))
self.PB_02_04_03_Color.setObjectName(_fromUtf8("PB_02_04_03_Color"))
self.PB_02_04_03_Color.clicked.connect(self.on_PB_02_04_03_Color) #
self.groupBox_02_05_Plane = QtGui.QGroupBox(self.groupBox_01_TypeLine)
self.groupBox_02_05_Plane.setGeometry(QtCore.QRect(10, 300, 211, 51))
self.groupBox_02_05_Plane.setFont(self.fontGlobal_08)
self.groupBox_02_05_Plane.setEnabled(False)
self.groupBox_02_05_Plane.setObjectName(_fromUtf8("groupBox_02_05_Plane"))
self.RB_02_05_01_XY = QtGui.QRadioButton(self.groupBox_02_05_Plane)
self.RB_02_05_01_XY.setGeometry(QtCore.QRect(10, 20, 41, 17))
self.RB_02_05_01_XY.setFont(self.fontGlobal_08)
self.RB_02_05_01_XY.setToolTip(_fromUtf8("Plans XY this function is used by ZigZag and Hand"))
self.RB_02_05_01_XY.setChecked(True)
self.RB_02_05_01_XY.setObjectName(_fromUtf8("RB_02_05_01_XY"))
self.RB_02_05_01_XY.clicked.connect(self.on_RB_02_05_01_XY) #connection radioButton
self.RB_02_05_02_YZ = QtGui.QRadioButton(self.groupBox_02_05_Plane)
self.RB_02_05_02_YZ.setGeometry(QtCore.QRect(60, 20, 41, 17))
self.RB_02_05_02_YZ.setFont(self.fontGlobal_08)
self.RB_02_05_02_YZ.setToolTip(_fromUtf8("Plans YZ this function is used by ZigZag and Hand"))
self.RB_02_05_02_YZ.setObjectName(_fromUtf8("RB_02_05_02_YZ"))
self.RB_02_05_02_YZ.clicked.connect(self.on_RB_02_05_02_YZ) #connection radioButton
self.RB_02_05_03_XY = QtGui.QRadioButton(self.groupBox_02_05_Plane)
self.RB_02_05_03_XY.setGeometry(QtCore.QRect(110, 20, 41, 17))
self.RB_02_05_03_XY.setFont(self.fontGlobal_08)
self.RB_02_05_03_XY.setToolTip(_fromUtf8("Plans XY this function is used by ZigZag and Hand"))
self.RB_02_05_03_XY.setObjectName(_fromUtf8("RB_02_05_03_XY"))
self.RB_02_05_03_XY.clicked.connect(self.on_RB_02_05_03_XY) #connection radioButton
### ---graphicsView---02_View
self.graphicsView_2 = QtGui.QGraphicsView(self.groupBox_02_05_Plane) #Plane type view
if platform.system() == "Windows" :
self.graphicsView_2.setGeometry(QtCore.QRect(170, 12, 31, 31)) # image = setGeometry - 2px
else:
self.graphicsView_2.setGeometry(QtCore.QRect(170, 12, 33, 33)) # image = setGeometry
self.graphicsView_2.setFont(self.fontGlobal_08)
self.graphicsView_2.setObjectName(_fromUtf8("graphicsView_2"))
pic = QtGui.QPixmap(self.path + "Macro_FCConvrtLines_View-top.png")
self.scene = QtGui.QGraphicsScene()
self.scene.addPixmap(QtGui.QPixmap(pic))
self.graphicsView_2.setScene(ui.scene)
### ---graphicsView---02_View
### ---graphicsView---01_tableau
self.graphicsView = QtGui.QGraphicsView(self.groupBox_01_TypeLine) #Line type
if platform.system() == "Windows" :
self.graphicsView.setGeometry(QtCore.QRect(10, 360, 321, 91)) # image = setGeometry - 2px
else:
self.graphicsView.setGeometry(QtCore.QRect(10, 360, 323, 93)) # image = setGeometry
self.graphicsView.setFont(self.fontGlobal_08)
self.graphicsView.setFrameShape(QtGui.QFrame.StyledPanel)
self.graphicsView.setObjectName(_fromUtf8("graphicsView"))
pic = QtGui.QPixmap(self.path + "Macro_FCConvertLines_Title.png")
self.scene = QtGui.QGraphicsScene()
self.scene.addPixmap(QtGui.QPixmap(pic))
self.graphicsView.setScene(ui.scene)
### ---graphicsView---01_tableau
self.label_Title = QtGui.QLabel(self.centralwidget)
self.label_Title.setGeometry(QtCore.QRect(110, 10, 161, 20))
font = QtGui.QFont()
font.setPointSize(16)
font.setUnderline(True)
self.label_Title.setFont(font)
self.label_Title.setObjectName(_fromUtf8("label_Title"))
MainWindow.setCentralWidget(self.centralwidget)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
MainWindow.setWindowTitle(__title__ + " (" + __version__ + " : " + __date__ + ")")
self.PB_01_Save.setText("Save Type")
self.PB_02_Load.setText("Load type")
self.PB_03_Reset.setText("Reset")
self.PB_04_CreateComp.setText("Create Comp")
self.PB_05_Create.setText("Create")
self.LE_01_LineType.setText("Name type line")
self.PB_06_Quit.setText("Quit")
self.RB_01_01_Dash.setText("Dash")
self.RB_01_02_DashDot.setText("DashDot")
self.RB_01_03_DashDotDot.setText("DashDotDot")
self.RB_01_04_ZigZag.setText("Zigzags")
self.RB_01_05_Hand.setText("Hand")
self.groupBox_02_01_DashDot.setTitle("Dash ... ...")
self.label_02_01_01_A.setText("Line A")
self.label_02_01_02_B.setText("Space B")
self.label_02_01_03_C.setText("Line 2 C")
self.label_02_01_04_D.setText("Space 2 D")
self.groupBox_02_02_ZigZag.setTitle("ZigZag")
self.label_02_02_0X.setText("Number heads")
self.label_02_02_01_A.setText("Begin A")
self.label_02_02_02_B.setText("Dimension B")
self.label_02_02_03_C.setText("Gap C")
self.label_02_02_04_D.setText("Height D")
self.label_02_02_05_E.setText("Number E")
self.label_02_02_Length.setText(str((self.BeginA * 2) + ((self.NHeadsX * (self.DimensionB + (self.GapC * self.NumberE))) - self.DimensionB)))
self.groupBox_02_03_Hand.setTitle("Hand")
self.label_02_03_01_A.setText("Length A")
self.label_02_03_02_B.setText("Height B")
self.label_02_03_03_C.setText("Wave")
self.groupBox_02_04_OptionsL.setTitle("Options line")
self.DS_02_04_01_LineWidth.setSuffix(" Width")
self.DS_02_04_02_PSize.setSuffix(" Point Size")
self.PB_02_04_03_Color.setText("Color")
self.label_Title.setText("FCConvert Lines")
self.groupBox_02_05_Plane.setTitle("Plane")
self.RB_02_05_01_XY.setText("XY")
self.RB_02_05_02_YZ.setText("YZ")
self.RB_02_05_03_XY.setText("XZ")
self.groupBox_00_CutLine.setTitle("Cut Line")
self.CB_00_00_CreateLine.setText("Create L.")
self.CB_00_01_Dimension.setText("Dimension")
self.CB_00_02_BiColor.setText("BiColor")
self.CB_00_03_CreatePoints.setText("Points")
MainWindow.setWindowFlags(PySide.QtCore.Qt.WindowStaysOnTopHint) # PySide cette fonction met la fenêtre en avant
def on_groupBox_00_CutLine(self): #
self.PB_05_Create.setStyleSheet("background-color: QPalette.Base") # origin system
if self.groupBox_00_CutLine.isChecked():
self.groupBox_01_TypeLine.setEnabled(False)
self.groupBox_02_05_Plane.setEnabled(False)
self.DS_01_NumberCut.setEnabled(True)
self.RB_01_01_Dash.setChecked(True)
self.PB_04_CreateComp.setEnabled(False)
pic = QtGui.QPixmap(self.path+"Macro_FCConvertLines_Title.png")
self.scene = QtGui.QGraphicsScene()
self.scene.addPixmap(QtGui.QPixmap(pic))
self.graphicsView.setScene(ui.scene)
else:
self.groupBox_01_TypeLine.setEnabled(True)
self.groupBox_02_01_DashDot.setEnabled(True)
self.DS_01_NumberCut.setEnabled(False)
self.PB_04_CreateComp.setEnabled(True)
self.DS_02_01_03_Line2C.setEnabled(False)
self.DS_02_01_04_Space2D.setEnabled(False)
self.groupBox_02_02_ZigZag.setEnabled(False)
self.groupBox_02_03_Hand.setEnabled(False)
pic = QtGui.QPixmap(self.path+"Macro_FCConvertLines_Dash.png")
self.scene = QtGui.QGraphicsScene()
self.scene.addPixmap(QtGui.QPixmap(pic))
self.graphicsView.setScene(ui.scene)
# FreeCAD.Console.PrintMessage(str("on_groupBox_00_CutLine ")+"\n")
def on_DS_01_NumberCut_valueChanged(self,Value):
self.NumberCut = Value
self.PB_05_Create.setStyleSheet("background-color: QPalette.Base") # origin system
# FreeCAD.Console.PrintMessage(str("SP_01_NumberCut ")+str(self.NumberCut)+"\n")
def on_CB_00_CB_00_00_CreateLine_clicked(self):
self.PB_05_Create.setStyleSheet("background-color: QPalette.Base") # origin system
# FreeCAD.Console.PrintMessage(str("on_CB_00_CB_00_00_CreateLine_clicked"+"\n")
def on_CB_00_01_Dimension_clicked(self):
self.PB_05_Create.setStyleSheet("background-color: QPalette.Base") # origin system
if self.CB_00_01_Dimension.isChecked(): # Dimension
self.DS_01_NumberCut.setSingleStep(1)
self.DS_01_NumberCut.setMaximum(9999999.9999999)
self.DS_01_NumberCut.setMinimum(-9999999)
self.DS_01_NumberCut.setDecimals(3)
self.DS_01_NumberCut.setSuffix(_fromUtf8(" Dim"))
self.DS_01_NumberCut.setValue(self.NumberCut)
self.DS_01_NumberCut.setToolTip(_fromUtf8("Cut the line to length"))
else:
self.DS_01_NumberCut.setSingleStep(1) # Cut line
self.DS_01_NumberCut.setMaximum(9999999)
self.DS_01_NumberCut.setMinimum(1)
self.DS_01_NumberCut.setDecimals(0)
self.DS_01_NumberCut.setSuffix(_fromUtf8(" Cut"))
self.DS_01_NumberCut.setValue(self.NumberCut)
self.DS_01_NumberCut.setToolTip(_fromUtf8("Cut in x parts the selected line"))
# FreeCAD.Console.PrintMessage(str("on_CB_00_01_Dimension_clicked ")+"\n")
def on_CB_00_02_BiColor_clicked(self):
self.PB_05_Create.setStyleSheet("background-color: QPalette.Base") # origin system
# FreeCAD.Console.PrintMessage(str("on_CB_00_03_CreatePoints_clicked ")+"\n")
def on_CB_00_03_CreatePoints_clicked(self):
self.PB_05_Create.setStyleSheet("background-color: QPalette.Base") # origin system
# FreeCAD.Console.PrintMessage(str("on_CB_00_03_CreatePoints_clicked ")+"\n")
def on_RB_01_01_Dash(self):
self.PB_05_Create.setStyleSheet("background-color: QPalette.Base") # origin system
self.groupBox_02_01_DashDot.setEnabled(True)
self.groupBox_02_02_ZigZag.setEnabled(False)
self.groupBox_02_03_Hand.setEnabled(False)
self.DS_02_01_01_LineA.setEnabled(True)
self.DS_02_01_02_SpaceB.setEnabled(True)
self.DS_02_01_03_Line2C.setEnabled(False)
self.DS_02_01_04_Space2D.setEnabled(False)
self.groupBox_02_05_Plane.setEnabled(False)
self.PB_04_CreateComp.setEnabled(True)
# FreeCAD.Console.PrintMessage(str("on_RB_01_01_Dash ")+"\n")
pic = QtGui.QPixmap(self.path+"Macro_FCConvertLines_Dash.png")
self.scene = QtGui.QGraphicsScene()
self.scene.addPixmap(QtGui.QPixmap(pic))
self.graphicsView.setScene(ui.scene)
def on_RB_01_02_DashDot(self):
self.PB_05_Create.setStyleSheet("background-color: QPalette.Base") # origin system
self.groupBox_02_01_DashDot.setEnabled(True)
self.groupBox_02_02_ZigZag.setEnabled(False)
self.groupBox_02_03_Hand.setEnabled(False)
self.DS_02_01_01_LineA.setEnabled(True)
self.DS_02_01_02_SpaceB.setEnabled(True)
self.DS_02_01_03_Line2C.setEnabled(True)
self.DS_02_01_04_Space2D.setEnabled(True)
self.groupBox_02_05_Plane.setEnabled(False)
self.PB_04_CreateComp.setEnabled(True)
# FreeCAD.Console.PrintMessage(str("on_RB_01_02_DashDot ")+"\n")
pic = QtGui.QPixmap(self.path+"Macro_FCConvertLines_DashDot.png")
self.scene = QtGui.QGraphicsScene()
self.scene.addPixmap(QtGui.QPixmap(pic))
self.graphicsView.setScene(ui.scene)
def on_RB_01_03_DashDotDot(self):
self.PB_05_Create.setStyleSheet("background-color: QPalette.Base") # origin system
self.groupBox_02_01_DashDot.setEnabled(True)
self.groupBox_02_02_ZigZag.setEnabled(False)
self.groupBox_02_03_Hand.setEnabled(False)
self.DS_02_01_01_LineA.setEnabled(True)
self.DS_02_01_02_SpaceB.setEnabled(True)
self.DS_02_01_03_Line2C.setEnabled(True)
self.DS_02_01_04_Space2D.setEnabled(True)
self.groupBox_02_05_Plane.setEnabled(False)
self.PB_04_CreateComp.setEnabled(True)
# FreeCAD.Console.PrintMessage(str("on_RB_01_03_DashDotDot ")+"\n")
pic = QtGui.QPixmap(self.path+"Macro_FCConvertLines_DashDotDot.png")
self.scene = QtGui.QGraphicsScene()
self.scene.addPixmap(QtGui.QPixmap(pic))
self.graphicsView.setScene(ui.scene)
def on_RB_01_04_ZigZag(self): #
self.PB_05_Create.setStyleSheet("background-color: QPalette.Base") # origin system
self.groupBox_02_01_DashDot.setEnabled(False)
self.groupBox_02_02_ZigZag.setEnabled(True)
self.groupBox_02_03_Hand.setEnabled(False)
self.groupBox_02_05_Plane.setEnabled(True)
self.PB_04_CreateComp.setEnabled(False)
# FreeCAD.Console.PrintMessage(str("on_RB_01_04_ZigZag ")+"\n")
pic = QtGui.QPixmap(self.path+"Macro_FCConvertLines_ZigZag.png")
self.scene = QtGui.QGraphicsScene()
self.scene.addPixmap(QtGui.QPixmap(pic))
self.graphicsView.setScene(ui.scene)
def on_RB_01_05_Hand(self): #
self.PB_05_Create.setStyleSheet("background-color: QPalette.Base") # origin system
self.groupBox_02_01_DashDot.setEnabled(False)
self.groupBox_02_02_ZigZag.setEnabled(False)
self.groupBox_02_03_Hand.setEnabled(True)
self.groupBox_02_05_Plane.setEnabled(True)
self.PB_04_CreateComp.setEnabled(False)
# FreeCAD.Console.PrintMessage(str("on_RB_01_05_Hand ")+"\n")
pic = QtGui.QPixmap(self.path+"Macro_FCConvertLines_Hand.png")
self.scene = QtGui.QGraphicsScene()
self.scene.addPixmap(QtGui.QPixmap(pic))
self.graphicsView.setScene(ui.scene)
def on_RB_02_05_01_XY(self):
self.PB_05_Create.setStyleSheet("background-color: QPalette.Base") # origin system
self.Plan = 1
pic = QtGui.QPixmap(self.path+"Macro_FCConvrtLines_View-top.png")
self.scene = QtGui.QGraphicsScene()
self.scene.addPixmap(QtGui.QPixmap(pic))
self.graphicsView_2.setScene(ui.scene)
# FreeCAD.Console.PrintMessage(str("on_RB_02_05_01_XY ")+str(self.Plan)+"\n")
def on_RB_02_05_02_YZ(self):
self.PB_05_Create.setStyleSheet("background-color: QPalette.Base") # origin system
self.Plan = 2
pic = QtGui.QPixmap(self.path+"Macro_FCConvrtLines_View-right.png")
self.scene = QtGui.QGraphicsScene()
self.scene.addPixmap(QtGui.QPixmap(pic))
self.graphicsView_2.setScene(ui.scene)
# FreeCAD.Console.PrintMessage(str("on_RB_02_05_02_YZ ")+str(self.Plan)+"\n")
def on_RB_02_05_03_XY(self):
self.PB_05_Create.setStyleSheet("background-color: QPalette.Base") # origin system
self.Plan = 3
pic = QtGui.QPixmap(self.path+"Macro_FCConvrtLines_View-front.png")
self.scene = QtGui.QGraphicsScene()
self.scene.addPixmap(QtGui.QPixmap(pic))
self.graphicsView_2.setScene(ui.scene)
# FreeCAD.Console.PrintMessage(str("on_RB_02_05_03_XY ")+str(self.Plan)+"\n")
### DS ##########################################################################
def on_DS_02_01_01_LineA_valueChanged(self,value):
self.PB_05_Create.setStyleSheet("background-color: QPalette.Base") # origin system
self.LineA = value
# FreeCAD.Console.PrintMessage(str("DS_02_01_01_LineA ")+str(self.LineA)+"\n")
def on_DS_02_01_02_SpaceB_valueChanged(self,value):
self.PB_05_Create.setStyleSheet("background-color: QPalette.Base") # origin system
self.SpaceB = value
self.DS_02_01_04_Space2D.setValue(self.SpaceB)
self.Space2D = self.SpaceB
# FreeCAD.Console.PrintMessage(str("DS_02_01_02_SpaceB ")+str(self.SpaceB)+"\n")
def on_DS_02_01_03_Line2C_valueChanged(self,value):
self.PB_05_Create.setStyleSheet("background-color: QPalette.Base") # origin system
self.Line2C = value
# FreeCAD.Console.PrintMessage(str("DS_02_01_03_Line2C ")+str(self.Line2C)+"\n")
def on_DS_02_01_04_Space2D_valueChanged(self,value):
self.PB_05_Create.setStyleSheet("background-color: QPalette.Base") # origin system
self.Space2D = value
# FreeCAD.Console.PrintMessage(str("DS_02_01_04_Space2D ")+str(self.Space2D)+"\n")
def on_SP_02_02_01_NHeadsX_valueChanged(self,value):
self.PB_05_Create.setStyleSheet("background-color: QPalette.Base") # origin system
self.NHeadsX = value
self.label_02_02_Length.setText(str((self.BeginA * 2) + ((self.NHeadsX * (self.DimensionB + (self.GapC * self.NumberE))) - self.DimensionB)))
# FreeCAD.Console.PrintMessage(str("DS_02_02_01_NHeadsX ")+str(self.NHeadsX)+"\n")
def on_DS_02_02_01_BeginA_valueChanged(self,value):
self.PB_05_Create.setStyleSheet("background-color: QPalette.Base") # origin system
self.BeginA = value
self.label_02_02_Length.setText(str((self.BeginA * 2) + ((self.NHeadsX * (self.DimensionB + (self.GapC * self.NumberE))) - self.DimensionB)))
# FreeCAD.Console.PrintMessage(str("DS_02_02_01_BeginA ")+str(self.BeginA)+"\n")
def on_DS_02_02_02_DimensionB_valueChanged(self,value):
self.PB_05_Create.setStyleSheet("background-color: QPalette.Base") # origin system
self.DimensionB = value
self.label_02_02_Length.setText(str((self.BeginA * 2) + ((self.NHeadsX * (self.DimensionB + (self.GapC * self.NumberE))) - self.DimensionB)))
# FreeCAD.Console.PrintMessage(str("DS_02_02_02_DimensionB ")+str(self.DimensionB)+"\n")
def on_DS_02_02_03_GapC_valueChanged(self,value):
self.PB_05_Create.setStyleSheet("background-color: QPalette.Base") # origin system
self.GapC = value
self.label_02_02_Length.setText(str((self.BeginA * 2) + ((self.NHeadsX * (self.DimensionB + (self.GapC * self.NumberE))) - self.DimensionB)))
# FreeCAD.Console.PrintMessage(str("DS_02_02_03_GapC ")+str(self.GapC)+"\n")
def on_DS_02_02_04_HeightD_valueChanged(self,value):
self.PB_05_Create.setStyleSheet("background-color: QPalette.Base") # origin system
self.HeightD = value
self.label_02_02_Length.setText(str((self.BeginA * 2) + ((self.NHeadsX * (self.DimensionB + (self.GapC * self.NumberE))) - self.DimensionB)))
# FreeCAD.Console.PrintMessage(str("DS_02_02_04_HeightD ")+str(self.HeightD)+"\n")
def on_SP_02_02_05_NumberE_valueChanged(self,value):
self.PB_05_Create.setStyleSheet("background-color: QPalette.Base") # origin system
self.NumberE = value
self.label_02_02_Length.setText(str((self.BeginA * 2) + ((self.NHeadsX * (self.DimensionB + (self.GapC * self.NumberE))) - self.DimensionB)))
# FreeCAD.Console.PrintMessage(str("SP_02_02_05_NumberD ")+str(self.NumberE)+"\n")
def on_DS_02_03_01_LengthA_valueChanged(self,value):
self.PB_05_Create.setStyleSheet("background-color: QPalette.Base") # origin system
self.LengthA = value
# FreeCAD.Console.PrintMessage(str("DS_02_03_01_LengthA ")+str(self.LengthA)+"\n")
def on_DS_02_03_02_HeightB_valueChanged(self,value):
self.PB_05_Create.setStyleSheet("background-color: QPalette.Base") # origin system
self.HeightB = value
# FreeCAD.Console.PrintMessage(str("DS_02_03_02_HeightB ")+str(self.HeightB)+"\n")
def on_DS_02_03_03_WaveC_valueChanged(self,value):
self.PB_05_Create.setStyleSheet("background-color: QPalette.Base") # origin system
self.WaveC = value
# FreeCAD.Console.PrintMessage(str("DS_02_03_03_WaveC ")+str(self.WaveC)+"\n")
### PB ############################################################################
def on_PB_01_Save(self): #
self.PB_05_Create.setStyleSheet("background-color: QPalette.Base") # origin system
SaveName = ""
preDefini = ""
if self.groupBox_00_CutLine.isChecked(): # 2
preDefini = "CutLine_"
elif self.RB_01_01_Dash.isChecked(): # 8
preDefini = "Dash_"
elif self.RB_01_02_DashDot.isChecked(): # 9
preDefini = "DashDot_"
elif self.RB_01_03_DashDotDot.isChecked(): # 10
preDefini = "DashDotDot_"
elif self.RB_01_04_ZigZag.isChecked(): # 11
preDefini = "ZigZag_"
elif self.RB_01_05_Hand.isChecked(): # 12
preDefini = "Hand_"
try:
SaveName = QFileDialog.getSaveFileName(None,QString.fromLocal8Bit("Save a file FCConvertL"),self.path + preDefini, "*.FCConvertL") # PyQt4
except Exception:
SaveName, Filter = PySide.QtGui.QFileDialog.getSaveFileName(None, "Save a file FCConvertL", self.path + preDefini, "*.FCConvertL") # PySide
if SaveName == "":
FreeCAD.Console.PrintMessage("Process aborted"+"\n")
errorDialog("Process aborted")
else:
FreeCAD.Console.PrintMessage("Registration of "+SaveName+"\n")
try:
import codecs
file = codecs.open(SaveName, encoding='utf-8', mode='w')# r=read a=append w=write accepte les accents
try:
file.write("FCConvert_01"+",") # 0 # header version
if self.NameType == "":
self.NameType = "FCConvertLines"
file.write(self.NameType +",") # 1 # nom venant de la boite de dialogue
#####
if self.groupBox_00_CutLine.isChecked(): # 2
file.write(str("1")+",")
else:
file.write(str("0")+",")
file.write(str(self.NumberCut)+",") # 3
if self.CB_00_00_CreateLine.isChecked(): # 4
file.write(str("1")+",")
else:
file.write(str("0")+",")
if self.CB_00_01_Dimension.isChecked(): # 5
file.write(str("1")+",")
else:
file.write(str("0")+",")
if self.CB_00_02_BiColor.isChecked(): # 6
file.write(str("1")+",")
else:
file.write(str("0")+",")
if self.CB_00_03_CreatePoints.isChecked(): # 7
file.write(str("1")+",")
else:
file.write(str("0")+",")
#####
if self.RB_01_01_Dash.isChecked(): # 8
file.write(str("1")+",")
else:
file.write(str("0")+",")
if self.RB_01_02_DashDot.isChecked(): # 9
file.write(str("1")+",")
else:
file.write(str("0")+",")
if self.RB_01_03_DashDotDot.isChecked(): # 10
file.write(str("1")+",")
else:
file.write(str("0")+",")
if self.RB_01_04_ZigZag.isChecked(): # 11
file.write(str("1")+",")
else:
file.write(str("0")+",")
if self.RB_01_05_Hand.isChecked(): # 12
file.write(str("1")+",")
else:
file.write(str("0")+",")
#####
file.write(str(self.LineA)+",") # 13
file.write(str(self.SpaceB)+",") # 14
file.write(str(self.Line2C)+",") # 15
file.write(str(self.Space2D)+",") # 16
#####
file.write(str(self.NHeadsX)+",") # 17
file.write(str(self.BeginA)+",") # 18
file.write(str(self.DimensionB)+",") # 19
file.write(str(self.GapC)+",") # 20
file.write(str(self.HeightD)+",") # 21
file.write(str(self.NumberE)+",") # 22
#####
file.write(str(self.LengthA)+",") # 23
file.write(str(self.HeightB)+",") # 24
file.write(str(self.WaveC)+",") # 25
#####
file.write(str(self.lineWidth)+",") # 26
file.write(str(self.pointSize)+",") # 27
file.write(str(self.red)+",") # 28
file.write(str(self.green)+",") # 29
file.write(str(self.blue)+",") # 30
#####
if self.RB_02_05_01_XY.isChecked(): # 31
file.write(str("1")+",")
else:
file.write(str("0")+",")
if self.RB_02_05_02_YZ.isChecked(): # 32
file.write(str("1")+",")
else:
file.write(str("0")+",")
if self.RB_02_05_03_XY.isChecked(): # 33
file.write(str("1")+",")
else:
file.write(str("0")+",")
#####
file.write(str("00")+",") # 34
file.write(str("00")+",") # 35
file.write(str("00")+",") # 36
file.write(str("00")+",") # 37
file.write(str("00")+",") # 38
file.write(str("00")+",") # 39
file.write(str("00")+",") # 40
file.write(str("00")+",") # 41
file.write(str("00")+",") # 42
file.write(str("00")+",") # 43
file.write(str("00")+",") # 44
file.write(str("00")+"\n") # 45 last data with line feed [ENTER]
finally:
file.close()
except Exception:
FreeCAD.Console.PrintError("Error Registration file "+SaveName+"\n")
errorDialog("Error Registration file "+SaveName)
# FreeCAD.Console.PrintMessage(str("on_PB_01_Save ")+"\n")
def on_PB_02_Load(self): #
self.PB_05_Create.setStyleSheet("background-color: QPalette.Base") # origin system
OpenName = ""
try:
OpenName = QFileDialog.getOpenFileName(None,QString.fromLocal8Bit("Read a file FCConvertL"),self.path,"*.FCConvertL") # PyQt4
except Exception:
OpenName, Filter = PySide.QtGui.QFileDialog.getOpenFileName(None, "Read a file FCConvertL", self.path, "*.FCConvertL")#PySide
try:
if OpenName != "":
try:
import codecs
file = codecs.open(OpenName, encoding='utf-8', mode='r') # r=read a=append w=write accepte les accents
codeFile = file.readline().split(",")
if (str(codeFile[0]) == "FCConvert_01"): # 0 # header version
a = ui
a.on_PB_03_Reset()
self.LE_01_LineType.setText(codeFile[1]) # 1 # nom venant de la boite de dialogue
#####
if int(codeFile[2]) == 1: # 2
self.groupBox_00_CutLine.setChecked(True)
else:
self.groupBox_00_CutLine.setChecked(False)
a = ui
a.on_groupBox_00_CutLine()
self.NumberCut = float(codeFile[3]) # 3
self.DS_01_NumberCut.setValue(self.NumberCut)
if int(codeFile[4]) == 1: # 4
self.CB_00_00_CreateLine.setChecked(True)
else:
self.CB_00_00_CreateLine.setChecked(False)
if int(codeFile[5]) == 1: # 5
self.CB_00_01_Dimension.setChecked(True)
else:
self.CB_00_01_Dimension.setChecked(False)
a = ui
a.on_CB_00_01_Dimension_clicked()
if int(codeFile[6]) == 1: # 6
self.CB_00_02_BiColor.setChecked(True)
else:
self.CB_00_02_BiColor.setChecked(False)
if int(codeFile[7]) == 1: # 7
self.CB_00_03_CreatePoints.setChecked(True)
else:
self.CB_00_03_CreatePoints.setChecked(False)
#####
if int(codeFile[8]) == 1: # 8
self.RB_01_01_Dash.setChecked(True)
a = ui
a.on_RB_01_01_Dash()
# else:
# self.RB_01_01_Dash.setChecked(False)
# a = ui
# a.on_RB_01_01_Dash()
if int(codeFile[9]) == 1: # 9
self.RB_01_02_DashDot.setChecked(True)
a = ui
a.on_RB_01_02_DashDot()
# else:
# self.RB_01_02_DashDot.setChecked(False)
# a = ui
# a.on_RB_01_02_DashDot()
if int(codeFile[10]) == 1: # 10
self.RB_01_03_DashDotDot.setChecked(True)
a = ui
a.on_RB_01_03_DashDotDot()
# else:
# self.RB_01_03_DashDotDot.setChecked(False)
# a = ui
# a.on_RB_01_03_DashDotDot()
if int(codeFile[11]) == 1: # 11
self.RB_01_04_ZigZag.setChecked(True)
a = ui
a.on_RB_01_04_ZigZag()
# else:
# self.RB_01_04_ZigZag.setChecked(False)
# a = ui
# a.on_RB_01_04_ZigZag()
if int(codeFile[12]) == 1: # 12
self.RB_01_05_Hand.setChecked(True)
a = ui
a.on_RB_01_05_Hand()
# else:
# self.RB_01_05_Hand.setChecked(False)
# a = ui
# a.on_RB_01_05_Hand()
#####
self.LineA = float(codeFile[13]) # 13
self.DS_02_01_01_LineA.setValue(self.LineA)
self.SpaceB = float(codeFile[14]) # 14
self.DS_02_01_02_SpaceB.setValue(self.SpaceB)
self.Line2C = float(codeFile[15]) # 15
self.DS_02_01_03_Line2C.setValue(self.Line2C)
self.Space2D = float(codeFile[16]) # 16
self.DS_02_01_04_Space2D.setValue(self.Space2D)
#####
self.NHeadsX = float(codeFile[17]) # 17
self.SP_02_02_01_NHeadsX.setValue(self.NHeadsX)
self.BeginA = float(codeFile[18]) # 18
self.DS_02_02_01_BeginA.setValue(self.BeginA)
self.DimensionB = float(codeFile[19]) # 19
self.DS_02_02_02_DimensionB.setValue(self.DimensionB)
self.GapC = float(codeFile[20]) # 20
self.DS_02_02_03_GapC.setValue(self.GapC)
self.HeightD = float(codeFile[21]) # 21
self.DS_02_02_04_HeightD.setValue(self.HeightD)
self.NumberE = float(codeFile[22]) # 22
self.SP_02_02_05_NumberE.setValue(self.NumberE)
self.label_02_02_Length.setText(str((self.BeginA * 2) + ((self.NHeadsX * (self.DimensionB + (self.GapC * self.NumberE))) - self.DimensionB)))
#####
self.LengthA = float(codeFile[23]) # 23
self.DS_02_03_01_LengthA.setValue(self.LengthA)
self.HeightB = float(codeFile[24]) # 24
self.DS_02_03_02_HeightB.setValue(self.HeightB)
self.WaveC = float(codeFile[25]) # 25
self.DS_02_03_03_WaveC.setValue(self.WaveC)
#####
self.lineWidth = float(codeFile[26]) # 26
self.DS_02_04_01_LineWidth.setValue(self.lineWidth)
self.pointSize = float(codeFile[27]) # 27
self.DS_02_04_02_PSize.setValue(self.pointSize)
self.red = float(codeFile[28]) # 28
self.green = float(codeFile[29]) # 29
self.blue = float(codeFile[30]) # 30
self.PB_02_04_03_Color.setStyleSheet("background-color: rgb("+str(self.red)+","+str(self.green)+","+str(self.blue)+"); color: cmj("+str(255)+","+str(255)+","+str(255)+")")
#####
if int(codeFile[31]) == 1: # 31
self.RB_02_05_01_XY.setChecked(True)
# else:
# self.RB_02_05_01_XY.setChecked(False)
if int(codeFile[32]) == 1: # 32
self.RB_02_05_02_YZ.setChecked(True)
# else:
# self.RB_02_05_02_YZ.setChecked(False)
if int(codeFile[33]) == 1: # 33
self.RB_02_05_03_XY.setChecked(True)
# else:
# self.RB_02_05_03_XY.setChecked(False)
#####
forFuture = int(codeFile[34]) # 34
forFuture = int(codeFile[35]) # 35
forFuture = int(codeFile[36]) # 36
forFuture = int(codeFile[37]) # 37
forFuture = int(codeFile[38]) # 38
forFuture = int(codeFile[39]) # 39
forFuture = int(codeFile[40]) # 40
forFuture = int(codeFile[41]) # 41
forFuture = int(codeFile[42]) # 42
forFuture = int(codeFile[43]) # 43
forFuture = int(codeFile[44]) # 44
forFuture = int(codeFile[45]) # 45 last data with line feed [ENTER]
# FreeCAD.Console.PrintMessage("____________________"+"\n")
finally:
file.close()
except Exception:
FreeCAD.Console.PrintError("Error in reading the file "+OpenName+"\n")
errorDialog("Error in reading the file "+OpenName)
# FreeCAD.Console.PrintMessage(str("on_PB_02_Load ")+"\n")
def on_PB_04_CreateComp(self): #
global ui
self.PB_05_Create.setStyleSheet("background-color: QPalette.Base") # origin system
self.Compound = 1
ff = ui
ff.on_PB_05_Create()
self.Compound = 0
# FreeCAD.Console.PrintMessage(str("on_PB_04_CreateComp ")+"\n")
def on_PB_02_04_03_Color(self):
self.PB_05_Create.setStyleSheet("background-color: QPalette.Base") # origin system
self.window.hide() # hide the window open color
couleur = QtGui.QColorDialog.getColor()
if couleur.isValid():
self.red = int(str(couleur.name()[1:3]),16)
self.green = int(str(couleur.name()[3:5]),16)
self.blue = int(str(couleur.name()[5:7]),16)
self.PB_02_04_03_Color.setStyleSheet("background-color: rgb("+str(self.red)+","+str(self.green)+","+str(self.blue)+"); color: cmj("+str(255)+","+str(255)+","+str(255)+")")
self.window.show() # show the window and close color
# FreeCAD.Console.PrintMessage(str("PB_02_04_03_Color ")+"\n")
def on_LE_01_LineType_Pressed(self):
self.NameType = self.LE_01_LineType.text() # extract the string in the lineEdit
# FreeCAD.Console.PrintMessage(str("on_LE_01_LineType_Pressed ")+self.NameType+"\n")
def on_PB_05_Create(self): # OK create the line
selectionObjects = FreeCADGui.Selection.getSelection()
global emergency
if (len(selectionObjects) != 0) or (self.RB_01_04_ZigZag.isChecked()) or (self.RB_01_05_Hand.isChecked()):
emergency = 0
try:
doc = FreeCAD.ActiveDocument
if doc == None:
doc = FreeCAD.newDocument()
except Exception:
FreeCAD.Console.PrintMessage("Error document"+"\n")
None
#### Chrono begin########################################################################### chrono begin
#depart = time.clock() # chrono begin
############################################################################################ chrono begin
self.PB_05_Create.setStyleSheet("background-color: QPalette.Base") # origin system
if self.groupBox_00_CutLine.isChecked(): # Cut and Dimension lines
if self.CB_00_00_CreateLine.isChecked():
createLine = 1
else:
createLine = 0
if self.CB_00_02_BiColor.isChecked():
biColor = 1
else:
biColor = 0
if self.CB_00_03_CreatePoints.isChecked():
createPoint = 1
else:
createPoint = 0
if self.CB_00_01_Dimension.isChecked():
cutLength(cutLength = self.NumberCut, cutLine = 00, red = self.red, green = self.green, blue = self.blue, typeColor = biColor, createLine = createLine, createPoints = createPoint, lineWidth = self.lineWidth, pSize = self.pointSize)
else:
cutLength(cutLength = 00, cutLine = self.NumberCut, red = self.red, green = self.green, blue = self.blue, typeColor = biColor, createLine = createLine, createPoints = createPoint, lineWidth = self.lineWidth, pSize = self.pointSize)
else:
if self.RB_01_01_Dash.isChecked():
dashLine(self.LineA, self.SpaceB, compLine = self.Compound, red = self.red, green = self.green, blue = self.blue, typeLine = 1, lineWidth = self.lineWidth, pSize = self.pointSize)
if self.RB_01_02_DashDot.isChecked():
dashLine(self.LineA, self.SpaceB, self.Line2C, self.Space2D, compLine = self.Compound, red = self.red, green = self.green, blue = self.blue, typeLine = 2, lineWidth = self.lineWidth, pSize = self.pointSize)
if self.RB_01_03_DashDotDot.isChecked():
dashLine(self.LineA, self.SpaceB, self.Line2C, self.Space2D, compLine = self.Compound, red = self.red, green = self.green, blue = self.blue, typeLine = 3, lineWidth = self.lineWidth, pSize = self.pointSize)
if self.RB_01_04_ZigZag.isChecked():
zigzagLine(NumberX = self.NHeadsX, BeginA = self.BeginA, DimensionB = self.DimensionB, GapC = self.GapC, HeightD = self.HeightD, NumberE = self.NumberE, compLine = self.Compound, red = self.red, green = self.green, blue = self.blue, plane = self.Plan, lineWidth = self.lineWidth, pSize = self.pointSize)
if self.RB_01_05_Hand.isChecked():
handLine(LengthA = self.LengthA, HeightB = self.HeightB, WaveC = self.WaveC, red = self.red, green = self.green, blue = self.blue, plane = self.Plan, lineWidth = self.lineWidth, pSize = self.pointSize)
if emergency == 0:
self.PB_05_Create.setStyleSheet("background-color: green") # This function gives a color button
else:
self.PB_05_Create.setStyleSheet("background-color: red") # This function gives a color button
#### Chrono end ########################################################################### chrono end
#arrivee = time.clock() # chrono end
#FreeCAD.Console.PrintMessage("Time : "+str("%.2f" % ((arrivee - depart)/60))+" min"+"\n\n") # chrono end
########################################################################################### chrono end
else:
FreeCAD.Console.PrintError(str("Select one object ")+"\n")
self.PB_05_Create.setStyleSheet("background-color: red") # This function gives a color button
# FreeCAD.Console.PrintMessage(str("on_PB_05_Create ")+"\n")
def on_DS_02_04_01_LineWidth(self,LineWidth):
self.PB_05_Create.setStyleSheet("background-color: QPalette.Base") # origin system
self.lineWidth = LineWidth
# FreeCAD.Console.PrintMessage(str("on_DS_02_04_01_LineWidth ")+str(self.lineWidth)+"\n")
def on_DS_02_04_02_PSize(self,PointSize):
self.PB_05_Create.setStyleSheet("background-color: QPalette.Base") # origin system
self.pointSize = PointSize
# FreeCAD.Console.PrintMessage(str("on_DS_02_04_02_PSize ")+str(self.pointSize)+"\n")
def on_PB_03_Reset(self): #
global emergency
emergency = 0
self.NumberCut = 2.0
self.LineA = 2.0
self.SpaceB = 0.5
self.Line2C = 0.2
self.Space2D = self.SpaceB
self.red = 0
self.green = 0
self.blue = 0
self.NHeadsX = 20
self.BeginA = 2.0
self.DimensionB = 4.0
self.GapC = 3.0
self.HeightD = 2.0
self.NumberE = 1
self.Compound = 0
self.lineWidth = 2.0
self.pointSize = 2.0
self.Plan = 1
self.LengthA = 150
self.HeightB = 2.0
self.WaveC = 40.0
self.groupBox_00_CutLine.setCheckable(True)
self.PB_04_CreateComp.setEnabled(False)
self.LE_01_LineType.setText("Name type line")
self.DS_01_NumberCut.setValue(self.NumberCut)
self.CB_00_02_BiColor.setChecked(True)
self.CB_00_03_CreatePoints.setChecked(False)
self.CB_00_01_Dimension.setChecked(False)
self.CB_00_00_CreateLine.setChecked(True)
self.RB_01_01_Dash.setChecked(True)
self.DS_02_01_01_LineA.setValue(self.LineA)
self.DS_02_01_02_SpaceB.setValue(self.SpaceB)
self.DS_02_01_03_Line2C.setValue(self.Line2C)
self.DS_02_01_04_Space2D.setValue(self.Space2D)
self.label_02_02_Length.setText(str((self.BeginA * 2) + ((self.NHeadsX * (self.DimensionB + (self.GapC * self.NumberE))) - self.DimensionB)))
self.SP_02_02_01_NHeadsX.setValue(self.NHeadsX)
self.DS_02_02_01_BeginA.setValue(self.BeginA)
self.DS_02_02_02_DimensionB.setValue(self.DimensionB)
self.DS_02_02_03_GapC.setValue(self.GapC)
self.DS_02_02_04_HeightD.setValue(self.HeightD)
self.SP_02_02_05_NumberE.setValue(self.NumberE)
self.DS_02_03_01_LengthA.setValue(self.LengthA)
self.DS_02_03_02_HeightB.setValue(self.HeightB)
self.DS_02_03_03_WaveC.setValue(self.WaveC)
self.DS_02_04_01_LineWidth.setValue(self.lineWidth)
self.DS_02_04_02_PSize.setValue(self.pointSize)
self.red = 0
self.green = 0
self.blue = 0
self.DS_01_NumberCut.setSingleStep(1) # Cut line
self.DS_01_NumberCut.setMaximum(9999999)
self.DS_01_NumberCut.setMinimum(1)
self.DS_01_NumberCut.setDecimals(0)
self.DS_01_NumberCut.setSuffix(_fromUtf8(" Cut"))
self.DS_01_NumberCut.setValue(self.NumberCut)
self.DS_01_NumberCut.setToolTip(_fromUtf8("Cut in x parts the selected line"))
self.PB_02_04_03_Color.setStyleSheet("background-color: QPalette.Base") # origin system
self.RB_02_05_01_XY.setChecked(True)
self.groupBox_01_TypeLine.setEnabled(False)
self.groupBox_02_05_Plane.setEnabled(False)
self.DS_01_NumberCut.setEnabled(True)
pic = QtGui.QPixmap(self.path+"Macro_FCConvertLines_Title.png")
self.scene = QtGui.QGraphicsScene()
self.scene.addPixmap(QtGui.QPixmap(pic))
self.graphicsView.setScene(ui.scene)
self.PB_05_Create.setStyleSheet("background-color: QPalette.Base") # origin system
pic = QtGui.QPixmap(self.path+"Macro_FCConvrtLines_View-top.png")
self.scene = QtGui.QGraphicsScene()
self.scene.addPixmap(QtGui.QPixmap(pic))
self.graphicsView_2.setScene(ui.scene)
# FreeCAD.Console.PrintMessage(str("on_PB_03_Reset ")+"\n")
def on_PB_06_Quit(self): #
FreeCAD.Console.PrintMessage("Fin FCConvertLines"+"\n")
self.window.hide()
# FreeCAD.Console.PrintMessage(str("on_PB_06_Quit ")+"\n")
#________________________________________________________________________________________
MainWindow = QtGui.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
@mario52a
Copy link
Author

mario52a commented Feb 18, 2016

This macro utility is intended for the use of the program FreeCAD http://www.freecadweb.org/
The icon for your toolbar, it is to place in your macros directory (in the same location of the macro)
macro_fcconvertlines rename in Macro_FCConvertLines.png

The image for the macro, it is to place in your macros directory (in the same location of the macro)
macro_fcconvertlines_title rename in Macro_FCConvertLines_Title.png
macro_fcconvertlines_dash rename in Macro_FCConvertLines_Dash.png
macro_fcconvertlines_dashdot rename in Macro_FCConvertLines_DashDot.png
macro_fcconvertlines_dashdotdot rename in Macro_FCConvertLines_DashDotDot.png
macro_fcconvertlines_zigzag rename in Macro_FCConvertLines_Zigzag.png
macro_fcconvertlines_hand rename in Macro_FCConvertLines_Hand.png
macro_fcconvrtlines_view-front rename in Macro_FCConvrtLines_View-front.png
macro_fcconvrtlines_view-right rename in Macro_FCConvrtLines_View-right.png
macro_fcconvrtlines_view-top rename in Macro_FCConvrtLines_View-top.png

(Edit: 05/09/2016 correct the names files ??)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment