Forked from mario52a/FCInfo_en_Ver_1-29b-rmu_Docked.FCMacro
Last active
December 2, 2022 21:26
-
-
Save rmu75/b165147bd1c2f2659c014103793ae1d8 to your computer and use it in GitHub Desktop.
Gives a series of informations about the selected shape and can display a conversion of length, inclination (degrees, radians, grades, pourcent) shape, surface, volume and the weight of the form in the density selected in different units of quantities international and Anglo-Saxon. (English version)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# -*- coding: utf-8 -*- | |
""" | |
*************************************************************************** | |
* Copyright (c) 2014 2015 2016 2017 2018 2019 <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 * | |
*************************************************************************** | |
""" | |
# FCInfo.FCMacro en | |
# https://fr.wikipedia.org/wiki/Kilogramme | |
# Select an object or launch the application and select an object, and a series of information appear. | |
# Calculations FreeCAD unit, which is the mm on each new selection, the unit of length-based his return still on mm and decimal degrees angle. | |
# Always leave by the "Exit" button if it exits the program without going through the button "Exit" the program remains in memory and continues to run. | |
# Should leave FreeCAD to erase memory. | |
# Only the first 200 objects are visible in the table if there are more than 200 items in the object a signal will be displayed by '(!+ 200), | |
# The complete list of data is visible in the backup file | |
# | |
# 05_01 01/14 Docked PyQt4 + PySide 19/12/2015 suppression de PyQt4 21/06/2017 ajout style 8 points et nouveau path | |
# 12/12/2017 upgrade de la section Matrix of inertia de "pinq" voir "https://forum.freecadweb.org/viewtopic.php?f=22&t=23888" | |
# ajout de Plans, Axes, Points et optimisation | |
# 16/04/2019 upgrade pour 0.17.13541 (Git), 0.18.16093 (Git), 0.19.16474 (Git)Qt: 5.6.2 Python: 3.6.6 OCC: 7.3.0 | |
# 30/05/2019 rmu change fixed positions to qt layouts | |
# | |
# | |
#OS: Windows Vista SP2 #OS: Windows 8 #OS: Ubuntu 14.04.2 LTS #OS: Windows 10 | |
#Word size: 32-bit #Word size of OS: 64-bit #Word size of OS: 64-bit #Word size of OS: 64-bit | |
#Version: 0.14.3700 (Git) #Word size of FreeCAD: 64-bit #Word size of FreeCAD: 64-bit #Word size of FreeCAD: 64-bit | |
#Branch: releases/FreeCAD-0-14 #Version: 0.16.6037 (Git) #Version: 0.16.6062 (Git) #Version: 0.19.16474 (Git) | |
#Hash: 32f5aae0a64333ec8d5d160dbc46e690510c8fe1 #Build type: Release #Build type: None #Build type: Release | |
#Python version: 2.6.2 #Branch: master #Branch: master #Branch: master | |
#Qt version: 4.5.2 #Hash: be9920a132b57fbcf049d6a53d17cc34df1cbe30 #Hash: 61e1a5ca2fee4ea7a95965afdbb510a450d46660 #Hash: 746997e48411f22a150b95b6fdbb9b02cbe741d5 | |
#Coin version: 3.1.0 #Python version: 2.7.8 #Python version: 2.7.6 #Python version: 3.6.6 | |
#SoQt version: 1.4.1 #Qt version: 4.8.6 #Qt version: 4.8.6 #Qt version: 5.6.2 | |
#OCC version: 6.5.1 #Coin version: 4.0.0a #Coin version: 4.0.0a #Coin version: 4.0.0a | |
#OCC version: 6.8.0.oce-0.17 #OCC version: 6.8.0.oce-0.17 #OCC version: 7.3.0 | |
# | |
__title__ = "FCInfo" | |
__author__ = "Mario52" | |
__url__ = "http://www.freecadweb.org/index-en.html" | |
__version__ = "01.21-rµ" | |
__date__ = "30/05/2019" | |
__Comment__ = "gives different information about the selected object with the possibility of saving information" | |
__Web__ = "http://forum.freecadweb.org/viewtopic.php?f=10&t=3185" | |
__Wiki__ = "http://www.freecadweb.org/wiki/index.php?title=Macro_FCInfo" | |
__IconL__ = "" | |
__IconW__ = "C:/Users/xxxxx/AppData/Roaming/FreeCAD/Macro" | |
__Help__ = "Start the macro select an object and read the info displayed" | |
__Status__ = "stable" | |
__Requires__ = "freecad 0.15 and more" | |
__Communication__ = "http://forum.freecadweb.org/viewtopic.php?f=10&t=3185" | |
import PySide | |
from PySide import QtGui ,QtCore | |
from PySide.QtGui import QComboBox | |
from PySide.QtGui import QMessageBox | |
from PySide.QtGui import QTableWidget, QApplication | |
from PySide.QtGui import * | |
from PySide.QtCore import * | |
import Draft, Part, FreeCAD, math, PartGui, FreeCADGui | |
import Part | |
import decimal | |
from math import sqrt, pi, sin, cos, asin, degrees, radians, tan | |
from FreeCAD import Base | |
import csv | |
import codecs | |
import sys | |
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) | |
from math import sqrt, pi, sin, cos, asin, acos, atan, atan2, degrees | |
def errorDialog(msg): | |
diag = QtGui.QMessageBox(QtGui.QMessageBox.Critical,"Error Message",msg ) | |
diag.setWindowFlags(PySide.QtCore.Qt.WindowStaysOnTopHint) # PySide # This function updates the window forward | |
# diag.setWindowModality(QtCore.Qt.ApplicationModal) # the function has been disabled to promote "WindowStaysOnTopHint" | |
diag.exec_() | |
def iso8859(encoder): | |
# ori 0.18 Py 27 return unicode(encoder).encode('iso-8859-1') | |
verPython = sys.version_info | |
if verPython.major < 3: | |
return unicode(encoder).encode('iso-8859-1') | |
else: | |
encoder = str(encoder) | |
return encoder | |
def utf8(unio): | |
return unicode(unio).encode('UTF8') | |
def heure(): | |
return QtCore.QTime().currentTime().toString('hh:mm:ss') | |
def dateEu(): | |
return QtCore.QDate().currentDate().toString('dd/MM/yyyy') # forme euro | |
def dateUs(): | |
return QtCore.QDate().currentDate().toString('MM/dd/yyyy') # forme us | |
def dateUk(): | |
return QtCore.QDate().currentDate().toString('yyyy/MM/dd') # forme Uk | |
def dateComp(): | |
return QtCore.QDate().currentDate().toString('dddd d MMMM yyyy') # Return "dimanche 20 Juillet 2013" | |
def degMinSec(angle0): | |
# give the angle in degrees | |
global uniteAs | |
try: | |
deg = int(angle0) | |
min = int((angle0 - deg)*60) | |
sec = round (((((angle0 - deg)*60)-min)*60),6) | |
angle = str(deg)+u"° "+str(min)+u"' "+str(sec)+u"''" | |
uniteAs = "" | |
return angle | |
except Exception: | |
return 0 | |
def angleGrade(angle0): | |
# give the angle in degrees | |
global uniteAs | |
try: | |
angle = float(angle0) | |
angle = (200.0 * angle) / 180.0 | |
uniteAs = " gon" | |
return round(angle,6) | |
except Exception: | |
return 0 | |
def anglePourcent(angle0): | |
# give the angle in degrees | |
global uniteAs | |
angle0 = round(abs(angle0)) | |
if (angle0 == 90): | |
return 0.0 | |
else: | |
try: | |
if angle0 in range(90 ,181): angle0 = 180 - angle0 | |
if angle0 in range(180,271): angle0 = angle0 - 180 | |
if angle0 in range(270,361): angle0 = 360 - angle0 | |
angle = abs(round((tan(radians(angle0))*100),2)) | |
uniteAs = u"%" | |
return round(angle,6) | |
except Exception: | |
return 0.0 | |
def angle2(vecteur_x1,vecteur_y1,vecteur_x2,vecteur_y2,mode): | |
# calculation of the slope of a line using two vectors | |
# If 'mode' = 1 then display in degrees or radians | |
global uniteAs | |
try: | |
deltaX = vecteur_x2 - vecteur_x1 | |
deltaY = vecteur_y2 - vecteur_y1 | |
if mode ==1: | |
angle = degrees(atan2(float(deltaY),float(deltaX))) # degrès | |
uniteAs = u"°" | |
else: | |
angle = atan2(float(deltaY),float(deltaX)) # radian | |
uniteAs = " rad" | |
return round(angle,6) | |
except Exception: | |
return 0 | |
####tools######################################################################### | |
global ui ; ui = "" | |
global testing ; testing = 2 # if testing == 1 MainWindow separate | |
# if testing == 2 RightDock | |
# else == other LeftDock | |
global FCmw ; FCmw = "" # RightDock LeftDock | |
global myNewFreeCADWidget; myNewFreeCADWidget = "" | |
############################################################# | |
global densite ; densite = 1.00 # (steel = 7.5 kg by dm3) | |
global arrondi ; arrondi = 4 # many numbers after the decimal point "defaut = 4" | |
############################################################# | |
global sel ; sel = "" | |
global document_ ; document_ = "FCInfo" | |
global object_Label ; object_Label = "" | |
global object_Name ; object_Name = "" | |
global typeObject ; typeObject = "" | |
global element_ ; element_ = "" | |
global position0 ; position0 = 0.0 | |
global position1 ; position1 = 0.0 | |
global position2 ; position2 = 0.0 | |
global longueurObjet ; longueurObjet = 0.0 | |
global rayonObjet ; rayonObjet = 0.0 | |
global perimetre ; perimetre = 0.0 | |
global numberEdges ; numberEdges = 0 | |
global typeLongueur ; typeLongueur = "Length of object " | |
global Plan_xy ; Plan_xy = 0.0 | |
global Plan_xy_V ; Plan_xy_V = "" | |
global Plan_yz ; Plan_yz = 0.0 | |
global Plan_yz_V ; Plan_yz_V = "" | |
global Plan_zx ; Plan_zx = 0.0 | |
global Plan_zx_V ; Plan_zx_V = "" | |
global surface ; surface = 0.0 | |
global surfaceFace ; surfaceFace = 0.0 | |
global volume_ ; volume_ = 0.0 | |
global poids ; poids = 0.0 | |
global uniteM ; uniteM = 1.0 # unit of measurement length | |
global uniteMs ; uniteMs = u"mm" | |
global uniteS ; uniteS = 1.0 # unit of measurement surface | |
global uniteSs ; uniteSs = u"mm²" | |
global uniteV ; uniteV = 1.0 # unit of measurement volume | |
global uniteVs ; uniteVs = u"mm³" | |
global uniteP ; uniteP = 1.0 # unit of measure weight | |
global unitePs ; unitePs = u"g" | |
global uniteAs ; uniteAs = u"°" | |
global boundBoxCenterX ; boundBoxCenterX = 0.0 | |
global boundBoxCenterY ; boundBoxCenterY = 0.0 | |
global boundBoxCenterZ ; boundBoxCenterZ = 0.0 | |
global boundBoxCenter; boundBoxCenter= 0.0 | |
global boundBoxDiag ; boundBoxDiag = 0.0 | |
global CenterOfMassX ; CenterOfMassX = 0.0 | |
global CenterOfMassY ; CenterOfMassY = 0.0 | |
global CenterOfMassZ ; CenterOfMassZ = 0.0 | |
global boundBox_ ; boundBox_ = 0.0 | |
global boundBoxLX ; boundBoxLX = 0.0 | |
global boundBoxLY ; boundBoxLY = 0.0 | |
global boundBoxLZ ; boundBoxLZ = 0.0 | |
global boundBox_S ; boundBox_S = "" | |
global MatrixX1 ; MatrixX1 = 0.0 | |
global MatrixY1 ; MatrixY1 = 0.0 | |
global MatrixZ1 ; MatrixZ1 = 0.0 | |
global Matrix_1 ; Matrix_1 = 0.0 | |
global MatrixX2 ; MatrixX2 = 0.0 | |
global MatrixY2 ; MatrixY2 = 0.0 | |
global MatrixZ2 ; MatrixZ2 = 0.0 | |
global Matrix_2 ; Matrix_2 = 0.0 | |
global MatrixX3 ; MatrixX3 = 0.0 | |
global MatrixY3 ; MatrixY3 = 0.0 | |
global MatrixZ3 ; MatrixZ3 = 0.0 | |
global Matrix_3 ; Matrix_3 = 0.0 | |
global Matrix12 ; Matrix12 = 0.0 | |
global Matrix13 ; Matrix13 = 0.0 | |
global Matrix14 ; Matrix14 = 0.0 | |
global Matrix15 ; Matrix15 = 0.0 | |
global MatrixX1_16 ; MatrixX1_16 = 0.0 | |
global MatrixY1_16 ; MatrixY1_16 = 0.0 | |
global MatrixZ1_16 ; MatrixZ1_16 = 0.0 | |
global MatrixX2_16 ; MatrixX2_16 = 0.0 | |
global MatrixY2_16 ; MatrixY2_16 = 0.0 | |
global MatrixZ2_16 ; MatrixZ2_16 = 0.0 | |
global MatrixX3_16 ; MatrixX3_16 = 0.0 | |
global MatrixY3_16 ; MatrixY3_16 = 0.0 | |
global MatrixZ3_16 ; MatrixZ3_16 = 0.0 | |
global MatrixX1_17 ; MatrixX1_17 = 0.0 | |
global MatrixY1_17 ; MatrixY1_17 = 0.0 | |
global MatrixZ1_17 ; MatrixZ1_17 = 0.0 | |
global MatrixX2_17 ; MatrixX2_17 = 0.0 | |
global MatrixY2_17 ; MatrixY2_17 = 0.0 | |
global MatrixZ2_17 ; MatrixZ2_17 = 0.0 | |
global MatrixX3_17 ; MatrixX3_17 = 0.0 | |
global MatrixY3_17 ; MatrixY3_17 = 0.0 | |
global MatrixZ3_17 ; MatrixZ3_17 = 0.0 | |
global DeterminantM ; DeterminantM = 0.0 | |
global refreshMatrix ; refreshMatrix = 1 | |
global Vertx ; Vertx = "" | |
global Edges ; Edges = "" | |
global ReperEdge ; ReperEdge = 0 | |
global EdgesLong ; EdgesLong = 0.0 | |
global Faces ; Faces = "" | |
global FacesSurf ; FacesSurf = 0.0 | |
global FacesCoor ; FacesCoor = 0.0 | |
global compt_E ; compt_E = 0 | |
global compt_F ; compt_F = 0 | |
global compt_VF ; compt_VF = 0 | |
global placement_ ; placement_ = "" | |
global RowCount ; RowCount = 200 | |
global RowCountTest ; RowCountTest = 0 | |
global SaveName ; SaveName = "" | |
global ESCAPE ; ESCAPE = "\t" # tabulation SpreadSheet separation | |
global angleX1 ; angleX1 = 0.0 | |
global angleY1 ; angleY1 = 0.0 | |
global angleZ1 ; angleZ1 = 0.0 | |
global angleX2 ; angleX2 = 0.0 | |
global angleY2 ; angleY2 = 0.0 | |
global angleZ2 ; angleZ2 = 0.0 | |
global directionObj ; directionObj = 0.0 | |
global direcValueAt ; direcValueAt = 0.0 | |
global InfoReportView; InfoReportView= 0 | |
global switchInertia ; switchInertia = 0 # for create plane without refresh | |
global switchClipBoard; switchClipBoard = 0 # for clipBoard | |
global switchPoint ; switchPoint = 0 # for point False | |
global switchAxis ; switchAxis = 1 # for axis True | |
global switchPlane ; switchPlane = 1 # for plane True | |
####path######################################################################### | |
global path ; path = "" # | |
#path = FreeCAD.ConfigGet("AppHomePath") # path FreeCAD installation | |
#path = FreeCAD.ConfigGet("UserAppData") # path FreeCAD User data | |
#path = "your path" # your directory path | |
param = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Macro")# macro path | |
path = param.GetString("MacroPath","") + "/" # macro path | |
path = path.replace("\\","/") # convert the "\" to "/" | |
#print( "Path for the icons : " , path ) # | |
################################################################################# | |
def Around(a) : | |
global arrondi | |
if arrondi == -1: | |
arrondi = 1000 | |
return round(a,arrondi) | |
def axisPlane( posX = 0.0, posY = 0.0, posZ = 0.0, namePlane = "FCPlane"): # plane creation | |
global sel | |
global document_ | |
global object_Name | |
global path | |
global boundBoxDiag | |
global switchInertia | |
global switchClipBoard | |
global switchPoint | |
global switchAxis | |
global switchPlane | |
global directionObj | |
sel = FreeCADGui.Selection.getSelection() | |
retour = path + "Macro_FCInfo_05.png" | |
switchInertia = 1 | |
if switchClipBoard == 1: # memo clipBoard | |
memo = QtGui.QApplication.clipboard() | |
memo.clear(mode=memo.Clipboard ) | |
memo.setText("FreeCAD.Vector("+str(posX)+", "+str(posY)+", "+str(posZ)+")", mode = memo.Clipboard) # FreeCAD.Vector(x, y, z) | |
#memo.setText(str(posX)+", "+str(posY)+", "+str(posZ), mode = memo.Clipboard) # x, y, z | |
if switchPoint == 1: | |
try: # create point | |
point = Draft.makePoint( posX, posY, posZ) | |
point.ViewObject.PointColor = (1.0,0.0,0.0) | |
point.Label = "FCPoint" + namePlane | |
retour = path + "Macro_FCInfo_06.png" | |
FreeCADGui.updateGui() # updateGui | |
App.ActiveDocument.recompute() | |
except Exception: | |
retour = path + "Macro_FCInfo_07.png" | |
if switchPlane == 1: | |
try: # create plane | |
doc = App.activeDocument() | |
if boundBoxDiag == 0.0: | |
boundBoxDiag = 10.0 | |
boundBoxLX = boundBoxLY = boundBoxLZ = boundBoxDiag | |
FCSpring = doc.addObject("App::DocumentObjectGroup", "FCPlane" + namePlane) | |
plr = FreeCAD.Placement() | |
plr.Base = FreeCAD.Vector( posX, posY, posZ) | |
### PlaneX-R | |
plan = App.ActiveDocument.addObject("Part::Plane","PlaneX-R") | |
plan.Length=boundBoxLZ | |
plan.Width=boundBoxLX | |
plan.Placement = plr | |
plan.Placement.Rotation = plan.Placement.Rotation.multiply(App.Rotation(0.0,-90.0,0.0)) | |
plan.Placement = plan.Placement.multiply(App.Placement(App.Vector(-float(plan.Length)/2.0,-float(plan.Width)/2.0,0.0), App.Rotation(App.Vector(0.0,0.0,0.0),0.0), App.Vector(0.0,0.0,0.0))) | |
plan.ViewObject.LineColor = (1.0,0.66667,0.0) | |
plan.ViewObject.ShapeColor = (0.6, 0.0, 0.0) | |
plan.ViewObject.Transparency = 90 | |
plan.ViewObject.LineWidth = 1.0 | |
FCSpring.addObject(plan) | |
### PlaneY-V | |
plan = App.ActiveDocument.addObject("Part::Plane","PlaneY-V") | |
plan.Length=boundBoxLY | |
plan.Width=boundBoxLZ | |
plan.Placement = plr | |
plan.Placement.Rotation = plan.Placement.Rotation.multiply(App.Rotation(0.0,0.0,90.0)) | |
plan.Placement = plan.Placement.multiply(App.Placement(App.Vector(-float(plan.Length)/2.0,-float(plan.Width)/2.0,0.0), App.Rotation(App.Vector(0.0,0.0,0.0),0.0), App.Vector(0.0,0.0,0.0))) | |
plan.ViewObject.LineColor = (1.0, 0.66667, 0.0) | |
plan.ViewObject.ShapeColor = (0.0, 0.6, 0.0) | |
plan.ViewObject.Transparency = 90 | |
plan.ViewObject.LineWidth = 1.0 | |
FCSpring.addObject(plan) | |
### PlaneZ-B | |
plan = App.ActiveDocument.addObject("Part::Plane","PlaneZ-B") | |
plan.Length=boundBoxLX | |
plan.Width=boundBoxLY | |
plan.Placement = plr | |
plan.Placement = plan.Placement.multiply(App.Placement(App.Vector(-float(plan.Length)/2.0,-float(plan.Width)/2.0,0.0), App.Rotation(App.Vector(0.0,0.0,0.0),0.0), App.Vector(0.0,0.0,0.0))) | |
plan.ViewObject.LineColor = (1.0,1.0,1.0) | |
plan.ViewObject.ShapeColor = (0.0,0.0,0.6) | |
plan.ViewObject.Transparency = 90 | |
plan.ViewObject.LineWidth = 1.0 | |
FCSpring.addObject(plan) | |
FreeCADGui.updateGui() # updateGui | |
App.ActiveDocument.recompute() | |
retour = path + "Macro_FCInfo_06.png" | |
except Exception: | |
retour = path + "Macro_FCInfo_07.png" | |
if switchAxis == 1: # create axis | |
try: | |
doc = App.activeDocument() | |
if boundBoxDiag == 0.0: | |
boundBoxDiag = 10.0 | |
boundBoxLX = boundBoxLY = boundBoxLZ = boundBoxDiag | |
FCSpring = doc.addObject("App::DocumentObjectGroup", "FCAxis" + namePlane) | |
plr = FreeCAD.Placement() | |
plr.Base = FreeCAD.Vector( posX, posY, posZ) | |
#create axis | |
points=[FreeCAD.Vector(0.0,0.0,0.0),FreeCAD.Vector(0.0,0.0,boundBoxLX)] | |
centerX = Draft.makeWire(points,closed=False,face=False,support=None) | |
centerX.Placement = plr | |
centerX.Placement.Rotation = centerX.Placement.Rotation.multiply(App.Rotation(0.0,90.0,0.0)) | |
centerX.Placement = centerX.Placement.multiply(App.Placement(App.Vector(0.0,0.0,-float(boundBoxLX)/2.0), App.Rotation(App.Vector(0.0,0.0,0.0),0.0), App.Vector(0.0,0.0,0.0))) | |
centerX.ViewObject.LineColor = (1.0,1.0,1.0) | |
centerX.ViewObject.LineWidth = 1.0 | |
centerX.ViewObject.DrawStyle = str("Dashdot") | |
centerX.Label = str("Axis White PlaneX") | |
FCSpring.addObject(centerX) | |
points=[FreeCAD.Vector(0.0,0.0,0.0),FreeCAD.Vector(0.0,0.0,boundBoxLX)] | |
centerY = Draft.makeWire(points,closed=False,face=False,support=None) | |
centerY.Placement = plr | |
centerY.Placement.Rotation = centerY.Placement.Rotation.multiply(App.Rotation(0.0,90.0,90.0)) | |
centerY.Placement = centerY.Placement.multiply(App.Placement(App.Vector(0.0,0.0,-float(boundBoxLX)/2.0), App.Rotation(App.Vector(0.0,0.0,0.0),0.0), App.Vector(0.0,0.0,0.0))) | |
centerY.ViewObject.LineColor = (1.0,1.0,1.0) | |
centerY.ViewObject.LineWidth = 1.0 | |
centerY.ViewObject.DrawStyle = str("Dashdot") | |
centerY.Label = str("Axis White PlaneY") | |
FCSpring.addObject(centerY) | |
points=[FreeCAD.Vector(0.0,0.0,0.0),FreeCAD.Vector(0.0,0.0,boundBoxLX)] | |
centerZ = Draft.makeWire(points,closed=False,face=False,support=None) | |
centerZ.Placement = plr | |
centerZ.Placement.Rotation = centerZ.Placement.Rotation.multiply(App.Rotation(0,0,0)) | |
centerZ.Placement = centerZ.Placement.multiply(App.Placement(App.Vector(0.0,0.0,-float(boundBoxLX)/2.0), App.Rotation(App.Vector(0.0,0.0,0.0),0.0), App.Vector(0.0,0.0,0.0))) | |
centerZ.ViewObject.LineColor = (1.0,1.0,1.0) | |
centerZ.ViewObject.LineWidth = 1.0 | |
centerZ.ViewObject.DrawStyle = str("Dashdot") | |
centerZ.Label = str("Axis White PlaneZ") | |
FCSpring.addObject(centerZ) | |
FreeCADGui.updateGui() # updateGui | |
App.ActiveDocument.recompute() | |
retour = path + "Macro_FCInfo_06.png" | |
except Exception: | |
retour = path + "Macro_FCInfo_07.png" | |
try: | |
Gui.Selection.addSelection(App.ActiveDocument.getObject(object_Name)) | |
except Exception: | |
None | |
FreeCADGui.updateGui() # updateGui | |
switchInertia = 0 | |
return retour | |
def tableau(): | |
global sel | |
global element_ | |
global perimetre | |
global numberEdges | |
global Vertx | |
global Edges | |
global EdgesLong | |
global Faces | |
global FacesSurf | |
global FacesCoor | |
global compt_E | |
global compt_F | |
global compt_VF | |
global RowCountTest | |
global angleX1 | |
global angleY1 | |
global angleZ1 | |
global angleX2 | |
global angleY2 | |
global angleZ2 | |
if len(sel) != 0: | |
Vertx=[] | |
Edges=[] | |
Faces=[] | |
compt_E = 0 | |
compt_F = 0 | |
compt_VF = 0 | |
perimetre = 0.0 | |
EdgesLong = [] | |
angleX1 = 0.0 | |
angleY1 = 0.0 | |
angleZ1 = 0.0 | |
angleX2 = 0.0 | |
angleY2 = 0.0 | |
angleZ2 = 0.0 | |
numberEdges = len(sel[0].Shape.Edges) | |
for j in enumerate(sel[0].Shape.Edges): # search Edges | |
compt_E+=1 | |
Edges.append("Edge%d" % (j[0]+1)) | |
EdgesLong.append(str(sel[0].Shape.Edges[compt_E-1].Length)) | |
perimetre += (sel[0].Shape.Edges[compt_E-1].Length) | |
a = sel[0].Shape.Edges[compt_E-1].Vertexes[0] | |
Vertx.append("X1: "+str(a.Point.x)) | |
Vertx.append("Y1: "+str(a.Point.y)) | |
Vertx.append("Z1: "+str(a.Point.z)) | |
# if element_ == "Edge%d" % (j[0]+1): | |
# angleX1 = a.Point.x | |
# angleY1 = a.Point.y | |
# angleZ1 = a.Point.z | |
try: | |
a = sel[0].Shape.Edges[compt_E-1].Vertexes[1] # search Vertexes Edges | |
Vertx.append("X2: "+str(a.Point.x)) | |
Vertx.append("Y2: "+str(a.Point.y)) | |
Vertx.append("Z2: "+str(a.Point.z)) | |
# if element_ == "Edge%d" % (j[0]+1): | |
# angleX2 = a.Point.x | |
# angleY2 = a.Point.y | |
# angleZ2 = a.Point.z | |
except Exception: | |
Vertx.append("-") | |
Vertx.append("-") | |
Vertx.append("-") | |
FacesSurf = [] | |
FacesCoor = [] | |
for j in enumerate(sel[0].Shape.Faces): # search Faces | |
compt_F+=1 | |
Faces.append("Face%d" % (j[0]+1)) | |
FacesSurf.append(str(sel[0].Shape.Faces[compt_F-1].Area)) | |
fco = 0 | |
for f0 in sel[0].Shape.Faces[compt_F-1].Vertexes: # search Vertexes face | |
fco += 1 | |
FacesCoor.append("X"+str(fco)+": "+str(f0.Point.x)) | |
FacesCoor.append("Y"+str(fco)+": "+str(f0.Point.y)) | |
FacesCoor.append("Z"+str(fco)+": "+str(f0.Point.z)) | |
compt_VF += 1 | |
FacesCoor += ("T",) | |
RowCountTest = compt_E + compt_F + compt_VF | |
def affect(passTableau): | |
global ui | |
global sel | |
global document_ | |
global object_Label | |
global object_Name | |
global typeObject | |
global element_ | |
global position0 | |
global position1 | |
global position2 | |
global longueurObjet | |
global rayonObjet | |
global perimetre | |
global numberEdges | |
global Plan_xy | |
global Plan_xy_V | |
global Plan_yz | |
global Plan_yz_V | |
global Plan_zx | |
global Plan_zx_V | |
global surface | |
global surfaceFace | |
global volume_ | |
global densite | |
global poids | |
global uniteM | |
global uniteMs | |
global uniteS | |
global uniteSs | |
global uniteV | |
global uniteVs | |
global uniteP | |
global unitePs | |
global uniteAs | |
global boundBoxCenterX | |
global boundBoxCenterY | |
global boundBoxCenterZ | |
global boundBoxDiag | |
global CenterOfMassX | |
global CenterOfMassY | |
global CenterOfMassZ | |
global boundBox_ | |
global boundBoxLX | |
global boundBoxLY | |
global boundBoxLZ | |
global boundBox_S | |
global MatrixX1 | |
global MatrixY1 | |
global MatrixZ1 | |
global Matrix_1 | |
global MatrixX2 | |
global MatrixY2 | |
global MatrixZ2 | |
global Matrix_2 | |
global MatrixX3 | |
global MatrixY3 | |
global MatrixZ3 | |
global Matrix_3 | |
global Matrix12 | |
global Matrix13 | |
global Matrix14 | |
global Matrix15 | |
global DeterminantM | |
global FacesSurf | |
global EdgesLong | |
global FacesCoor | |
global angleX1 | |
global angleY1 | |
global angleZ1 | |
global angleX2 | |
global angleY2 | |
global angleZ2 | |
global directionObj | |
global direcValueAt | |
global InfoReportView | |
global MatrixX1_16 | |
global MatrixY1_16 | |
global MatrixZ1_16 | |
global MatrixX2_16 | |
global MatrixY2_16 | |
global MatrixZ2_16 | |
global MatrixX3_16 | |
global MatrixY3_16 | |
global MatrixZ3_16 | |
global MatrixX1_17 | |
global MatrixY1_17 | |
global MatrixZ1_17 | |
global MatrixX2_17 | |
global MatrixY2_17 | |
global MatrixZ2_17 | |
global MatrixX3_17 | |
global MatrixY3_17 | |
global MatrixZ3_17 | |
global refreshMatrix | |
global typeLongueur | |
try: | |
atest = sel[0].Shape.Vertexes | |
except Exception: | |
#################### | |
selEx = FreeCADGui.Selection.getSelectionEx() | |
objs = [selobj.Object for selobj in selEx] | |
detected = "" | |
if len(objs) >= 1: | |
if hasattr(objs[0], "Shape"): | |
s = objs[0].Shape | |
elif hasattr(objs[0], "Mesh"): | |
s = objs[0].Mesh | |
detected = str(s) | |
elif hasattr(objs[0], "Points"): | |
s = objs[0].Points | |
detected = str(s) | |
######################################## | |
App.Console.PrintMessage("Invalid selection"+"\n") | |
errorDialog("Invalid selection"+ "\n" + | |
detected ) | |
sel = selEx = "" | |
else: | |
sel = FreeCADGui.Selection.getSelection() | |
mydoc = FreeCAD.activeDocument().Name | |
document_ = mydoc | |
try: | |
object_Label = sel[0].Label | |
object_Name = sel[0].Name | |
except Exception: | |
object_Label = "" | |
object_Name = "" | |
try: | |
SubElement = FreeCADGui.Selection.getSelectionEx() | |
element_ = SubElement[0].SubElementNames[0] | |
except Exception: | |
element_ = "" | |
# longueur Objet | |
try: | |
longueurObjet = Gui.Selection.getSelectionEx()[0].SubObjects[0].Length | |
if str(Gui.Selection.getSelectionEx()[0].SubObjects[0])[1:5] == "Face": | |
typeLongueur = "Perimeter of face " | |
else: | |
typeLongueur = "Length of object " | |
except Exception: | |
longueurObjet = 0.0 | |
# rayon Objet cas cercle | |
try: | |
rayonObjet = Gui.Selection.getSelectionEx()[0].SubObjects[0].Curve.Radius | |
except Exception: | |
rayonObjet = 0.0 | |
# tableau | |
if passTableau == 1: | |
tableau() | |
# surface | |
try: | |
surface = sel[0].Shape.Area | |
except Exception: | |
surface = 0.0 | |
try: | |
surfaceFace = Gui.Selection.getSelectionEx()[0].SubObjects[0].Area | |
except Exception: | |
surfaceFace = 0.0 | |
# volume | |
try: | |
volume_ = sel[0].Shape.Volume | |
except Exception: | |
volume_ = 0.0 | |
# poids | |
poids = ((volume_ * densite) * uniteP) / 1000.0 # mm3 (mm base FreeCAD) | |
# boundinbox (dimensions hors tout) | |
try: | |
boundBox_ = sel[0].Shape.BoundBox | |
boundBoxLX = boundBox_.XLength | |
boundBoxLY = boundBox_.YLength | |
boundBoxLZ = boundBox_.ZLength | |
boundBoxDiag = boundBox_.DiagonalLength | |
boundBox_S = "[X: "+str(boundBoxLX * uniteM)+" "+uniteMs+"] x [Y: "+str(boundBoxLY * uniteM)+" "+uniteMs+"] x [Z: "+str(boundBoxLZ * uniteM)+" "+uniteMs+"] Diagonal: " + str(boundBoxDiag * uniteM)+" "+uniteMs | |
except Exception: | |
boundBox_ = 0.0 | |
boundBoxLX = 0.0 | |
boundBoxLY = 0.0 | |
boundBoxLZ = 0.0 | |
boundBoxDiag = 0.0 | |
boundBox_S = "" | |
# centre de la forme | |
try: | |
boundBoxCenterX = boundBox_.Center[0] | |
boundBoxCenterY = boundBox_.Center[1] | |
boundBoxCenterZ = boundBox_.Center[2] | |
except Exception: | |
boundBoxCenterX = 0.0 | |
boundBoxCenterY = 0.0 | |
boundBoxCenterZ = 0.0 | |
mode = 1 | |
# Perimetre tous les bords | |
select = FreeCADGui.Selection.getSelection() | |
numberEdges = len(select[0].Shape.Edges) | |
perimetre = 0.0 | |
try: | |
for i in select[0].Shape.Edges: | |
perimetre += i.Length | |
except Exception: | |
perimetre = 0.0 | |
# vertexes pour les angles | |
try: | |
selectionObjects = FreeCADGui.Selection.getSelectionEx()[0].SubObjects[0] | |
if str(selectionObjects)[1:5] == "Edge": | |
points = selectionObjects.Edges[0].Vertexes[0].Point | |
angleX1 = points.x | |
angleY1 = points.y | |
angleZ1 = points.z | |
points = selectionObjects.Edges[0].Vertexes[1].Point | |
angleX2 = points.x | |
angleY2 = points.y | |
angleZ2 = points.z | |
except Exception: | |
angleX1 = angleY1 = angleZ1 = 0.0 | |
angleX2 = angleY2 = angleZ2 = 0.0 | |
try: | |
Plan_xy = angle2(angleX1,angleY1,angleX2,angleY2,mode) | |
Plan_xy_V = "[,"+str(angleX1)+" , "+str(angleY1)+",] [,"+str(angleX2)+" , "+str(angleY2)+",]" | |
except Exception: | |
Plan_xy = 0.0 | |
Plan_xy_V = "" | |
try: | |
Plan_yz = angle2(angleY1,angleZ1,angleY2,angleZ2,mode) | |
Plan_yz_V = "[,"+str(angleY1)+" , "+str(angleZ1)+",] [,"+str(angleY2)+" , "+str(angleZ2)+",]" | |
except Exception: | |
Plan_yz = 0.0 | |
Plan_yz_V = "" | |
try: | |
Plan_zx = angle2(angleZ1,angleX1,angleZ2,angleX2,mode) | |
Plan_zx_V = "[,"+str(angleZ1)+" , "+str(angleX1)+",] [,"+str(angleZ2)+" , "+str(angleX2)+",]" | |
except Exception: | |
Plan_zx = 0.0 | |
Plan_zx_V = "" | |
# angle Placement | |
try: | |
typeObject = sel[0].Shape.ShapeType | |
except Exception: | |
typeObject = "" | |
# center of mass | |
try: | |
c = FreeCADGui.Selection.getSelection()[0].Shape.CenterOfMass | |
except Exception: | |
try: | |
selEx = FreeCADGui.Selection.getSelectionEx() | |
objs = [selobj.Object for selobj in selEx] | |
s = objs[0].Shape | |
c = s.Solids[0].CenterOfMass | |
except Exception: | |
c = "" | |
try: | |
CenterOfMassX = c.x | |
CenterOfMassY = c.y | |
CenterOfMassZ = c.z | |
except Exception: | |
CenterOfMassX = 0.0 | |
CenterOfMassY = 0.0 | |
CenterOfMassZ = 0.0 | |
try: # inertia DeterminantM | |
DeterminantM = FreeCADGui.Selection.getSelection()[0].Shape.MatrixOfInertia.determinant() | |
except Exception: | |
try: | |
selEx = FreeCADGui.Selection.getSelectionEx() | |
objs = [selobj.Object for selobj in selEx] | |
s = objs[0].Shape | |
DeterminantM = s.Solids[0].MatrixOfInertia.determinant() | |
except Exception: | |
DeterminantM = 0.0 | |
try: # inertia | |
m = FreeCADGui.Selection.getSelection()[0].Shape.MatrixOfInertia | |
except Exception: | |
try: | |
selEx = FreeCADGui.Selection.getSelectionEx() | |
objs = [selobj.Object for selobj in selEx] | |
s = objs[0].Shape | |
m = s.Solids[0].MatrixOfInertia | |
except Exception: | |
m = "" | |
try: # Matrix | |
MatrixX1_16 = MatrixX1 = (m.A[0]) | |
MatrixY1_16 = MatrixY1 = (m.A[1]) | |
MatrixZ1_16 = MatrixZ1 = (m.A[2]) | |
Matrix_1 = (m.A[3]) | |
MatrixX2_16 = MatrixX2 = (m.A[4]) | |
MatrixY2_16 = MatrixY2 = (m.A[5]) | |
MatrixZ2_16 = MatrixZ2 = (m.A[6]) | |
Matrix_2 = (m.A[7]) | |
MatrixX3_16 = MatrixX3 = (m.A[8]) | |
MatrixY3_16 = MatrixY3 = (m.A[9]) | |
MatrixZ3_16 = MatrixZ3 = (m.A[10]) | |
Matrix_3 = (m.A[11]) | |
Matrix12 = (m.A[12]) | |
Matrix13 = (m.A[13]) | |
Matrix14 = (m.A[14]) | |
Matrix15 = (m.A[15]) | |
refreshMatrix = 1 | |
except Exception: | |
MatrixX1_16 = MatrixX1 = 0.0 | |
MatrixY1_16 = MatrixY1 = 0.0 | |
MatrixZ1_16 = MatrixZ1 = 0.0 | |
Matrix_1 = 0.0 | |
MatrixX2_16 = MatrixX2 = 0.0 | |
MatrixY2_16 = MatrixY2 = 0.0 | |
MatrixZ2_16 = MatrixZ2 = 0.0 | |
Matrix_2 = 0.0 | |
MatrixX3_16 = MatrixX3 = 0.0 | |
MatrixY3_16 = MatrixY3 = 0.0 | |
MatrixZ3_16 = MatrixZ3 = 0.0 | |
Matrix_3 = 0.0 | |
Matrix12 = 0.0 | |
Matrix13 = 0.0 | |
Matrix14 = 0.0 | |
Matrix15 = 0.0 | |
refreshMatrix = 0 | |
try: # Direction | |
edgeObject = Gui.Selection.getSelection()[0].Shape.Edges[0] | |
directionObj = edgeObject.Vertexes[1].Point.sub(edgeObject.Vertexes[0].Point) | |
except Exception: | |
directionObj = 0.0 | |
try: # valueAt | |
direcValueAt = Gui.Selection.getSelectionEx()[0].SubObjects[0].Edges[0].valueAt(0) | |
except Exception: | |
direcValueAt = 0.0 | |
######################################################## | |
if InfoReportView == 1 : | |
App.Console.PrintMessage(u"Beginning_"+str(element_) +"______________________________________________________"+"\n") | |
App.Console.PrintMessage(u"Document name : "+document_+"\n") | |
App.Console.PrintMessage(u"Label of the object : "+object_Label+"\n") | |
App.Console.PrintMessage(u"Internal name : "+object_Name+"\n") | |
App.Console.PrintMessage(u"Element name : "+str(element_)+"\n") | |
App.Console.PrintMessage(u"Object type : "+typeObject+"\n") | |
App.Console.PrintMessage(u"Mouse coordinates : X: "+str(position0 * uniteM) + " " + uniteMs + " Y:" + str(position1 * uniteM) + " " + uniteMs + " Z:" + str(position2 * uniteM) + " " + uniteMs + "\n") | |
App.Console.PrintMessage(typeLongueur + " : "+str(longueurObjet * uniteM)+", "+uniteMs+"\n") | |
if rayonObjet != 0.0: | |
App.Console.PrintMessage(u"Radius of the object : "+str(rayonObjet * uniteM)+", "+uniteMs +"\n") | |
App.Console.PrintMessage(u"Perimeter of the shape : "+str(perimetre * uniteM)+", "+uniteMs+"\n\n") | |
############### detail of object begin | |
if passTableau == 1: # | |
App.Console.PrintMessage(u"Vertexes and details : ("+ str(compt_E) +") ("+ str(compt_F)+") ("+ str(compt_VF)+") ("+str(RowCountTest)+")\n") | |
co = 0 | |
aa = 0 | |
for j in enumerate(Edges): | |
App.Console.PrintMessage(u"Length "+str(j[1])+" = "+str(float(EdgesLong[co]) * float(uniteM))+" "+uniteMs+"\n") | |
try: | |
for a in range(aa,aa+6): | |
chaine = str(Vertx[a]).split(":") | |
App.Console.PrintMessage(chaine[0] + ": " + str(float(chaine[1]) * float(uniteM))+" "+uniteMs+"\n") | |
except Exception: | |
None | |
co += 1 | |
aa += 6 | |
App.Console.PrintMessage("\n") | |
co=0 | |
cco=0 | |
for j in enumerate(Faces): | |
App.Console.PrintMessage(u"Surface "+str(j[1])+" = "+str(float(FacesSurf[co]) * float(uniteS))+" "+uniteSs+"\n") | |
for jj in range(cco,len(FacesCoor)): | |
cco+=1 | |
if FacesCoor[jj] == "T": | |
break | |
else: | |
chaine = str(FacesCoor[jj]).split(":") | |
App.Console.PrintMessage(chaine[0] + ": " + str(float(chaine[1]) * float(uniteM))+" "+uniteMs+"\n") | |
App.Console.PrintMessage("\n") | |
co += 1 | |
cco=0 | |
else: | |
App.Console.PrintMessage("\n") | |
############### end | |
App.Console.PrintMessage(u"Plan : XY: " + str(Plan_xy)+uniteAs+" coordinates: " + str(Plan_xy_V)+"\n") | |
App.Console.PrintMessage(u"Plan : YZ: " + str(Plan_yz)+uniteAs+" coordinates: " + str(Plan_yz_V)+"\n") | |
App.Console.PrintMessage(u"Plan : ZX: " + str(Plan_zx)+uniteAs+" coordinates: " + str(Plan_zx_V)+"\n\n") | |
App.Console.PrintMessage(u"The form surface : "+str(surface * uniteS)+" "+uniteSs+"\n") | |
App.Console.PrintMessage(u"The face surface : "+str(surfaceFace * uniteS)+" "+uniteSs+"\n\n") | |
App.Console.PrintMessage(u"Volume of the form : "+str(volume_ * uniteV)+" "+uniteVs+"\n") | |
App.Console.PrintMessage(u"Weight : "+str(poids)+" "+unitePs+" (Density : "+str(densite)+")\n\n") | |
App.Console.PrintMessage(u"Center of the shape : X: "+str(boundBoxCenterX * uniteM)+" "+uniteMs+" Y: "+str(boundBoxCenterY * uniteM)+" "+uniteMs+" Z: "+str(boundBoxCenterZ * uniteM)+" "+uniteMs+"\n") | |
App.Console.PrintMessage(u"Center of mass : X: "+str(CenterOfMassX * uniteM)+" "+uniteMs +" Y: "+str(CenterOfMassY * uniteM)+" "+uniteMs +" Z: "+str(CenterOfMassZ * uniteM)+" "+uniteMs+"\n") | |
App.Console.PrintMessage(u"Overall dimensions : "+boundBox_S+"\n\n") | |
App.Console.PrintMessage(u"Direction : "+str(directionObj)+"\n") | |
App.Console.PrintMessage(u"ValueAt : "+str(direcValueAt)+"\n\n") | |
App.Console.PrintMessage(u"Matrix of inertia : " +uniteMs+"^5" + "\n") | |
App.Console.PrintMessage(u" : X: "+str(MatrixX1_16)+" Y: "+str(MatrixY1_16)+" Z: "+str(MatrixZ1_16)+" : "+str(Matrix_1)+"\n") | |
App.Console.PrintMessage(u" : X: "+str(MatrixX2_16)+" Y: "+str(MatrixY2_16)+" Z: "+str(MatrixZ2_16)+" : "+str(Matrix_2)+"\n") | |
App.Console.PrintMessage(u" : X: "+str(MatrixX3_16)+" Y: "+str(MatrixY3_16)+" Z: "+str(MatrixZ3_16)+" : "+str(Matrix_3)+"\n") | |
App.Console.PrintMessage(u" : X: "+str(Matrix12)+" Y: "+str(Matrix13)+" Z: "+str(Matrix14)+" : "+str(Matrix15)+"\n\n") | |
App.Console.PrintMessage(u"Matrix inertia with mass : " +unitePs + uniteSs + "\n") | |
App.Console.PrintMessage(u" : X: "+str(MatrixX1_17)+" Y: "+str(MatrixY1_17)+" Z: "+str(MatrixZ1_17)+"\n") | |
App.Console.PrintMessage(u" : X: "+str(MatrixX2_17)+" Y: "+str(MatrixY2_17)+" Z: "+str(MatrixZ2_17)+"\n") | |
App.Console.PrintMessage(u" : X: "+str(MatrixX3_17)+" Y: "+str(MatrixY3_17)+" Z: "+str(MatrixZ3_17)+"\n\n") | |
App.Console.PrintMessage(u"Determinant : " + str(DeterminantM)+"\n") | |
App.Console.PrintMessage(u"Determinant decimal : " + str(decimal.Decimal(DeterminantM))+"\n") | |
App.Console.PrintMessage(u"End_"+str(element_)+ "____________________________________________________________"+"\n") | |
#################################### | |
class Ui_MainWindow(object): | |
def setupUi(self, MainWindow): | |
global ui | |
global sel | |
global document_ | |
global object_Label | |
global object_Name | |
global typeObject | |
global element_ | |
global position0 | |
global position1 | |
global position2 | |
global longueurObjet | |
global rayonObjet | |
global perimetre | |
global Plan_xy | |
global Plan_xy_V | |
global Plan_yz | |
global Plan_yz_V | |
global Plan_zx | |
global Plan_zx_V | |
global surface | |
global surfaceFace | |
global volume_ | |
global densite | |
global poids | |
global uniteM | |
global uniteMs | |
global uniteS | |
global uniteSs | |
global uniteV | |
global uniteVs | |
global uniteP | |
global unitePs | |
global directionObj | |
global direcValueAt | |
global uniteAs | |
global boundBoxCenterX | |
global boundBoxCenterY | |
global boundBoxCenterZ | |
global CenterOfMassX | |
global CenterOfMassY | |
global CenterOfMassZ | |
global boundBoxLX | |
global boundBoxLY | |
global boundBoxLZ | |
global boundBoxDiag | |
global MatrixX1 | |
global MatrixY1 | |
global MatrixZ1 | |
global Matrix_1 | |
global MatrixX2 | |
global MatrixY2 | |
global MatrixZ2 | |
global Matrix_2 | |
global MatrixX3 | |
global MatrixY3 | |
global MatrixZ3 | |
global Matrix_3 | |
global Matrix12 | |
global Matrix13 | |
global Matrix14 | |
global Matrix15 | |
global DeterminantM | |
global compt_E | |
global compt_F | |
global compt_VF | |
global placement_ | |
global RowCount | |
global RowCountTest | |
global path | |
global switchInertia ; switchInertia = 0 | |
global switchClipBoard | |
global switchPoint | |
global switchAxis | |
global switchPlane | |
global InfoReportView | |
self.window = MainWindow | |
################################# | |
if testing == 1: | |
MainWindow.setObjectName(_fromUtf8("MainWindow")) # volant | |
MainWindow.resize(380, 590) | |
MainWindow.setMinimumSize(QtCore.QSize(380, 590)) | |
#MainWindow.setMaximumSize(QtCore.QSize(380, 590)) | |
# MainWindow.move(1300, 120) # deplace la fenetre | |
################################## | |
self.centralWidget = QtGui.QWidget(MainWindow) | |
#self.centralWidget.setMinimumSize(QtCore.QSize(500, 500)) | |
self.centralWidget.setObjectName(_fromUtf8("centralWidget")) | |
grid = QtGui.QGridLayout() | |
self.centralWidget.setLayout(grid) | |
self.scrollArea = QtGui.QScrollArea(self.centralWidget) # cadre scrollarea contenant le widget GUI | |
self.scrollArea.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAsNeeded) | |
self.scrollArea.setWidgetResizable(True) | |
self.scrollArea.setObjectName(_fromUtf8("scrollArea")) | |
grid.addWidget(self.scrollArea, 0, 0) | |
vbox = QtGui.QVBoxLayout() | |
self.scrollArea.setLayout(vbox) | |
self.scrollAreaWidgetContents_2 = QtGui.QWidget() #widget contenant le GUI | |
self.scrollAreaWidgetContents_2.setObjectName(_fromUtf8("scrollAreaWidgetContents_2")) | |
vbox.addWidget(self.scrollAreaWidgetContents_2) | |
sel = FreeCADGui.Selection.getSelection() | |
if len(sel)==0: | |
App.Console.PrintMessage(u"Select an object"+"\n") | |
errorDialog(u"Select an object") | |
else: | |
affect(0) | |
################################################### | |
# # Placement | |
# placement_ = sel[0].Shape.Placement | |
# p = Gui.Selection.getSelectionEx()[0].SubObjects[0].Placement # donne aussi pitch ... | |
# App.Console.PrintMessage(placement_+"\n") | |
################################################### | |
vbox = QtGui.QVBoxLayout() | |
self.scrollAreaWidgetContents_2.setLayout(vbox) | |
grid = QtGui.QGridLayout() | |
self.GBox_001_Document = QtGui.QGroupBox(self.scrollAreaWidgetContents_2) | |
self.GBox_001_Document.setObjectName(_fromUtf8("GBox_001_Document")) | |
self.GBox_001_Document.setLayout(grid) | |
vbox.addWidget(self.GBox_001_Document) | |
self.label_1 = QtGui.QLabel(self.GBox_001_Document) | |
self.label_1.setObjectName(_fromUtf8("label_1")) | |
self.lineEdit_1 = QtGui.QLineEdit(self.GBox_001_Document) | |
self.lineEdit_1.setObjectName(_fromUtf8("lineEdit_1")) | |
self.lineEdit_1.setText(document_) | |
self.lineEdit_1.setToolTip(u"Name of the active document.") | |
grid.addWidget(self.label_1, 0, 0) | |
grid.addWidget(self.lineEdit_1, 0, 1, 1, 3) | |
self.label_2 = QtGui.QLabel(self.GBox_001_Document) | |
self.label_2.setObjectName(_fromUtf8("label_2")) | |
self.lineEdit_2 = QtGui.QLineEdit(self.GBox_001_Document) | |
self.lineEdit_2.setObjectName(_fromUtf8("lineEdit_2")) | |
self.lineEdit_2.setText(object_Label) | |
self.lineEdit_2.setToolTip(u"Label of the selected object.") | |
self.lineEdit_2a = QtGui.QLineEdit(self.GBox_001_Document) | |
self.lineEdit_2a.setObjectName(_fromUtf8("lineEdit_2a")) | |
self.lineEdit_2a.setText(object_Name) | |
self.lineEdit_2a.setToolTip(u"Internal name.") | |
grid.addWidget(self.label_2, 1, 0) | |
grid.addWidget(self.lineEdit_2, 1, 1) | |
grid.addWidget(self.lineEdit_2a, 1, 2) | |
self.label_3 = QtGui.QLabel(self.GBox_001_Document) | |
self.label_3.setObjectName(_fromUtf8("label_3")) | |
self.lineEdit_3 = QtGui.QLineEdit(self.GBox_001_Document) | |
self.lineEdit_3.setObjectName(_fromUtf8("lineEdit_3")) | |
self.lineEdit_3.setText(str(element_)) | |
self.lineEdit_3.setToolTip(u"Name of the selected SubObject.") | |
self.lineEdit_3a = QtGui.QLineEdit(self.GBox_001_Document) | |
self.lineEdit_3a.setObjectName(_fromUtf8("lineEdit_3")) | |
self.lineEdit_3a.setText(str(typeObject)) | |
self.lineEdit_3a.setToolTip(u"Type of the selected object.") | |
grid.addWidget(self.label_3, 2, 0) | |
grid.addWidget(self.lineEdit_3, 2, 1) | |
grid.addWidget(self.lineEdit_3a, 2, 2) | |
grid = QtGui.QGridLayout() | |
self.GBox_002_Coordinate_Mouse = QtGui.QGroupBox(self.scrollAreaWidgetContents_2) | |
self.GBox_002_Coordinate_Mouse.setObjectName(_fromUtf8("GBox_002_Coordinate_Mouse")) | |
self.GBox_002_Coordinate_Mouse.setLayout(grid) | |
vbox.addWidget(self.GBox_002_Coordinate_Mouse) | |
self.label_4x = QtGui.QLabel(self.GBox_002_Coordinate_Mouse) | |
self.label_4x.setStyleSheet("color : #ff0000") | |
self.label_4x.setFont(QtGui.QFont("",weight=QtGui.QFont.Bold)) # | |
self.label_4x.setObjectName(_fromUtf8("label_4x")) | |
self.label_4y = QtGui.QLabel(self.GBox_002_Coordinate_Mouse) | |
self.label_4y.setStyleSheet("color : #008500") | |
self.label_4y.setFont(QtGui.QFont("",weight=QtGui.QFont.Bold)) # | |
self.label_4y.setObjectName(_fromUtf8("label_4y")) | |
self.label_4z = QtGui.QLabel(self.GBox_002_Coordinate_Mouse) | |
self.label_4z.setStyleSheet("color : #0000ff") | |
self.label_4z.setFont(QtGui.QFont("",weight=QtGui.QFont.Bold)) # | |
self.label_4z.setObjectName(_fromUtf8("label_4z")) | |
self.lineEdit_4x = QtGui.QLineEdit(self.GBox_002_Coordinate_Mouse) | |
self.lineEdit_4x.setObjectName(_fromUtf8("lineEdit_4x")) | |
self.lineEdit_4x.setText(str(position0)) | |
self.lineEdit_4x.setToolTip(u"X coordinate of the click of the mouse.") | |
self.lineEdit_4y = QtGui.QLineEdit(self.GBox_002_Coordinate_Mouse) | |
self.lineEdit_4y.setObjectName(_fromUtf8("lineEdit_4y")) | |
self.lineEdit_4y.setText(str(position1)) | |
self.lineEdit_4y.setToolTip(u"Y coordinate of the click of the mouse.") | |
self.lineEdit_4z = QtGui.QLineEdit(self.GBox_002_Coordinate_Mouse) | |
self.lineEdit_4z.setObjectName(_fromUtf8("lineEdit_4z")) | |
self.lineEdit_4z.setText(str(position2)) | |
self.lineEdit_4z.setToolTip(u"Z coordinate of the click of the mouse.") | |
grid.addWidget(self.label_4x, 0, 0) | |
grid.addWidget(self.lineEdit_4x, 1, 0) | |
grid.addWidget(self.label_4y, 0, 1) | |
grid.addWidget(self.lineEdit_4y, 1, 1) | |
grid.addWidget(self.label_4z, 0, 2) | |
grid.addWidget(self.lineEdit_4z, 1, 2) | |
self.pushButton_Axis_01 = QtGui.QPushButton(self.GBox_002_Coordinate_Mouse) | |
self.pushButton_Axis_01.setIcon(QtGui.QIcon(path + "Macro_FCInfo_05.png")) | |
self.pushButton_Axis_01.setObjectName(_fromUtf8("pushButton_Axis_01")) | |
self.pushButton_Axis_01.clicked.connect(self.on_pushButton_Axis_Mouse) #connection pushButton_Axis | |
self.pushButton_Axis_01.setToolTip(u"Create Point or Axis or Plane or Clipboard" + "\n" + | |
u"Mouse coordinates" + "\n" + | |
u"The coordinates are cliped to this form" + "\n" + | |
u"FreeCAD.Vector(-24.0, 240.0, 7.0)") | |
grid.addWidget(self.pushButton_Axis_01, 1, 4) | |
grid = QtGui.QGridLayout() | |
self.GBox_003_Value = QtGui.QGroupBox(self.scrollAreaWidgetContents_2) | |
self.GBox_003_Value.setObjectName(_fromUtf8("GBox_003_Value")) | |
self.GBox_003_Value.setLayout(grid) | |
vbox.addWidget(self.GBox_003_Value) | |
self.comboBox = QtGui.QComboBox(self.GBox_003_Value) | |
self.comboBox.setObjectName(_fromUtf8("comboBox")) | |
self.comboBox.addItem(_fromUtf8("")) | |
self.comboBox.addItem(_fromUtf8("")) | |
self.comboBox.addItem(_fromUtf8("")) | |
self.comboBox.addItem(_fromUtf8("")) | |
self.comboBox.addItem(_fromUtf8("")) | |
self.comboBox.addItem(_fromUtf8("")) | |
self.comboBox.addItem(_fromUtf8("")) | |
self.comboBox.addItem(_fromUtf8("")) | |
self.comboBox.addItem(_fromUtf8("")) | |
self.comboBox.addItem(_fromUtf8("")) | |
self.comboBox.addItem(_fromUtf8("")) | |
self.comboBox.addItem(_fromUtf8("")) | |
self.comboBox.addItem(_fromUtf8("")) | |
self.comboBox.addItem(_fromUtf8("")) | |
self.comboBox.addItem(_fromUtf8("")) | |
self.comboBox.addItem(_fromUtf8("")) | |
self.comboBox.addItem(_fromUtf8("")) | |
self.comboBox.addItem(_fromUtf8("")) | |
self.comboBox.addItem(_fromUtf8("")) | |
self.comboBox.addItem(_fromUtf8("")) | |
self.comboBox.addItem(_fromUtf8("")) | |
self.comboBox.setToolTip(u"Selects a unit of length.") | |
QtCore.QObject.connect(self.comboBox, QtCore.SIGNAL("currentIndexChanged(QString)"), self.SIGNAL_comboBox_Changed) | |
grid.addWidget(self.comboBox, 1, 0) | |
self.label_5 = QtGui.QLabel(self.GBox_003_Value) | |
self.label_5.setObjectName(_fromUtf8("label_5")) | |
grid.addWidget(self.label_5, 0, 1) | |
self.label_5b = QtGui.QLabel(self.GBox_003_Value) | |
self.label_5b.setObjectName(_fromUtf8("label_5b")) | |
grid.addWidget(self.label_5b, 2, 0) | |
self.lineEdit_5 = QtGui.QLineEdit(self.GBox_003_Value) | |
self.lineEdit_5.setObjectName(_fromUtf8("lineEdit_5")) | |
self.lineEdit_5.setText(str(longueurObjet)) | |
self.lineEdit_5.setToolTip(u"Length of the object." + "\n" | |
u"If one side is selected the perimeter of the face will be displayed.") | |
grid.addWidget(self.lineEdit_5, 1, 1) | |
self.lineEdit_5b = QtGui.QLineEdit(self.GBox_003_Value) | |
self.lineEdit_5b.setObjectName(_fromUtf8("lineEdit_5b")) | |
self.lineEdit_5b.setText(str(rayonObjet)) | |
self.lineEdit_5b.setToolTip(u"Radius detected.") | |
if rayonObjet != 0: | |
self.label_5b.setVisible(True) | |
self.lineEdit_5b.setVisible(True) | |
else: | |
self.label_5b.setVisible(False) | |
self.lineEdit_5b.setVisible(False) | |
rayonObjet = 0.0 | |
grid.addWidget(self.lineEdit_5b, 2, 1) | |
self.label_6 = QtGui.QLabel(self.GBox_003_Value) | |
self.label_6.setObjectName(_fromUtf8("label_6")) | |
grid.addWidget(self.label_6, 3, 0) | |
self.lineEdit_6 = QtGui.QLineEdit(self.GBox_003_Value) | |
self.lineEdit_6.setObjectName(_fromUtf8("lineEdit_6")) | |
self.lineEdit_6.setText(str(perimetre)) | |
self.lineEdit_6.setToolTip(u"Total perimeter of the shape." + "\n" | |
u"Display the total Edge sum of the shape") | |
grid.addWidget(self.lineEdit_6, 3, 1) | |
grid = QtGui.QGridLayout() | |
self.GBox_004_SpreadSheet = QtGui.QGroupBox(self.scrollAreaWidgetContents_2) | |
self.GBox_004_SpreadSheet.setCheckable(True) | |
self.GBox_004_SpreadSheet.setChecked(False) | |
self.GBox_004_SpreadSheet.setStyleSheet("color : #ff0000") | |
self.GBox_004_SpreadSheet.setObjectName(_fromUtf8("GBox_004_SpreadSheet")) | |
self.GBox_004_SpreadSheet.clicked.connect(self.on_GBox_004_SpreadSheet) | |
self.GBox_004_SpreadSheet.setLayout(grid) | |
vbox.addWidget(self.GBox_004_SpreadSheet) | |
self.tableWidget = QtGui.QTableWidget(self.GBox_004_SpreadSheet) | |
self.tableWidget.setIconSize(QtCore.QSize(15, 15)) | |
self.tableWidget.setRowCount(RowCount) | |
self.tableWidget.setColumnCount(8) # number of columns | |
self.tableWidget.setObjectName(_fromUtf8("tableWidget")) | |
self.tableWidget.horizontalHeader().setVisible(False) | |
self.tableWidget.horizontalHeader().setDefaultSectionSize(100) | |
self.tableWidget.horizontalHeader().setMinimumSectionSize(15) | |
self.tableWidget.verticalHeader().setVisible(True) | |
self.tableWidget.verticalHeader().setCascadingSectionResizes(False) | |
self.tableWidget.verticalHeader().setDefaultSectionSize(20) | |
self.tableWidget.verticalHeader().setMinimumSectionSize(20) | |
self.tableWidget.setToolTip(u"Details of the form :" + "\n" | |
u"If the checkBox is checked, a complete scan of the selected form is done" + "\n" | |
u"(Using this option may take a long time for a large object" + "\n" | |
u"a full scan is done with each mouse click (Unchecked by default coloured re))" + "\n" + "\n" | |
u"If not checked the principal data are displayed" + "\n" + "\n" | |
u"Vertexes and details : (Edges) (Faces) (Vertex Faces) ...(Total)" + "\n" | |
u"Scoreboard only the first 200 details of the form are displayed." + "\n" | |
u"All the elements will be visible in the file after saving it.") | |
grid.addWidget(self.tableWidget, 0, 0, 4, 4) | |
grid = QtGui.QGridLayout() | |
self.GBox_005_Inclination = QtGui.QGroupBox(self.scrollAreaWidgetContents_2) | |
self.GBox_005_Inclination.setObjectName(_fromUtf8("GBox_005_Inclination")) | |
self.GBox_005_Inclination.setToolTip(u"Inclination compared XY, YZ, XZ") | |
self.GBox_005_Inclination.setLayout(grid) | |
vbox.addWidget(self.GBox_005_Inclination) | |
self.label_8a = QtGui.QLabel(self.GBox_005_Inclination) | |
self.label_8a.setObjectName(_fromUtf8("label_8a")) | |
grid.addWidget(self.label_8a, 0, 0) | |
self.pushButton_Ra = QtGui.QPushButton(self.GBox_005_Inclination) | |
self.pushButton_Ra.setObjectName(_fromUtf8("pushButton_Ra")) | |
self.pushButton_Ra.clicked.connect(self.on_pushButton_Ra_clicked) #connection pushButton_Ra "Radian" | |
self.pushButton_Ra.setToolTip(u"Toggles between decimal degrees, degrees minutes second" + "\n" | |
u"Radian, Grade, Percent.") | |
grid.addWidget(self.pushButton_Ra, 0, 0) | |
self.label_8a_2 = QtGui.QLabel(self.GBox_005_Inclination) | |
self.label_8a_2.setObjectName(_fromUtf8("label_8a")) | |
grid.addWidget(self.label_8a_2, 0, 1, 1, 3) | |
self.label_8xy = QtGui.QLabel(self.GBox_005_Inclination) | |
self.label_8xy.setStyleSheet("color : #ff0000") | |
self.label_8xy.setFont(QtGui.QFont("",weight=QtGui.QFont.Bold)) # | |
self.label_8xy.setObjectName(_fromUtf8("label_8xy")) | |
grid.addWidget(self.label_8xy, 1, 0) | |
self.lineEdit_8xy = QtGui.QLineEdit(self.GBox_005_Inclination) | |
self.lineEdit_8xy.setObjectName(_fromUtf8("lineEdit_8xy")) | |
self.lineEdit_8xy.setText(str(Plan_xy)+uniteAs) | |
self.lineEdit_8xy.setToolTip(u"Angle in the XY plane.") | |
grid.addWidget(self.lineEdit_8xy, 1, 1) | |
self.lineEdit_8xya = QtGui.QLineEdit(self.GBox_005_Inclination) | |
self.lineEdit_8xya.setObjectName(_fromUtf8("lineEdit_8xya")) | |
self.lineEdit_8xya.setText(str(Plan_xy_V)) | |
grid.addWidget(self.lineEdit_8xya, 1, 2) | |
self.label_8yz = QtGui.QLabel(self.GBox_005_Inclination) | |
self.label_8yz.setStyleSheet("color : #008500") | |
self.label_8yz.setFont(QtGui.QFont("",weight=QtGui.QFont.Bold)) # | |
self.label_8yz.setObjectName(_fromUtf8("label_8yz")) | |
grid.addWidget(self.label_8yz, 2, 0) | |
self.lineEdit_8yz = QtGui.QLineEdit(self.GBox_005_Inclination) | |
self.lineEdit_8yz.setObjectName(_fromUtf8("lineEdit_8yz")) | |
self.lineEdit_8yz.setText(str(Plan_yz)+uniteAs) | |
self.lineEdit_8yz.setToolTip(u"Angle in the YZ plane.") | |
grid.addWidget(self.lineEdit_8yz, 2, 1) | |
self.lineEdit_8yza = QtGui.QLineEdit(self.GBox_005_Inclination) | |
self.lineEdit_8yza.setObjectName(_fromUtf8("lineEdit_8yza")) | |
self.lineEdit_8yza.setText(str(Plan_yz_V)) | |
grid.addWidget(self.lineEdit_8yza, 2, 2) | |
self.label_8zx = QtGui.QLabel(self.GBox_005_Inclination) | |
self.label_8zx.setStyleSheet("color : #0000ff") | |
self.label_8zx.setFont(QtGui.QFont("",weight=QtGui.QFont.Bold)) # | |
self.label_8zx.setObjectName(_fromUtf8("label_8zx")) | |
grid.addWidget(self.label_8zx, 3, 0) | |
self.lineEdit_8zx = QtGui.QLineEdit(self.GBox_005_Inclination) | |
self.lineEdit_8zx.setObjectName(_fromUtf8("lineEdit_8zx")) | |
self.lineEdit_8zx.setText(str(Plan_zx)+uniteAs) | |
self.lineEdit_8zx.setToolTip(u"Angle in the ZX plane.") | |
grid.addWidget(self.lineEdit_8zx, 3, 1) | |
self.lineEdit_8zxa = QtGui.QLineEdit(self.GBox_005_Inclination) | |
self.lineEdit_8zxa.setObjectName(_fromUtf8("lineEdit_8zxa")) | |
self.lineEdit_8zxa.setText(str(Plan_zx_V)) | |
grid.addWidget(self.lineEdit_8zxa, 3, 2) | |
self.label_9_Direction = QtGui.QLabel(self.GBox_005_Inclination) | |
self.label_9_Direction.setObjectName(_fromUtf8("label_9_Direction")) | |
grid.addWidget(self.label_9_Direction, 4, 0) | |
self.pushButton_Line_01 = QtGui.QPushButton(self.GBox_005_Inclination) | |
self.pushButton_Line_01.setObjectName(_fromUtf8("pushButton_Line_01")) | |
self.pushButton_Line_01.clicked.connect(self.on_pushButton_Line_01) #connection pushButton_Line_01 | |
self.pushButton_Line_01.setToolTip(u"Create line in direction displayed" + "\n" + | |
u"0.0, 0.0, 0.0 to ") | |
grid.addWidget(self.pushButton_Line_01, 4, 1) | |
self.lineEdit_9_Direction = QtGui.QLineEdit(self.GBox_005_Inclination) | |
self.lineEdit_9_Direction.setObjectName(_fromUtf8("lineEdit_9_Direction")) | |
self.lineEdit_9_Direction.setText(str(directionObj)) | |
self.lineEdit_9_Direction.setToolTip(u"Direction of object" + "\n") | |
grid.addWidget(self.lineEdit_9_Direction, 4, 2) | |
self.label_10_ValueAt = QtGui.QLabel(self.GBox_005_Inclination) | |
self.label_10_ValueAt.setObjectName(_fromUtf8("label_10_ValueAt")) | |
grid.addWidget(self.label_10_ValueAt, 6, 0) | |
self.lineEdit_10_ValueAt = QtGui.QLineEdit(self.GBox_005_Inclination) | |
self.lineEdit_10_ValueAt.setToolTip(u"Returns the 3D vector corresponding to a parameter value. ") | |
self.lineEdit_10_ValueAt.setObjectName(_fromUtf8("lineEdit_10_ValueAt")) | |
self.lineEdit_10_ValueAt.setText(str(direcValueAt)) | |
grid.addWidget(self.lineEdit_10_ValueAt, 6, 1, 1, 2) | |
##### | |
grid = QtGui.QGridLayout() | |
self.GBox_006_Surface_and_Volume = QtGui.QGroupBox(self.scrollAreaWidgetContents_2) | |
self.GBox_006_Surface_and_Volume.setObjectName(_fromUtf8("GBox_006_Surface_and_Volume")) | |
self.GBox_006_Surface_and_Volume.setLayout(grid) | |
vbox.addWidget(self.GBox_006_Surface_and_Volume) | |
self.label_9 = QtGui.QLabel(self.GBox_006_Surface_and_Volume) | |
self.label_9.setObjectName(_fromUtf8("label_9")) | |
grid.addWidget(self.label_9, 0, 0) | |
self.lineEdit_9a = QtGui.QLineEdit(self.GBox_006_Surface_and_Volume) | |
self.lineEdit_9a.setObjectName(_fromUtf8("lineEdit_9a")) | |
self.lineEdit_9a.setText(str(surface)) | |
self.lineEdit_9a.setToolTip(u"Total area of the form.") | |
grid.addWidget(self.lineEdit_9a, 0, 1) | |
self.label_10 = QtGui.QLabel(self.GBox_006_Surface_and_Volume) | |
self.label_10.setObjectName(_fromUtf8("label_10")) | |
grid.addWidget(self.label_10, 1, 0) | |
self.lineEdit_10a = QtGui.QLineEdit(self.GBox_006_Surface_and_Volume) | |
self.lineEdit_10a.setObjectName(_fromUtf8("lineEdit_10a")) | |
self.lineEdit_10a.setText(str(surfaceFace)) | |
self.lineEdit_10a.setToolTip(u"Surface of the face.") | |
grid.addWidget(self.lineEdit_10a, 1, 1) | |
self.label_11 = QtGui.QLabel(self.GBox_006_Surface_and_Volume) | |
self.label_11.setObjectName(_fromUtf8("label_11")) | |
grid.addWidget(self.label_11, 2, 0) | |
self.lineEdit_11a = QtGui.QLineEdit(self.GBox_006_Surface_and_Volume) | |
self.lineEdit_11a.setObjectName(_fromUtf8("lineEdit_11a")) | |
self.lineEdit_11a.setText(str(volume_)) | |
self.lineEdit_11a.setToolTip(u"Total volume of the form.") | |
grid.addWidget(self.lineEdit_11a, 2, 1) | |
self.label_Unit = QtGui.QLabel(self.GBox_006_Surface_and_Volume) | |
self.label_Unit.setObjectName(_fromUtf8("label_Unit")) | |
grid.addWidget(self.label_Unit, 3, 0) | |
self.comboBox2 = QtGui.QComboBox(self.GBox_006_Surface_and_Volume) | |
self.comboBox2.setObjectName(_fromUtf8("comboPoids")) | |
self.comboBox2.addItem(_fromUtf8("")) | |
self.comboBox2.addItem(_fromUtf8("")) | |
self.comboBox2.addItem(_fromUtf8("")) | |
self.comboBox2.addItem(_fromUtf8("")) | |
self.comboBox2.addItem(_fromUtf8("")) | |
self.comboBox2.addItem(_fromUtf8("")) | |
self.comboBox2.addItem(_fromUtf8("")) | |
self.comboBox2.addItem(_fromUtf8("")) | |
self.comboBox2.addItem(_fromUtf8("")) | |
self.comboBox2.addItem(_fromUtf8("")) | |
self.comboBox2.addItem(_fromUtf8("")) | |
self.comboBox2.addItem(_fromUtf8("")) | |
self.comboBox2.addItem(_fromUtf8("")) | |
self.comboBox2.addItem(_fromUtf8("")) | |
self.comboBox2.addItem(_fromUtf8("")) | |
self.comboBox2.addItem(_fromUtf8("")) | |
self.comboBox2.addItem(_fromUtf8("")) | |
self.comboBox2.addItem(_fromUtf8("")) | |
self.comboBox2.addItem(_fromUtf8("")) | |
self.comboBox2.addItem(_fromUtf8("")) | |
self.comboBox2.addItem(_fromUtf8("")) | |
self.comboBox2.addItem(_fromUtf8("")) | |
self.comboBox2.addItem(_fromUtf8("")) | |
self.comboBox2.setToolTip(u"Select a unit of mass.") | |
QtCore.QObject.connect(self.comboBox2, QtCore.SIGNAL("currentIndexChanged(QString)"), self.SIGNAL_comboPoids_Changed) | |
grid.addWidget(self.comboBox2, 3, 1) | |
self.label_Weight = QtGui.QLabel(self.GBox_006_Surface_and_Volume) | |
self.label_Weight.setObjectName(_fromUtf8("label_Weight")) | |
grid.addWidget(self.label_Weight, 4, 0) | |
self.lineEdit_12a = QtGui.QLineEdit(self.GBox_006_Surface_and_Volume) | |
self.lineEdit_12a.setObjectName(_fromUtf8("lineEdit_12a")) | |
self.lineEdit_12a.setText(str(poids)+" "+unitePs) | |
self.lineEdit_12a.setToolTip(u"Weight of the form in the selected unit.") | |
grid.addWidget(self.lineEdit_12a, 4, 1) | |
self.label_Density = QtGui.QLabel(self.GBox_006_Surface_and_Volume) | |
self.label_Density.setObjectName(_fromUtf8("label_Unit")) | |
grid.addWidget(self.label_Density, 5, 0) | |
self.doubleSpinBox = QtGui.QDoubleSpinBox(self.GBox_006_Surface_and_Volume) | |
self.doubleSpinBox.setDecimals(3) | |
self.doubleSpinBox.setSingleStep(0.01) | |
self.doubleSpinBox.setProperty("value", densite) | |
self.doubleSpinBox.setObjectName(_fromUtf8("doubleSpinBox")) | |
self.doubleSpinBox.setToolTip(u"Select the volume density in Kg by dm3.") | |
self.doubleSpinBox.valueChanged.connect(self.on_doubleSpinBox_valueChanged) #connection doubleSpinBox | |
grid.addWidget(self.doubleSpinBox, 5, 1) | |
##### | |
grid = QtGui.QGridLayout() | |
self.GBox_007_BoundBox = QtGui.QGroupBox(self.scrollAreaWidgetContents_2) | |
self.GBox_007_BoundBox.setObjectName(_fromUtf8("GBox_007_BoundBox")) | |
self.GBox_007_BoundBox.setLayout(grid) | |
vbox.addWidget(self.GBox_007_BoundBox) | |
self.LA_007_01_Xlength = QtGui.QLabel(self.GBox_007_BoundBox) | |
self.LA_007_01_Xlength.setObjectName(_fromUtf8("LA_007_01_Xlength")) | |
grid.addWidget(self.LA_007_01_Xlength, 0, 0) | |
self.LA_007_02_Ylength = QtGui.QLabel(self.GBox_007_BoundBox) | |
self.LA_007_02_Ylength.setObjectName(_fromUtf8("LA_007_02_Ylength")) | |
grid.addWidget(self.LA_007_02_Ylength, 0, 1) | |
self.LA_007_03_Zlength = QtGui.QLabel(self.GBox_007_BoundBox) | |
self.LA_007_03_Zlength.setObjectName(_fromUtf8("LA_007_03_Zlength")) | |
grid.addWidget(self.LA_007_03_Zlength, 0, 2) | |
self.LA_007_04_Diagonallength = QtGui.QLabel(self.GBox_007_BoundBox) | |
self.LA_007_04_Diagonallength.setObjectName(_fromUtf8("LA_007_04_Diagonallength")) | |
grid.addWidget(self.LA_007_04_Diagonallength, 0, 3) | |
self.LE_007_BB_01_XLength = QtGui.QLineEdit(self.GBox_007_BoundBox) | |
self.LE_007_BB_01_XLength.setObjectName(_fromUtf8("LE_007_BB_01_XLength")) | |
self.LE_007_BB_01_XLength.setText(str(boundBoxLX)) | |
self.LE_007_BB_01_XLength.setToolTip(u"Dimensions of the form:" + "\n" | |
u"Direction X") | |
grid.addWidget(self.LE_007_BB_01_XLength, 1, 0) | |
self.LE_007_BB_02_YLength = QtGui.QLineEdit(self.GBox_007_BoundBox) | |
self.LE_007_BB_02_YLength.setObjectName(_fromUtf8("LE_007_BB_02_YLength")) | |
self.LE_007_BB_02_YLength.setText(str(boundBoxLY)) | |
self.LE_007_BB_02_YLength.setToolTip(u"Dimensions of the form:" + "\n" | |
u"Direction Y") | |
grid.addWidget(self.LE_007_BB_02_YLength, 1, 1) | |
self.LE_007_BB_03_ZLength = QtGui.QLineEdit(self.GBox_007_BoundBox) | |
self.LE_007_BB_03_ZLength.setObjectName(_fromUtf8("LE_007_BB_03_ZLength")) | |
self.LE_007_BB_03_ZLength.setText(str(boundBoxLZ)) | |
self.LE_007_BB_03_ZLength.setToolTip(u"Dimensions of the form:" + "\n" | |
u"Direction Z") | |
grid.addWidget(self.LE_007_BB_03_ZLength, 1, 2) | |
self.LE_007_BB_04_Diagonal = QtGui.QLineEdit(self.GBox_007_BoundBox) | |
self.LE_007_BB_04_Diagonal.setObjectName(_fromUtf8("LE_007_BB_04_Diagonal")) | |
self.LE_007_BB_04_Diagonal.setText(str(boundBoxDiag)) | |
self.LE_007_BB_04_Diagonal.setToolTip("Dimensions diagonal boundBox of the form.") | |
grid.addWidget(self.LE_007_BB_04_Diagonal, 1, 3) | |
##### | |
grid = QtGui.QGridLayout() | |
self.GBox_008_Center = QtGui.QGroupBox(self.scrollAreaWidgetContents_2) | |
self.GBox_008_Center.setObjectName(_fromUtf8("GBox_008_Center")) | |
self.GBox_008_Center.setLayout(grid) | |
vbox.addWidget(self.GBox_008_Center) | |
self.label_13 = QtGui.QLabel(self.GBox_008_Center) | |
self.label_13.setObjectName(_fromUtf8("label_13")) | |
grid.addWidget(self.label_13, 0, 0, 1, 4) | |
self.label_13x = QtGui.QLabel(self.GBox_008_Center) | |
self.label_13x.setStyleSheet("color : #ff0000") | |
self.label_13x.setFont(QtGui.QFont("",weight=QtGui.QFont.Bold)) | |
self.label_13x.setObjectName(_fromUtf8("label_13x")) | |
grid.addWidget(self.label_13x, 1, 0) | |
self.label_13y = QtGui.QLabel(self.GBox_008_Center) | |
self.label_13y.setStyleSheet("color : #008500") | |
self.label_13y.setFont(QtGui.QFont("",weight=QtGui.QFont.Bold)) | |
self.label_13y.setObjectName(_fromUtf8("label_13y")) | |
grid.addWidget(self.label_13y, 1, 1) | |
self.label_13z = QtGui.QLabel(self.GBox_008_Center) | |
self.label_13z.setStyleSheet("color : #0000ff") | |
self.label_13z.setFont(QtGui.QFont("",weight=QtGui.QFont.Bold)) | |
self.label_13z.setObjectName(_fromUtf8("label_13z")) | |
grid.addWidget(self.label_13z, 1, 2) | |
self.lineEdit_13x = QtGui.QLineEdit(self.GBox_008_Center) | |
self.lineEdit_13x.setObjectName(_fromUtf8("lineEdit_13x")) | |
self.lineEdit_13x.setText(str(boundBoxCenterX)) | |
self.lineEdit_13x.setToolTip(u"X coordinate of the center of the shape.") | |
grid.addWidget(self.lineEdit_13x, 2, 0) | |
self.lineEdit_13y = QtGui.QLineEdit(self.GBox_008_Center) | |
self.lineEdit_13y.setObjectName(_fromUtf8("lineEdit_13y")) | |
self.lineEdit_13y.setText(str(boundBoxCenterY)) | |
self.lineEdit_13y.setToolTip(u"Y coordinate of the center of the shape.") | |
grid.addWidget(self.lineEdit_13y, 2, 1) | |
self.lineEdit_13z = QtGui.QLineEdit(self.GBox_008_Center) | |
self.lineEdit_13z.setObjectName(_fromUtf8("lineEdit_13z")) | |
self.lineEdit_13z.setText(str(boundBoxCenterZ)) | |
self.lineEdit_13z.setToolTip(u"Z coordinate of the center of the shape.") | |
grid.addWidget(self.lineEdit_13z, 2, 2) | |
self.pushButton_Axis_02 = QtGui.QPushButton(self.GBox_008_Center) | |
self.pushButton_Axis_02.setIcon(QtGui.QIcon(path + "Macro_FCInfo_05.png")) | |
self.pushButton_Axis_02.setObjectName(_fromUtf8("pushButton_Axis_02")) | |
self.pushButton_Axis_02.clicked.connect(self.on_pushButton_Axis_Center_Shape) #connection pushButton_Axis | |
self.pushButton_Axis_02.setToolTip(u"Create Point or Axis or Plane or Clipboard" + "\n" + | |
u"Center Shape" + "\n" + | |
u"In clipBoard the coordinates form" + "\n" + | |
u"FreeCAD.Vector(-24.0, 240.0, 7.0)") | |
grid.addWidget(self.pushButton_Axis_02, 2, 3) | |
self.label_14 = QtGui.QLabel(self.GBox_008_Center) | |
self.label_14.setObjectName(_fromUtf8("label_14")) | |
grid.addWidget(self.label_14, 3, 0, 1, 4) | |
self.label_14x = QtGui.QLabel(self.GBox_008_Center) | |
self.label_14x.setStyleSheet("color : #ff0000") | |
self.label_14x.setFont(QtGui.QFont("",weight=QtGui.QFont.Bold)) | |
self.label_14x.setObjectName(_fromUtf8("label_14x")) | |
grid.addWidget(self.label_14x, 4, 0) | |
self.label_14y = QtGui.QLabel(self.GBox_008_Center) | |
self.label_14y.setStyleSheet("color : #008500") | |
self.label_14y.setFont(QtGui.QFont("",weight=QtGui.QFont.Bold)) | |
self.label_14y.setObjectName(_fromUtf8("label_14y")) | |
grid.addWidget(self.label_14y, 4, 1) | |
self.label_14z = QtGui.QLabel(self.GBox_008_Center) | |
self.label_14z.setStyleSheet("color : #0000ff") | |
self.label_14z.setFont(QtGui.QFont("",weight=QtGui.QFont.Bold)) | |
self.label_14z.setObjectName(_fromUtf8("label_14z")) | |
grid.addWidget(self.label_14z, 4, 2) | |
self.lineEdit_14x = QtGui.QLineEdit(self.GBox_008_Center) | |
self.lineEdit_14x.setObjectName(_fromUtf8("lineEdit_14x")) | |
self.lineEdit_14x.setText(str(CenterOfMassX)) | |
self.lineEdit_14x.setToolTip(u"X coordinate of the center of mass") | |
grid.addWidget(self.lineEdit_14x, 5, 0) | |
self.lineEdit_14y = QtGui.QLineEdit(self.GBox_008_Center) | |
self.lineEdit_14y.setObjectName(_fromUtf8("lineEdit_14y")) | |
self.lineEdit_14y.setText(str(CenterOfMassY)) | |
self.lineEdit_14y.setToolTip("Y coordinate of the center of mass") | |
grid.addWidget(self.lineEdit_14y, 5, 1) | |
self.lineEdit_14z = QtGui.QLineEdit(self.GBox_008_Center) | |
self.lineEdit_14z.setObjectName(_fromUtf8("lineEdit_14z")) | |
self.lineEdit_14z.setText(str(CenterOfMassZ)) | |
self.lineEdit_14z.setToolTip("Z coordinate of the center of mass") | |
grid.addWidget(self.lineEdit_14z, 5, 2) | |
self.pushButton_Axis_03 = QtGui.QPushButton(self.GBox_008_Center) | |
self.pushButton_Axis_03.setIcon(QtGui.QIcon(path + "Macro_FCInfo_05.png")) | |
self.pushButton_Axis_03.setObjectName(_fromUtf8("pushButton_Axis_03")) | |
self.pushButton_Axis_03.clicked.connect(self.on_pushButton_Axis_Center_Mass) #connection pushButton_Axis | |
self.pushButton_Axis_03.setToolTip(u"Create Point or Axis or Plane or Clipboard" + "\n" + | |
u"Center of Mass" + "\n" + | |
u"The coordinates are cliped to this form" + "\n" + | |
u"FreeCAD.Vector(-24.0, 240.0, 7.0)") | |
grid.addWidget(self.pushButton_Axis_03, 5, 3) | |
##### | |
grid = QtGui.QGridLayout() | |
self.GBox_009_Inertia = QtGui.QGroupBox(self.scrollAreaWidgetContents_2) | |
self.GBox_009_Inertia.setObjectName(_fromUtf8("GBox_009_Inertia")) | |
self.GBox_009_Inertia.setToolTip(u"The moment of inertia, otherwise known as the angular mass or" + "\n" | |
u"rotational inertia, of a rigid body is a tensor that determines" + "\n" | |
u"the torque needed for a desired angular acceleration about a rotational axis." + "\n" | |
u"It depends on the body's mass distribution and the axis chosen," + "\n" | |
u"with larger moments requiring more torque to change the body's rotation." + "\n" | |
u"see https://en.wikipedia.org/wiki/Moment_of_inertia") | |
self.GBox_009_Inertia.setLayout(grid) | |
vbox.addWidget(self.GBox_009_Inertia) | |
self.label_16 = QtGui.QLabel(self.GBox_009_Inertia) | |
self.label_16.setObjectName(_fromUtf8("label_16")) | |
grid.addWidget(self.label_16, 0, 0, 1, 3) | |
self.lineEdit_16_M = QtGui.QLineEdit(self.GBox_009_Inertia) | |
self.lineEdit_16_M.setAlignment(QtCore.Qt.AlignCenter) | |
self.lineEdit_16_M.setFont(QtGui.QFont("",weight=QtGui.QFont.Bold)) | |
self.lineEdit_16_M.setObjectName(_fromUtf8("lineEdit_16_M")) | |
self.lineEdit_16_M.setText(uniteMs + "^5") | |
grid.addWidget(self.lineEdit_16_M, 0, 3, 1, 2) | |
self.label_16x = QtGui.QLabel(self.GBox_009_Inertia) | |
self.label_16x.setStyleSheet("color : #ff0000") | |
self.label_16x.setFont(QtGui.QFont("",weight=QtGui.QFont.Bold)) | |
self.label_16x.setObjectName(_fromUtf8("label_16x")) | |
grid.addWidget(self.label_16x, 1, 0) | |
self.label_16y = QtGui.QLabel(self.GBox_009_Inertia) | |
self.label_16y.setStyleSheet("color : #008500") | |
self.label_16y.setFont(QtGui.QFont("",weight=QtGui.QFont.Bold)) | |
self.label_16y.setObjectName(_fromUtf8("label_16y")) | |
grid.addWidget(self.label_16y, 1, 1) | |
self.label_16z = QtGui.QLabel(self.GBox_009_Inertia) | |
self.label_16z.setStyleSheet("color : #0000ff") | |
self.label_16z.setFont(QtGui.QFont("",weight=QtGui.QFont.Bold)) | |
self.label_16z.setObjectName(_fromUtf8("label_16z")) | |
grid.addWidget(self.label_16z, 1, 2) | |
self.lineEdit_16_1x = QtGui.QLineEdit(self.GBox_009_Inertia) | |
self.lineEdit_16_1x.setObjectName(_fromUtf8("lineEdit_16_1x")) | |
self.lineEdit_16_1x.setText(str(MatrixX1)) | |
grid.addWidget(self.lineEdit_16_1x, 2, 0) | |
self.lineEdit_16_1y = QtGui.QLineEdit(self.GBox_009_Inertia) | |
self.lineEdit_16_1y.setObjectName(_fromUtf8("lineEdit_16_1y")) | |
self.lineEdit_16_1y.setText(str(MatrixY1)) | |
grid.addWidget(self.lineEdit_16_1y, 2, 1) | |
self.lineEdit_16_1z = QtGui.QLineEdit(self.GBox_009_Inertia) | |
self.lineEdit_16_1z.setObjectName(_fromUtf8("lineEdit_16_1z")) | |
self.lineEdit_16_1z.setText(str(MatrixZ1)) | |
grid.addWidget(self.lineEdit_16_1z, 2, 2) | |
self.lineEdit_16_01 = QtGui.QLineEdit(self.GBox_009_Inertia) | |
self.lineEdit_16_01.setEnabled(False) | |
self.lineEdit_16_01.setObjectName(_fromUtf8("lineEdit_16_01")) | |
self.lineEdit_16_01.setText(str(Matrix_1)) | |
grid.addWidget(self.lineEdit_16_01, 2, 3) | |
self.pushButton_Axis_04_16_1 = QtGui.QPushButton(self.GBox_009_Inertia) | |
self.pushButton_Axis_04_16_1.setIcon(QtGui.QIcon(path + "Macro_FCInfo_05.png")) | |
self.pushButton_Axis_04_16_1.setObjectName(_fromUtf8("pushButton_Axis_04_16_1")) | |
self.pushButton_Axis_04_16_1.clicked.connect(self.on_pushButton_Axis_04_16_1) #connection pushButton_Axis | |
self.pushButton_Axis_04_16_1.setToolTip(u"Create Point or Axis or Plane or Clipboard" + "\n" + | |
u"X1 ,Y1 ,Z1" + "\n" + | |
u"The coordinates are cliped to this form" + "\n" + | |
u"FreeCAD.Vector(-24.0, 240.0, 7.0)") | |
grid.addWidget(self.pushButton_Axis_04_16_1, 2, 4) | |
self.lineEdit_16_2x = QtGui.QLineEdit(self.GBox_009_Inertia) | |
self.lineEdit_16_2x.setObjectName(_fromUtf8("lineEdit_16_2x")) | |
self.lineEdit_16_2x.setText(str(MatrixX2)) | |
grid.addWidget(self.lineEdit_16_2x, 3, 0) | |
self.lineEdit_16_2y = QtGui.QLineEdit(self.GBox_009_Inertia) | |
self.lineEdit_16_2y.setObjectName(_fromUtf8("lineEdit_16_2y")) | |
self.lineEdit_16_2y.setText(str(MatrixY2)) | |
grid.addWidget(self.lineEdit_16_2y, 3, 1) | |
self.lineEdit_16_2z = QtGui.QLineEdit(self.GBox_009_Inertia) | |
self.lineEdit_16_2z.setObjectName(_fromUtf8("lineEdit_16_2z")) | |
self.lineEdit_16_2z.setText(str(MatrixZ2)) | |
grid.addWidget(self.lineEdit_16_2z, 3, 2) | |
self.lineEdit_16_02 = QtGui.QLineEdit(self.GBox_009_Inertia) | |
self.lineEdit_16_02.setEnabled(False) | |
self.lineEdit_16_02.setObjectName(_fromUtf8("lineEdit_16_02")) | |
self.lineEdit_16_02.setText(str(Matrix_2)) | |
grid.addWidget(self.lineEdit_16_02, 3, 3) | |
self.pushButton_Axis_05_16_2 = QtGui.QPushButton(self.GBox_009_Inertia) | |
self.pushButton_Axis_05_16_2.setIcon(QtGui.QIcon(path + "Macro_FCInfo_05.png")) | |
self.pushButton_Axis_05_16_2.setObjectName(_fromUtf8("pushButton_Axis_05_16_2")) | |
self.pushButton_Axis_05_16_2.clicked.connect(self.on_pushButton_Axis_05_16_2) #connection pushButton_Axis | |
self.pushButton_Axis_05_16_2.setToolTip(u"Create Point or Axis or Plane or Clipboard" + "\n" + | |
u"X2 ,Y2 ,Z2" + "\n" + | |
u"The coordinates are cliped to this form" + "\n" + | |
u"FreeCAD.Vector(-24.0, 240.0, 7.0)") | |
grid.addWidget(self.pushButton_Axis_05_16_2, 3, 4) | |
self.lineEdit_16_3x = QtGui.QLineEdit(self.GBox_009_Inertia) | |
self.lineEdit_16_3x.setObjectName(_fromUtf8("lineEdit_16_3x")) | |
self.lineEdit_16_3x.setText(str(MatrixX3)) | |
grid.addWidget(self.lineEdit_16_3x, 4, 0) | |
self.lineEdit_16_3y = QtGui.QLineEdit(self.GBox_009_Inertia) | |
self.lineEdit_16_3y.setObjectName(_fromUtf8("lineEdit_16_3y")) | |
self.lineEdit_16_3y.setText(str(MatrixY3)) | |
grid.addWidget(self.lineEdit_16_3y, 4, 1) | |
self.lineEdit_16_3z = QtGui.QLineEdit(self.GBox_009_Inertia) | |
self.lineEdit_16_3z.setObjectName(_fromUtf8("lineEdit_16_3z")) | |
self.lineEdit_16_3z.setText(str(MatrixZ3)) | |
grid.addWidget(self.lineEdit_16_3z, 4, 2) | |
self.lineEdit_16_03 = QtGui.QLineEdit(self.GBox_009_Inertia) | |
self.lineEdit_16_03.setEnabled(False) | |
self.lineEdit_16_03.setObjectName(_fromUtf8("lineEdit_16_03")) | |
self.lineEdit_16_03.setText(str(Matrix_3)) | |
grid.addWidget(self.lineEdit_16_03, 4, 3) | |
self.pushButton_Axis_06_16_3 = QtGui.QPushButton(self.GBox_009_Inertia) | |
self.pushButton_Axis_06_16_3.setIcon(QtGui.QIcon(path + "Macro_FCInfo_05.png")) | |
self.pushButton_Axis_06_16_3.setObjectName(_fromUtf8("pushButton_Axis_06_16_3")) | |
self.pushButton_Axis_06_16_3.clicked.connect(self.on_pushButton_Axis_06_16_3) #connection pushButton_Axis | |
self.pushButton_Axis_06_16_3.setToolTip(u"Create Point or Axis or Plane or Clipboard" + "\n" + | |
u"X3 ,Y3 ,Z3" + "\n" + | |
u"The coordinates are cliped to this form" + "\n" + | |
u"FreeCAD.Vector(-24.0, 240.0, 7.0)") | |
grid.addWidget(self.pushButton_Axis_06_16_3, 4, 4) | |
self.lineEdit_16_4x = QtGui.QLineEdit(self.GBox_009_Inertia) | |
self.lineEdit_16_4x.setEnabled(False) | |
self.lineEdit_16_4x.setObjectName(_fromUtf8("lineEdit_16_4x")) | |
self.lineEdit_16_4x.setText(str(Matrix12)) | |
grid.addWidget(self.lineEdit_16_4x, 5, 0) | |
self.lineEdit_16_4y = QtGui.QLineEdit(self.GBox_009_Inertia) | |
self.lineEdit_16_4y.setEnabled(False) | |
self.lineEdit_16_4y.setObjectName(_fromUtf8("lineEdit_16_4y")) | |
self.lineEdit_16_4y.setText(str(Matrix13)) | |
grid.addWidget(self.lineEdit_16_4y, 5, 1) | |
self.lineEdit_16_4z = QtGui.QLineEdit(self.GBox_009_Inertia) | |
self.lineEdit_16_4z.setEnabled(False) | |
self.lineEdit_16_4z.setObjectName(_fromUtf8("lineEdit_16_4z")) | |
self.lineEdit_16_4z.setText(str(Matrix14)) | |
grid.addWidget(self.lineEdit_16_4z, 5, 2) | |
self.lineEdit_16_04 = QtGui.QLineEdit(self.GBox_009_Inertia) | |
self.lineEdit_16_04.setEnabled(False) | |
self.lineEdit_16_04.setObjectName(_fromUtf8("lineEdit_16_04")) | |
self.lineEdit_16_04.setText(str(Matrix15)) | |
grid.addWidget(self.lineEdit_16_04, 5, 3) | |
self.pushButton_Axis_07_16_4 = QtGui.QPushButton(self.GBox_009_Inertia) | |
self.pushButton_Axis_07_16_4.setIcon(QtGui.QIcon(path + "Macro_FCInfo_05.png")) | |
self.pushButton_Axis_07_16_4.setObjectName(_fromUtf8("pushButton_Axis_07_16_4")) | |
self.pushButton_Axis_07_16_4.clicked.connect(self.on_pushButton_Axis_07_16_4) #connection pushButton_Axis | |
self.pushButton_Axis_07_16_4.setToolTip(u"Create Point or Axis or Plane or Clipboard" + "\n" + | |
u"X1 ,Y2 ,Z3" + "\n" + | |
u"The coordinates are cliped to this form" + "\n" + | |
u"FreeCAD.Vector(-24.0, 240.0, 7.0)") | |
grid.addWidget(self.pushButton_Axis_07_16_4, 5, 4) | |
self.label_17 = QtGui.QLabel(self.GBox_009_Inertia) | |
self.label_17.setObjectName(_fromUtf8("label_17")) | |
grid.addWidget(self.label_17, 6, 0, 1, 3) | |
self.lineEdit_17_M = QtGui.QLineEdit(self.GBox_009_Inertia) | |
self.lineEdit_17_M.setAlignment(QtCore.Qt.AlignCenter) | |
self.lineEdit_17_M.setFont(QtGui.QFont("",weight=QtGui.QFont.Bold)) | |
self.lineEdit_17_M.setObjectName(_fromUtf8("lineEdit_17_M")) | |
self.lineEdit_17_M.setText(unitePs+uniteSs) | |
grid.addWidget(self.lineEdit_17_M, 6, 3, 1, 2) | |
self.label_17x = QtGui.QLabel(self.GBox_009_Inertia) | |
self.label_17x.setStyleSheet("color : #ff0000") | |
self.label_17x.setFont(QtGui.QFont("",weight=QtGui.QFont.Bold)) | |
self.label_17x.setObjectName(_fromUtf8("label_17x")) | |
grid.addWidget(self.label_17x, 7, 0) | |
self.label_17y = QtGui.QLabel(self.GBox_009_Inertia) | |
self.label_17y.setStyleSheet("color : #008500") | |
self.label_17y.setFont(QtGui.QFont("",weight=QtGui.QFont.Bold)) | |
self.label_17y.setObjectName(_fromUtf8("label_17y")) | |
grid.addWidget(self.label_17y, 7, 1) | |
self.label_17z = QtGui.QLabel(self.GBox_009_Inertia) | |
self.label_17z.setStyleSheet("color : #0000ff") | |
self.label_17z.setFont(QtGui.QFont("",weight=QtGui.QFont.Bold)) | |
self.label_17z.setObjectName(_fromUtf8("label_17z")) | |
grid.addWidget(self.label_17z, 7, 2) | |
self.lineEdit_17_1x = QtGui.QLineEdit(self.GBox_009_Inertia) | |
self.lineEdit_17_1x.setObjectName(_fromUtf8("lineEdit_17_1x")) | |
self.lineEdit_17_1x.setText(str(MatrixX1*densite)) | |
grid.addWidget(self.lineEdit_17_1x, 8, 0) | |
self.lineEdit_17_1y = QtGui.QLineEdit(self.GBox_009_Inertia) | |
self.lineEdit_17_1y.setObjectName(_fromUtf8("lineEdit_17_1y")) | |
self.lineEdit_17_1y.setText(str(MatrixY1*densite*uniteP)) | |
grid.addWidget(self.lineEdit_17_1y, 8, 1) | |
self.lineEdit_17_1z = QtGui.QLineEdit(self.GBox_009_Inertia) | |
self.lineEdit_17_1z.setObjectName(_fromUtf8("lineEdit_17_1z")) | |
self.lineEdit_17_1z.setText(str(MatrixZ1*densite)) | |
grid.addWidget(self.lineEdit_17_1z, 8, 2) | |
self.pushButton_Axis_08_17_1 = QtGui.QPushButton(self.GBox_009_Inertia) | |
self.pushButton_Axis_08_17_1.setIcon(QtGui.QIcon(path + "Macro_FCInfo_05.png")) | |
self.pushButton_Axis_08_17_1.setObjectName(_fromUtf8("pushButton_Axis_08_17_1")) | |
self.pushButton_Axis_08_17_1.clicked.connect(self.on_pushButton_Axis_08_17_1) #connection pushButton_Axis | |
self.pushButton_Axis_08_17_1.setToolTip(u"Create Point or Axis or Plane or Clipboard" + "\n" + | |
u"X1 ,Y1 ,Z1" + "\n" + | |
u"The coordinates are cliped to this form" + "\n" + | |
u"FreeCAD.Vector(-24.0, 240.0, 7.0)") | |
grid.addWidget(self.pushButton_Axis_08_17_1, 8, 4) | |
self.lineEdit_17_2x = QtGui.QLineEdit(self.GBox_009_Inertia) | |
self.lineEdit_17_2x.setObjectName(_fromUtf8("lineEdit_17_2x")) | |
self.lineEdit_17_2x.setText(str(MatrixX2*densite)) | |
grid.addWidget(self.lineEdit_17_2x, 9, 0) | |
self.lineEdit_17_2y = QtGui.QLineEdit(self.GBox_009_Inertia) | |
self.lineEdit_17_2y.setObjectName(_fromUtf8("lineEdit_17_2y")) | |
self.lineEdit_17_2y.setText(str(MatrixY2*densite)) | |
grid.addWidget(self.lineEdit_17_2y, 9, 1) | |
self.lineEdit_17_2z = QtGui.QLineEdit(self.GBox_009_Inertia) | |
self.lineEdit_17_2z.setObjectName(_fromUtf8("lineEdit_17_2z")) | |
self.lineEdit_17_2z.setText(str(MatrixZ2*densite)) | |
grid.addWidget(self.lineEdit_17_2z, 9, 2) | |
self.pushButton_Axis_09_17_2 = QtGui.QPushButton(self.GBox_009_Inertia) | |
self.pushButton_Axis_09_17_2.setIcon(QtGui.QIcon(path + "Macro_FCInfo_05.png")) | |
self.pushButton_Axis_09_17_2.setObjectName(_fromUtf8("pushButton_Axis_09_17_2")) | |
self.pushButton_Axis_09_17_2.clicked.connect(self.on_pushButton_Axis_09_17_2) #connection pushButton_Axis | |
self.pushButton_Axis_09_17_2.setToolTip(u"Create Point or Axis or Plane or Clipboard" + "\n" + | |
u"X2 ,Y2 ,Z2" + "\n" + | |
u"The coordinates are cliped to this form" + "\n" + | |
u"FreeCAD.Vector(-24.0, 240.0, 7.0)") | |
grid.addWidget(self.pushButton_Axis_09_17_2, 9, 4) | |
self.lineEdit_17_3x = QtGui.QLineEdit(self.GBox_009_Inertia) | |
self.lineEdit_17_3x.setObjectName(_fromUtf8("lineEdit_17_3x")) | |
self.lineEdit_17_3x.setText(str(MatrixX3*densite)) | |
grid.addWidget(self.lineEdit_17_3x, 10, 0) | |
self.lineEdit_17_3y = QtGui.QLineEdit(self.GBox_009_Inertia) | |
self.lineEdit_17_3y.setObjectName(_fromUtf8("lineEdit_17_3y")) | |
self.lineEdit_17_3y.setText(str(MatrixY3*densite)) | |
grid.addWidget(self.lineEdit_17_3y, 10, 1) | |
self.lineEdit_17_3z = QtGui.QLineEdit(self.GBox_009_Inertia) | |
self.lineEdit_17_3z.setObjectName(_fromUtf8("lineEdit_17_3z")) | |
self.lineEdit_17_3z.setText(str(MatrixZ3*densite)) | |
grid.addWidget(self.lineEdit_17_3z, 10, 2) | |
self.pushButton_Axis_10_17_3 = QtGui.QPushButton(self.GBox_009_Inertia) | |
self.pushButton_Axis_10_17_3.setIcon(QtGui.QIcon(path + "Macro_FCInfo_05.png")) | |
self.pushButton_Axis_10_17_3.setObjectName(_fromUtf8("pushButton_Axis_10_17_3")) | |
self.pushButton_Axis_10_17_3.clicked.connect(self.on_pushButton_Axis_10_17_3) #connection pushButton_Axis | |
self.pushButton_Axis_10_17_3.setToolTip(u"Create Point or Axis or Plane or Clipboard" + "\n" + | |
u"X3 ,Y3 ,Z3" + "\n" + | |
u"The coordinates are cliped to this form" + "\n" + | |
u"FreeCAD.Vector(-24.0, 240.0, 7.0)") | |
grid.addWidget(self.pushButton_Axis_10_17_3, 10, 4) | |
self.pushButton_Axis_11_17_4 = QtGui.QPushButton(self.GBox_009_Inertia) | |
self.pushButton_Axis_11_17_4.setIcon(QtGui.QIcon(path + "Macro_FCInfo_05.png")) | |
self.pushButton_Axis_11_17_4.setObjectName(_fromUtf8("pushButton_Axis_11_17_4")) | |
self.pushButton_Axis_11_17_4.clicked.connect(self.on_pushButton_Axis_11_17_4) #connection pushButton_Axis | |
self.pushButton_Axis_11_17_4.setToolTip(u"Create Point or Axis or Plane or Clipboard" + "\n" + | |
u"X1 ,Y2 ,Z3" + "\n" + | |
u"The coordinates are cliped to this form" + "\n" + | |
u"FreeCAD.Vector(-24.0, 240.0, 7.0)") | |
grid.addWidget(self.pushButton_Axis_11_17_4, 11, 4) | |
self.label_determinant = QtGui.QLabel(self.GBox_009_Inertia) | |
self.label_determinant.setObjectName(_fromUtf8("label_determinant")) | |
grid.addWidget(self.label_determinant, 12, 0, 1, 2) | |
self.label_determinantDecimal = QtGui.QLabel(self.GBox_009_Inertia) | |
self.label_determinantDecimal.setObjectName(_fromUtf8("label_determinantDecimal")) | |
grid.addWidget(self.label_determinantDecimal, 13, 0, 1, 2) | |
self.lineEdit_18_determinant = QtGui.QLineEdit(self.GBox_009_Inertia) | |
self.lineEdit_18_determinant.setObjectName(_fromUtf8("lineEdit_18_determinant")) | |
self.lineEdit_18_determinant.setText(str(DeterminantM)) | |
self.lineEdit_18_determinant.setToolTip(u"Determinant of Matrix." + "\n" | |
u"In linear algebra, the determinant is a useful value that can be computed" + "\n" | |
u"from the elements of a square matrix." + "\n" | |
u"The determinant of a matrix A is denoted det(A), det A, or " + chr(124) + "A"+ chr(124)+ "." + "\n" | |
u"It can be viewed as the scaling factor of the transformation described by the matrix." + "\n" | |
u"see https://en.wikipedia.org/wiki/Determinant") | |
grid.addWidget(self.lineEdit_18_determinant, 12, 2, 1, 3) | |
self.lineEdit_18_determinantDecim = QtGui.QLineEdit(self.GBox_009_Inertia) | |
self.lineEdit_18_determinantDecim.setObjectName(_fromUtf8("lineEdit_18_determinant")) | |
self.lineEdit_18_determinantDecim.setText(str(decimal.Decimal(DeterminantM))) | |
self.lineEdit_18_determinantDecim.setToolTip("Determinant Decimal format.") | |
grid.addWidget(self.lineEdit_18_determinantDecim, 13, 2, 1, 3) | |
#options CSV debut | |
grid = QtGui.QGridLayout() | |
self.GB_010_SpreadSheet_Disk = QtGui.QGroupBox(self.scrollAreaWidgetContents_2) | |
self.GB_010_SpreadSheet_Disk.setObjectName(_fromUtf8("GB_010_SpreadSheet_Disk")) | |
self.GB_010_SpreadSheet_Disk.setToolTip(u"Option for save or read the data in spreadSheet" + "\n" | |
u"with different separator" + "\n" | |
u"Tabulation, Comma, Semicolon, Space" + "\n" | |
u"Tabulation are the separator for the FreeCAD spreadSheet module" + "\n" | |
u"The number of this four separator are calculate for help if unknown" + "\n\n" | |
u"The COMMA are the old (01.16 and before) separator of the FCInfo macro" + "\n" | |
u"Now for compatibility with the FreeCAD spreadSheet and since 01.17 version" + "\n" | |
u"the TABULATION is the separator by default" + "\n\n" | |
u"If you want to convert your old FCInfo spreadsheet :" + "\n" | |
u"Open it in FCInfo and save it with the Tabulation option checked") | |
self.GB_010_SpreadSheet_Disk.setLayout(grid) | |
vbox.addWidget(self.GB_010_SpreadSheet_Disk) | |
self.pushButton_Lec = QtGui.QPushButton(self.GB_010_SpreadSheet_Disk) | |
self.pushButton_Lec.setIcon(QtGui.QIcon(path + "Macro_FCInfo_04.png")) | |
self.pushButton_Lec.setObjectName(_fromUtf8("pushButton_Lec")) | |
self.pushButton_Lec.clicked.connect(self.on_pushButton_Lec_clicked) #connection pushButton_Lec "Read" | |
self.pushButton_Lec.setToolTip(u"Read the file from disk.") | |
grid.addWidget(self.pushButton_Lec, 0, 0, 1, 2) | |
self.pushButton_En = QtGui.QPushButton(self.GB_010_SpreadSheet_Disk) | |
self.pushButton_En.setIcon(QtGui.QIcon(path + "Macro_FCInfo_03.png")) | |
self.pushButton_En.setObjectName(_fromUtf8("pushButton_En")) | |
self.pushButton_En.clicked.connect(self.on_pushButton_En_clicked) #connection pushButton_En "Save" | |
self.pushButton_En.setToolTip(u"Save the file to disk.") | |
grid.addWidget(self.pushButton_En, 0, 2, 1, 2) | |
self.LA_01_Tabulation = QtGui.QLabel(self.GB_010_SpreadSheet_Disk) | |
self.LA_01_Tabulation.setObjectName(_fromUtf8("LA_01_Tabulation")) | |
self.RB_01_Tabulation = QtGui.QRadioButton(self.GB_010_SpreadSheet_Disk) | |
self.RB_01_Tabulation.setObjectName(_fromUtf8("RB_01_Tabulation")) | |
self.RB_01_Tabulation.setChecked(True) | |
self.RB_01_Tabulation.clicked.connect(self.on_RB_Separation) | |
grid.addWidget(self.RB_01_Tabulation, 1, 0) | |
grid.addWidget(self.LA_01_Tabulation, 1, 1) | |
self.LA_02_Virgule = QtGui.QLabel(self.GB_010_SpreadSheet_Disk) | |
self.LA_02_Virgule.setObjectName(_fromUtf8("LA_02_Virgule")) | |
self.RB_02_Virgule = QtGui.QRadioButton(self.GB_010_SpreadSheet_Disk) | |
self.RB_02_Virgule.setObjectName(_fromUtf8("RB_02_Virgule")) | |
self.RB_02_Virgule.clicked.connect(self.on_RB_Separation) | |
grid.addWidget(self.RB_02_Virgule, 1, 2) | |
grid.addWidget(self.LA_02_Virgule, 1, 3) | |
self.LA_03_Point_Virgule = QtGui.QLabel(self.GB_010_SpreadSheet_Disk) | |
self.LA_03_Point_Virgule.setObjectName(_fromUtf8("LA_03_Point_Virgule")) | |
self.RB_03_Point_Virgule = QtGui.QRadioButton(self.GB_010_SpreadSheet_Disk) | |
self.RB_03_Point_Virgule.setObjectName(_fromUtf8("RB_03_Point_Virgule")) | |
#self.RB_03_Point_Virgule.setChecked(True) | |
self.RB_03_Point_Virgule.clicked.connect(self.on_RB_Separation) | |
grid.addWidget(self.RB_03_Point_Virgule, 1, 4) | |
grid.addWidget(self.LA_03_Point_Virgule, 1, 5) | |
self.LA_04_Espace = QtGui.QLabel(self.GB_010_SpreadSheet_Disk) | |
self.LA_04_Espace.setObjectName(_fromUtf8("LA_04_Espace")) | |
self.RB_04_Espace = QtGui.QRadioButton(self.GB_010_SpreadSheet_Disk) | |
self.RB_04_Espace.setObjectName(_fromUtf8("RB_04_Espace")) | |
#self.RB_04_Espace.setChecked(True) | |
self.RB_04_Espace.clicked.connect(self.on_RB_Separation) | |
grid.addWidget(self.RB_04_Espace, 1, 6) | |
grid.addWidget(self.LA_04_Espace, 1, 7) | |
#options CSV fin | |
grid = QtGui.QGridLayout() | |
self.GB_011_Main_Tools = QtGui.QGroupBox(self.scrollAreaWidgetContents_2) | |
self.GB_011_Main_Tools.setObjectName(_fromUtf8("GB_011_Main_Tools")) | |
# self.GB_011_Main_Tools.setToolTip("Main options" + "\n" | |
self.GB_011_Main_Tools.setLayout(grid) | |
vbox.addWidget(self.GB_011_Main_Tools) | |
self.CB_01_ClipBoard = QtGui.QCheckBox(self.GB_011_Main_Tools) | |
self.CB_01_ClipBoard.setChecked(False) | |
self.CB_01_ClipBoard.setObjectName(_fromUtf8("CB_01_ClipBoard")) | |
self.CB_01_ClipBoard.clicked.connect(self.on_CB_01_ClipBoard) #connection checkBox | |
switchClipBoard = 0 | |
grid.addWidget(self.CB_01_ClipBoard, 0, 0) | |
self.CB_02_Point = QtGui.QCheckBox(self.GB_011_Main_Tools) | |
self.CB_02_Point.setChecked(False) | |
self.CB_02_Point.setObjectName(_fromUtf8("CB_02_Point")) | |
self.CB_02_Point.clicked.connect(self.on_CB_02_Point) #connection checkBox | |
switchPoint = 0 | |
grid.addWidget(self.CB_02_Point, 0, 1) | |
self.CB_03_Axis = QtGui.QCheckBox(self.GB_011_Main_Tools) | |
self.CB_03_Axis.setChecked(True) #False | |
self.CB_03_Axis.setObjectName(_fromUtf8("CB_03_Axis")) | |
self.CB_03_Axis.clicked.connect(self.on_CB_03_Axis) #connection checkBox | |
switchAxis = 1 | |
grid.addWidget(self.CB_03_Axis, 0, 2) | |
self.CB_04_Plane = QtGui.QCheckBox(self.GB_011_Main_Tools) | |
self.CB_04_Plane.setChecked(True) #False | |
self.CB_04_Plane.setObjectName(_fromUtf8("CB_04_Plane")) | |
self.CB_04_Plane.clicked.connect(self.on_CB_04_Plane) #connection checkBox | |
switchPlane = 1 | |
grid.addWidget(self.CB_04_Plane, 0, 3) | |
self.CB_05_Info = QtGui.QCheckBox(self.GB_011_Main_Tools) | |
self.CB_05_Info.setChecked(False) | |
self.CB_05_Info.setObjectName(_fromUtf8("CB_05_Info")) | |
self.CB_05_Info.clicked.connect(self.on_CB_05_Info) #connection checkBox | |
InfoReportView = 0 | |
grid.addWidget(self.CB_05_Info, 1, 0, 1, 2) | |
self.CB_05_Position = QtGui.QCheckBox(self.GB_011_Main_Tools) | |
if testing == 1: | |
self.CB_05_Position.setVisible(False) | |
self.CB_05_Position.setChecked(False) | |
self.CB_05_Position.setObjectName(_fromUtf8("CB_05_Position")) | |
self.CB_05_Position.clicked.connect(self.on_CB_05_Position) #connection checkBox | |
grid.addWidget(self.CB_05_Position, 1, 2, 1, 2) | |
self.PB_01_Refrech = QtGui.QPushButton(self.GB_011_Main_Tools) | |
self.PB_01_Refrech.setIcon(QtGui.QIcon(path + "Macro_FCInfo_02.png")) | |
self.PB_01_Refrech.setObjectName(_fromUtf8("PB_01_Refrech")) | |
self.PB_01_Refrech.clicked.connect(self.on_pushButton_Raf_clicked) #connection pushButton_Raf "Refresh" | |
self.PB_01_Refrech.setToolTip(u"Refresh the report view.") | |
grid.addWidget(self.PB_01_Refrech, 2, 0, 1, 2) | |
self.PB_04_Quit = QtGui.QPushButton(self.GB_011_Main_Tools) | |
self.PB_04_Quit.setIcon(QtGui.QIcon(path + "Macro_FCInfo_01.png")) | |
self.PB_04_Quit.setObjectName(_fromUtf8("PB_04_Quit")) | |
self.PB_04_Quit.clicked.connect(self.on_pushButton02_clicked) #connection pushButton02 "Exit" | |
self.PB_04_Quit.setToolTip(u"Exit FCInfo.") | |
grid.addWidget(self.PB_04_Quit, 2, 2, 1, 2) | |
###########################################################scrollArea | |
self.scrollArea.setWidget(self.scrollAreaWidgetContents_2) | |
###########################################################scrollArea | |
self.retranslateUi(MainWindow) | |
QtCore.QMetaObject.connectSlotsByName(MainWindow) | |
if testing == 1: # 1=MainWindow separate | |
MainWindow.setWindowTitle(__title__ + u" (" + __version__ + " (" + __date__ + "))") | |
MainWindow.setCentralWidget(self.centralwidget) | |
else: | |
MainWindow.setWindowTitle(__title__ + u" (" + __version__ + ")") | |
#MainWindow.setWindowTitle(__title__ + u" (" + __version__ + ")modified") | |
MainWindow.setWidget(self.centralWidget) | |
self.retranslateUi(MainWindow) | |
QtCore.QMetaObject.connectSlotsByName(MainWindow) | |
def retranslateUi(self, MainWindow): | |
global typeLongueur | |
global path | |
MainWindow.setWindowFlags(PySide.QtCore.Qt.WindowStaysOnTopHint) #PySide | |
MainWindow.setWindowIcon(QtGui.QIcon(path+'FCInfo.png')) # | |
self.GBox_001_Document.setTitle(u"Document") | |
self.label_1.setText(u"Document name") | |
self.label_2.setText(u"Label / Int. Name") | |
self.label_3.setText(u"Sub. object / Type") | |
self.GBox_002_Coordinate_Mouse.setTitle(u"Coordinate click mouse") | |
# self.label_4.setText(u"Coordinates mouse click") | |
self.label_4x.setText(u"X") | |
self.label_4y.setText(u"Y") | |
self.label_4z.setText(u"Z") | |
#self.pushButton_Axis_01.setText(u"Axis") | |
self.GBox_003_Value.setTitle(u"Unit") | |
self.label_5.setText(typeLongueur) | |
self.label_5b.setText(u"Radius") | |
#http://fr.wikipedia.org/wiki/Unit%C3%A9s_de_mesure_anglo-saxonnes | |
self.comboBox.setCurrentIndex(6) | |
self.comboBox.setItemText(0, "km") #km # = 1000000 | |
self.comboBox.setItemText(1, "hm") #hm # = 100000 | |
self.comboBox.setItemText(2, "dam") #dam# = 10000 | |
self.comboBox.setItemText(3, "m") #m # = 1000 | |
self.comboBox.setItemText(4, "dm") #dm # = 100 | |
self.comboBox.setItemText(5, "cm") #cm # = 10 | |
self.comboBox.setItemText(6, "mm") #mm # = 1 | |
self.comboBox.setItemText(7, u"µm") #µm # = 0.001 micro | |
self.comboBox.setItemText(8, "nm") #nm # * = 0.000001 nano | |
self.comboBox.setItemText(9, "pm") #pm # = 0.000000001 pico | |
self.comboBox.setItemText(10, "fm") #fm # = 0.000000000001 femto | |
self.comboBox.setItemText(11, "inch") #in # inch pouce = 25.400 | |
self.comboBox.setItemText(12, "link") #lk # link chainon = 201.168 | |
self.comboBox.setItemText(13, "foot") #ft # foot pied = 304.800 | |
self.comboBox.setItemText(14, "yard") #yd # yard verge = 914.400 | |
self.comboBox.setItemText(15, "perch") #rd # rod ou perch perche = 5029.200 | |
self.comboBox.setItemText(16, "chain") #ch # chain chaine = 20116.800 | |
self.comboBox.setItemText(17, "furlong") #fur# furlong = 201168 | |
self.comboBox.setItemText(18, "mile") #mi # mile = 1609344 | |
self.comboBox.setItemText(19, "league") #lea# league lieue = 4828032 | |
self.comboBox.setItemText(20, "nautique") #nmi# mile nautique = 1852000 | |
self.label_6.setText("Perim. the shape") | |
self.GBox_004_SpreadSheet.setTitle("Disabled module") | |
self.GBox_005_Inclination.setTitle("Inclination") | |
self.label_8a.setText("Plan") | |
self.pushButton_Ra.setText("Degree") | |
self.label_8a_2.setText("Coordinates") | |
self.label_8xy.setText("XY") | |
self.label_8yz.setText("YZ") | |
self.label_8zx.setText("ZX") | |
self.label_9_Direction.setText("Direction Object") | |
self.pushButton_Line_01.setText("Line") | |
self.label_10_ValueAt.setText("ValueAt") | |
self.GBox_006_Surface_and_Volume.setTitle("Surface and Volume") | |
self.label_9.setText("Surface of the form") | |
self.label_10.setText("Surface of the face") | |
self.label_11.setText("Volume of the form") | |
self.label_Unit.setText("Unit") | |
self.label_Weight.setText("Weight") | |
self.label_Density.setText("Density") | |
self.comboBox2.setCurrentIndex(5) | |
self.comboBox2.setItemText(0, "tonne") #t # = 1000000 | |
self.comboBox2.setItemText(1, "quintal") #q # = 100000 | |
self.comboBox2.setItemText(2, "kilo gram") #kg # = 1000 | |
self.comboBox2.setItemText(3, "hecto gram") #hg # = 100 | |
self.comboBox2.setItemText(4, "decagram") #dag # = 10 | |
self.comboBox2.setItemText(5, "gram") #g # = 1 | |
self.comboBox2.setItemText(6, "decigram") #dg # = 0.1 | |
self.comboBox2.setItemText(7, "centigram") #cg # = 0.01 | |
self.comboBox2.setItemText(8, "milligram") #mg # = 0.001 | |
self.comboBox2.setItemText(9, "microgram") #µg # = 0.000001 | |
self.comboBox2.setItemText(10, "nanogram") #ng # = 0.000000001 | |
self.comboBox2.setItemText(11, "picogram") #pg # = 0.000000000001 | |
self.comboBox2.setItemText(12, "femtogram") #fg # = 0.000000000000001 femtogram | |
self.comboBox2.setItemText(13, "grain") #gr # = 0.06479891 g | |
self.comboBox2.setItemText(14, "drachm") #dr # = 1.7718451953125 g | |
self.comboBox2.setItemText(15, "once") #oz # = 28.3495231250 g | |
self.comboBox2.setItemText(16, "once troy") #oz t # = 31.1034768 g once troy | |
self.comboBox2.setItemText(17, "livre troy") #lb t # = 373.2417216 g livre de troy | |
self.comboBox2.setItemText(18, "livre av") #lb # = 453.59237 g livre avoirdupois pound | |
self.comboBox2.setItemText(19, "stone") #st # = 6350.29318 g | |
self.comboBox2.setItemText(20, "quarter") #qtr # = 12700.58636 g | |
self.comboBox2.setItemText(21, "hundredweight") #cwt # = 50802.34544 g | |
self.comboBox2.setItemText(22, "tonneau fr") # # = 0.00000102145045965 g | |
self.comboBox2.setItemText(23, "carat") #ct # = 0.2 g | |
self.GBox_007_BoundBox.setTitle("BoundBox") | |
self.LA_007_01_Xlength.setText("XLength") | |
self.LA_007_02_Ylength.setText("YLength") | |
self.LA_007_03_Zlength.setText("ZLength") | |
self.LA_007_04_Diagonallength.setText("DiagonalLength") | |
self.GBox_008_Center.setTitle("Center of :") | |
self.label_13.setText("Forme") | |
self.label_13x.setText("X") | |
self.label_13y.setText("Y") | |
self.label_13z.setText("Z") | |
#self.pushButton_Axis_02.setText("Axis") | |
self.label_14.setText("Masse") | |
self.label_14x.setText("X") | |
self.label_14y.setText("Y") | |
self.label_14z.setText("Z") | |
#self.pushButton_Axis_03.setText("Axis") | |
self.GBox_009_Inertia.setTitle("Inertia") | |
self.label_16.setText("Moment of inertia") | |
self.label_16x.setText("X") | |
self.label_16y.setText("Y") | |
self.label_16z.setText("Z") | |
#self.pushButton_Axis_04_16_1.setText("Axis") | |
#self.pushButton_Axis_05_16_2.setText("Axis") | |
#self.pushButton_Axis_06_16_3.setText("Axis") | |
#self.pushButton_Axis_07_16_4.setText("Axis") | |
self.label_17.setText("Moment of inertia with mass") | |
self.label_17x.setText("X") | |
self.label_17y.setText("Y") | |
self.label_17z.setText("Z") | |
#self.pushButton_Axis_08_17_1.setText("Axis") | |
#self.pushButton_Axis_09_17_2.setText("Axis") | |
#self.pushButton_Axis_10_17_3.setText("Axis") | |
#self.pushButton_Axis_11_17_4.setText("Axis") | |
self.label_determinant.setText("Determinant") | |
self.label_determinantDecimal.setText("Determinant Dec.") | |
# self.label_15.setText("BoundBox") | |
self.GB_010_SpreadSheet_Disk.setTitle("SpreadSheet") | |
self.pushButton_Lec.setText("Read") | |
self.pushButton_En.setText("Save") | |
self.LA_01_Tabulation.setText("") | |
self.RB_01_Tabulation.setText("Tabulation") | |
self.LA_02_Virgule.setText("") | |
self.RB_02_Virgule.setText("Comma") | |
self.LA_03_Point_Virgule.setText("") | |
self.RB_03_Point_Virgule.setText("Semicolon") | |
self.LA_04_Espace.setText("") | |
self.RB_04_Espace.setText("Space") | |
self.GB_011_Main_Tools.setTitle("Main") | |
self.CB_01_ClipBoard.setText("Clip Board") | |
self.CB_01_ClipBoard.setToolTip("<img src=" + path + "Macro_FCInfo_05.png" + " />" + "\n" + | |
"If checked the coordinate are copy in the clipBoard" + "\n" + | |
"Form : FreeCAD.Vector(X.0, Y.0, Z.0)") | |
self.CB_02_Point.setText("Point") | |
self.CB_02_Point.setToolTip("<img src=" + path + "Macro_FCInfo_05.png" + " />" + "\n" + | |
"If checked Create point") | |
self.CB_03_Axis.setText("Axis") | |
self.CB_03_Axis.setToolTip("<img src=" + path + "Macro_FCInfo_05.png" + " />" + "\n" + | |
"If checked Create axis") | |
self.CB_04_Plane.setText("Plane") | |
self.CB_04_Plane.setToolTip("<img src=" + path + "Macro_FCInfo_05.png" + " />" + "\n" + | |
"If checked Create Plane") | |
self.CB_05_Info.setText("Info R.View") | |
self.CB_05_Info.setToolTip("If checked Display Infos in Rapport View") | |
self.CB_05_Position.setText("Left/Right") | |
self.CB_05_Position.setToolTip("Change the window macro position Right of Left") | |
self.PB_01_Refrech.setText("Ref") | |
self.PB_04_Quit.setText("Exit") | |
def on_pushButton_Line_01(self): | |
global object_Label | |
global directionObj | |
global switchInertia | |
if directionObj != 0.0: | |
switchInertia = 1 | |
try: | |
points=[FreeCAD.Vector(0.0,0.0,0.0),FreeCAD.Vector(directionObj)] | |
line0 = Draft.makeWire(points,closed=False,face=False,support=None) | |
line0.Label = u"Direction_" + object_Label | |
line0.ViewObject.LineColor = (1.0,0.0,0.0) | |
App.ActiveDocument.recompute() | |
except Exception: | |
None | |
switchInertia = 0 | |
def paletteBase(self): | |
#setStyleSheet("background-color: QPalette.Base") # origin system | |
qpBase = "background: QPalette.Base" | |
qpIcon = QtGui.QIcon(path + "Macro_FCInfo_05.png") | |
self.lineEdit_4x.setStyleSheet(qpBase) | |
self.lineEdit_4y.setStyleSheet(qpBase) | |
self.lineEdit_4z.setStyleSheet(qpBase) | |
self.pushButton_Axis_01.setIcon(qpIcon) # icon | |
self.lineEdit_13x.setStyleSheet(qpBase) | |
self.lineEdit_13y.setStyleSheet(qpBase) | |
self.lineEdit_13z.setStyleSheet(qpBase) | |
self.pushButton_Axis_02.setIcon(qpIcon) # icon | |
self.lineEdit_14x.setStyleSheet(qpBase) | |
self.lineEdit_14y.setStyleSheet(qpBase) | |
self.lineEdit_14z.setStyleSheet(qpBase) | |
self.pushButton_Axis_03.setIcon(qpIcon) # icon | |
self.lineEdit_16_1x.setStyleSheet(qpBase) | |
self.lineEdit_16_1y.setStyleSheet(qpBase) | |
self.lineEdit_16_1z.setStyleSheet(qpBase) | |
self.pushButton_Axis_04_16_1.setIcon(qpIcon) # icon | |
self.lineEdit_16_2x.setStyleSheet(qpBase) | |
self.lineEdit_16_2y.setStyleSheet(qpBase) | |
self.lineEdit_16_2z.setStyleSheet(qpBase) | |
self.pushButton_Axis_05_16_2.setIcon(qpIcon) # icon | |
self.lineEdit_16_3x.setStyleSheet(qpBase) | |
self.lineEdit_16_3y.setStyleSheet(qpBase) | |
self.lineEdit_16_3z.setStyleSheet(qpBase) | |
self.pushButton_Axis_06_16_3.setIcon(qpIcon) # icon | |
self.pushButton_Axis_07_16_4.setIcon(qpIcon) # icon | |
self.lineEdit_17_1x.setStyleSheet(qpBase) | |
self.lineEdit_17_1y.setStyleSheet(qpBase) | |
self.lineEdit_17_1z.setStyleSheet(qpBase) | |
self.pushButton_Axis_08_17_1.setIcon(qpIcon) # icon | |
self.lineEdit_17_2x.setStyleSheet(qpBase) | |
self.lineEdit_17_2y.setStyleSheet(qpBase) | |
self.lineEdit_17_2z.setStyleSheet(qpBase) | |
self.pushButton_Axis_09_17_2.setIcon(qpIcon) # icon | |
self.lineEdit_17_3x.setStyleSheet(qpBase) | |
self.lineEdit_17_3y.setStyleSheet(qpBase) | |
self.lineEdit_17_3z.setStyleSheet(qpBase) | |
self.pushButton_Axis_10_17_3.setIcon(qpIcon) # icon | |
self.pushButton_Axis_11_17_4.setIcon(qpIcon) # icon | |
def on_GBox_004_SpreadSheet(self): | |
global ui | |
if self.GBox_004_SpreadSheet.isChecked(): | |
self.GBox_004_SpreadSheet.setStyleSheet("color : QPalette.Base;") # origin system | |
ui.on_pushButton_Raf_clicked() | |
else: | |
self.GBox_004_SpreadSheet.setStyleSheet("color : #ff0000;") | |
self.GBox_004_SpreadSheet.setTitle("Disabled module") | |
co = 0 | |
li = 0 | |
for li in range(RowCount): # Zero | |
for co in range(10): | |
newitem = QtGui.QTableWidgetItem("") | |
self.tableWidget.setItem( li,co, newitem) | |
def on_pushButton_Axis_Mouse(self): | |
global position0 | |
global position1 | |
global position2 | |
global ui | |
ui.paletteBase() | |
self.lineEdit_4x.setStyleSheet("border:2px solid red") # | |
self.lineEdit_4y.setStyleSheet("border:2px solid green") | |
self.lineEdit_4z.setStyleSheet("border:2px solid blue") | |
self.pushButton_Axis_01.setIcon(QtGui.QIcon(axisPlane(position0, position1, position2, "Mouse"))) | |
def on_pushButton_Axis_Center_Shape(self): | |
global boundBoxCenterX | |
global boundBoxCenterY | |
global boundBoxCenterZ | |
global ui | |
ui.paletteBase() | |
self.lineEdit_13x.setStyleSheet("border:2px solid red") #red | |
self.lineEdit_13y.setStyleSheet("border:2px solid green") | |
self.lineEdit_13z.setStyleSheet("border:2px solid blue") | |
self.pushButton_Axis_02.setIcon(QtGui.QIcon(axisPlane(boundBoxCenterX, boundBoxCenterY, boundBoxCenterZ, "BBCenter"))) | |
def on_pushButton_Axis_Center_Mass(self): | |
global CenterOfMassX | |
global CenterOfMassY | |
global CenterOfMassZ | |
global ui | |
ui.paletteBase() | |
self.lineEdit_14x.setStyleSheet("border:2px solid red") # | |
self.lineEdit_14y.setStyleSheet("border:2px solid green") | |
self.lineEdit_14z.setStyleSheet("border:2px solid blue") | |
self.pushButton_Axis_03.setIcon(QtGui.QIcon(axisPlane(CenterOfMassX, CenterOfMassY, CenterOfMassZ, "CenterOfMass"))) | |
def on_pushButton_Axis_04_16_1(self): | |
global MatrixX1_16 | |
global MatrixY1_16 | |
global MatrixZ1_16 | |
global ui | |
ui.paletteBase() | |
self.lineEdit_16_1x.setStyleSheet("border:2px solid red") # | |
self.lineEdit_16_1y.setStyleSheet("border:2px solid green") | |
self.lineEdit_16_1z.setStyleSheet("border:2px solid blue") | |
self.pushButton_Axis_04_16_1.setIcon(QtGui.QIcon(axisPlane(MatrixX1_16, MatrixY1_16, MatrixZ1_16, "Matrix1"))) | |
def on_pushButton_Axis_05_16_2(self): | |
global MatrixX2_16 | |
global MatrixY2_16 | |
global MatrixZ2_16 | |
global ui | |
ui.paletteBase() | |
self.lineEdit_16_2x.setStyleSheet("border:2px solid red") # | |
self.lineEdit_16_2y.setStyleSheet("border:2px solid green") | |
self.lineEdit_16_2z.setStyleSheet("border:2px solid blue") | |
self.pushButton_Axis_05_16_2.setIcon(QtGui.QIcon(axisPlane(MatrixX2_16, MatrixY2_16, MatrixZ2_16, "Matrix2"))) | |
def on_pushButton_Axis_06_16_3(self): | |
global MatrixX3_16 | |
global MatrixY3_16 | |
global MatrixZ3_16 | |
global ui | |
ui.paletteBase() | |
self.lineEdit_16_3x.setStyleSheet("border:2px solid red") # | |
self.lineEdit_16_3y.setStyleSheet("border:2px solid green") | |
self.lineEdit_16_3z.setStyleSheet("border:2px solid blue") | |
self.pushButton_Axis_06_16_3.setIcon(QtGui.QIcon(axisPlane(MatrixX3_16, MatrixY3_16, MatrixZ3_16, "Matrix3"))) | |
def on_pushButton_Axis_07_16_4(self): | |
global MatrixX1_16 | |
global MatrixY2_16 | |
global MatrixZ3_16 | |
global ui | |
ui.paletteBase() | |
self.lineEdit_16_1x.setStyleSheet("border:2px solid red") # | |
self.lineEdit_16_2y.setStyleSheet("border:2px solid green") | |
self.lineEdit_16_3z.setStyleSheet("border:2px solid blue") | |
self.pushButton_Axis_07_16_4.setIcon(QtGui.QIcon(axisPlane(MatrixX1_16, MatrixY2_16, MatrixZ3_16, "Matrix123"))) | |
def on_pushButton_Axis_08_17_1(self): | |
global MatrixX1_17 | |
global MatrixY1_17 | |
global MatrixZ1_17 | |
global ui | |
ui.paletteBase() | |
self.lineEdit_17_1x.setStyleSheet("border:2px solid red") # | |
self.lineEdit_17_1y.setStyleSheet("border:2px solid green") | |
self.lineEdit_17_1z.setStyleSheet("border:2px solid blue") | |
self.pushButton_Axis_08_17_1.setIcon(QtGui.QIcon(axisPlane(MatrixX1_17, MatrixY1_17, MatrixZ1_17, "MatrixW1"))) | |
def on_pushButton_Axis_09_17_2(self): | |
global MatrixX2_17 | |
global MatrixY2_17 | |
global MatrixZ2_17 | |
global ui | |
ui.paletteBase() | |
self.lineEdit_17_2x.setStyleSheet("border:2px solid red") # | |
self.lineEdit_17_2y.setStyleSheet("border:2px solid green") | |
self.lineEdit_17_2z.setStyleSheet("border:2px solid blue") | |
self.pushButton_Axis_09_17_2.setIcon(QtGui.QIcon(axisPlane(MatrixX2_17, MatrixY2_17, MatrixZ2_17, "MatrixW2"))) | |
def on_pushButton_Axis_10_17_3(self): | |
global MatrixX3_17 | |
global MatrixY3_17 | |
global MatrixZ3_17 | |
global ui | |
ui.paletteBase() | |
self.lineEdit_17_3x.setStyleSheet("border:2px solid red") # | |
self.lineEdit_17_3y.setStyleSheet("border:2px solid green") | |
self.lineEdit_17_3z.setStyleSheet("border:2px solid blue") | |
self.pushButton_Axis_10_17_3.setIcon(QtGui.QIcon(axisPlane(MatrixX3_17, MatrixY3_17, MatrixZ3_17, "MatrixW3"))) | |
def on_pushButton_Axis_11_17_4(self): | |
global MatrixX1_17 | |
global MatrixY2_17 | |
global MatrixZ3_17 | |
global ui | |
ui.paletteBase() | |
self.lineEdit_17_1x.setStyleSheet("border:2px solid red") # | |
self.lineEdit_17_2y.setStyleSheet("border:2px solid green") | |
self.lineEdit_17_3z.setStyleSheet("border:2px solid blue") | |
self.pushButton_Axis_11_17_4.setIcon(QtGui.QIcon(axisPlane(MatrixX1_17, MatrixY2_17, MatrixZ3_17, "MatrixW123"))) | |
def SIGNAL_comboPoids_Changed(self,text): | |
global volume_ | |
global densite | |
global poids | |
global uniteM | |
global uniteS | |
global uniteSs | |
global uniteV | |
global uniteP | |
global unitePs | |
global MatrixX1_17 | |
global MatrixY1_17 | |
global MatrixZ1_17 | |
global MatrixX2_17 | |
global MatrixY2_17 | |
global MatrixZ2_17 | |
global MatrixX3_17 | |
global MatrixY3_17 | |
global MatrixZ3_17 | |
# ori 0.18 Py 27 text = text.encode('utf-8') # PySide | |
if text == "tonne": #t #0.00001 = 1000000 | |
uniteP = 0.000001 | |
unitePs= "t" | |
elif text == "quintal": #q #0.00001 = 100000 | |
uniteP = 0.00001 | |
unitePs= "q" | |
elif text == "kilo gram": #kg # 0.001 = 1000 | |
uniteP = 0.001 | |
unitePs= "kg" | |
elif text == "hecto gram": #hg # 0.01 = 100 | |
uniteP = 0.01 | |
unitePs= "hg" | |
elif text == "decagram": #dag# 0.1 = 10 | |
uniteP = 0.1 | |
unitePs= "dag" | |
elif text == "gram": #g # 1 = 1 | |
uniteP = 1.00 | |
unitePs= "g" | |
elif text == "decigram": #dg # = 0.1 | |
uniteP = 10.0 | |
unitePs= "dg" | |
elif text == "centigram": #cg # = 0.01 | |
uniteP = 100.0 | |
unitePs= "cg" | |
elif text == "milligram": #mg # = 0.001 | |
uniteP = 1000.0 | |
unitePs= "mg" | |
elif text == "microgram": #µg # = 0.000001 | |
uniteP = 1000000.0 | |
unitePs= u"µg" | |
elif text == "nanogram": #ng # = 0.000000001 | |
uniteP = 1000000000.0 | |
unitePs= "ng" | |
elif text == "picogram": #pg # = 0.000000000001 | |
uniteP = 1000000000000.0 | |
unitePs= "pg" | |
elif text == "femtogram": #fg # = 0.000000000000001 | |
uniteP = 1000000000000000.0 | |
unitePs= "fg" | |
elif text == "grain": #gr # = 0.06479891 | |
uniteP = 0.06479891 | |
unitePs= "gr" | |
elif text == "drachm": #dr # = 1.7718451953125 | |
uniteP = 0.56438339189006794681850148894339 | |
unitePs= "dr" | |
elif text == "once": #oz # = 28.3495231250 | |
uniteP = 0.035273961949580412915675808215204 | |
unitePs= "oz" | |
elif text == "once troy": #oz t # = once troy = 31.1034768 | |
uniteP = 0.032150746568627980522100346029483 | |
unitePs= "oz t" | |
elif text == "livre troy": #lb t # = 373.2417216 livre de troy (pound) | |
uniteP = 0.0026792288807189983768416955024569 | |
unitePs= "lb t" | |
elif text == "livre av": #lb # = 453.59237 livre avoirdupois (pound) | |
uniteP = 0.0022046226218487758072297380134503 | |
unitePs= "lb" | |
elif text == "stone": #st # = 6350.29318 1 stone = 14 livres | |
uniteP = 0.00015747304441776970051640985810359 | |
unitePs= "st" | |
elif text == "quarter": #qtr # = 12700.58636 | |
uniteP = 0.000078736522208884850258204929051795 | |
unitePs= "qtr" | |
elif text == "hundredweight":#cwt # = 50802.34544 | |
uniteP = 0.000019684130552221212564551232262949 | |
unitePs= "cwt" | |
elif text == "tonneau fr": # # tonneau fr = 0.00000102145045965 | |
uniteP = 0.00000102145045965 | |
unitePs= "tonneau fr" | |
elif text == "carat": #ct # = 0.2 | |
uniteP = 5.0 | |
unitePs= "ct" | |
try: | |
poids = ((volume_ * densite) * uniteP) / 1000.0 | |
self.lineEdit_12a.setText(str(poids)+" "+unitePs) | |
self.lineEdit_17_M.setText(unitePs+uniteSs) | |
except Exception: | |
self.lineEdit_12a.setText("") | |
self.lineEdit_17_M.setText("") | |
try: | |
MatrixX1_17 = MatrixX1*uniteM**5*densite*uniteP*(1.0/(uniteV*1000.0)) | |
MatrixY1_17 = MatrixY1*uniteM**5*densite*uniteP*(1.0/(uniteV*1000.0)) | |
MatrixZ1_17 = MatrixZ1*uniteM**5*densite*uniteP*(1.0/(uniteV*1000.0)) | |
MatrixX2_17 = MatrixX2*uniteM**5*densite*uniteP*(1.0/(uniteV*1000.0)) | |
MatrixY2_17 = MatrixY2*uniteM**5*densite*uniteP*(1.0/(uniteV*1000.0)) | |
MatrixZ2_17 = MatrixZ2*uniteM**5*densite*uniteP*(1.0/(uniteV*1000.0)) | |
MatrixX3_17 = MatrixX3*uniteM**5*densite*uniteP*(1.0/(uniteV*1000.0)) | |
MatrixY3_17 = MatrixY3*uniteM**5*densite*uniteP*(1.0/(uniteV*1000.0)) | |
MatrixZ3_17 = MatrixZ3*uniteM**5*densite*uniteP*(1.0/(uniteV*1000.0)) | |
except Exception: | |
MatrixX1_17 = MatrixY1_17 = MatrixZ1_17 = 0.0 | |
MatrixX2_17 = MatrixY2_17 = MatrixZ2_17 = 0.0 | |
MatrixX3_17 = MatrixY3_17 = MatrixZ3_17 = 0.0 | |
self.lineEdit_17_1x.setText(str(MatrixX1_17)) | |
self.lineEdit_17_1y.setText(str(MatrixY1_17)) | |
self.lineEdit_17_1z.setText(str(MatrixZ1_17)) | |
self.lineEdit_17_2x.setText(str(MatrixX2_17)) | |
self.lineEdit_17_2y.setText(str(MatrixY2_17)) | |
self.lineEdit_17_2z.setText(str(MatrixZ2_17)) | |
self.lineEdit_17_3x.setText(str(MatrixX3_17)) | |
self.lineEdit_17_3y.setText(str(MatrixY3_17)) | |
self.lineEdit_17_3z.setText(str(MatrixZ3_17)) | |
def SIGNAL_comboBox_Changed(self,text): | |
global position0 | |
global position1 | |
global position2 | |
global longueurObjet | |
global rayonObjet | |
global perimetre | |
global numberEdges | |
global surface | |
global surfaceFace | |
global volume_ | |
global densite | |
global uniteM | |
global uniteMs | |
global uniteS | |
global uniteSs | |
global uniteV | |
global uniteVs | |
global uniteP | |
global unitePs | |
global boundBoxCenterX | |
global boundBoxCenterY | |
global boundBoxCenterZ | |
global CenterOfMassX | |
global CenterOfMassY | |
global CenterOfMassZ | |
global boundBoxLX | |
global boundBoxLY | |
global boundBoxLZ | |
global boundBoxDiag | |
global boundBox_S | |
global MatrixX1 | |
global MatrixY1 | |
global MatrixZ1 | |
global Matrix_1 | |
global MatrixX2 | |
global MatrixY2 | |
global MatrixZ2 | |
global Matrix_2 | |
global MatrixX3 | |
global MatrixY3 | |
global MatrixZ3 | |
global Matrix_3 | |
global Matrix12 | |
global Matrix13 | |
global Matrix14 | |
global Matrix15 | |
global Vertx | |
global Edges | |
global EdgesLong | |
global Faces | |
global FacesSurf | |
global FacesCoor | |
global RowCount | |
global MatrixX1_16 | |
global MatrixY1_16 | |
global MatrixZ1_16 | |
global MatrixX2_16 | |
global MatrixY2_16 | |
global MatrixZ2_16 | |
global MatrixX3_16 | |
global MatrixY3_16 | |
global MatrixX1_17 | |
global MatrixY1_17 | |
global MatrixZ1_17 | |
global MatrixX2_17 | |
global MatrixY2_17 | |
global MatrixZ2_17 | |
global MatrixX3_17 | |
global MatrixY3_17 | |
global MatrixZ3_17 | |
# ori 0.18 Py 27 text = text.encode('utf-8') # PySide | |
if text == "km": # = 1000000 | |
uniteM = 0.000001 | |
uniteMs= "km" | |
uniteS = 0.000000000001 | |
uniteSs= u"km²" | |
uniteV = 0.000000000000000001 | |
uniteVs= u"km³" | |
elif text == "hm": # = 100000 | |
uniteM = 0.00001 | |
uniteMs= "hm" | |
uniteS = 0.0000000001 | |
uniteSs= u"hm²" | |
uniteV = 0.000000000000001 | |
uniteVs= u"hm³" | |
elif text == "dam": # = 10000 | |
uniteM = 0.0001 | |
uniteMs= "dam" | |
uniteS = 0.00000001 | |
uniteSs= u"dam²" | |
uniteV = 0.000000000001 | |
uniteVs= u"dam³" | |
elif text == "m": # = 1000 | |
uniteM = 0.001 | |
uniteMs= "m" | |
uniteS = 0.000001 | |
uniteSs= u"m²" | |
uniteV = 0.000000001 | |
uniteVs= u"m³" | |
elif text == "dm": # = 100 | |
uniteM = 0.01 | |
uniteMs= "dm" | |
uniteS = 0.0001 | |
uniteSs= u"dm²" | |
uniteV = 0.000001 | |
uniteVs= u"dm³" | |
elif text == "cm": # = 10 | |
uniteM = 0.1 | |
uniteMs= "cm" | |
uniteS = 0.01 | |
uniteSs= u"cm²" | |
uniteV = 0.001 | |
uniteVs= u"cm³" | |
elif text == "mm": # = 1 ############################### | |
uniteM = 1.0 | |
uniteMs= "mm" | |
uniteS = 1.0 | |
uniteSs= u"mm²" | |
uniteV = 1.0 | |
uniteVs= u"mm³" | |
elif text == u"µm": # = 1000 #http://fr.wiktionary.org/wiki/%CE%BCm#conv | |
uniteM = 1000.0 | |
uniteMs= u"µm" | |
uniteS = 1000.0**2 | |
uniteSs= u"µm²" | |
uniteV = 1000.0**3 | |
uniteVs= u"µm³" | |
elif text == "nm": # = 1000000 | |
uniteM = 1000000.0 | |
uniteMs= u"nm" | |
uniteS = 1000000.0**2 | |
uniteSs= u"nm²" | |
uniteV = 1000000.0**3 | |
uniteVs= u"nm³" | |
elif text == "pm": # = 1000000000 | |
uniteM = 1000000000.0 | |
uniteMs= u"pm" | |
uniteS = 1000000000.0**2 | |
uniteSs= u"pm²" | |
uniteV = 1000000000.0**3 | |
uniteVs= u"pm³" | |
elif text == "fm": # = 1000000000000 | |
uniteM = 1000000000000.0 | |
uniteMs= u"fm" | |
uniteS = 1000000000000.0**2 | |
uniteSs= u"fm²" | |
uniteV = 1000000000000.0**3 | |
uniteVs= u"fm³" | |
elif text == "inch": # inch = 25.400 | |
uniteM = 1.0/25.400 | |
uniteMs= "in" | |
uniteS = uniteM**2 | |
uniteSs= "sq in" | |
uniteV = uniteM**3 | |
uniteVs= u"in³" | |
elif text == "link": # link = 201.168 | |
uniteM = 1.0/201.168 | |
uniteMs= "lk" | |
uniteS = uniteM**2 | |
uniteSs= "sq lk" | |
uniteV = uniteM**3 | |
uniteVs= u"lk³" | |
elif text == "foot": # foot = 304.800 | |
uniteM = 1.0/304.800 | |
uniteMs= "ft" | |
uniteS = uniteM**2 | |
uniteSs= "sq ft" | |
uniteV = uniteM**3 | |
uniteVs= u"ft³" | |
elif text == "yard": # yard = 914.400 | |
uniteM = 1.0/914.400 | |
uniteMs= "yd" | |
uniteS = uniteM**2 | |
uniteSs= "sq yd" | |
uniteV = uniteM**3 | |
uniteVs= u"yd³" | |
elif text == "perch": #rd # rod perche = 5029.200 | |
uniteM = 1.0/5029.200 | |
uniteMs= "rd" | |
uniteS = uniteM**2 | |
uniteSs= "sq rd" | |
uniteV = uniteM**3 | |
uniteVs= u"rd³" | |
elif text == "chain": # chain = 20116.800 | |
uniteM = 1.0/20116.800 | |
uniteMs= "ch" | |
uniteS = uniteM**2 | |
uniteSs= "sq ch" | |
uniteV = uniteM**3 | |
uniteVs= u"ch³" | |
elif text == "furlong": # furlong= 201168 | |
uniteM = 1.0/201168 | |
uniteMs= "fur" | |
uniteS = uniteM**2 | |
uniteSs= "sq fur" | |
uniteV = uniteM**3 | |
uniteVs= u"fur³" | |
elif text == "mile": # mile = 1609344 | |
uniteM = 1.0/1609344 | |
uniteMs= "mi" | |
uniteS = uniteM**2 | |
uniteSs= "sq mi" | |
uniteV = uniteM**3 | |
uniteVs= u"mi³" | |
elif text == "league": # league = 4828032 | |
uniteM = 1.0/4828032 | |
uniteMs= "lea" | |
uniteS = uniteM**2 | |
uniteSs= "sq lea" | |
uniteV = uniteM**3 | |
uniteVs= u"lea³" | |
elif text == "nautique": # nautique = 1852000 | |
uniteM = 1.0/1852000 | |
uniteMs= "nmi" | |
uniteS = uniteM**2 | |
uniteSs= "sq nmi" | |
uniteV = uniteM**3 | |
uniteVs= u"nmi³" | |
try: | |
self.lineEdit_4x.setText(str(position0 * uniteM) + " " + uniteMs) | |
self.lineEdit_4y.setText(str(position1 * uniteM) + " " + uniteMs) | |
self.lineEdit_4z.setText(str(position2 * uniteM) + " " + uniteMs) | |
except Exception: | |
position0 = position1 = position2 = 0.0 | |
self.lineEdit_4x.setText(str(position0)) | |
self.lineEdit_4y.setText(str(position1)) | |
self.lineEdit_4z.setText(str(position2)) | |
try: | |
self.lineEdit_13x.setText(str(boundBoxCenterX * uniteM) + " " + uniteMs) | |
self.lineEdit_13y.setText(str(boundBoxCenterY * uniteM) + " " + uniteMs) | |
self.lineEdit_13z.setText(str(boundBoxCenterZ * uniteM) + " " + uniteMs) | |
except Exception: | |
boundBoxCenterX = boundBoxCenterY = boundBoxCenterZ = 0.0 | |
self.lineEdit_13x.setText(str(boundBoxCenterX)) | |
self.lineEdit_13y.setText(str(boundBoxCenterY)) | |
self.lineEdit_13z.setText(str(boundBoxCenterZ)) | |
try: | |
self.lineEdit_14x.setText(str(CenterOfMassX * uniteM) + " " + uniteMs) | |
self.lineEdit_14y.setText(str(CenterOfMassY * uniteM) + " " + uniteMs) | |
self.lineEdit_14z.setText(str(CenterOfMassZ * uniteM) + " " + uniteMs) | |
except Exception: | |
CenterOfMassX = CenterOfMassY = CenterOfMassZ = 0.0 | |
self.lineEdit_14x.setText(str(CenterOfMassX)) | |
self.lineEdit_14y.setText(str(CenterOfMassY)) | |
self.lineEdit_14z.setText(str(CenterOfMassZ)) | |
try: | |
self.LE_007_BB_01_XLength.setText(str(boundBoxLX * uniteM) + " " + uniteMs) | |
self.LE_007_BB_02_YLength.setText(str(boundBoxLY * uniteM) + " " + uniteMs) | |
self.LE_007_BB_03_ZLength.setText(str(boundBoxLZ * uniteM) + " " + uniteMs) | |
self.LE_007_BB_04_Diagonal.setText(str(boundBoxDiag * uniteM) + " " + uniteMs) | |
except Exception: | |
boundBoxLX = boundBoxLY = boundBoxLZ = 0.0 | |
self.LE_007_BB_01_XLength.setText(str(boundBoxLX)) | |
self.LE_007_BB_02_YLength.setText(str(boundBoxLY)) | |
self.LE_007_BB_03_ZLength.setText(str(boundBoxLZ)) | |
self.LE_007_BB_04_Diagonal.setText(str(boundBoxDiag)) | |
try: | |
self.lineEdit_5.setText(str(float(longueurObjet) * float(uniteM))+" "+uniteMs) | |
except Exception: | |
self.lineEdit_5.setText("") | |
if rayonObjet != 0.0: | |
try: | |
self.lineEdit_5b.setVisible(True) | |
self.label_5b.setVisible(True) | |
self.lineEdit_5b.setText(str(rayonObjet * uniteM)+" "+uniteMs) | |
except Exception: | |
self.lineEdit_5b.setVisible(False) | |
self.label_5b.setVisible(False) | |
rayonObjet = 0.0 | |
else: | |
self.lineEdit_5b.setVisible(False) | |
self.label_5b.setVisible(False) | |
rayonObjet = 0.0 | |
ui.label_6.setText(u"Perim. of shape (" + str(numberEdges) + ")") | |
try: | |
self.lineEdit_6.setText(str(float(perimetre) * float(uniteM))+" "+uniteMs) | |
except Exception: | |
perimetre = 0.0 | |
self.lineEdit_6.setText(str(perimetre)) | |
try: | |
self.lineEdit_9a.setText(str(float(surface) * float(uniteS))+" "+uniteSs) | |
except Exception: | |
self.lineEdit_9a.setText("") | |
try: | |
self.lineEdit_10a.setText(str(float(surfaceFace) * float(uniteS))+" "+uniteSs) | |
except Exception: | |
self.lineEdit_10a.setText("") | |
try: | |
self.lineEdit_11a.setText(str(float(volume_) * float(uniteV))+" "+uniteVs) | |
except Exception: | |
self.lineEdit_11a.setText("") | |
try: | |
self.lineEdit_16_M.setText(uniteMs+"^5") | |
MatrixX1_16 = MatrixX1*uniteM**5 | |
MatrixY1_16 = MatrixY1*uniteM**5 | |
MatrixZ1_16 = MatrixZ1*uniteM**5 | |
MatrixX2_16 = MatrixX2*uniteM**5 | |
MatrixY2_16 = MatrixY2*uniteM**5 | |
MatrixZ2_16 = MatrixZ2*uniteM**5 | |
MatrixX3_16 = MatrixX3*uniteM**5 | |
MatrixY3_16 = MatrixY3*uniteM**5 | |
MatrixZ3_16 = MatrixZ3*uniteM**5 | |
except Exception: | |
MatrixX1_16 = MatrixY1_16 = MatrixZ1_16 = 0.0 | |
MatrixX2_16 = MatrixY2_16 = MatrixZ2_16 = 0.0 | |
MatrixX3_16 = MatrixY3_16 = MatrixZ3_16 = 0.0 | |
self.lineEdit_16_M.setText("") | |
self.lineEdit_16_1x.setText(str(MatrixX1_16)) | |
self.lineEdit_16_1y.setText(str(MatrixY1_16)) | |
self.lineEdit_16_1z.setText(str(MatrixZ1_16)) | |
self.lineEdit_16_2x.setText(str(MatrixX2_16)) | |
self.lineEdit_16_2y.setText(str(MatrixY2_16)) | |
self.lineEdit_16_2z.setText(str(MatrixZ2_16)) | |
self.lineEdit_16_3x.setText(str(MatrixX3_16)) | |
self.lineEdit_16_3y.setText(str(MatrixY3_16)) | |
self.lineEdit_16_3z.setText(str(MatrixZ3_16)) | |
try: | |
MatrixX1_17 = MatrixX1*uniteM**5*densite*uniteP*(1.0/(uniteV*1000.0)) | |
MatrixY1_17 = MatrixY1*uniteM**5*densite*uniteP*(1.0/(uniteV*1000.0)) | |
MatrixZ1_17 = MatrixZ1*uniteM**5*densite*uniteP*(1.0/(uniteV*1000.0)) | |
MatrixX2_17 = MatrixX2*uniteM**5*densite*uniteP*(1.0/(uniteV*1000.0)) | |
MatrixY2_17 = MatrixY2*uniteM**5*densite*uniteP*(1.0/(uniteV*1000.0)) | |
MatrixZ2_17 = MatrixZ2*uniteM**5*densite*uniteP*(1.0/(uniteV*1000.0)) | |
MatrixX3_17 = MatrixX3*uniteM**5*densite*uniteP*(1.0/(uniteV*1000.0)) | |
MatrixY3_17 = MatrixY3*uniteM**5*densite*uniteP*(1.0/(uniteV*1000.0)) | |
MatrixZ3_17 = MatrixZ3*uniteM**5*densite*uniteP*(1.0/(uniteV*1000.0)) | |
except Exception: | |
MatrixX1_17 = MatrixY1_17 = MatrixZ1_17 = 0.0 | |
MatrixX2_17 = MatrixY2_17 = MatrixZ2_17 = 0.0 | |
MatrixX3_17 = MatrixY3_17 = MatrixZ3_17 = 0.0 | |
self.lineEdit_17_1x.setText(str(MatrixX1_17)) | |
self.lineEdit_17_1y.setText(str(MatrixY1_17)) | |
self.lineEdit_17_1z.setText(str(MatrixZ1_17)) | |
self.lineEdit_17_2x.setText(str(MatrixX2_17)) | |
self.lineEdit_17_2y.setText(str(MatrixY2_17)) | |
self.lineEdit_17_2z.setText(str(MatrixZ2_17)) | |
self.lineEdit_17_3x.setText(str(MatrixX3_17)) | |
self.lineEdit_17_3y.setText(str(MatrixY3_17)) | |
self.lineEdit_17_3z.setText(str(MatrixZ3_17)) | |
try: | |
self.lineEdit_17_M.setText(unitePs+uniteSs) | |
except Exception: | |
self.lineEdit_17_M.setText("") | |
try: | |
self.LE_007_BB_01_XLength.setText(str(boundBoxLX * uniteM)+" "+uniteMs) | |
self.LE_007_BB_02_YLength.setText(str(boundBoxLY * uniteM)+" "+uniteMs) | |
self.LE_007_BB_03_ZLength.setText(str(boundBoxLZ * uniteM)+" "+uniteMs) | |
self.LE_007_BB_04_Diagonal.setText(str(boundBoxDiag * uniteM)+" "+uniteMs) | |
boundBox_S = "[X: "+str(boundBoxLX * uniteM)+" "+uniteMs+"] x [Y: "+str(boundBoxLY * uniteM)+" "+uniteMs+"] x [Z: "+str(boundBoxLZ * uniteM)+" "+uniteMs+"] Diagonal: " + str(boundBoxDiag * uniteM)+" "+uniteMs | |
except Exception: | |
self.LE_007_BB_01_XLength.setText("") | |
self.LE_007_BB_02_YLength.setText("") | |
self.LE_007_BB_03_ZLength.setText("") | |
self.LE_007_BB_04_Diagonal.setText("") | |
boundBox_S = "" | |
if self.GBox_004_SpreadSheet.isChecked(): | |
co = 0 | |
li = 0 | |
for li in range(RowCount): # Zero | |
for co in range(10): | |
newitem = QtGui.QTableWidgetItem("") | |
self.tableWidget.setItem( li,co, newitem) | |
co = 0 | |
li = 0 | |
aa = 0 | |
for j in enumerate(Edges): # Edges | |
newitem = QtGui.QTableWidgetItem(str(j[1])) | |
self.tableWidget.setItem( li,0, newitem) | |
newitem = QtGui.QTableWidgetItem(str(float(EdgesLong[li]) * float(uniteM))+" "+uniteMs) | |
self.tableWidget.setItem( li,1, newitem) | |
co+=1 | |
try: | |
for a in range(aa,aa+6): # Vertexes | |
co += 1 | |
#newitem = QtGui.QTableWidgetItem(str(Vertx[a])) | |
chaine = str(Vertx[a]).split(":") | |
newitem = QtGui.QTableWidgetItem(chaine[0]+":" + str(float(chaine[1]) * float(uniteM))+" "+uniteMs) | |
self.tableWidget.setItem( li,co, newitem) | |
except Exception: | |
None | |
aa += 6 | |
co = 0 | |
li+= 1 | |
li += 1 | |
co = 0 | |
cco = 0 | |
co2 = 0 | |
for j in enumerate(Faces): | |
newitem = QtGui.QTableWidgetItem(str(j[1])) | |
self.tableWidget.setItem( li,0, newitem) | |
newitem = QtGui.QTableWidgetItem(str(float(FacesSurf[co]) * float(uniteS))+" "+uniteSs) | |
self.tableWidget.setItem( li,1, newitem) | |
li+= 1 | |
for jj in range(cco,len(FacesCoor)):# Faces coordinates | |
cco+=1 | |
if FacesCoor[jj] == "T": | |
break | |
else: | |
#newitem = QtGui.QTableWidgetItem(FacesCoor[jj]) | |
chaine = str(FacesCoor[jj]).split(":") | |
newitem = QtGui.QTableWidgetItem(chaine[0]+":" + str(float(chaine[1]) * float(uniteM))+" "+uniteMs) | |
self.tableWidget.setItem( li,co2, newitem) | |
co2 += 1 | |
if co2 == 3: | |
li += 1 | |
co2 = 0 | |
co += 1 | |
li += 1 | |
# doubleSpinBox_1 poids | |
def on_doubleSpinBox_valueChanged(self,densiteSB): # SpinBox | |
global volume_ | |
global uniteP | |
global unitePs | |
global densite | |
global poids | |
global MatrixX1_17 | |
global MatrixY1_17 | |
global MatrixZ1_17 | |
global MatrixX2_17 | |
global MatrixY2_17 | |
global MatrixZ2_17 | |
global MatrixX3_17 | |
global MatrixY3_17 | |
global MatrixZ3_17 | |
densite = densiteSB | |
poids = ((volume_ * densite) * uniteP) / 1000.0 # base FreeCAD = mm | |
self.lineEdit_12a.setText(str(poids) +" "+ unitePs) | |
try: | |
MatrixX1_17 = MatrixX1*uniteM**5*densite*uniteP*(1.0/(uniteV*1000.0)) | |
MatrixY1_17 = MatrixY1*uniteM**5*densite*uniteP*(1.0/(uniteV*1000.0)) | |
MatrixZ1_17 = MatrixZ1*uniteM**5*densite*uniteP*(1.0/(uniteV*1000.0)) | |
MatrixX2_17 = MatrixX2*uniteM**5*densite*uniteP*(1.0/(uniteV*1000.0)) | |
MatrixY2_17 = MatrixY2*uniteM**5*densite*uniteP*(1.0/(uniteV*1000.0)) | |
MatrixZ2_17 = MatrixZ2*uniteM**5*densite*uniteP*(1.0/(uniteV*1000.0)) | |
MatrixX3_17 = MatrixX3*uniteM**5*densite*uniteP*(1.0/(uniteV*1000.0)) | |
MatrixY3_17 = MatrixY3*uniteM**5*densite*uniteP*(1.0/(uniteV*1000.0)) | |
MatrixZ3_17 = MatrixZ3*uniteM**5*densite*uniteP*(1.0/(uniteV*1000.0)) | |
except Exception: | |
MatrixX1_17 = MatrixY1_17 = MatrixZ1_17 = 0.0 | |
MatrixX2_17 = MatrixY2_17 = MatrixZ2_17 = 0.0 | |
MatrixX3_17 = MatrixY3_17 = MatrixZ3_17 = 0.0 | |
self.lineEdit_17_M.setText("") | |
self.lineEdit_17_1x.setText(str(MatrixX1_17)) | |
self.lineEdit_17_1y.setText(str(MatrixY1_17)) | |
self.lineEdit_17_1z.setText(str(MatrixZ1_17)) | |
self.lineEdit_17_2x.setText(str(MatrixX2_17)) | |
self.lineEdit_17_2y.setText(str(MatrixY2_17)) | |
self.lineEdit_17_2z.setText(str(MatrixZ2_17)) | |
self.lineEdit_17_3x.setText(str(MatrixX3_17)) | |
self.lineEdit_17_3y.setText(str(MatrixY3_17)) | |
self.lineEdit_17_3z.setText(str(MatrixZ3_17)) | |
def on_pushButton_Raf_clicked(self): # refresh | |
global ui | |
global sel | |
global document_ | |
global object_Label | |
global object_Name | |
global typeObject | |
global element_ | |
global position0 | |
global position1 | |
global position2 | |
global longueurObjet | |
global rayonObjet | |
global perimetre | |
global typeLongueur | |
global Plan_xy | |
global Plan_xy_V | |
global Plan_yz | |
global Plan_yz_V | |
global Plan_zx | |
global Plan_zx_V | |
global surface | |
global surfaceFace | |
global volume_ | |
global densite | |
global poids | |
global uniteM | |
global uniteMs | |
global uniteS | |
global uniteSs | |
global uniteV | |
global uniteVs | |
global uniteP | |
global unitePs | |
global uniteAs | |
global boundBoxCenterX | |
global boundBoxCenterY | |
global boundBoxCenterZ | |
global CenterOfMassX | |
global CenterOfMassY | |
global CenterOfMassZ | |
global boundBoxLX | |
global boundBoxLY | |
global boundBoxLZ | |
global boundBox_S | |
global MatrixX1 | |
global MatrixY1 | |
global MatrixZ1 | |
global Matrix_1 | |
global MatrixX2 | |
global MatrixY2 | |
global MatrixZ2 | |
global Matrix_2 | |
global MatrixX3 | |
global MatrixY3 | |
global MatrixZ3 | |
global Matrix_3 | |
global Matrix12 | |
global Matrix13 | |
global Matrix14 | |
global Matrix15 | |
global Vertx | |
global Edges | |
global EdgesLong | |
global Faces | |
global FacesSurf | |
global FacesCoor | |
global compt_E | |
global compt_F | |
global compt_VF | |
global RowCount | |
global RowCountTest | |
global ESCAPE | |
global directionObj | |
global direcValueAt | |
global MatrixX1_16 | |
global MatrixY1_16 | |
global MatrixZ1_16 | |
global MatrixX2_16 | |
global MatrixY2_16 | |
global MatrixZ2_16 | |
global MatrixX3_16 | |
global MatrixY3_16 | |
global MatrixZ3_16 | |
global MatrixX1_17 | |
global MatrixY1_17 | |
global MatrixZ1_17 | |
global MatrixX2_17 | |
global MatrixY2_17 | |
global MatrixZ2_17 | |
global MatrixX3_17 | |
global MatrixY3_17 | |
global MatrixZ3_17 | |
global DeterminantM | |
sel = FreeCADGui.Selection.getSelection() | |
if len(sel)==0: | |
App.Console.PrintMessage(u"Select an object"+"\n") | |
errorDialog(u"Select an object") | |
else: | |
if self.GBox_004_SpreadSheet.isChecked(): | |
affect(1) | |
else: | |
affect(0) | |
self.GBox_004_SpreadSheet.setTitle("Disabled module") | |
self.lineEdit_1.setText(document_) | |
self.lineEdit_2.setText(object_Label) | |
self.lineEdit_2a.setText(object_Name) | |
self.lineEdit_3.setText(str(element_)) | |
self.lineEdit_3a.setText(str(typeObject)) | |
self.lineEdit_4x.setText(str(position0 * uniteM) + " " + uniteMs) | |
self.lineEdit_4y.setText(str(position1 * uniteM) + " " + uniteMs) | |
self.lineEdit_4z.setText(str(position2 * uniteM) + " " + uniteMs) | |
self.lineEdit_9_Direction.setText(str(directionObj)) | |
self.lineEdit_10_ValueAt.setText(str(direcValueAt)) | |
try: | |
self.LE_007_BB_01_XLength.setText(str(boundBoxLX * uniteM)+" "+uniteMs) | |
self.LE_007_BB_02_YLength.setText(str(boundBoxLY * uniteM)+" "+uniteMs) | |
self.LE_007_BB_03_ZLength.setText(str(boundBoxLZ * uniteM)+" "+uniteMs) | |
self.LE_007_BB_04_Diagonal.setText(str(boundBoxDiag * uniteM)+" "+uniteMs) | |
boundBox_S = "[X: "+str(boundBoxLX * uniteM)+" "+uniteMs+"] x [Y: "+str(boundBoxLY * uniteM)+" "+uniteMs+"] x [Z: "+str(boundBoxLZ * uniteM)+" "+uniteMs+"] Diagonal: " + str(boundBoxDiag * uniteM)+" "+uniteMs | |
except Exception: | |
self.LE_007_BB_01_XLength.setText("") | |
self.LE_007_BB_02_YLength.setText("") | |
self.LE_007_BB_03_ZLength.setText("") | |
self.LE_007_BB_04_Diagonal.setText("") | |
boundBox_S = "" | |
if rayonObjet != 0.0: | |
self.lineEdit_5.setText(str(longueurObjet * uniteM)+" "+uniteMs) | |
self.label_5b.setVisible(True) | |
self.lineEdit_5b.setVisible(True) | |
self.lineEdit_5b.setText(str(rayonObjet * uniteM)+" "+uniteMs) | |
else: | |
self.lineEdit_5.setText(str(longueurObjet * uniteM)+" "+uniteMs) | |
self.label_5b.setVisible(False) | |
self.lineEdit_5b.setVisible(False) | |
rayonObjet = 0.0 | |
self.label_5.setText(typeLongueur) | |
self.comboBox.setCurrentIndex(6) | |
self.pushButton_Ra.setText("Degree") | |
# numberEdges = len(select[0].Shape.Edges) | |
ui.label_6.setText(u"Perim. du shape (" + str(numberEdges) + ")") | |
try: | |
self.lineEdit_6.setText(str(float(perimetre) * float(uniteM))+" "+uniteMs) | |
except Exception: | |
perimetre = 0.0 | |
self.lineEdit_6.setText(str(perimetre)) | |
if self.GBox_004_SpreadSheet.isChecked(): | |
co = 0 | |
li = 0 | |
for li in range(RowCount): # Zero | |
for co in range(10): | |
newitem = QtGui.QTableWidgetItem("") | |
self.tableWidget.setItem( li,co, newitem) | |
if RowCountTest > RowCount: | |
self.GBox_004_SpreadSheet.setTitle("Details ("+ str(compt_E) +") ("+ str(compt_F)+") ("+ str(compt_VF)+") (!+ "+str(RowCount)+") "+str(RowCountTest)) | |
else: | |
self.GBox_004_SpreadSheet.setTitle("Vertexes and details ("+ str(compt_E) +") ("+ str(compt_F)+") ("+ str(compt_VF)+")")#str(RowCount) | |
co = 0 | |
li = 0 | |
aa = 0 | |
for j in enumerate(Edges): # Edges | |
newitem = QtGui.QTableWidgetItem(str(j[1])) | |
self.tableWidget.setItem( li,0, newitem) | |
newitem = QtGui.QTableWidgetItem(str(float(EdgesLong[li]) * float(uniteM))+" "+uniteMs) | |
self.tableWidget.setItem( li,1, newitem) | |
co+=1 | |
try: | |
for a in range(aa,aa+6): # Vertexes | |
co += 1 | |
#newitem = QtGui.QTableWidgetItem(str(Vertx[a])) | |
chaine = str(Vertx[a]).split(":") | |
newitem = QtGui.QTableWidgetItem(chaine[0]+":" + str(float(chaine[1]) * float(uniteM))+" "+uniteMs) | |
self.tableWidget.setItem( li,co, newitem) | |
except Exception: | |
None | |
aa += 6 | |
co = 0 | |
li += 1 | |
li += 1 | |
co = 0 | |
cco = 0 | |
co2 = 0 | |
for j in enumerate(Faces): # Faces | |
newitem = QtGui.QTableWidgetItem(str(j[1])) | |
self.tableWidget.setItem( li,0, newitem) | |
newitem = QtGui.QTableWidgetItem(str(float(FacesSurf[co]) * float(uniteS))+" "+uniteSs) | |
self.tableWidget.setItem( li,1, newitem) | |
li += 1 | |
for jj in range(cco,len(FacesCoor)):# Faces coordinates | |
cco+=1 | |
if FacesCoor[jj] == "T": | |
break | |
else: | |
# newitem = QtGui.QTableWidgetItem(FacesCoor[jj]) | |
chaine = str(FacesCoor[jj]).split(":") | |
newitem = QtGui.QTableWidgetItem(chaine[0]+":" + str(float(chaine[1]) * float(uniteM))+" "+uniteMs) | |
self.tableWidget.setItem( li,co2, newitem) | |
co2 += 1 | |
if co2 == 3: | |
li += 1 | |
co2 = 0 | |
co += 1 | |
li += 1 | |
self.lineEdit_8xy.setText(str(Plan_xy)+uniteAs) | |
self.lineEdit_8xya.setText(str(Plan_xy_V)) | |
self.lineEdit_8yz.setText(str(Plan_yz)+uniteAs) | |
self.lineEdit_8yza.setText(str(Plan_yz_V)) | |
self.lineEdit_8zx.setText(str(Plan_zx)+uniteAs) | |
self.lineEdit_8zxa.setText(str(Plan_zx_V)) | |
self.lineEdit_9a.setText(str(surface * uniteS)+" "+uniteSs) | |
self.lineEdit_10a.setText(str(surfaceFace * uniteS)+" "+uniteSs) | |
self.lineEdit_11a.setText(str(volume_ * uniteV)+" "+uniteVs) | |
self.lineEdit_12a.setText(str(poids)+" "+unitePs) | |
self.lineEdit_13x.setText(str(boundBoxCenterX * uniteM) + " " + uniteMs) | |
self.lineEdit_13y.setText(str(boundBoxCenterY * uniteM) + " " + uniteMs) | |
self.lineEdit_13z.setText(str(boundBoxCenterZ * uniteM) + " " + uniteMs) | |
self.lineEdit_14x.setText(str(CenterOfMassX * uniteM) + " " + uniteMs) | |
self.lineEdit_14y.setText(str(CenterOfMassY * uniteM) + " " + uniteMs) | |
self.lineEdit_14z.setText(str(CenterOfMassZ * uniteM) + " " + uniteMs) | |
self.LE_007_BB_01_XLength.setText(str(boundBoxLX * uniteM) + " " + uniteMs) | |
self.LE_007_BB_02_YLength.setText(str(boundBoxLY * uniteM) + " " + uniteMs) | |
self.LE_007_BB_03_ZLength.setText(str(boundBoxLZ * uniteM) + " " + uniteMs) | |
self.LE_007_BB_04_Diagonal.setText(str(boundBoxDiag * uniteM) + " " + uniteMs) | |
try: | |
MatrixX1_16 = MatrixX1*uniteS**5 | |
MatrixY1_16 = MatrixY1*uniteS**5 | |
MatrixZ1_16 = MatrixZ1*uniteS**5 | |
MatrixX2_16 = MatrixX2*uniteS**5 | |
MatrixY2_16 = MatrixY2*uniteS**5 | |
MatrixZ2_16 = MatrixZ2*uniteS**5 | |
MatrixX3_16 = MatrixX3*uniteS**5 | |
MatrixY3_16 = MatrixY3*uniteS**5 | |
MatrixZ3_16 = MatrixZ3*uniteS**5 | |
except Exception: | |
MatrixX1_16 = MatrixY1_16 = MatrixZ1_16 = 0.0 | |
MatrixX2_16 = MatrixY2_16 = MatrixZ2_16 = 0.0 | |
MatrixX3_16 = MatrixY3_16 = MatrixZ3_16 = 0.0 | |
self.lineEdit_16_M.setText("") | |
self.lineEdit_16_1x.setText(str(MatrixX1_16)) | |
self.lineEdit_16_1y.setText(str(MatrixY1_16)) | |
self.lineEdit_16_1z.setText(str(MatrixZ1_16)) | |
self.lineEdit_16_01.setText(str(Matrix_1)) | |
self.lineEdit_16_2x.setText(str(MatrixX2_16)) | |
self.lineEdit_16_2y.setText(str(MatrixY2_16)) | |
self.lineEdit_16_2z.setText(str(MatrixZ2_16)) | |
self.lineEdit_16_02.setText(str(Matrix_2)) | |
self.lineEdit_16_3x.setText(str(MatrixX3_16)) | |
self.lineEdit_16_3y.setText(str(MatrixY3_16)) | |
self.lineEdit_16_3z.setText(str(MatrixZ3_16)) | |
self.lineEdit_16_03.setText(str(Matrix_3)) | |
self.lineEdit_16_4x.setText(str(Matrix12)) | |
self.lineEdit_16_4y.setText(str(Matrix13)) | |
self.lineEdit_16_4z.setText(str(Matrix14)) | |
self.lineEdit_16_04.setText(str(Matrix15)) | |
try: | |
MatrixX1_17 = MatrixX1*uniteM**5*densite*uniteP*(1.0/(uniteV*1000.0)) | |
MatrixY1_17 = MatrixY1*uniteM**5*densite*uniteP*(1.0/(uniteV*1000.0)) | |
MatrixZ1_17 = MatrixZ1*uniteM**5*densite*uniteP*(1.0/(uniteV*1000.0)) | |
MatrixX2_17 = MatrixX2*uniteM**5*densite*uniteP*(1.0/(uniteV*1000.0)) | |
MatrixY2_17 = MatrixY2*uniteM**5*densite*uniteP*(1.0/(uniteV*1000.0)) | |
MatrixZ2_17 = MatrixZ2*uniteM**5*densite*uniteP*(1.0/(uniteV*1000.0)) | |
MatrixX3_17 = MatrixX3*uniteM**5*densite*uniteP*(1.0/(uniteV*1000.0)) | |
MatrixY3_17 = MatrixY3*uniteM**5*densite*uniteP*(1.0/(uniteV*1000.0)) | |
MatrixZ3_17 = MatrixZ3*uniteM**5*densite*uniteP*(1.0/(uniteV*1000.0)) | |
except Exception: | |
MatrixX1_17 = MatrixY1_17 = MatrixZ1_17 = 0.0 | |
MatrixX2_17 = MatrixY2_17 = MatrixZ2_17 = 0.0 | |
MatrixX3_17 = MatrixY3_17 = MatrixZ3_17 = 0.0 | |
self.lineEdit_17_M.setText("") | |
self.lineEdit_17_1x.setText(str(MatrixX1_17)) | |
self.lineEdit_17_1y.setText(str(MatrixY1_17)) | |
self.lineEdit_17_1z.setText(str(MatrixZ1_17)) | |
self.lineEdit_17_2x.setText(str(MatrixX2_17)) | |
self.lineEdit_17_2y.setText(str(MatrixY2_17)) | |
self.lineEdit_17_2z.setText(str(MatrixZ2_17)) | |
self.lineEdit_17_3x.setText(str(MatrixX3_17)) | |
self.lineEdit_17_3y.setText(str(MatrixY3_17)) | |
self.lineEdit_17_3z.setText(str(MatrixZ3_17)) | |
self.lineEdit_18_determinant.setText(str(DeterminantM)) | |
self.lineEdit_18_determinantDecim.setText(str(decimal.Decimal(DeterminantM))) | |
self.LA_01_Tabulation.setText("") | |
self.LA_02_Virgule.setText("") | |
self.LA_03_Point_Virgule.setText("") | |
self.LA_04_Espace.setText("") | |
self.RB_01_Tabulation.setChecked(True) | |
ESCAPE = "\t" | |
ui.paletteBase() | |
################################################################################################################## | |
def on_RB_Separation(self): # option ESCAPE for spreadSheet | |
global ESCAPE | |
if self.RB_01_Tabulation.isChecked(): #tabulation #compatible FC | |
ESCAPE = "\t" | |
elif self.RB_02_Virgule.isChecked(): #virgule #compatible FCInfo | |
ESCAPE = "," | |
elif self.RB_03_Point_Virgule.isChecked(): #point virgule #option | |
ESCAPE = ";" | |
elif self.RB_04_Espace.isChecked(): #espace #option | |
ESCAPE = " " | |
def on_pushButton_Lec_clicked(self): # lecture | |
global ESCAPE | |
OpenName = "" | |
OpenName, Filter = PySide.QtGui.QFileDialog.getOpenFileName(None, "Read a txt file", path, "*.FCInfo *.csv *.asc *.txt;;FCInfo (*.FCInfo);;Cvs (*.csv);;Ascii (*.asc);;TXT (*.txt)")#PySide | |
try: | |
if OpenName != "": | |
# App.Console.PrintMessage("Reading the file "+OpenName+"\n") | |
####detection separator################### | |
# ori 0.18 Py27 file = open(OpenName, "rb") # open file for counter line and colonne | |
file = open(OpenName, "r") # open file for counter separator | |
separateur1 = separateur2 = separateur3 = separateur4 = 0 | |
for separator in file: | |
separateur1 += separator.count("\t") | |
separateur2 += separator.count(",") | |
separateur3 += separator.count(";") | |
separateur4 += separator.count(" ") | |
self.LA_01_Tabulation.setText(str(separateur1)) | |
self.LA_02_Virgule.setText(str(separateur2)) | |
self.LA_03_Point_Virgule.setText(str(separateur3)) | |
self.LA_04_Espace.setText("(" + str(separateur4) + ")") | |
file.close() | |
####detection separator################### | |
# ori 0.18 Py27 file = open(OpenName, "rb") # open file for read | |
file = open(OpenName, "r") # open file for counter line and colonne | |
reader = csv.reader(file, delimiter = ESCAPE) #, quotechar=';' | |
Count0 = 0 | |
ligne = 0 | |
colonne = 0 | |
try: # | |
for row in reader: | |
ligne += 1 # | |
for field in row: | |
Count0 += 1 # | |
if Count0 > colonne: | |
colonne = Count0 | |
Count0 = 0 | |
finally: | |
file.close() | |
self.table = QTableWidget( ligne , colonne) # prepare the tableau | |
self.table.setWindowTitle("FCInfo Patience reading the file") | |
# self.table.resize(700, 500) | |
self.table.resize(390, 500) | |
self.table.setWindowModality(QtCore.Qt.NonModal) | |
self.table.setWindowFlags(PySide.QtCore.Qt.WindowStaysOnTopHint) # PySide | |
self.table.setWindowIcon(QtGui.QIcon(path+'FCInfoSpreadsheet.png'))# | |
self.table.show() | |
# ori 0.18 Py27 file = open(OpenName, "rb") # open file for read | |
file = open(OpenName, "r") # open file for read | |
reader = csv.reader(file, delimiter = ESCAPE) #, quotechar=';' | |
lignes = ligne | |
colonne = 0 | |
ligne = 0 | |
try: | |
for row in reader: | |
for field in row: | |
newitem = QtGui.QTableWidgetItem(str(field)) | |
self.table.setItem(ligne, colonne, newitem) | |
colonne += 1 | |
ligne += 1 | |
colonne = 0 | |
self.table.setWindowTitle("FCInfo Patience reading the file "+str(ligne)+"/"+str(lignes)) | |
finally: | |
file.close() | |
self.table.setWindowTitle("FCInfo Tableau " + OpenName) | |
except Exception: | |
App.Console.PrintMessage("Error in reading the file "+OpenName+"\n") | |
errorDialog(u"Error in reading the file "+OpenName) | |
################################################################################################################## | |
def on_pushButton_En_clicked(self): # registration | |
global document_ | |
global object_Label | |
global object_Name | |
global typeObject | |
global element_ | |
global position0 | |
global position1 | |
global position2 | |
global longueurObjet | |
global rayonObjet | |
global perimetre | |
global Plan_xy_V | |
global Plan_yz_V | |
global Plan_zx_V | |
global surface | |
global surfaceFace | |
global volume_ | |
global densite | |
global poids | |
global uniteM | |
global uniteMs | |
global uniteS | |
global uniteSs | |
global uniteV | |
global uniteVs | |
global unitePs | |
global boundBoxCenterX | |
global boundBoxCenterY | |
global boundBoxCenterZ | |
global CenterOfMassX | |
global CenterOfMassY | |
global CenterOfMassZ | |
global boundBoxLX | |
global boundBoxLY | |
global boundBoxLZ | |
global Vertx | |
global Edges | |
global EdgesLong | |
global Faces | |
global FacesSurf | |
global FacesCoor | |
global compt_E | |
global compt_F | |
global compt_VF | |
global RowCountTest | |
global path | |
global SaveName | |
global ESCAPE | |
global directionObj | |
global direcValueAt | |
global Matrix_1 | |
global Matrix_2 | |
global Matrix_3 | |
global Matrix12 | |
global Matrix13 | |
global Matrix14 | |
global Matrix15 | |
global DeterminantM | |
global MatrixX1_16 | |
global MatrixY1_16 | |
global MatrixZ1_16 | |
global MatrixX2_16 | |
global MatrixY2_16 | |
global MatrixZ2_16 | |
global MatrixX3_16 | |
global MatrixY3_16 | |
global MatrixZ3_16 | |
global MatrixX1_17 | |
global MatrixY1_17 | |
global MatrixZ1_17 | |
global MatrixX2_17 | |
global MatrixY2_17 | |
global MatrixZ2_17 | |
global MatrixX3_17 | |
global MatrixY3_17 | |
global MatrixZ3_17 | |
global typeLongueur | |
SaveName = "" | |
# SaveName, Filter = PySide.QtGui.QFileDialog.getSaveFileName(None, "Save a file FCInfo", path, "*.FCInfo") # PySide | |
SaveName, Filter = PySide.QtGui.QFileDialog.getSaveFileName(None, "Save a file FCInfo", path, "*.FCInfo *.csv *.asc *.txt;;FCInfo (*.FCInfo);;Cvs (*.csv);;Ascii (*.asc);;TXT (*.txt)") # PySide | |
if SaveName == "": | |
App.Console.PrintMessage("Process aborted"+"\n") | |
errorDialog("Process aborted") | |
else: | |
App.Console.PrintMessage("Registration of "+SaveName+"\n") | |
try: | |
f = open(SaveName, 'w') # write | |
f.write(iso8859("Info on the element\n")) | |
f.write(iso8859("___________________\n")) | |
f.write(iso8859(dateUs() + " "+ heure() + "\n\n")) | |
f.write(iso8859("Name of the document :" + ESCAPE + document_ + "\n")) | |
f.write(iso8859("Label Name :" + ESCAPE + object_Label + "\n")) | |
f.write(iso8859("Internal Name :" + ESCAPE + object_Name + "\n")) | |
f.write(iso8859("Name of the element :" + ESCAPE + str(element_) + "\n")) | |
f.write(iso8859("Object type :" + ESCAPE + typeObject + "\n")) | |
f.write(iso8859("Mouse coordinates :" + ESCAPE + " X:" + ESCAPE + str(position0 * uniteM) + ESCAPE + uniteMs + ESCAPE + " Y:" + ESCAPE + str(position1 * uniteM) + ESCAPE + uniteMs + ESCAPE + " Z:" + ESCAPE + str(position2 * uniteM) + ESCAPE + uniteMs + "\n")) | |
f.write(iso8859(typeLongueur + " :" + ESCAPE + str(longueurObjet * uniteM) + ESCAPE + uniteMs + "\n")) | |
if rayonObjet != 0.0: | |
f.write(iso8859("Radius :" + ESCAPE + str(rayonObjet * uniteM) + ESCAPE + uniteMs + "\n") ) | |
f.write(iso8859("Perimeter of the shape :" + ESCAPE + str(perimetre * uniteM) + ESCAPE + uniteMs + "\n\n")) | |
if self.GBox_004_SpreadSheet.isChecked(): | |
f.write(iso8859("Vertexes and details :" + ESCAPE + " Number Edges :" + ESCAPE + str(compt_E) + ESCAPE + " Number Faces :" + ESCAPE + str(compt_F) + ESCAPE + " Number Vertexes faces :" + ESCAPE + str(compt_VF) + ESCAPE + " Detail Total :" + ESCAPE + str(RowCountTest) + "\n\n")) | |
co = 0 | |
aa = 0 | |
for j in enumerate(Edges): | |
f.write(str(j[1]) + ESCAPE +iso8859(str(float(EdgesLong[co]) * float(uniteM)) + ESCAPE + uniteMs + ESCAPE))#"\n" | |
co+=1 | |
for a in range(aa,aa+6): | |
try: | |
chaine = str(Vertx[a]).split(":") | |
f.write(chaine[0] + ESCAPE + iso8859(str(float(chaine[1]) * float(uniteM))) + ESCAPE + uniteMs + ESCAPE) | |
except Exception: | |
None | |
aa += 6 | |
f.write("\n") | |
f.write("\n") | |
co = 0 | |
cco = 0 | |
co2 = 0 | |
for j in enumerate(Faces): | |
f.write(str(j[1]) + ESCAPE + iso8859(str(float(FacesSurf[co]) * float(uniteS)) + ESCAPE + uniteSs + "\n")) | |
co += 1 | |
for jj in range(cco,len(FacesCoor)):# Faces coordinates | |
cco+=1 | |
if FacesCoor[jj] == "T": | |
f.write("\n") | |
break | |
else: | |
chaine = str(FacesCoor[jj]).split(":") | |
f.write(iso8859(chaine[0] + ESCAPE + str(float(chaine[1]) * float(uniteM)) + ESCAPE + uniteMs + ESCAPE)) | |
co2 += 1 | |
if co2 == 3: | |
f.write("\n") | |
co2 = 0 | |
f.write("\n") | |
f.write(iso8859("Plan :" + ESCAPE + " XY:" + ESCAPE + self.lineEdit_8xy.text() + ESCAPE + " coordinates:" + ESCAPE + str(Plan_xy_V) + "\n")) | |
f.write(iso8859("Plan :" + ESCAPE + " YZ:" + ESCAPE + self.lineEdit_8yz.text() + ESCAPE + " coordinates:" + ESCAPE + str(Plan_yz_V) + "\n")) | |
f.write(iso8859("Plan :" + ESCAPE + " ZX:" + ESCAPE + self.lineEdit_8zx.text() + ESCAPE + " coordinates:" + ESCAPE + str(Plan_zx_V) + "\n\n")) | |
f.write(iso8859("The form surface :" + ESCAPE + str(surface * uniteS) + ESCAPE + uniteSs + "\n")) | |
f.write(iso8859("Surface of the face :" + ESCAPE + str(surfaceFace * uniteS) + ESCAPE + uniteSs + "\n\n")) | |
f.write(iso8859("Volume of the form :" + ESCAPE + str(volume_ * uniteV) + ESCAPE + uniteVs + "\n")) | |
f.write(iso8859("Weight :" + ESCAPE + str(poids) + ESCAPE + unitePs + ESCAPE + " Density:" + ESCAPE + str(densite) + "\n\n")) | |
f.write(iso8859("Center of the shape :" + ESCAPE + " X:" + ESCAPE + str(boundBoxCenterX * uniteM) + ESCAPE + uniteMs + ESCAPE + " Y:" + ESCAPE + str(boundBoxCenterY * uniteM) + ESCAPE + uniteMs + ESCAPE + " Z:" + ESCAPE + str(boundBoxCenterZ * uniteM) + ESCAPE + uniteMs + "\n")) | |
f.write(iso8859("Center of mass :" + ESCAPE + " X:" + ESCAPE + str(CenterOfMassX * uniteM) + ESCAPE + uniteMs + ESCAPE + " Y:" + ESCAPE + str(CenterOfMassY * uniteM) + ESCAPE + uniteMs + ESCAPE + " Z:" + ESCAPE + str(CenterOfMassZ * uniteM) + ESCAPE + uniteMs + "\n")) | |
f.write(iso8859("BoundBox :" + ESCAPE + " X:" + ESCAPE + str(boundBoxLX * uniteM) + ESCAPE + uniteMs + ESCAPE + " Y:" + ESCAPE + str(boundBoxLY * uniteM) + ESCAPE + uniteMs + ESCAPE + " Z:" + ESCAPE + str(boundBoxLZ * uniteM) + ESCAPE + uniteMs + "\n")) | |
f.write(iso8859("BoundBox Diagonal :" + ESCAPE + str(boundBoxDiag * uniteM) + ESCAPE + uniteMs + "\n\n")) | |
f.write(iso8859("Direction :" + ESCAPE + str(directionObj) + "\n")) | |
f.write(iso8859("ValueAt :" + ESCAPE + str(direcValueAt) + "\n\n")) | |
f.write(iso8859("Matrix of inertia :" + ESCAPE + uniteMs+"^5") + "\n") | |
f.write(iso8859(" :" + ESCAPE + " X:" + ESCAPE + str(MatrixX1_16) + ESCAPE + " Y:" + ESCAPE + str(MatrixY1_16) + ESCAPE + " Z:" + ESCAPE + str(MatrixZ1_16) + ESCAPE + " :" + ESCAPE + str(Matrix_1) + "\n")) | |
f.write(iso8859(" :" + ESCAPE + " X:" + ESCAPE + str(MatrixX2_16) + ESCAPE + " Y:" + ESCAPE + str(MatrixY2_16) + ESCAPE + " Z:" + ESCAPE + str(MatrixZ2_16) + ESCAPE + " :" + ESCAPE + str(Matrix_2) + "\n")) | |
f.write(iso8859(" :" + ESCAPE + " X:" + ESCAPE + str(MatrixX3_16) + ESCAPE + " Y:" + ESCAPE + str(MatrixY3_16) + ESCAPE + " Z:" + ESCAPE + str(MatrixZ3_16) + ESCAPE + " :" + ESCAPE + str(Matrix_3) + "\n")) | |
f.write(iso8859(" :" + ESCAPE + " X:" + ESCAPE + str(Matrix12) + ESCAPE + " Y:" + ESCAPE + str(Matrix13) + ESCAPE + " Z:" + ESCAPE + str(Matrix14) + ESCAPE + " :" + ESCAPE + str(Matrix15) + "\n\n")) | |
f.write(iso8859("Matrix inertia with mass :" + ESCAPE + unitePs + uniteSs) + "\n") | |
f.write(iso8859(" :" + ESCAPE + " X:" + ESCAPE + str(MatrixX1_17) + ESCAPE + " Y:" + ESCAPE + str(MatrixY1_17) + ESCAPE + " Z:" + ESCAPE + str(MatrixZ1_17) + "\n")) | |
f.write(iso8859(" :" + ESCAPE + " X:" + ESCAPE + str(MatrixX2_17) + ESCAPE + " Y:" + ESCAPE + str(MatrixY2_17) + ESCAPE + " Z:" + ESCAPE + str(MatrixZ2_17) + "\n")) | |
f.write(iso8859(" :" + ESCAPE + " X:" + ESCAPE + str(MatrixX3_17) + ESCAPE + " Y:" + ESCAPE + str(MatrixY3_17) + ESCAPE + " Z:" + ESCAPE + str(MatrixZ3_17) + "\n\n")) | |
f.write(iso8859("Matrix Determinant :" + ESCAPE + str(DeterminantM) + "\n")) | |
f.write(iso8859("Determinant decimal :" + ESCAPE + str(decimal.Decimal(DeterminantM))+"\n\n")) | |
f.close() | |
except Exception: | |
App.Console.PrintMessage("Error writing file "+SaveName+"\n") | |
errorDialog("Error writing file "+SaveName) | |
def on_pushButton_Ra_clicked(self): # clicked() pressed(), released() Bouton radian/degrés | |
global uniteAs | |
global Plan_xy | |
global Plan_yz | |
global Plan_zx | |
Plan_xy2 = 0.0 | |
Plan_yz2 = 0.0 | |
Plan_zx2 = 0.0 | |
choice = self.pushButton_Ra.text() | |
# ori 0.18 Py 27 choice = choice.encode('utf-8') # PySide | |
if choice == "Degree": | |
uniteAs = "" | |
self.pushButton_Ra.setText("DegMinSec") | |
self.lineEdit_8xy.setText(degMinSec(Plan_xy)) | |
self.lineEdit_8yz.setText(degMinSec(Plan_yz)) | |
self.lineEdit_8zx.setText(degMinSec(Plan_zx)) | |
elif choice == "DegMinSec": | |
uniteAs = " rad" | |
self.pushButton_Ra.setText("Radian") | |
Plan_xy2 = radians(Plan_xy) | |
self.lineEdit_8xy.setText(str(Plan_xy2)+uniteAs) | |
Plan_yz2 = radians(Plan_yz) | |
self.lineEdit_8yz.setText(str(Plan_yz2)+uniteAs) | |
Plan_zx2 = radians(Plan_zx) | |
self.lineEdit_8zx.setText(str(Plan_zx2)+uniteAs) | |
elif choice == "Radian": | |
uniteAs = " gon" | |
self.pushButton_Ra.setText("Grade") | |
Plan_xy2 = angleGrade(Plan_xy) | |
self.lineEdit_8xy.setText(str(Plan_xy2)+uniteAs) #angleGrade | |
Plan_yz2 = angleGrade(Plan_yz) | |
self.lineEdit_8yz.setText(str(Plan_yz2)+uniteAs) | |
Plan_zx2 = angleGrade(Plan_zx) | |
self.lineEdit_8zx.setText(str(Plan_zx2)+uniteAs) | |
elif choice == "Grade": | |
uniteAs = u"%" | |
self.pushButton_Ra.setText("Percent") | |
Plan_xy2 = anglePourcent(Plan_xy) | |
self.lineEdit_8xy.setText(str(Plan_xy2)+uniteAs) #anglePourcent | |
Plan_yz2 = anglePourcent(Plan_yz) | |
self.lineEdit_8yz.setText(str(Plan_yz2)+uniteAs) | |
Plan_zx2 = anglePourcent(Plan_zx) | |
self.lineEdit_8zx.setText(str(Plan_zx2)+uniteAs) | |
elif choice == "Percent": | |
uniteAs = u"°" | |
try: | |
self.pushButton_Ra.setText("Degree") | |
self.lineEdit_8xy.setText(str(Plan_xy)+uniteAs) | |
self.lineEdit_8yz.setText(str(Plan_yz)+uniteAs) | |
self.lineEdit_8zx.setText(str(Plan_zx)+uniteAs) | |
except Exception: | |
None | |
def on_CB_01_ClipBoard(self): | |
global switchClipBoard | |
if switchClipBoard == 0: | |
switchClipBoard = 1 | |
else: | |
switchClipBoard = 0 | |
def on_CB_02_Point(self): | |
global switchPoint | |
if switchPoint == 0: | |
switchPoint = 1 | |
else: | |
switchPoint = 0 | |
def on_CB_03_Axis(self): | |
global switchAxis | |
if switchAxis == 0: | |
switchAxis = 1 | |
else: | |
switchAxis = 0 | |
def on_CB_04_Plane(self): | |
global switchPlane | |
if switchPlane == 0: | |
switchPlane = 1 | |
else: | |
switchPlane = 0 | |
def on_CB_05_Info(self): | |
global InfoReportView | |
if InfoReportView == 0: | |
InfoReportView = 1 | |
else: | |
InfoReportView = 0 | |
def on_CB_05_Position(self): | |
global FCmw | |
global testing | |
if testing != 1: | |
if self.CB_05_Position.isChecked(): | |
FCmw.addDockWidget(QtCore.Qt.LeftDockWidgetArea,myNewFreeCADWidget) # add the widget to the main window Left | |
else: | |
FCmw.addDockWidget(QtCore.Qt.RightDockWidgetArea,myNewFreeCADWidget)# add the widget to the main window Right | |
def on_pushButton02_clicked(self): # Exit button | |
global InfoReportView | |
global testing | |
if testing == 1: # MainWindow | |
FreeCADGui.Selection.removeObserver(s) # Uninstalls resident function (desactivated for read after LeftDock RightDock) | |
App.Console.PrintMessage("End FCInfo\r\n") | |
self.CB_05_Info.setChecked(False) | |
InfoReportView = 0 | |
self.window.hide() | |
######################################################################################################################### | |
class SelObserver: | |
def addSelection(self,document, object, element, position): # Selection | |
global ui | |
global sel | |
global document_ | |
global object_Label | |
global element_ | |
global position0 | |
global position1 | |
global position2 | |
global switchInertia | |
if switchInertia == 0: # for create plane without refresh | |
sel = FreeCADGui.Selection.getSelection() | |
document_ = document | |
object_Label = object | |
element_ = element | |
position0 = (position[0]) | |
position1 = (position[1]) | |
position2 = (position[2]) | |
if len(sel)==0: | |
App.Console.PrintMessage("Select an object"+"\n") | |
errorDialog("Select an object") | |
else: | |
ui.on_pushButton_Raf_clicked() | |
######################################################################################################################### | |
sel = FreeCADGui.Selection.getSelection() | |
s=SelObserver() | |
FreeCADGui.Selection.addObserver(s) # install the function resident mode | |
mw = FreeCADGui.getMainWindow() | |
dw=mw.findChildren(QtGui.QDockWidget) | |
for i in dw: | |
if str(i.objectName()) == __title__: | |
if i.isVisible(): | |
i.setVisible(False) | |
else: | |
if testing == 1: # MainWindow | |
None | |
else: | |
myNewFreeCADWidget = QtGui.QDockWidget() # create (restore) a new dockwidget | |
myNewFreeCADWidget.setObjectName(__title__) | |
ui = Ui_MainWindow() | |
ui.setupUi(myNewFreeCADWidget) | |
FCmw = FreeCADGui.getMainWindow() | |
i.setVisible(True) | |
break | |
if i.objectName() != __title__: # macro internal Name | |
#####MainWindow################################################################################ | |
# | |
if testing == 1: # MainWindow | |
MainWindow = QtGui.QMainWindow() # create a new window volant | |
MainWindow.setObjectName(__title__) # macro internal Name | |
ui = Ui_MainWindow() | |
ui.setupUi(MainWindow) | |
MainWindow.show() | |
#####DockWidget################################################################################ | |
# | |
else: | |
myNewFreeCADWidget = QtGui.QDockWidget() # create a new dockwidget | |
myNewFreeCADWidget.setObjectName(__title__) | |
ui = Ui_MainWindow() | |
ui.setupUi(myNewFreeCADWidget) | |
FCmw = FreeCADGui.getMainWindow() | |
if testing == 2: # RightDock | |
FCmw.addDockWidget(QtCore.Qt.RightDockWidgetArea,myNewFreeCADWidget) # add the widget to the main window Right | |
else: # LeftDock | |
FCmw.addDockWidget(QtCore.Qt.LeftDockWidgetArea,myNewFreeCADWidget) # add the widget to the main window Left |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment