Last active
September 6, 2023 21:33
-
-
Save mario52a/e382adbe41747788ad15a18eb206a872 to your computer and use it in GitHub Desktop.
Gives information about the selected shape and can display a conversion of length, area, volume in different units (metric and imperial) in a ToolBar.
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
""" | |
*************************************************************************** | |
* Copyright (c) 2022 2023 <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 * | |
*************************************************************************** | |
""" | |
# | |
#2022/02/16, 2022/03/14 ajout preselection size toolbar, 29/03/2022 ajout somme tous les edges | |
#2023/09/06 et radius Surface | |
__title__ = "FCInfo_ToolBar" # on ToolBar | |
__author__ = "Mario52" | |
__url__ = "http://www.freecadweb.org/index-fr.html" | |
__Wiki__ = "https://wiki.freecadweb.org/Macro_FCInfo_ToolBar" | |
__version__ = "00.05b" | |
__date__ = "2023/09/06" #YYYY/MM/DD | |
import FreeCAD, FreeCADGui | |
App = FreeCAD | |
Gui = FreeCADGui | |
import PySide2 | |
from PySide2 import (QtWidgets, QtCore, QtGui) | |
from PySide2.QtWidgets import (QWidget, QVBoxLayout, QHBoxLayout, QStyle, QDockWidget, QToolBar, QDialog) | |
from PySide2.QtGui import (QColor, QIcon) | |
from PySide2.QtCore import QSize | |
import Draft, Part, Sketcher | |
import pivy | |
from pivy import coin | |
global uniteM ; uniteM = 0.0 | |
global uniteMs ; uniteMs = "" | |
global uniteS ; uniteS = 0.0 | |
global uniteSs ; uniteSs = "" | |
global uniteV ; uniteV = 0.0 | |
global uniteVs ; uniteVs = "" | |
global switch_User_ToolbarIconSize | |
global seT_User_sizeIconX # size X icon | |
global seT_User_sizeIconY # size Y icon | |
global seT_User_StyleSheetColorToolBar # 0 = not setStyleSheet | |
# color in HTML format ex: "#F8E6E0" ( 0 by default) | |
global FreeCAD_Paramter ; FreeCAD_Paramter = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Macros/FCMmacros/" + __title__) | |
## | |
global toolbar1 ; toolbar1 = QtWidgets.QToolBar() # tool bar | |
global lineEdit_ToolBar ; lineEdit_ToolBar = QtWidgets.QLineEdit() # lineEdit | |
global fontGlobal_08 ; fontGlobal_08 = QtGui.QFont() | |
## | |
global objectName ; objectName = "" | |
global SubElementName ; SubElementName = "" | |
global position | |
global pos2D ; pos2D = "" | |
global switch_User_NotInfoOnBeginning | |
global seT_User_DecimalValue | |
global seT_User_TextHeigthValue | |
global seT_User_setFixed_Tool_Bar_Width | |
global seT_User_setFixed_Tool_Bar_Height | |
global seT_User_StyleSheetColorToolBar | |
global switch_User_Work_With_Preselection | |
global switch_User_Work_With_PreselectionAsterix | |
global switch_User_Display_objectName | |
global switch_User_Display_SubElementName | |
global switch_User_Display_ShapeType | |
global switch_User_Display_TypeId | |
global switch_User_Display_RadiusObject | |
global switch_User_Display_RadiusSurface | |
global switch_User_Display_BsplineObject | |
global switch_User_Display_CentreObject | |
global switch_User_Display_CentreBoundBoxObject | |
global switch_User_Display_LengthObject | |
global switch_User_Display_SommeAllEdgesObject #sommeEdges total edges | |
global switch_User_Display_AreaObject | |
global switch_User_Display_AreaSubObject | |
global switch_User_Display_Position | |
global switch_User_Display_VolumeObject | |
global switch_User_Display_Position_2D_CAD | |
global switch_User_Display_Position_2D_BMP | |
global seT_User_UnitSymbolSquare | |
global seT_User_UnitSymbolCube | |
global seT_User_UnitSymbolMicro | |
global seT_System_IndexUnitLength | |
global seT_System_IndexUnitText | |
global comboBox_ToolBar | |
doc = FreeCAD.ActiveDocument | |
if doc == None: | |
doc = FreeCAD.newDocument() | |
doc = FreeCAD.activeDocument() | |
FreeCAD.setActiveDocument(doc.Name) | |
#### Configuration begin #### | |
#### NOT MODIFY THE CODE HERE #### | |
#### for modify : go to : FreeCAD >Menu >Tools >Edit parameters... >BaseApp/Preferences/Macros/FCMmacros/FCInfo_ToolBar #### | |
## | |
FreeCAD_Paramter.SetString("Version", __version__ + " (" + __date__ + ")") | |
## | |
switch_User_ToolbarIconSize = FreeCAD_Paramter.GetBool("switch_User_ToolbarIconSize") | |
if switch_User_ToolbarIconSize == 0: | |
FreeCAD_Paramter.SetBool("switch_User_ToolbarIconSize", switch_User_ToolbarIconSize)# switch impost or choice | |
seT_User_sizeIconX = seT_User_sizeIconY = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/General").GetInt("ToolbarIconSize") # FC preference | |
else: | |
seT_User_sizeIconX = FreeCAD_Paramter.GetInt("seT_User_sizeIconX") # seT_User_sizeIconX X | |
seT_User_sizeIconY = FreeCAD_Paramter.GetInt("seT_User_sizeIconY") # seT_User_sizeIconY Y | |
FreeCAD_Paramter.SetBool("switch_User_ToolbarIconSize", switch_User_ToolbarIconSize)# switch impost or choice | |
if seT_User_sizeIconX == 0: seT_User_sizeIconX = 24 | |
if seT_User_sizeIconY == 0: seT_User_sizeIconY = 24 | |
FreeCAD_Paramter.SetInt("seT_User_sizeIconX", seT_User_sizeIconX) # seT_User_sizeIconX X | |
FreeCAD_Paramter.SetInt("seT_User_sizeIconY", seT_User_sizeIconY) # seT_User_sizeIconY Y | |
## | |
seT_User_setFixed_Tool_Bar_Width = FreeCAD_Paramter.GetInt("seT_User_setFixed_Tool_Bar_Width") | |
FreeCAD_Paramter.SetInt("seT_User_setFixed_Tool_Bar_Width", seT_User_setFixed_Tool_Bar_Width)# seT_User_setFixed_Tool_Bar_Width | |
##2 | |
seT_User_setFixed_Tool_Bar_Height = FreeCAD_Paramter.GetInt("seT_User_setFixed_Tool_Bar_Height") | |
FreeCAD_Paramter.SetInt("seT_User_setFixed_Tool_Bar_Height", seT_User_setFixed_Tool_Bar_Height)# seT_User_setFixed_Tool_Bar_Height | |
## | |
seT_User_StyleSheetColorToolBar = FreeCAD_Paramter.GetString("seT_User_StyleSheetColorToolBar") | |
if seT_User_StyleSheetColorToolBar == "": | |
FreeCAD_Paramter.SetString("seT_User_StyleSheetColorToolBar", "0") #F8E6E0 | |
seT_User_StyleSheetColorToolBar = "0" | |
## | |
seT_User_DecimalValue = FreeCAD_Paramter.GetInt("seT_User_DecimalValue") # seT_User_DecimalValue | |
if seT_User_DecimalValue == 0: | |
seT_User_DecimalValue = 2 | |
FreeCAD_Paramter.SetInt("seT_User_DecimalValue", seT_User_DecimalValue)# seT_User_DecimalValue | |
## | |
seT_User_TextHeigthValue = FreeCAD_Paramter.GetInt("seT_User_TextHeigthValue")# seT_User_TextHeigthValue | |
if seT_User_TextHeigthValue == 0: | |
seT_User_TextHeigthValue = 10 | |
FreeCAD_Paramter.SetInt("seT_User_TextHeigthValue", seT_User_TextHeigthValue)# LineEdit seT_User_TextHeigthValue | |
## | |
switch_User_Work_With_Preselection = FreeCAD_Paramter.GetBool("switch_User_Work_With_Preselection")# switch yes / no Name | |
FreeCAD_Paramter.SetBool("switch_User_Work_With_Preselection", switch_User_Work_With_Preselection) # switch yes / no Name | |
if switch_User_Work_With_Preselection == 1: | |
switch_User_Work_With_PreselectionAsterix = " *" | |
else: | |
switch_User_Work_With_PreselectionAsterix= "" | |
## | |
switch_User_Display_objectName = FreeCAD_Paramter.GetBool("switch_User_Display_objectName")# switch yes / no Name | |
FreeCAD_Paramter.SetBool("switch_User_Display_objectName", switch_User_Display_objectName) # switch yes / no Name | |
## | |
switch_User_Display_SubElementName = FreeCAD_Paramter.GetBool("switch_User_Display_SubElementName")# switch yes / no Element | |
FreeCAD_Paramter.SetBool("switch_User_Display_SubElementName", switch_User_Display_SubElementName) # switch yes / no Element | |
## | |
switch_User_Display_ShapeType = FreeCAD_Paramter.GetBool("switch_User_Display_ShapeType")# switch yes / no ShapeType | |
FreeCAD_Paramter.SetBool("switch_User_Display_ShapeType", switch_User_Display_ShapeType) # switch yes / no ShapeType | |
## | |
switch_User_Display_TypeId = FreeCAD_Paramter.GetBool("switch_User_Display_TypeId")# switch yes / no TypeId | |
FreeCAD_Paramter.SetBool("switch_User_Display_TypeId", switch_User_Display_TypeId) # switch yes / no TypeId | |
## | |
switch_User_Display_RadiusObject = FreeCAD_Paramter.GetBool("switch_User_Display_RadiusObject")# switch yes / no Radius | |
FreeCAD_Paramter.SetBool("switch_User_Display_RadiusObject", switch_User_Display_RadiusObject) # switch yes / no Radius | |
## | |
switch_User_Display_RadiusSurface = FreeCAD_Paramter.GetBool("switch_User_Display_RadiusSurface")# switch yes / no Radius | |
FreeCAD_Paramter.SetBool("switch_User_Display_RadiusSurface", switch_User_Display_RadiusSurface) # switch yes / no Radius | |
## | |
switch_User_Display_LengthObject = FreeCAD_Paramter.GetBool("switch_User_Display_LengthObject")# switch yes / no Length | |
FreeCAD_Paramter.SetBool("switch_User_Display_LengthObject", switch_User_Display_LengthObject) # switch yes / no Length | |
## | |
switch_User_Display_SommeAllEdgesObject = FreeCAD_Paramter.GetBool("switch_User_Display_SommeAllEdgesObject")# switch yes / no Length | |
FreeCAD_Paramter.SetBool("switch_User_Display_SommeAllEdgesObject", switch_User_Display_SommeAllEdgesObject) # switch yes / no Length | |
## | |
switch_User_Display_NumberFacesMesh = FreeCAD_Paramter.GetBool("switch_User_Display_NumberFacesMesh")# switch yes / no info | |
FreeCAD_Paramter.SetBool("switch_User_Display_NumberFacesMesh", switch_User_Display_NumberFacesMesh) # switch yes / no Radius | |
## | |
switch_User_Display_NumberPointsMeshPoints = FreeCAD_Paramter.GetBool("switch_User_Display_NumberPointsMeshPoints")# switch yes / no info | |
FreeCAD_Paramter.SetBool("switch_User_Display_NumberPointsMeshPoints", switch_User_Display_NumberPointsMeshPoints) # switch yes / no Radius | |
## | |
switch_User_Display_NumberEdgesMesh = FreeCAD_Paramter.GetBool("switch_User_Display_NumberEdgesMesh")# switch yes / no info | |
FreeCAD_Paramter.SetBool("switch_User_Display_NumberEdgesMesh", switch_User_Display_NumberEdgesMesh) # switch yes / no Radius | |
## | |
switch_User_Display_AreaObject = FreeCAD_Paramter.GetBool("switch_User_Display_AreaObject")# switch yes / no Area | |
FreeCAD_Paramter.SetBool("switch_User_Display_AreaObject", switch_User_Display_AreaObject) # switch yes / no Area | |
## | |
switch_User_Display_AreaSubObject = FreeCAD_Paramter.GetBool("switch_User_Display_AreaSubObject")# switch yes / no Area | |
FreeCAD_Paramter.SetBool("switch_User_Display_AreaSubObject", switch_User_Display_AreaSubObject) # switch yes / no Area | |
## | |
switch_User_Display_VolumeObject = FreeCAD_Paramter.GetBool("switch_User_Display_VolumeObject")# switch yes / no Volume | |
FreeCAD_Paramter.SetBool("switch_User_Display_VolumeObject", switch_User_Display_VolumeObject) # switch yes / no Volume | |
## | |
switch_User_Display_BsplineObject = FreeCAD_Paramter.GetBool("switch_User_Display_BsplineObject")# switch yes / no Bspline | |
FreeCAD_Paramter.SetBool("switch_User_Display_BsplineObject", switch_User_Display_BsplineObject) # switch yes / no Bspline | |
## | |
switch_User_Display_CentreObject = FreeCAD_Paramter.GetBool("switch_User_Display_CentreObject")# switch yes / no Centre | |
FreeCAD_Paramter.SetBool("switch_User_Display_CentreObject", switch_User_Display_CentreObject) # switch yes / no Centre | |
## | |
switch_User_Display_CentreBoundBoxObject = FreeCAD_Paramter.GetBool("switch_User_Display_CentreBoundBoxObject")# switch yes / no Centre BoundBox | |
FreeCAD_Paramter.SetBool("switch_User_Display_CentreBoundBoxObject", switch_User_Display_CentreBoundBoxObject) # switch yes / no Centre BoundBox | |
## | |
switch_User_Display_Position = FreeCAD_Paramter.GetBool("switch_User_Display_Position")# switch yes / no Position | |
FreeCAD_Paramter.SetBool("switch_User_Display_Position", switch_User_Display_Position) # switch yes / no Position | |
## | |
switch_User_Display_Position_2D_CAD = FreeCAD_Paramter.GetBool("switch_User_Display_Position_2D_CAD")# switch yes / no Position 2D CAD | |
FreeCAD_Paramter.SetBool("switch_User_Display_Position_2D_CAD", switch_User_Display_Position_2D_CAD) # switch yes / no Position 2D CAD | |
## | |
switch_User_Display_Position_2D_BMP = FreeCAD_Paramter.GetBool("switch_User_Display_Position_2D_BMP")# switch yes / no Position 2D BMP Reverse Y | |
FreeCAD_Paramter.SetBool("switch_User_Display_Position_2D_BMP", switch_User_Display_Position_2D_BMP) # switch yes / no Position 2D BMP Reverse Y | |
## | |
switch_User_NotInfoOnBeginning = FreeCAD_Paramter.GetBool("switch_User_NotInfoOnBeginning")# switch yes / no Info | |
FreeCAD_Paramter.SetBool("switch_User_NotInfoOnBeginning", switch_User_NotInfoOnBeginning) # switch yes / no Info | |
## | |
seT_User_UnitSymbolSquare = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Macros/FCMmacros/" + __title__).GetString("seT_User_UnitSymbolSquare") | |
if seT_User_UnitSymbolSquare == "": | |
seT_User_UnitSymbolSquare = "2" | |
FreeCAD_Paramter.SetString("seT_User_UnitSymbolSquare", seT_User_UnitSymbolSquare) # | |
## | |
seT_User_UnitSymbolCube = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Macros/FCMmacros/" + __title__).GetString("seT_User_UnitSymbolCube") | |
if seT_User_UnitSymbolCube == "": | |
seT_User_UnitSymbolCube = "3" | |
FreeCAD_Paramter.SetString("seT_User_UnitSymbolCube", seT_User_UnitSymbolCube) # | |
## | |
seT_User_UnitSymbolMicro = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Macros/FCMmacros/" + __title__).GetString("seT_User_UnitSymbolMicro") | |
if seT_User_UnitSymbolMicro == "": | |
seT_User_UnitSymbolMicro = "" | |
FreeCAD_Paramter.SetString("seT_User_UnitSymbolMicro", seT_User_UnitSymbolMicro) # | |
## | |
#### pour demarrage | |
seT_System_IndexUnitLength = FreeCAD_Paramter.GetInt("seT_System_IndexUnitLength") # seT_System_IndexUnitLength | |
if seT_System_IndexUnitLength == 0: | |
seT_System_IndexUnitLength = 0 | |
FreeCAD_Paramter.SetInt("seT_System_IndexUnitLength", seT_System_IndexUnitLength) # seT_System_IndexUnitLength | |
#### pour demarrage | |
seT_System_IndexUnitText = FreeCAD_Paramter.GetString("seT_System_IndexUnitText") # seT_System_IndexUnitText | |
if seT_System_IndexUnitText == "": | |
seT_System_IndexUnitText = "km" | |
FreeCAD_Paramter.SetString("seT_System_IndexUnitText", seT_System_IndexUnitText) # seT_System_IndexUnitText | |
## | |
uniteM = FreeCAD_Paramter.GetFloat("seT_System_uniteM") | |
if uniteM == 0: | |
uniteM = 0.000001 | |
FreeCAD_Paramter.SetFloat("seT_System_uniteM", uniteM) | |
## | |
uniteMs = FreeCAD_Paramter.GetString("seT_System_uniteMs") | |
if uniteMs == "": | |
uniteMs= "km" | |
FreeCAD_Paramter.SetString("seT_System_uniteMs", uniteMs) | |
## | |
uniteS = FreeCAD_Paramter.GetFloat("seT_System_uniteS") | |
if uniteS == 0: | |
uniteS = 0.000000000001 | |
FreeCAD_Paramter.SetFloat("seT_System_uniteS", uniteS) | |
## | |
uniteSs = FreeCAD_Paramter.GetString("seT_System_uniteSs") | |
if uniteSs == "": | |
uniteSs= "km"+seT_User_UnitSymbolSquare | |
FreeCAD_Paramter.SetString("seT_System_uniteSs", uniteSs) | |
## | |
uniteV = FreeCAD_Paramter.GetFloat("seT_System_uniteV") | |
if uniteV == 0: | |
uniteV = 0.000000000000000001 | |
FreeCAD_Paramter.SetFloat("seT_System_uniteV", uniteV) | |
## | |
uniteVs = FreeCAD_Paramter.GetString("seT_System_uniteVs") | |
if uniteVs == "": | |
uniteVs= "km"+seT_User_UnitSymbolCube | |
FreeCAD_Paramter.SetString("seT_System_uniteVs", uniteVs) | |
#### Configuration end ################################################ | |
Refresh_Icon = [ | |
"64 64 9 1", | |
" c None", | |
". c #000000", | |
"+ c #1D4376", | |
"@ c #5B5E5D", | |
"# c #3C6BA7", | |
"$ c #6A93C2", | |
"% c #9DA2A4", | |
"& c #C6CACB", | |
"* c #FFFFFF", | |
" ", | |
" +++++++++++++++++++++++++++++++++++++++++++++++++++++ ", | |
" +$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$##+ ", | |
" +$*&&&&&&&&&*&&&&&&&&*&&&&&&&&*********************#+ ", | |
" +$*%%%%%%%%%*%%%%%%%%*%%%%%%%%*********************#+ ", | |
" +$*&&&&&&&&&*&&&&&&&&*&&&&&&&&*********************#+ ", | |
" +$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#+ ", | |
" +$+++++++++++++++++++++++++++++++++++++++++++++++++#+ ", | |
" +$#+++++++++++++++++++++++++++++++++++++++++++++++##+ ", | |
" +$################################################$$+ ", | |
" +$################################################$$+ ", | |
" +$###+++++++++++++++++++++++######################$$+ ", | |
" +$###+#*******************$+######################$$+ ", | |
" +$$##+$*$$$$$$$$$$$$$$$$$*%+######################$$+ ", | |
" +$$##+$*+++++++++++++++++&%+######################$$+ ", | |
" +$$##+$*#++++++++++++++++&%+######################$$+ ", | |
" +$$##+$*******************%+######################$$+ ", | |
" +$$##+$*******************%+######################$$+ ", | |
" +$$##+$*******************%+######################$$+ ", | |
" +$$##+$*******************%+######################$$+ ", | |
" +$$##+$*******************%+######################$$+ ", | |
" +$$##+$*******************%+######################$$+ ", | |
" +$$##+$*******************%+$$$$$$$$$$++##########$$+ ", | |
" +$$##+$*******************%+**********&+##########$$+ ", | |
" +$$##+$*******************%++++++++++&&+##########$$+ ", | |
" +$$$$+$*******************%++++++++++&&+$$$$$$$$$$$$+ ", | |
" +$$$$+$*******************%+$$$$$$$$$*&+$$$$$$$$$$$$+ ", | |
" +$$$$+$*******************%+**********&+$$$$$$$$$$$$+ ", | |
" +$$$$+$&&&&&&&&&&&&&&&&&&&%+**********&+$$$$$$$$$$$$+ ", | |
" +$$$$+$&&&&&&&&&&&&&&&&&&&%+**********&+$$$$$$$$$$$$+ ", | |
" +$$$$+$&&&&&&&&&&&&&&&&&&&%+**********&+$$$$$$$$$$$$+ ", | |
" +$$$$+#&&&&&&&&&&&&&&&&&&&%+**********&+$$$$$$$$$$$$+ ", | |
" +$$$$+++++++++++++++++++++++****&&%%@@@@@@@@@@@@@@@@+ ", | |
" +$$$$$$$##########$&&&&&&&*****%@@@@@@%%%%%%@@@@@@@@+ ", | |
" +$$$$$$$$$$$$$$$$#$***********@@&**********%@@%%%%@@@ ", | |
" +$$$$$$$$$$$$$$$$#$**********%@***********%@%%%%%%%@@ ", | |
" +$$$$$$$$$$$$$$$$#$%@@@@@@@@@@&**********%@@@@@@@@@@@@ ", | |
" +$$$$$$$$$$$$$$$$#$*%@@%&&&&&&**********&@@@@@@@@@@@%@ ", | |
" +$$$$$$$$$$$$$$$$#$**&@@***********************%@@%%%@@ ", | |
" +$$$$$$$$$$$$$$$$#$&&&&%@%*******************%@@%%%%%%@ ", | |
" +$$$$$$$$$$$$$$$$#$&&&&&&@@****************%@@%%%%%%%%@ ", | |
" +$$$$$$$$$$$$$$$$#$&&&&&&&@@&***&&&&&****%@@%%%%%%%%%%@@ ", | |
" +$$$$$$$$$$$$$$$$#+$$$$$$$$@@%***&&****%@@$@%%%%%%%%%%%@ ", | |
" +$$$$$$$$$$$$$$$$############@@&*****%@@$$$@%%%%%%%%%%%@ ", | |
" +$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@%**%@@$$$$$@%&%%%%%%%%%@ ", | |
" +$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@$$$$$$$@%&%%%%%%%%%@ ", | |
" +$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$$$$$$$$$@%&&%%%%%%&&@ ", | |
" +$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@%&&&%%%%%&%@ ", | |
" +$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@%&&&&&&&&&%@ ", | |
" +$$$$$$$$$$$$$$$$$$$$$$$$$@@@@@@@@@@@@@@@@$@&&&&&&&&&&%@ ", | |
" +$$$$$$$$$$$$$$$$$$$$$$$$$@%************%@%@&&&&&&&&&&%@ ", | |
" +$$$$$$$$$$$$$$$$$$$$$$$$@%************&@@@&&&&&&&&&&@@ ", | |
" +++++++++++++++++++++++++@@************&@@%&&&&&&&&&&@ ", | |
" @@************&@@&&&&&&&&&&%@ ", | |
" @@%&&&&&&&&&&&&@@&&&&&&&&&&@@ ", | |
" @@&&&&&&&&&&&&%@&&&&&&&&&%@ ", | |
" @@&&&&&&&&&&&%@%&&&&&&&&@@ ", | |
" @@%%%%%%%%%%%@@&*****&@@ ", | |
" @@@%%%%%%%%%%@@@%%%%@@ ", | |
" @@@@@@@@@@@@@@@@@@@@@ ", | |
" @@@@@@@@@@@@@@@@@@@ ", | |
" ", | |
" ", | |
" "] | |
#### | |
global infoFaceMesh; | |
global indexFaceMeshSTR ; indexFaceMeshSTR = "X" | |
global coordPointsMesh ; coordPointsMesh = "" | |
import warnings | |
warnings.simplefilter("ignore") | |
def adjustedGlobalPlacement(obj, locVector): | |
'''find global placement to make locVector the local origin with the correct orientation''' | |
# extract BoundingBox_Tracing | |
#2021/07/10 modified by edwilliams16 to handle objects in nested part containers | |
#https://forum.freecadweb.org/viewtopic.php?f=22&t=59852 | |
# | |
try: | |
objectPlacement = obj.Placement | |
objectGlobalPlacement = obj.getGlobalPlacement() | |
locPlacement = App.Placement(locVector, App.Rotation(App.Vector(1,0,0),0)) | |
return objectGlobalPlacement.multiply(objectPlacement.inverse()).multiply(locPlacement) | |
except Exception: | |
locPlacement = App.Placement(App.Vector(0,0,0), App.Rotation(0,0,0), App.Vector(0,0,0)) | |
#App.Console.PrintError("Error adjustedGlobalPlacement") | |
return locPlacement | |
def getNormal(cb): | |
#https://wiki.freecadweb.org/Code_snippets#Get_the_normal_vector_of_a_surface_from_a_STL_file | |
global indexFaceMeshSTR | |
global objs | |
try: | |
indexFaceMeshSTR = "X" | |
if (hasattr(objs[0], "Mesh")): | |
pp = cb.getPickedPoint() | |
indexFaceMeshSTR = str(coin.cast(pp.getDetail(), "SoFaceDetail").getFaceIndex()) | |
except Exception: | |
None | |
def Refresh_Preference():### Begin command Std_Refresh_Preference | |
global seT_User_DecimalValue | |
global seT_User_TextHeigthValue | |
global switch_User_NotInfoOnBeginning | |
global fontGlobal_08 | |
global lineEdit_ToolBar | |
global switch_User_ToolbarIconSize | |
global seT_User_sizeIconX | |
global seT_User_sizeIconY | |
global toolbar1 | |
global seT_User_setFixed_Tool_Bar_Width | |
global seT_User_setFixed_Tool_Bar_Height | |
global seT_User_StyleSheetColorToolBar | |
global switch_User_Work_With_Preselection | |
global switch_User_Work_With_PreselectionAsterix | |
global switch_User_Display_objectName | |
global switch_User_Display_SubElementName | |
global switch_User_Display_ShapeType | |
global switch_User_Display_TypeId | |
global switch_User_Display_NumberFacesMesh | |
global switch_User_Display_NumberPointsMeshPoints | |
global switch_User_Display_NumberEdgesMesh | |
global switch_User_Display_RadiusObject | |
global switch_User_Display_RadiusSurface | |
global switch_User_Display_BsplineObject | |
global switch_User_Display_CentreObject | |
global switch_User_Display_CentreBoundBoxObject | |
global switch_User_Display_LengthObject | |
global switch_User_Display_SommeAllEdgesObject | |
global switch_User_Display_AreaObject | |
global switch_User_Display_AreaSubObject | |
global switch_User_Display_Position | |
global switch_User_Display_VolumeObject | |
global switch_User_Display_Position_2D_CAD | |
global switch_User_Display_Position_2D_BMP | |
global seT_User_UnitSymbolSquare | |
global seT_User_UnitSymbolCube | |
global seT_User_UnitSymbolMicro | |
global seT_System_IndexUnitLength | |
global seT_System_IndexUnitText | |
global FreeCAD_Paramter | |
global uniteM | |
global uniteMs | |
global uniteS | |
global uniteSs | |
global uniteV | |
global uniteVs | |
#try: | |
seT_User_setFixed_Tool_Bar_Width = FreeCAD_Paramter.GetInt("seT_User_setFixed_Tool_Bar_Width") | |
if seT_User_setFixed_Tool_Bar_Width != 0: | |
toolbar1.setFixedWidth(seT_User_setFixed_Tool_Bar_Width) | |
seT_User_setFixed_Tool_Bar_Height = FreeCAD_Paramter.GetInt("seT_User_setFixed_Tool_Bar_Height") | |
if seT_User_setFixed_Tool_Bar_Height != 0: | |
toolbar1.setFixedHeight(seT_User_setFixed_Tool_Bar_Height) | |
#### color StyleSheet | |
seT_User_StyleSheetColorToolBar = FreeCAD_Paramter.GetString("seT_User_StyleSheetColorToolBar") | |
if seT_User_StyleSheetColorToolBar == "": | |
FreeCAD_Paramter.SetString("seT_User_StyleSheetColorToolBar", "0") | |
seT_User_StyleSheetColorToolBar = "0" | |
if seT_User_StyleSheetColorToolBar != "0": | |
toolbar1.setStyleSheet("QToolBar {background-color:" + seT_User_StyleSheetColorToolBar + ";}") #F8E6E0 | |
else: | |
toolbar1.setStyleSheet("QToolBar {QPalette.Base}") | |
switch_User_Work_With_Preselection = FreeCAD_Paramter.GetBool("switch_User_Work_With_Preselection") # switch yes / no preselection | |
if switch_User_Work_With_Preselection == 1: | |
switch_User_Work_With_PreselectionAsterix= " *" | |
#toolbar1.setStyleSheet("QToolBar {QPalette.Base}") | |
#toolbar1.setStyleSheet("QToolBar {color: black; background-color: #F8E6E0}") # html code #F8E6E0 | |
else: | |
switch_User_Work_With_PreselectionAsterix= "" | |
#### color | |
## Icon | |
switch_User_ToolbarIconSize = FreeCAD_Paramter.GetBool("switch_User_ToolbarIconSize") | |
if switch_User_ToolbarIconSize == 0: | |
FreeCAD_Paramter.SetBool("switch_User_ToolbarIconSize", switch_User_ToolbarIconSize)# switch impost or choice | |
seT_User_sizeIconX = seT_User_sizeIconY = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/General").GetInt("ToolbarIconSize") # FC preference | |
else: | |
seT_User_sizeIconX = FreeCAD_Paramter.GetInt("seT_User_sizeIconX") # seT_User_sizeIconX X | |
seT_User_sizeIconY = FreeCAD_Paramter.GetInt("seT_User_sizeIconY") # seT_User_sizeIconY Y | |
FreeCAD_Paramter.SetBool("switch_User_ToolbarIconSize", switch_User_ToolbarIconSize)# switch impost or choice | |
if seT_User_sizeIconX == 0: seT_User_sizeIconX = 24 | |
if seT_User_sizeIconY == 0: seT_User_sizeIconY = 24 | |
FreeCAD_Paramter.SetInt("seT_User_sizeIconX", seT_User_sizeIconX) # seT_User_sizeIconX X | |
FreeCAD_Paramter.SetInt("seT_User_sizeIconY", seT_User_sizeIconY) # seT_User_sizeIconY Y | |
toolbar1.setIconSize(QSize(seT_User_sizeIconX, seT_User_sizeIconY)) # affect size | |
#### variables LineEdit debut | |
## | |
seT_User_DecimalValue = FreeCAD_Paramter.GetInt("seT_User_DecimalValue") # seT_User_DecimalValue | |
seT_User_TextHeigthValue = FreeCAD_Paramter.GetInt("seT_User_TextHeigthValue")# LineEdit seT_User_TextHeigthValue | |
## | |
switch_User_NotInfoOnBeginning = FreeCAD_Paramter.GetBool("switch_User_NotInfoOnBeginning") # switch yes / no info | |
switch_User_Display_objectName = FreeCAD_Paramter.GetBool("switch_User_Display_objectName") # switch yes / no Object Name | |
switch_User_Display_SubElementName = FreeCAD_Paramter.GetBool("switch_User_Display_SubElementName") # switch yes / no Element | |
switch_User_Display_ShapeType = FreeCAD_Paramter.GetBool("switch_User_Display_ShapeType") # switch yes / no Shape Type | |
switch_User_Display_TypeId = FreeCAD_Paramter.GetBool("switch_User_Display_TypeId") # switch yes / no TypeId | |
switch_User_Display_NumberFacesMesh = FreeCAD_Paramter.GetBool("switch_User_Display_NumberFacesMesh") # switch yes / no Face Mesh | |
switch_User_Display_NumberPointsMeshPoints= FreeCAD_Paramter.GetBool("switch_User_Display_NumberPointsMeshPoints")# switch yes / no Points Mesh | |
switch_User_Display_NumberEdgesMesh = FreeCAD_Paramter.GetBool("switch_User_Display_NumberEdgesMesh") # switch yes / no Edge Mesh | |
switch_User_Display_RadiusObject = FreeCAD_Paramter.GetBool("switch_User_Display_RadiusObject") # switch yes / no Radius | |
switch_User_Display_RadiusSurface = FreeCAD_Paramter.GetBool("switch_User_Display_RadiusSurface") # switch yes / no Radius | |
switch_User_Display_BsplineObject = FreeCAD_Paramter.GetBool("switch_User_Display_BsplineObject") # switch yes / no Bspline | |
switch_User_Display_CentreObject = FreeCAD_Paramter.GetBool("switch_User_Display_CentreObject") # switch yes / no Centre | |
switch_User_Display_CentreBoundBoxObject = FreeCAD_Paramter.GetBool("switch_User_Display_CentreBoundBoxObject")# switch yes / no Centre BoundBox | |
switch_User_Display_LengthObject = FreeCAD_Paramter.GetBool("switch_User_Display_LengthObject") # switch yes / no Length | |
switch_User_Display_SommeAllEdgesObject = FreeCAD_Paramter.GetBool("switch_User_Display_SommeAllEdgesObject") # switch yes / no sommeEdges total edges | |
switch_User_Display_AreaObject = FreeCAD_Paramter.GetBool("switch_User_Display_AreaObject") # switch yes / no Area Object | |
switch_User_Display_AreaSubObject = FreeCAD_Paramter.GetBool("switch_User_Display_AreaSubObject") # switch yes / no Area SubObject | |
switch_User_Display_Position = FreeCAD_Paramter.GetBool("switch_User_Display_Position") # switch yes / no Position | |
switch_User_Display_VolumeObject = FreeCAD_Paramter.GetBool("switch_User_Display_VolumeObject") # switch yes / no Volume | |
switch_User_Display_Position_2D_CAD = FreeCAD_Paramter.GetBool("switch_User_Display_Position_2D_CAD") # switch yes / no Position 2D CAD Y left bottom | |
switch_User_Display_Position_2D_BMP = FreeCAD_Paramter.GetBool("switch_User_Display_Position_2D_BMP") # switch yes / no Position 2D BMP Reverse Y 0,0 left Top | |
## | |
seT_User_UnitSymbolSquare = FreeCAD_Paramter.GetString("seT_User_UnitSymbolSquare") | |
seT_User_UnitSymbolCube = FreeCAD_Paramter.GetString("seT_User_UnitSymbolCube") | |
seT_User_UnitSymbolMicro = FreeCAD_Paramter.GetString("seT_User_UnitSymbolMicro") | |
## | |
seT_System_IndexUnitLength = FreeCAD_Paramter.GetInt("seT_System_IndexUnitLength") # | |
seT_System_IndexUnitText = FreeCAD_Paramter.GetString("seT_System_IndexUnitText" ) # seT_System_IndexUnitText | |
## | |
uniteM = FreeCAD_Paramter.GetFloat("seT_System_uniteM") | |
uniteMs = FreeCAD_Paramter.GetString("seT_System_uniteMs") | |
uniteS = FreeCAD_Paramter.GetFloat("seT_System_uniteS") | |
uniteSs = FreeCAD_Paramter.GetString("seT_System_uniteSs") | |
uniteV = FreeCAD_Paramter.GetFloat("seT_System_uniteV") | |
uniteVs = FreeCAD_Paramter.GetString("seT_System_uniteVs") | |
activeInfo() | |
# except Exception: | |
# None | |
def activeInfo(): | |
global SubElementName | |
global objectName | |
global position | |
global pos2D | |
global sel | |
global selEx | |
global objs | |
global sObj | |
global fontGlobal_08 | |
global sketch0selEx | |
global lineEdit_ToolBar | |
global seT_User_DecimalValue | |
global seT_User_TextHeigthValue | |
global FreeCAD_Paramter | |
global switch_User_Work_With_PreselectionAsterix | |
global switch_User_Display_objectName | |
global switch_User_Display_SubElementName | |
global switch_User_Display_ShapeType | |
global switch_User_Display_TypeId | |
global switch_User_Display_NumberFacesMesh | |
global switch_User_Display_NumberPointsMeshPoints | |
global switch_User_Display_NumberEdgesMesh | |
global switch_User_Display_RadiusObject | |
global switch_User_Display_RadiusSurface | |
global switch_User_Display_BsplineObject | |
global switch_User_Display_CentreObject | |
global switch_User_Display_CentreBoundBoxObject | |
global switch_User_Display_LengthObject | |
global switch_User_Display_SommeAllEdgesObject | |
global switch_User_Display_AreaObject | |
global switch_User_Display_AreaSubObject | |
global switch_User_Display_Position | |
global switch_User_Display_VolumeObject | |
global switch_User_Display_Position_2D_CAD | |
global switch_User_Display_Position_2D_BMP | |
global seT_User_StyleSheetColorToolBar | |
global switch_User_Work_With_Preselection | |
global uniteM | |
global uniteMs | |
global uniteS | |
global uniteSs | |
global uniteV | |
global uniteVs | |
global infoFaceMesh | |
global indexFaceMeshSTR | |
doc = FreeCAD.activeDocument() | |
if doc == None: | |
FreeCAD.Console.PrintError("Not activeView or ..." + "\n") | |
doc = FreeCAD.newDocument("FCInfo Tools") | |
None | |
else: | |
try: | |
rayonObjet = rayonSurface = longueurObjet = sommeEdges = surfaceObj = surfaceFace = volumeObject = 0.0 | |
nombreFacesMesh = nombrePointsMesh = nombreArretesMesh = BsplineNombreDeNoeuds = indexSubObject = 0 | |
## Asterix and Obelix | |
objectNameAsterix = SubElementNameAsterix = typeObjectShapeTypeSTRAsterix = typeObjectTypeIdSTRAsterix = nombreFacesMeshSTRAsterix = nombrePointsMeshSTRAsterix = "" | |
nombreArretesMeshSTRAsterix = rayonObjetSTRAsterix = rayonSurfaceSTRAsterix = longueurSTRAsterix = sommeEdgesSTRAsterix = surfaceObjSTRAsterix = surfaceFaceSTRAsterix = "" | |
volumeObjectSTRAsterix = bsplineSTRAsterix = centreObjetSTRAsterix = centreBBSTRAsterix = positionSTRAsterix = Position2DSTRAsterix = "" | |
bsplineNoeudsSTR = bsplineRayonObjetAppSTR = bsplinePointsCoorSoSTR = bsplinePointsCoorShapeSTR = "" | |
rayonObjetSTR = diametreObjetSTR = rayonSurfaceSTR = diametreSurfaceSTR = longueurSTR = surfaceObjSTR = surfaceFaceSTR = volumeObjectSTR = bsplineSTR = centreObjetSTR = centreBBSTR = positionSTR = pos2DSTR = "" | |
nombreFacesMeshSTR = nombrePointsMeshSTR = nombreArretesMeshSTR = typeObjectShapeTypeSTR = typeObjectTypeIdSTR = sketchObjectTypeSTR = centreObjet = "" | |
BsplineArcsRadius = [] | |
BsplinePointsCoorS = [] | |
BsplinePointsCoorSo = [] | |
lineEdit = "" | |
lineEdit_ToolBar.clear() | |
if switch_User_Display_objectName == 1: # objectName | |
try: | |
objectNameAsterix = " *" | |
lineEdit += " (" + str(objectName) + ") " | |
except Exception: | |
objectName = "" | |
lineEdit += " (" + str(objectName) + ") " | |
if switch_User_Display_SubElementName == 1: # SubElementName | |
try: | |
SubElementNameAsterix = " *" | |
try: | |
if hasattr(objs[0], "Mesh"): | |
SubElementName = "" | |
SubElementName = "Face" + indexFaceMeshSTR | |
except Exception: None | |
lineEdit += " (" + str(SubElementName) + ") " | |
except Exception: | |
SubElementName = "" | |
lineEdit += " (" + str(SubElementName) + ") " | |
#### sketcher begin #### | |
## | |
##https://forum.freecadweb.org/viewtopic.php?f=22&t=53127 | |
##How to select edges inside of Sketcher? | |
## | |
sketch = sel[0] #sketch0 = Gui.Selection.getSelectionEx()[0] | |
App.ActiveDocument.recompute() | |
sketchObjectTypeSTR = indexSubObjectSTR = "" | |
if (Gui.ActiveDocument.getInEdit() and (sketch.TypeId == "Sketcher::SketchObject")): # sketcher open | |
if ("H_Axis" in SubElementName) or ("V_Axis" in SubElementName) or ("Constraint" in SubElementName) or ("Vertex" in SubElementName): | |
None | |
else: | |
try: | |
longueurSTR = rayonObjetSTR = diametreObjetSTR = rayonSurfaceSTR = diametreSurfaceSTR = CentreObjet = MajorRadiusObjet = MajorRadiusObjet = "" | |
nameSketch = sketch.Name | |
try: | |
indexSubObject = int(SubElementName[4:]) - 1 # index Edge10 | |
sObject = App.ActiveDocument.getObject(nameSketch).Geometry[indexSubObject] | |
sketchObjectTypeSTR = sketch.TypeId | |
lineEdit += " (TyO:" + str(sketchObjectTypeSTR) + ") " | |
indexSubObjectSTR = " (I:" + str(indexSubObject) + ") " | |
lineEdit += indexSubObjectSTR | |
except Exception: None | |
if isinstance(sObject,(Part.LineSegment)): | |
longueurObjet = sObject.length() | |
elif isinstance(sObject,(Part.BSplineCurve)): | |
longueurObjet = sObject.length() | |
elif isinstance(sObject,(Part.Circle)): | |
longueurObjet = sObject.length() | |
rayonObjet = sObject.Radius | |
CentreObjet = sObject.Center | |
elif isinstance(sObject,(Part.ArcOfCircle)): | |
longueurObjet = sObject.length() | |
rayonObjet = sObject.Radius | |
CentreObjet = sObject.Center | |
elif isinstance(sObject,(Part.Ellipse)): | |
longueurObjet = sObject.length() | |
CentreObjet = sObject.Center | |
MajorRadiusObjet = sObject.MajorRadius | |
MinorRadiusObjet = sObject.MinorRadius | |
elif isinstance(sObject,(Part.ArcOfEllipse)): | |
longueurObjet = sObject.length() | |
CentreObjet = sObject.Center | |
MajorRadiusObjet = sObject.MajorRadius | |
MinorRadiusObjet = sObject.MinorRadius | |
elif isinstance(sObject,(Part.ArcOfParabola)): | |
longueurObjet = sObject.length() | |
CentreObjet = sObject.Center | |
elif isinstance(sObject,(Part.ArcOfHyperbola)): | |
longueurObjet = sObject.length() | |
CentreObjet = sObject.Center | |
MajorRadiusObjet = sObject.MajorRadius | |
MinorRadiusObjet = sObject.MinorRadius | |
else: | |
None | |
if switch_User_Display_LengthObject == 1: # longueurObjet | |
try: | |
if longueurObjet != 0.0: | |
longueurSTR = " (L:" + str(round(longueurObjet * uniteM, seT_User_DecimalValue)) + " " + uniteMs + ") " | |
lineEdit += longueurSTR | |
except Exception: None | |
if switch_User_Display_RadiusObject == 1: # rayon objet | |
try: | |
if rayonObjet != 0.0: | |
rayonObjetSTR = ("(r:" + str(round(rayonObjet * uniteM, seT_User_DecimalValue)) + " " + uniteMs + ") ") | |
diametreObjetSTR = (" [D:" + str(round(rayonObjet * 2.0, seT_User_DecimalValue)) + " " + uniteMs + "] ") | |
lineEdit += rayonObjetSTR + diametreObjetSTR | |
except Exception: None | |
if switch_User_Display_RadiusSurface == 1: # rayon d'une surface | |
try: | |
if rayonSurface != 0.0: | |
rayonSurfaceSTR = ("(rS:" + str(round(rayonSurface * uniteM, seT_User_DecimalValue)) + " " + uniteMs + ") ") | |
diametreSurfaceSTR = (" [DS:" + str(round(rayonSurface * 2.0, seT_User_DecimalValue)) + " " + uniteMs + "] ") | |
lineEdit += rayonSurfaceSTR + diametreSurfaceSTR | |
except Exception: None | |
if switch_User_Display_CentreObject == 1: # centre cercle et autres | |
try: | |
if CentreObjet != "": | |
CentreObjetSTR = (" (Ce:" + "X:" + str(round(float(CentreObjet[0] * uniteM), seT_User_DecimalValue)) + " " + uniteMs + "," + | |
"Y:" + str(round(float(CentreObjet[1] * uniteM), seT_User_DecimalValue)) + " " + uniteMs + "," + | |
"Z:" + str(round(float(CentreObjet[2] * uniteM), seT_User_DecimalValue)) + " " + uniteMs + ") ") | |
lineEdit += CentreObjetSTR | |
except Exception: None | |
#try: | |
# radiusObjectSTR = (" (r:" + "Min:" + str(round(float(MajorRadiusObjet * uniteM), seT_User_DecimalValue)) + " " + uniteMs + ", " + | |
# "Maj:" + str(round(float(MinorRadiusObjet * uniteM), seT_User_DecimalValue)) + " " + uniteMs + ") ") | |
# lineEdit += radiusObjectSTR | |
#except Exception: None | |
except Exception: | |
App.Console.PrintError("Error read Sketcher") | |
#### sketcher end #### | |
else: | |
#### Shape Mesh Points Begin #### | |
try: | |
if hasattr(objs[0], "Shape"): # object Shape | |
sObj = objs[0].Shape | |
elif hasattr(objs[0], "Mesh"): # object mesh # upgrade with wmayer thanks #http://forum.freecadweb.org/viewtopic.php?f=13&t=22331 | |
sObj = objs[0].Mesh | |
######## appel 2 fois sinon le premier appel donne 0 ? meme comme ca !! | |
try: | |
Gui.ActiveDocument.ActiveView.removeEventCallbackPivy(coin.SoMouseButtonEvent.getClassTypeId(), infoFaceMesh) | |
except Exception: None | |
try: | |
infoFaceMesh2 = infoFaceMesh = Gui.ActiveDocument.ActiveView.addEventCallbackPivy(coin.SoMouseButtonEvent.getClassTypeId(), getNormal) | |
infoFaceMesh2 = infoFaceMesh = Gui.ActiveDocument.ActiveView.addEventCallbackPivy(coin.SoMouseButtonEvent.getClassTypeId(), getNormal) | |
Gui.ActiveDocument.ActiveView.removeEventCallbackPivy(coin.SoMouseButtonEvent.getClassTypeId(), infoFaceMesh) | |
except Exception: None | |
######## | |
elif hasattr(objs[0], "Points"): # object Points | |
sObj = objs[0].Points | |
else: | |
sObj = "x" | |
except Exception: | |
sObj = "x" | |
if switch_User_Display_ShapeType == 1: # Shape Type | |
try: | |
typeObjectShapeTypeSTRAsterix = " *" | |
typeObjectShapeTypeSTR = sObj.ShapeType | |
lineEdit += " (TyS:" + str(typeObjectShapeTypeSTR) + ") " | |
except Exception: | |
try: | |
if hasattr(objs[0], "Mesh"): | |
lineEdit += " (Ty:" + "Mesh" + ") " | |
if hasattr(objs[0], "Points"): | |
lineEdit += " (Ty:" + "Point" + ") " | |
else: | |
None | |
except Exception: None | |
# if switch_User_Display_SommeAllEdgesObject == 1: # sommeEdges total edges | |
# try: | |
# sommeEdgesSTRAsterix = " *" | |
# for j in sObj.Edges: | |
# sommeEdges += j.Length | |
# sommeEdgesSTR = str(sommeEdges) | |
# lineEdit += " (Se:" + sommeEdgesSTR + ") " | |
# except Exception: None | |
if switch_User_Display_TypeId == 1: # Shape TypeId | |
try: | |
typeObjectTypeIdSTRAsterix = " *" | |
typeObjectTypeIdSTR = str(sel[0].Shape.TypeId) | |
lineEdit += " (TyI:" + typeObjectTypeIdSTR + ") " | |
except Exception: None | |
if switch_User_Display_NumberFacesMesh == 1: # Nombre Faces Mesh | |
try: | |
nombreFacesMeshSTRAsterix = " *" | |
if hasattr(objs[0], "Mesh"): | |
nombreFacesMesh = sObj.CountFacets | |
nombreFacesMeshSTR = str(nombreFacesMesh) | |
lineEdit += " (Nf:" + nombreFacesMeshSTR + ") " | |
except Exception: None | |
if switch_User_Display_NumberPointsMeshPoints == 1: # Nombre Points Mesh | |
try: | |
nombrePointsMeshSTRAsterix = " *" | |
if (hasattr(objs[0], "Mesh")) or (hasattr(objs[0], "Points")): | |
nombrePointsMesh = sObj.CountPoints | |
nombrePointsMeshSTR = str(nombrePointsMesh) | |
lineEdit += " (Np:" + nombrePointsMeshSTR + ") " | |
except Exception: None | |
if switch_User_Display_NumberEdgesMesh == 1: # Nombre Edges Mesh | |
try: | |
nombreArretesMeshSTRAsterix = " *" | |
if hasattr(objs[0], "Mesh"): | |
try: # no in version 018 | |
nombreArretesMesh = sObj.CountEdges | |
except Exception: | |
nombreArretesMesh = 0 | |
nombreArretesMeshSTR = str(nombreArretesMesh) | |
lineEdit += " (Ne:" + nombreArretesMeshSTR + ") " | |
except Exception: None | |
if switch_User_Display_RadiusObject == 1: # radius object | |
try: | |
rayonObjetSTRAsterix = " *" | |
rayonObjet = selEx.Curve.Radius | |
rayonObjetSTR = ("(r:" + str(round(rayonObjet * uniteM, seT_User_DecimalValue)) + " " + uniteMs + ") ") | |
diametreObjetSTR = (" [D:" + str(round(rayonObjet * 2.0, seT_User_DecimalValue)) + " " + uniteMs + "] ") | |
lineEdit += rayonObjetSTR + diametreObjetSTR | |
except Exception: None | |
if switch_User_Display_RadiusSurface == 1: # radius surface | |
try: | |
rayonSurfaceSTRAsterix = " *" | |
rayonSurface = selEx.Surface.Radius | |
rayonSurfaceSTR = ("(rS:" + str(round(rayonSurface * uniteM, seT_User_DecimalValue)) + " " + uniteMs + ") ") | |
diametreSurfaceSTR = (" [DS:" + str(round(rayonSurface * 2.0, seT_User_DecimalValue)) + " " + uniteMs + "] ") | |
lineEdit += rayonSurfaceSTR + diametreSurfaceSTR | |
except Exception: None | |
if switch_User_Display_LengthObject == 1: # longueurObjet | |
try: | |
longueurSTRAsterix = " *" | |
if hasattr(objs[0], "Mesh"): | |
try: | |
length0 = sObj.Facets[int(indexFaceMeshSTR)].getEdge(0).Length # getEdge no in version 018 | |
length1 = sObj.Facets[int(indexFaceMeshSTR)].getEdge(1).Length | |
length2 = sObj.Facets[int(indexFaceMeshSTR)].getEdge(2).Length | |
longueurObjet = length0 + length1 + length2 # perimetre triangle | |
except Exception: | |
longueurObjet = length0 = length1 = length2 = 0.0 | |
if longueurObjet != 0.0: | |
longueurSTR = " (P:" + str(round(longueurObjet * uniteM, seT_User_DecimalValue)) + " " + uniteMs + ") " | |
lineEdit += longueurSTR | |
else: | |
longueurObjet = selEx.Length | |
if longueurObjet != 0.0: | |
if "Face" in str(selEx): | |
longueurSTR = " (P:" + str(round(longueurObjet * uniteM, seT_User_DecimalValue)) + " " + uniteMs + ") " | |
else: | |
longueurSTR = " (L:" + str(round(longueurObjet * uniteM, seT_User_DecimalValue)) + " " + uniteMs + ") " | |
lineEdit += longueurSTR | |
except Exception: None | |
if switch_User_Display_SommeAllEdgesObject == 1: # sommeEdges total edges | |
try: | |
sommeEdgesSTRAsterix = " *" | |
for j in sObj.Edges: | |
sommeEdges += j.Length | |
sommeEdgesSTR = str(round(sommeEdges * uniteM, seT_User_DecimalValue)) + " " + uniteMs | |
lineEdit += " (Se:" + sommeEdgesSTR + ") " | |
except Exception: None | |
if switch_User_Display_AreaObject == 1: # surface | |
try: | |
surfaceObjSTRAsterix = " *" | |
if hasattr(objs[0], "Mesh"): | |
surfaceObj = sObj.Area | |
else: | |
surfaceObj = sel[0].Shape.Area | |
if surfaceObj != 0.0: | |
surfaceObjSTR = str(round(surfaceObj * uniteS, seT_User_DecimalValue)) +" "+ uniteSs | |
lineEdit += " (Ao:" + surfaceObjSTR + ") " | |
except Exception: None | |
if switch_User_Display_AreaSubObject == 1: # surface face | |
try: | |
surfaceFaceSTRAsterix = " *" | |
if hasattr(objs[0], "Mesh"): | |
surfaceFace = sObj.Facets[int(indexFaceMeshSTR)].Area | |
else: | |
surfaceFace = selEx.Area | |
if surfaceFace != 0.0: | |
surfaceFaceSTR = str(round(surfaceFace * uniteS, seT_User_DecimalValue)) +" "+ uniteSs | |
lineEdit += " (Af:" + surfaceFaceSTR + ") " | |
except Exception: None | |
if switch_User_Display_VolumeObject == 1: # Volume | |
try: | |
volumeObjectSTRAsterix = " *" | |
if hasattr(objs[0], "Mesh"): | |
volumeObject = sObj.Volume | |
else: | |
volumeObject = sel[0].Shape.Volume | |
if volumeObject != 0.0: | |
volumeObjectSTR = str(round(volumeObject * uniteV, seT_User_DecimalValue)) + " " + uniteVs | |
lineEdit += " (V:" + volumeObjectSTR + ") " | |
except Exception: None | |
if switch_User_Display_BsplineObject == 1: # Bspline | |
try: | |
bsplineSTRAsterix = " *" | |
BsplineDetect = selEx.Curve | |
BsplineNombreDeNoeuds = BsplineDetect.NbKnots | |
bsplineNoeudsSTR = " (BSKnots:" + str(BsplineNombreDeNoeuds) + " n) " | |
#### toBiArcs | |
setBSplineToByArcValue = 0.00001 | |
BsplineArcsToBiArcs = BsplineDetect.toBiArcs(setBSplineToByArcValue) | |
BsplineNumberElement = len(BsplineArcsToBiArcs) | |
for i in BsplineArcsToBiArcs: # radius on point "toBiArcs(0.00001)" | |
try: | |
BsplineArcsRadius.append(i.Radius) # .Axis , Vector (-0.72, 0.495, -0.47) | |
rayonObjet = BsplineArcsRadius[0] | |
except Exception: | |
BsplineArcsRadius = [] | |
rayonObjet = 0.0 # rayon approximatif | |
BsplineNumberToBiArcs = len(BsplineArcsToBiArcs) | |
#### toBiArcs | |
BsplineRayonApproximatif = str(round(BsplineArcsRadius[0] * float(uniteM))) + " " + uniteMs | |
try: | |
#### distance between 2 points Shape | |
bsplineL = sel[0] | |
BsplineLength = float(bsplineL.Shape.Length) | |
BsplineCutLength = BsplineLength / float(BsplineNumberElement) | |
#### points noeuds | |
for i in bsplineL.Points: # nombre de points (noeuds) | |
BsplinePointsCoorS.append(i) | |
#### points Shape | |
bsplinePointsCoorShapeSTR = " (BSS:" + str(len(BsplinePointsCoorS)) + " p) " #BSpline Shape | |
except Exception: # None | |
#### distance between 2 points Curve.getPoles() #BSpline SubObject | |
bsplineL = selEx #.Curve | |
BsplineLength = float(bsplineL.Length) | |
BsplineCutLength = BsplineLength / float(BsplineNumberElement) | |
#### points a.Curve.NbKnots | |
for i in selEx.Curve.getPoles(): # nombre de poles (noeuds) | |
BsplinePointsCoorSo.append(i) | |
bsplinePointsCoorSoSTR = " (BSc:" + str(len(BsplinePointsCoorSo)) + " p) " | |
#### points a.Curve.NbKnots | |
bsplineRayonObjetAppSTR = " (BSrA:" + str(round(rayonObjet * float(uniteM),seT_User_DecimalValue)) + " " + uniteMs +") " | |
lineEdit += bsplineNoeudsSTR + bsplineRayonObjetAppSTR + bsplinePointsCoorSoSTR + bsplinePointsCoorShapeSTR | |
except Exception: None | |
if switch_User_Display_CentreObject == 1: # centre cercle | |
try: | |
centreObjetSTRAsterix = " *" | |
if hasattr(objs[0], "Mesh"): | |
CenterOfMassX = sObj.CenterOfGravity[0] | |
CenterOfMassY = sObj.CenterOfGravity[1] | |
CenterOfMassZ = sObj.CenterOfGravity[2] | |
boundBoxLocation = App.Vector(CenterOfMassX, CenterOfMassY, CenterOfMassZ) | |
else: | |
try: | |
boundBoxLocation = selEx.Curve.Center | |
except Exception: | |
#boundBoxLocation = selEx.CenterOfMass | |
boundBoxLocation = selEx.BoundBox.Center | |
#### correction | |
BDvol = adjustedGlobalPlacement(objs[0], boundBoxLocation) | |
#### | |
boundBoxCenterX = BDvol.Base[0] | |
boundBoxCenterY = BDvol.Base[1] | |
boundBoxCenterZ = BDvol.Base[2] | |
centreObjet = App.Vector(boundBoxCenterX, boundBoxCenterY, boundBoxCenterZ) | |
if centreObjet != "": | |
centreObjetSTR = (" (Ce:" + "X:" + str(round(float(boundBoxCenterX * uniteM), seT_User_DecimalValue)) + " " + uniteMs + "," + | |
"Y:" + str(round(float(boundBoxCenterY * uniteM), seT_User_DecimalValue)) + " " + uniteMs + "," + | |
"Z:" + str(round(float(boundBoxCenterZ * uniteM), seT_User_DecimalValue)) + " " + uniteMs + ") ") | |
lineEdit += centreObjetSTR | |
except Exception: None | |
if switch_User_Display_CentreBoundBoxObject == 1: # centre BoundBox objet | |
try: | |
centreBBSTRAsterix = " *" | |
boundBox_ = sObj.BoundBox | |
boundBoxLX = boundBox_.XLength | |
boundBoxLY = boundBox_.YLength | |
boundBoxLZ = boundBox_.ZLength | |
try: | |
boundBoxDiag = boundBox_.DiagonalLength | |
except Exception: | |
boundBoxDiag = 0.0 | |
#### correction | |
boundBoxLocation = App.Vector(boundBox_.Center[0], boundBox_.Center[1], boundBox_.Center[2]) | |
BDvol = adjustedGlobalPlacement(objs[0], boundBoxLocation) | |
#### | |
boundBoxCenterX = BDvol.Base[0] | |
boundBoxCenterY = BDvol.Base[1] | |
boundBoxCenterZ = BDvol.Base[2] | |
centreBBSTR = (" (BBCe:" + "X:" + str(round(float(boundBoxCenterX * uniteM), seT_User_DecimalValue)) + " " + uniteMs + "," + | |
"Y:" + str(round(float(boundBoxCenterY * uniteM), seT_User_DecimalValue)) + " " + uniteMs + "," + | |
"Z:" + str(round(float(boundBoxCenterZ * uniteM), seT_User_DecimalValue)) + " " + uniteMs + ") ") | |
lineEdit += centreBBSTR | |
except Exception: None | |
#### Shape Mesh Points End #### | |
if switch_User_Display_Position == 1: # position pour Normal | |
try: | |
positionSTRAsterix = " *" | |
position0STR = position1STR = position2STR = "" | |
position0STR = str(round(position[0] * uniteM, seT_User_DecimalValue)) + " " + uniteMs | |
position1STR = str(round(position[1] * uniteM, seT_User_DecimalValue)) + " " + uniteMs | |
position2STR = str(round(position[2] * uniteM, seT_User_DecimalValue)) + " " + uniteMs | |
positionSTR = " (Pos: X:" + position0STR + " Y:" + position1STR + " Z:" + position2STR + ") " | |
lineEdit += positionSTR | |
except Exception: None | |
if (switch_User_Display_Position_2D_CAD == 1) or (switch_User_Display_Position_2D_BMP == 1): # position pour 2D | |
try: | |
Position2DSTRAsterix = " *" | |
pos2D0STR = str(pos2D[0]) | |
pos2D1STR = str(pos2D[1]) # CAD Y : Y0 = coin Inferieur Gauche | |
try: | |
if switch_User_Display_Position_2D_BMP == True: # BMP Y : Y0 = coin Superieur Gauche | |
pos2D1STR = str(Gui.activeDocument().activeView().getSize()[1] - pos2D[1] ) # reverse Y : Y0 = coin Superieur Gauche | |
except Exception: | |
None | |
pos2DSTR = " (Pos: X2D:" + pos2D0STR + "px Y2D:" + pos2D1STR + "px) " | |
lineEdit += pos2DSTR | |
except Exception: None | |
seT_User_TextHeigthValue = FreeCAD_Paramter.GetInt("seT_User_TextHeigthValue") | |
fontGlobal_08.setPixelSize(seT_User_TextHeigthValue) | |
lineEdit_ToolBar.setFont(fontGlobal_08) | |
lineEdit_ToolBar.setText(lineEdit) | |
lineEdit_ToolBar.setToolTip("\n" + | |
"*****" + "\n" + | |
"Preselection" + "\t\t" + ":" + switch_User_Work_With_PreselectionAsterix + "\t\t\t" + ":" + "\t" + str(switch_User_Work_With_Preselection) + "\n" + | |
"*****" + "\n" + | |
"Element Name" + "\t\t" + ":" + objectNameAsterix + "\t" + "( )" + "\t\t" + ":" + "\t" + str(objectName) + "\n" + | |
"Sub element Name" + "\t" + ":" + SubElementNameAsterix + "\t" + "( )" + "\t\t" + ":" + "\t" + str(SubElementName) + "\n" + | |
"Shape Type" + "\t\t" + ":" + typeObjectShapeTypeSTRAsterix + "\t" + "(TyS)" + "\t\t" + ":" + "\t" + typeObjectShapeTypeSTR + "\n" + | |
"Shape TypeId" + "\t\t" + ":" + typeObjectTypeIdSTRAsterix + "\t" + "(TyI)" + "\t\t" + ":" + "\t" + typeObjectTypeIdSTR + "\n" + | |
"*****" + "\n" + | |
"Sketcher TypeObject" + "\t" + ":" + typeObjectTypeIdSTRAsterix + "\t" + "(TyO)" + "\t\t" + ":" + "\t" + sketchObjectTypeSTR + "\n" + | |
"Sketcher Index" + "\t\t" + ":" + " *" + "\t" + "(I)" + "\t\t" + ":" + "\t" + str(indexSubObject) + "\n" + | |
"*****" + "\n" + | |
"Radius" + "\t\t\t" + ":" + rayonObjetSTRAsterix + "\t" + "(r)" + "\t\t" + ":" + "\t" + str(round(rayonObjet * uniteM, seT_User_DecimalValue)) + " " + uniteMs + "\n" + | |
"Diameter" + "\t\t" + ":" + rayonObjetSTRAsterix + "\t" + "[D]" + "\t\t" + ":" + "\t" + str(round(rayonObjet * 2.0 * uniteM, seT_User_DecimalValue)) + " " + uniteMs + "\n" + | |
"RadiusSurface" + "\t\t" + ":" + rayonSurfaceSTRAsterix + "\t" + "(rS)" + "\t\t" + ":" + "\t" + str(round(rayonSurface * uniteM, seT_User_DecimalValue)) + " " + uniteMs + "\n" + | |
"DiameterSurface" + "\t\t" + ":" + rayonSurfaceSTRAsterix + "\t" + "[DS]" + "\t\t" + ":" + "\t" + str(round(rayonSurface * 2.0 * uniteM, seT_User_DecimalValue)) + " " + uniteMs + "\n" + | |
"Length or Perimeter" + "\t" + ":" + longueurSTRAsterix + "\t" + "(L) or (P)" + "\t\t" + ":" + "\t" + str(round(longueurObjet * uniteM, seT_User_DecimalValue)) + " " + uniteMs + "\n" + | |
"Somme Edges" + "\t\t" + ":" + sommeEdgesSTRAsterix + "\t" + "(Se)" + "\t\t" + ":" + "\t" + str(round(sommeEdges * uniteM, seT_User_DecimalValue)) + " " + uniteMs + "\n" + | |
"*****" + "\n" + | |
"Number Faces Mesh" + "\t" + ":" + nombreFacesMeshSTRAsterix + "\t" + "(Nf)" + "\t\t" + ":" + "\t" + nombreFacesMeshSTR + " faces" + "\n" + | |
"Num. Points Mesh/Points" + "\t"+ ":" + nombrePointsMeshSTRAsterix + "\t" + "(Np)" + "\t\t" + ":" + "\t" + nombrePointsMeshSTR + " points" + "\n" + | |
"Number Edges Mesh" + "\t" + ":" + nombreArretesMeshSTRAsterix + "\t" + "(Ne)" + "\t\t" + ":" + "\t" + nombreArretesMeshSTR + " edges" + "\n" + | |
"*****" + "\n" + | |
"Area Object" + "\t\t" + ":" + surfaceObjSTRAsterix + "\t" + "(Ao)" + "\t\t" + ":" + "\t" + str(round(surfaceObj * uniteS, seT_User_DecimalValue)) +" "+ uniteSs + "\n" + | |
"Area Face" + "\t\t" + ":" + surfaceFaceSTRAsterix + "\t" + "(Af)" + "\t\t" + ":" + "\t" + str(round(surfaceFace * uniteS, seT_User_DecimalValue)) +" "+ uniteSs + "\n" + | |
"Volume" + "\t\t\t" + ":" + volumeObjectSTRAsterix + "\t" + "(V)" + "\t\t" + ":" + "\t" + str(round(volumeObject * uniteV, seT_User_DecimalValue)) + " " + uniteVs + "\n" + | |
"*****" + "\n" + | |
"BSPline Node" + "\t\t" + ":" + bsplineSTRAsterix + "\t" + "(BSpline)" + "\t\t" + ":" + "\t" + str(BsplineNombreDeNoeuds) + " " + "nodes" + "\n" + | |
"BSPline radius" + "\t\t" + ":" + bsplineSTRAsterix + "\t" + "(BSrA)" + "\t\t" + ":" + "\t" + str(round(rayonObjet * float(uniteM),seT_User_DecimalValue)) + " " + uniteMs + "\n" + | |
"BSPline Points Shape" + "\t"+ ":" + bsplineSTRAsterix + "\t" + "(BSS)" + "\t\t" + ":" + "\t" + str(len(BsplinePointsCoorS)) + " " + "points" + "\n" + | |
"BSPline Points SubObj" +"\t"+ ":" + bsplineSTRAsterix + "\t" + "(BSc)" + "\t\t" + ":" + "\t" + str(len(BsplinePointsCoorSo)) + " " + "points" + "\n" + | |
"*****" + "\n" + | |
"Center Circle or Mesh"+"\t" + ":" + centreObjetSTRAsterix + "\t" + "(Ce)" + "\t\t" + ":" + "\t" + centreObjetSTR + "\n" + | |
"BoundBox center" + "\t\t" + ":" + centreBBSTRAsterix + "\t" + "(BBCe)" + "\t\t" + ":" + "\t" + centreBBSTR + "\n" + | |
"Mouse position" + "\t\t" + ":" + positionSTRAsterix + "\t" + "(Pos)" + "\t\t" + ":" + "\t" + positionSTR + "\n" + | |
"*****" + "\n" + | |
"Mouse position screen 2D" + "\t"+ ":" + Position2DSTRAsterix + "\t" + "(Pos: X2D)" + "\t" + ":" + "\t" + pos2DSTR + "\n" + | |
"*****" + "\n" + | |
__title__ + "\t" + "Version : " + __version__ + "\t" + "Date : " + __date__ + "\n" + | |
"*****" + "\n") | |
if lineEdit == " () () " or lineEdit == "": | |
lineEdit_ToolBar.setText("Go to [Tools Edit paramater : User parameter:BaseApp/Preferences/Macros/FCMmacros/" + __title__ + "]" + "\n" + | |
" check your choice(s) to display and click the Refresh button, choice your Unit Enjoy.") | |
lineEdit_ToolBar.setToolTip("Go to [Tools Edit paramater : User parameter:BaseApp/Preferences/Macros/FCMmacros/" + __title__ + "]" + "\n" + | |
" check your choice(s) to display and click the Refresh button, choice your Unit Enjoy.") | |
lineEdit_ToolBar.setStyleSheet("QLineEdit {color: black; background-color: red}") | |
else: | |
lineEdit_ToolBar.setStyleSheet("QLineEdit {color: QPalette.Base; background-color: QPalette.Base}") | |
lineEdit_ToolBar.setCursorPosition(0) | |
except Exception: | |
lineEdit_ToolBar.setText("Error or Go to [Tools Edit paramater : User parameter:BaseApp/Preferences/Macros/FCMmacros/" + __title__ + "]" + "\n" + | |
" check your choice(s) to display and click the Refresh button, choice your Unit Enjoy.") | |
lineEdit_ToolBar.setToolTip("Error or Go to [Tools Edit paramater : User parameter:BaseApp/Preferences/Macros/FCMmacros/" + __title__ + "]" + "\n" + | |
" check your choice(s) to display and click the Refresh button, choice your Unit Enjoy.") | |
lineEdit_ToolBar.setStyleSheet("QLineEdit {color: black; background-color: red}") | |
# lineEdit = "-" | |
# lineEdit_ToolBar.setText(lineEdit) | |
def SIGNAL_comboBox_Changed(text): | |
global uniteM | |
global uniteMs | |
global uniteS | |
global uniteSs | |
global uniteV | |
global uniteVs | |
global seT_User_UnitSymbolSquare | |
global seT_User_UnitSymbolCube | |
global seT_User_UnitSymbolMicro | |
global seT_System_IndexUnitLength | |
global seT_System_IndexUnitText | |
global comboBox_ToolBar | |
global FreeCAD_Paramter | |
if text == "km": # = 1000000 | |
uniteM = 0.000001 | |
uniteMs= "km" | |
uniteS = 0.000000000001 | |
uniteSs= "km"+seT_User_UnitSymbolSquare | |
uniteV = 0.000000000000000001 | |
uniteVs= "km"+seT_User_UnitSymbolCube | |
elif text == "hm": # = 100000 | |
uniteM = 0.00001 | |
uniteMs= "hm" | |
uniteS = 0.0000000001 | |
uniteSs= "hm"+seT_User_UnitSymbolSquare | |
uniteV = 0.000000000000001 | |
uniteVs= "hm"+seT_User_UnitSymbolCube | |
elif text == "dam": # = 10000 | |
uniteM = 0.0001 | |
uniteMs= "dam" | |
uniteS = 0.00000001 | |
uniteSs= "dam"+seT_User_UnitSymbolSquare | |
uniteV = 0.000000000001 | |
uniteVs= "dam"+seT_User_UnitSymbolCube | |
elif text == "m": # = 1000 | |
uniteM = 0.001 | |
uniteMs= "m" | |
uniteS = 0.000001 | |
uniteSs= "m"+seT_User_UnitSymbolSquare | |
uniteV = 0.000000001 | |
uniteVs= "m"+seT_User_UnitSymbolCube | |
elif text == "dm": # = 100 | |
uniteM = 0.01 | |
uniteMs= "dm" | |
uniteS = 0.0001 | |
uniteSs= "dm"+seT_User_UnitSymbolSquare | |
uniteV = 0.000001 | |
uniteVs= "dm"+seT_User_UnitSymbolCube | |
elif text == "cm": # = 10 | |
uniteM = 0.1 | |
uniteMs= "cm" | |
uniteS = 0.01 | |
uniteSs= "cm"+seT_User_UnitSymbolSquare | |
uniteV = 0.001 | |
uniteVs= "cm"+seT_User_UnitSymbolCube | |
elif text == "mm": # = 1 ############################### | |
uniteM = 1.0 | |
uniteMs= "mm" | |
uniteS = 1.0 | |
uniteSs= "mm"+seT_User_UnitSymbolSquare | |
uniteV = 1.0 | |
uniteVs= "mm"+seT_User_UnitSymbolCube | |
elif text == seT_User_UnitSymbolMicro+"m": # = 1000 #http://fr.wiktionary.org/wiki/%CE%BCm#conv | |
uniteM = 1000.0 | |
uniteMs= seT_User_UnitSymbolMicro+"m" | |
uniteS = 1000.0**2 | |
uniteSs= seT_User_UnitSymbolMicro+"m"+seT_User_UnitSymbolSquare | |
uniteV = 1000.0**3 | |
uniteVs= seT_User_UnitSymbolMicro+"m"+seT_User_UnitSymbolCube | |
elif text == "nm": # = 1000000 | |
uniteM = 1000000.0 | |
uniteMs= "nm" | |
uniteS = 1000000.0**2 | |
uniteSs= "nm"+seT_User_UnitSymbolSquare | |
uniteV = 1000000.0**3 | |
uniteVs= "nm"+seT_User_UnitSymbolCube | |
elif text == "pm": # = 1000000000 | |
uniteM = 1000000000.0 | |
uniteMs= "pm" | |
uniteS = 1000000000.0**2 | |
uniteSs= "pm"+seT_User_UnitSymbolSquare | |
uniteV = 1000000000.0**3 | |
uniteVs= "pm"+seT_User_UnitSymbolCube | |
elif text == "fm": # = 1000000000000 | |
uniteM = 1000000000000.0 | |
uniteMs= "fm" | |
uniteS = 1000000000000.0**2 | |
uniteSs= "fm"+seT_User_UnitSymbolSquare | |
uniteV = 1000000000000.0**3 | |
uniteVs= "fm"+seT_User_UnitSymbolCube | |
elif text == "inch": # inch = 25.400 | |
uniteM = 1.0/25.400 | |
uniteMs= "in" | |
uniteS = uniteM**2 | |
uniteSs= "in"+seT_User_UnitSymbolSquare | |
uniteV = uniteM**3 | |
uniteVs= "in"+seT_User_UnitSymbolCube | |
elif text == "link": # link = 201.168 | |
uniteM = 1.0/201.168 | |
uniteMs= "lk" | |
uniteS = uniteM**2 | |
uniteSs= "lk"+seT_User_UnitSymbolSquare | |
uniteV = uniteM**3 | |
uniteVs= "lk"+seT_User_UnitSymbolCube | |
elif text == "foot": # foot = 304.800 | |
uniteM = 1.0/304.800 | |
uniteMs= "ft" | |
uniteS = uniteM**2 | |
uniteSs= "ft"+seT_User_UnitSymbolSquare | |
uniteV = uniteM**3 | |
uniteVs= "ft"+seT_User_UnitSymbolCube | |
elif text == "yard": # yard = 914.400 | |
uniteM = 1.0/914.400 | |
uniteMs= "yd" | |
uniteS = uniteM**2 | |
uniteSs= "yd"+seT_User_UnitSymbolSquare | |
uniteV = uniteM**3 | |
uniteVs= "yd"+seT_User_UnitSymbolCube | |
elif text == "perch": #rd # rod perche = 5029.200 | |
uniteM = 1.0/5029.200 | |
uniteMs= "rd" | |
uniteS = uniteM**2 | |
uniteSs= "rd"+seT_User_UnitSymbolSquare | |
uniteV = uniteM**3 | |
uniteVs= "rd"+seT_User_UnitSymbolCube | |
elif text == "chain": # chain = 20116.800 | |
uniteM = 1.0/20116.800 | |
uniteMs= "ch" | |
uniteS = uniteM**2 | |
uniteSs= "ch"+seT_User_UnitSymbolSquare | |
uniteV = uniteM**3 | |
uniteVs= "ch"+seT_User_UnitSymbolCube | |
elif text == "furlong": # furlong= 201168 | |
uniteM = 1.0/201168 | |
uniteMs= "fur" | |
uniteS = uniteM**2 | |
uniteSs= "fur"+seT_User_UnitSymbolSquare | |
uniteV = uniteM**3 | |
uniteVs= "fur"+seT_User_UnitSymbolCube | |
elif text == "mile": # mile = 1609344 | |
uniteM = 1.0/1609344 | |
uniteMs= "mi" | |
uniteS = uniteM**2 | |
uniteSs= "mi"+seT_User_UnitSymbolSquare | |
uniteV = uniteM**3 | |
uniteVs= "mi"+seT_User_UnitSymbolCube | |
elif text == "league": # league = 4828032 | |
uniteM = 1.0/4828032 | |
uniteMs= "lea" | |
uniteS = uniteM**2 | |
uniteSs= "lea"+seT_User_UnitSymbolSquare | |
uniteV = uniteM**3 | |
uniteVs= "lea"+seT_User_UnitSymbolCube | |
elif text == "nautique": # nautique = 1852000 | |
uniteM = 1.0/1852000 | |
uniteMs= "nmi" | |
uniteS = uniteM**2 | |
uniteSs= "nmi"+seT_User_UnitSymbolSquare | |
uniteV = uniteM**3 | |
uniteVs= "nmi"+seT_User_UnitSymbolCube | |
seT_System_IndexUnitLength = comboBox_ToolBar.currentIndex() | |
seT_System_IndexUnitText = text | |
FreeCAD_Paramter.SetFloat("seT_System_uniteM", uniteM) | |
FreeCAD_Paramter.SetString("seT_System_uniteMs", uniteMs) | |
FreeCAD_Paramter.SetFloat("seT_System_uniteS", uniteS) | |
FreeCAD_Paramter.SetString("seT_System_uniteSs", uniteSs) | |
FreeCAD_Paramter.SetFloat("seT_System_uniteV", uniteV) | |
FreeCAD_Paramter.SetString("seT_System_uniteVs", uniteVs) | |
## demarrage | |
FreeCAD_Paramter.SetInt("seT_System_IndexUnitLength", seT_System_IndexUnitLength) # seT_System_IndexUnitLength | |
FreeCAD_Paramter.SetString("seT_System_IndexUnitText", seT_System_IndexUnitText) # seT_System_IndexUnitText | |
activeInfo() | |
##def displayDView(): | |
## global toolbar1 | |
## global lineEdit | |
## global lineEdit_ToolBar | |
## global switch_User_Display_ViewDirection | |
## global directionViewAsterix | |
## #global directionView | |
## global directionViewSTR | |
## | |
## directionViewAsterix = "" | |
## lineEdit_ToolBar.setStyleSheet("QLineEdit {QPalette.Base}") | |
## | |
## if switch_User_Display_ViewDirection == 1: # ViewDirection | |
## directionViewAsterix = " *" | |
## directionViewSTR = "" | |
## viewBase = FreeCADGui.ActiveDocument.ActiveView.viewPosition().Base | |
## vBx = str(round(viewBase.x, seT_User_DecimalValue)) | |
## vBy = str(round(viewBase.y, seT_User_DecimalValue)) | |
## vBz = str(round(viewBase.z, seT_User_DecimalValue)) | |
## | |
## viewRotation = FreeCADGui.ActiveDocument.ActiveView.viewPosition().Rotation.getYawPitchRoll() | |
## vRx = str(round(viewRotation[0], seT_User_DecimalValue)) | |
## vRy = str(round(viewRotation[1], seT_User_DecimalValue)) | |
## vRz = str(round(viewRotation[2], seT_User_DecimalValue)) | |
## | |
## vDBase = "Bx : " + vBx + ", By : " + vBy + ", Bz : " + vBz | |
## vDRota = "Yaw : " + vRx + ", Pitch : " + vRy + ", Roll : " + vRz | |
## directionViewSTR = "( " + vDBase + " ) ; ( " + vDRota + " )" | |
## | |
## lineEdit = "" | |
## lineEdit = "(DView: " + directionViewSTR + ")" | |
## lineEdit_ToolBar.setText(lineEdit) | |
##def decodePointColor2DView(x2DView = 0, y2DView = 0): | |
## # fonctionne mais empeche toute selection | |
## ##https://forum.freecad.org/viewtopic.php?p=696969#p696969 | |
## view = Gui.ActiveDocument.ActiveView | |
## vp = view.getViewer().getSoRenderManager().getViewportRegion() # FC ver 0.22 | |
## width = vp.getViewportSizePixels()[0] | |
## height = vp.getViewportSizePixels()[1] | |
## #### | |
## #view.saveImage("C:/Temp/test01.png", width, height, "Current") | |
## Gui.Selection.clearSelection() | |
## Gui.Selection.clearPreselection() | |
## viewGrab = Gui.ActiveDocument.ActiveView.getViewer() # FC ver 0.22 | |
## img = viewGrab.grabFramebuffer() | |
## #### Clipboard | |
## #data = PySide2.QtCore.QMimeData() | |
## #data.setImageData(img) | |
## #cb=QtGui.QClipboard() | |
## #cb.setMimeData(data, mode=PySide2.QtGui.QClipboard.Clipboard) | |
## #### Clipboard | |
## #### point color ####### | |
## point = PySide2.QtGui.QPixmap(img) | |
## ptn2DView = point.toImage() | |
#### section Observer begin ###################### | |
class SelObserver: # selection Observer | |
def addSelection(self, document, objet, element, positionx): # Selection | |
global SubElementName | |
global objectName | |
global sel | |
global selEx | |
global objs | |
global sObj | |
global sketch0selEx | |
SubElementName = element | |
objectName = objet | |
sel = Gui.Selection.getSelection() # object | |
objs = [selobj.Object for selobj in FreeCADGui.Selection.getSelectionEx()] | |
if objs == []: | |
objs = ["x"] | |
try: | |
sketch0selEx = FreeCADGui.Selection.getSelectionEx()[0] # unique objet pour sketch | |
selEx = FreeCADGui.Selection.getSelectionEx()[0].SubObjects[0] # unique objet | |
except Exception: | |
selEx = "" | |
activeInfo() | |
def setPreselection(self,doc,obj,sub): # preselection | |
global switch_User_Work_With_Preselection | |
if switch_User_Work_With_Preselection == 1: | |
global SubElementName | |
global objectName | |
global sel | |
global selEx | |
global objs | |
global lineEdit_ToolBar | |
global sketch0selEx | |
objs = sel = [] | |
SubElementName = selEx = objectName = "" | |
SubElementName = sub | |
objectName = obj | |
sel = [FreeCAD.ActiveDocument.getObject(objectName)] + [",x"] | |
objs = sel | |
sketch0selEx = App.ActiveDocument.getObject(objectName) | |
selEx = App.ActiveDocument.getObject(objectName).getSubObject(SubElementName) | |
if objs == []: | |
objs = ["x"] | |
activeInfo() | |
## def removeSelection(self,doc,obj,sub): # Effacer l'objet selectionne | |
## print( "removeSelection") | |
## def setSelection(self,doc): # Selection dans ComboView | |
## print( "SelObserver quit macro") | |
## def clearSelection(self,doc): # Si clic sur l'ecran, effacer la selection | |
## print( "clearSelection") # Si clic sur un autre objet, efface le precedent | |
sTB=SelObserver() | |
FreeCADGui.Selection.addObserver(sTB) # install the function resident mode | |
#FreeCADGui.Selection.removeObserver(sTB) # desinstalle la fonction residente | |
#### | |
#https://forum.freecadweb.org/viewtopic.php?f=22&t=37030&start=20#p315576 | |
global cTB | |
global oTB | |
global vTB; vTB=Gui.activeDocument().activeView() | |
class DocObserver: # document Observer | |
def slotActivateDocument(self,doc): | |
global cTB | |
global oTB | |
global vTB | |
try: | |
vTB.removeEventCallback("SoEvent",cTB) # close event observation | |
except Exception: None | |
try: # ajout de ty ... except | |
vTB=Gui.activeDocument().activeView() | |
oTB = ViewObserver(vTB) | |
cTB = vTB.addEventCallback("SoEvent",oTB.logPosition) | |
except Exception: None | |
obs=DocObserver() | |
App.addDocumentObserver(obs) | |
FreeCADGui.Selection.removeObserver(obs) # desinstalle la fonction residente | |
#### | |
vTB=Gui.activeDocument().activeView() | |
class ViewObserver: # vue souris Observer | |
def __init__(self, view): | |
self.view = view | |
def logPosition(self, info): | |
global cTB | |
global oTB | |
global vTB | |
global position | |
global pos2D | |
try: | |
vTB=Gui.activeDocument().activeView() | |
objectSurvol = vTB.getObjectInfo(vTB.getCursorPos()) # here for objectSurvol preselected | |
position = FreeCAD.Vector(float(objectSurvol["x"]),float(objectSurvol["y"]),float(objectSurvol["z"]))# vector on position mouse to objectSurvol | |
pos2D = info["Position"] # 2D X,Y | |
activeInfo() | |
except Exception: | |
#pos2D = info["Position"] # if mouse in 3D view | |
#position = self.view.getPoint(pos2D) # vector detect on mouse position 3D view | |
None | |
oTB = ViewObserver(vTB) | |
cTB = vTB.addEventCallback("SoEvent",oTB.logPosition) | |
#vTB.removeEventCallback("SoEvent",cTB) # close event observation | |
### section Observer end ###################### | |
############################################################################# | |
#### | |
#try: | |
mw = FreeCADGui.getMainWindow() | |
tb = mw.findChildren(QtWidgets.QToolBar) | |
switchtbar = 0 | |
for i in tb: | |
if str(i.objectName()) == __title__: | |
FreeCAD.Console.PrintError(__title__ + " is already open" + "\n") | |
switchtbar = 1 | |
# if i.isVisible(): | |
# i.setVisible(False) # visible False | |
# else: | |
# i.setVisible(True) # visible True | |
i.setVisible(True) # visible True | |
break | |
if switchtbar == 0: | |
#toolbar1 = QtWidgets.QToolBar() # place plus haut | |
mw.addToolBar(toolbar1) | |
toolbar1.setObjectName(__title__) | |
toolbar1.setWindowTitle(__title__) | |
#toolbar1.setFloatable(True) | |
if seT_User_setFixed_Tool_Bar_Width != 0: | |
toolbar1.setFixedWidth(seT_User_setFixed_Tool_Bar_Width) | |
if seT_User_setFixed_Tool_Bar_Height != 0: | |
toolbar1.setFixedHeight(seT_User_setFixed_Tool_Bar_Height) | |
toolbar1.setIconSize(QSize(seT_User_sizeIconX, seT_User_sizeIconY)) | |
#### color StyleSheet | |
seT_User_StyleSheetColorToolBar = FreeCAD_Paramter.GetString("seT_User_StyleSheetColorToolBar") | |
if seT_User_StyleSheetColorToolBar == "": | |
FreeCAD_Paramter.SetString("seT_User_StyleSheetColorToolBar", "0") | |
seT_User_StyleSheetColorToolBar = "0" | |
if seT_User_StyleSheetColorToolBar != "0": | |
toolbar1.setStyleSheet("QToolBar {background-color:" + seT_User_StyleSheetColorToolBar + ";}") #F8E6E0 | |
else: | |
toolbar1.setStyleSheet("QToolBar {QPalette.Base}") | |
# switch_User_Work_With_Preselection = FreeCAD_Paramter.GetBool("switch_User_Work_With_Preselection") # switch yes / no preselection | |
# if switch_User_Work_With_Preselection == 1: | |
# switch_User_Work_With_PreselectionAsterix= " *" | |
# toolbar1.setStyleSheet("QToolBar {QPalette.Base}") | |
# toolbar1.setStyleSheet("QToolBar {color: black; background-color: #F8E6E0}") # html code #F8E6E0 | |
# else: | |
# switch_User_Work_With_PreselectionAsterix= "" | |
#### color | |
toolbar1.addAction(QtGui.QIcon(QtGui.QPixmap(Refresh_Icon)), "Refresh after change in Preference"+"\n"+"and activate the modifications", Refresh_Preference)# icone, ToolTip, vers def: | |
#fontGlobal_08 = QtGui.QFont() # place plus haut | |
fontGlobal_08.setFamily("Arial") | |
#fontGlobal_08.setPointSize(seT_User_TextHeigthValue) | |
fontGlobal_08.setPixelSize(seT_User_TextHeigthValue) | |
comboBox_ToolBar = QtWidgets.QComboBox() | |
comboBox_ToolBar.addItem("km") | |
comboBox_ToolBar.addItem("hm") | |
comboBox_ToolBar.addItem("dam") | |
comboBox_ToolBar.addItem("m") | |
comboBox_ToolBar.addItem("dm") | |
comboBox_ToolBar.addItem("cm") | |
comboBox_ToolBar.addItem("mm") # 1 | |
comboBox_ToolBar.addItem("um") | |
comboBox_ToolBar.addItem("nm") | |
comboBox_ToolBar.addItem("pm") | |
comboBox_ToolBar.addItem("fm") | |
comboBox_ToolBar.addItem("inch") | |
comboBox_ToolBar.addItem("link") | |
comboBox_ToolBar.addItem("foot") | |
comboBox_ToolBar.addItem("yard") | |
comboBox_ToolBar.addItem("perch") | |
comboBox_ToolBar.addItem("chain") | |
comboBox_ToolBar.addItem("furlong") | |
comboBox_ToolBar.addItem("mile") | |
comboBox_ToolBar.addItem("league") | |
comboBox_ToolBar.addItem("nautique") | |
comboBox_ToolBar.setCurrentIndex(seT_System_IndexUnitLength) | |
QtCore.QObject.connect(comboBox_ToolBar, QtCore.SIGNAL("currentIndexChanged(QString)"), SIGNAL_comboBox_Changed) | |
##comboBox_ToolBar.setItemIcon(0, QIcon('C:/Users/Mario/AppData/Roaming/FreeCAD/Macro/Qt.png')) | |
toolbar1.addWidget(comboBox_ToolBar) | |
#lineEdit_ToolBar = QtWidgets.QLineEdit() # place plus haut | |
lineEdit_ToolBar.setFont(fontGlobal_08) | |
toolbar1.addWidget(lineEdit_ToolBar) | |
#### | |
#except Exception: | |
# FreeCAD.Console.PrintError("Not activeView or ..." + "\n") | |
if switch_User_NotInfoOnBeginning == True: | |
## | |
FreeCAD.Console.PrintMessage("\n"+"####Configure FCInfo_ToolBar Begin####################################################################" + "\n\n") | |
FreeCAD.Console.PrintMessage("_____Help for configure FCInfo_ToolBar_____" + "\n\n") | |
FreeCAD.Console.PrintMessage("Go to : Menu > Tools > Edit parameters ... :BaseApp/Preferences/Macros/FCMmacros/FCInfo_ToolBar" + "\n\n") | |
## | |
FreeCAD.Console.PrintMessage("_____seT_User_StyleSheetColorToolBar_____ " + " ") | |
FreeCAD.Console.PrintError("Actual " + str(seT_User_StyleSheetColorToolBar) + "\n") | |
FreeCAD.Console.PrintMessage("seT_User_StyleSheetColorToolBar # False (Default: system) 1 = the size icon user is availlable" + "\n\n") | |
## | |
FreeCAD.Console.PrintMessage("_____switch_User_ToolbarIconSize_____ " + " ") | |
FreeCAD.Console.PrintError("Actual " + str(switch_User_ToolbarIconSize) + "\n") | |
FreeCAD.Console.PrintMessage("switch_User_ToolbarIconSize # 0 = not setStyleSheet (Default)" + "\n") | |
FreeCAD.Console.PrintMessage(" # color in HTML format ex: #F8E6E0" + "\n\n") | |
## | |
FreeCAD.Console.PrintMessage("_____seT_User_sizeIconX_____ " + " ") | |
FreeCAD.Console.PrintError("Actual " + str(seT_User_sizeIconX) + "\n") | |
FreeCAD.Console.PrintMessage("seT_User_sizeIconX # size X of the icon (Default: system)" + "\n\n") | |
## | |
FreeCAD.Console.PrintMessage("_____seT_User_sizeIconY_____ " + " ") | |
FreeCAD.Console.PrintError("Actual " + str(seT_User_sizeIconY) + "\n") | |
FreeCAD.Console.PrintMessage("seT_User_sizeIconY # size Y of the icon (Default system)" + "\n\n") | |
## | |
FreeCAD.Console.PrintMessage("_____seT_User_DecimalValue_____ " + " ") | |
FreeCAD.Console.PrintError("Actual " + str(seT_User_DecimalValue) + "\n") | |
FreeCAD.Console.PrintMessage("seT_User_DecimalValue # number of decimal value (Default 2)" + "\n\n") | |
## | |
FreeCAD.Console.PrintMessage("_____seT_User_setFixed_Tool_Bar_Width_____ " + " ") | |
FreeCAD.Console.PrintError("Actual " + str(seT_User_setFixed_Tool_Bar_Width) + "\n") | |
FreeCAD.Console.PrintMessage("seT_User_setFixed_Tool_Bar_Width # Width of the ToolBar" + "\n\n") | |
## | |
FreeCAD.Console.PrintMessage("_____seT_User_setFixed_Tool_Bar_Height_____ " + " ") | |
FreeCAD.Console.PrintError("Actual " + str(seT_User_setFixed_Tool_Bar_Height) + "\n") | |
FreeCAD.Console.PrintMessage("seT_User_setFixed_Tool_Bar_Height # heigth of the ToolBar" + "\n\n") | |
## | |
FreeCAD.Console.PrintMessage("_____seT_User_TextHeigthValue_____ " + " ") | |
FreeCAD.Console.PrintError("Actual " + str(seT_User_TextHeigthValue) + "\n") | |
FreeCAD.Console.PrintMessage("seT_User_TextHeigthValue # heigth of the text in the LineEdit" + "\n\n") | |
## | |
FreeCAD.Console.PrintMessage("_____switch_User_Work_With_Preselection_____ " + " ") | |
FreeCAD.Console.PrintError("Actual " + str(switch_User_Work_With_Preselection) + "\n") | |
FreeCAD.Console.PrintMessage("switch_User_Work_With_Preselection # True 1 = () Work With the Preselectiond " + "\n") | |
FreeCAD.Console.PrintMessage(" # with this option the selection ins not availlable !" + "\n\n") | |
## | |
FreeCAD.Console.PrintMessage("_____switch_User_Display_objectName_____ " + " ") | |
FreeCAD.Console.PrintError("Actual " + str(switch_User_Display_objectName) + "\n") | |
FreeCAD.Console.PrintMessage("switch_User_Display_objectName # True 1 = () display the Object name selected " + "\n\n") | |
## | |
FreeCAD.Console.PrintMessage("_____switch_User_Display_SubElementName_____ " + " ") | |
FreeCAD.Console.PrintError("Actual " + str(switch_User_Display_SubElementName) + "\n") | |
FreeCAD.Console.PrintMessage("switch_User_Display_SubElementName # True 1 = () display the subElement name selected " + "\n\n") | |
## | |
FreeCAD.Console.PrintMessage("_____switch_User_Display_ShapeType_____ " + " ") | |
FreeCAD.Console.PrintError("Actual " + str(switch_User_Display_ShapeType) + "\n") | |
FreeCAD.Console.PrintMessage("switch_User_Display_ShapeType # True 1 = (TyS:) display the Shape Type of the object" + "\n\n") | |
## | |
FreeCAD.Console.PrintMessage("_____switch_User_Display_TypeId_____ " + " ") | |
FreeCAD.Console.PrintError("Actual " + str(switch_User_Display_TypeId) + "\n") | |
FreeCAD.Console.PrintMessage("switch_User_Display_TypeId # True 1 = (TyI:) display the Shape TypeId of the object" + "\n\n") | |
## | |
FreeCAD.Console.PrintMessage("_____switch_User_Display_RadiusObject_____ " + " ") | |
FreeCAD.Console.PrintError("Actual " + str(switch_User_Display_RadiusObject) + "\n") | |
FreeCAD.Console.PrintMessage("switch_User_Display_RadiusObject # True 1 = (r:) [D:] display the radius and the diameter (if circle detected) " + "\n\n") | |
## | |
FreeCAD.Console.PrintMessage("_____switch_User_Display_RadiusSurface_____ " + " ") | |
FreeCAD.Console.PrintError("Actual " + str(switch_User_Display_RadiusSurface) + "\n") | |
FreeCAD.Console.PrintMessage("switch_User_Display_RadiusSurface # True 1 = (rS:) [DS:] display the radius and the diameter of surface (if surface detected) " + "\n\n") | |
## | |
FreeCAD.Console.PrintMessage("_____switch_User_Display_NumberFacesMesh_____ " + " ") | |
FreeCAD.Console.PrintError("Actual " + str(switch_User_Display_NumberFacesMesh) + "\n") | |
FreeCAD.Console.PrintMessage("switch_User_Display_NumberFacesMesh # True 1 = (Nf:) display the number of faces of the Mesh" + "\n\n") | |
## | |
FreeCAD.Console.PrintMessage("_____switch_User_Display_NumberPointsMeshPoints_____ " + " ") | |
FreeCAD.Console.PrintError("Actual " + str(switch_User_Display_NumberPointsMeshPoints) + "\n") | |
FreeCAD.Console.PrintMessage("switch_User_Display_NumberPointsMeshPoints# True 1 = (Np:) display the number of points of the Mesh or Points" + "\n\n") | |
## | |
FreeCAD.Console.PrintMessage("_____switch_User_Display_NumberEdgesMesh_____ " + " ") | |
FreeCAD.Console.PrintError("Actual " + str(switch_User_Display_NumberEdgesMesh) + "\n") | |
FreeCAD.Console.PrintMessage("switch_User_Display_NumberEdgesMesh # True 1 = (Ne:) display the number of Edges of the Mesh" + "\n\n") | |
## | |
FreeCAD.Console.PrintMessage("_____switch_User_Display_BsplineObject_____ " + " ") | |
FreeCAD.Console.PrintError("Actual " + str(switch_User_Display_BsplineObject) + "\n") | |
FreeCAD.Console.PrintMessage("switch_User_Display_BsplineObject # True 1 = (BSpline) display the number of node of the BSpline" + "\n") | |
FreeCAD.Console.PrintMessage(" = (BSrA) BSPline radius approximative first radius of the BSpline" + "\n") | |
FreeCAD.Console.PrintMessage(" = (BSS) BSPline Points Shape number points of the Bspline (case Shape)" + "\n") | |
FreeCAD.Console.PrintMessage(" = (BSc) BSPline Points Sub Object number points of sub object selected (case Edge)" + "\n\n") | |
## | |
FreeCAD.Console.PrintMessage("_____switch_User_Display_CentreObject_____ " + " ") | |
FreeCAD.Console.PrintError("Actual " + str(switch_User_Display_CentreObject) + "\n") | |
FreeCAD.Console.PrintMessage("switch_User_Display_CentreObject # True 1 = (Ce:)display the center of circle (if detected), face, edge ..." + "\n") | |
FreeCAD.Console.PrintMessage(" = or BBoxCenter of face, edge ... Sub selection" + "\n\n") | |
## | |
FreeCAD.Console.PrintMessage("_____switch_User_Display_CentreBoundBoxObject_____ " + " ") | |
FreeCAD.Console.PrintError("Actual " + str(switch_User_Display_CentreBoundBoxObject) + "\n") | |
FreeCAD.Console.PrintMessage("switch_User_Display_CentreBoundBoxObject # True 1 = (BBCe:) display the center of BoundBox of the object " + "\n\n") | |
## | |
FreeCAD.Console.PrintMessage("_____switch_User_Display_LengthObject_____ " + " ") | |
FreeCAD.Console.PrintError("Actual " + str(switch_User_Display_LengthObject) + "\n") | |
FreeCAD.Console.PrintMessage("switch_User_Display_LengthObject # True 1 = (L:) display the Length of the wire, edge, line selected" + "\n") | |
FreeCAD.Console.PrintMessage(" # (P:) if one face is selected, the Perimeter of the face is displayed" + "\n\n") | |
## | |
FreeCAD.Console.PrintMessage("_____switch_User_Display_SommeAllEdgesObject_____ " + " ") | |
FreeCAD.Console.PrintError("Actual " + str(switch_User_Display_SommeAllEdgesObject) + "\n") | |
FreeCAD.Console.PrintMessage("switch_User_Display_SommeAllEdgesObject # True 1 = (Se:) display the Total Length of the edges" + "\n\n") | |
## | |
FreeCAD.Console.PrintMessage("_____switch_User_Display_AreaObject_____ " + " ") | |
FreeCAD.Console.PrintError("Actual " + str(switch_User_Display_AreaObject) + "\n") | |
FreeCAD.Console.PrintMessage("switch_User_Display_AreaObject # True 1 = (A:) display the Area of the object selected " + "\n\n") | |
## | |
FreeCAD.Console.PrintMessage("_____switch_User_Display_AreaSubObject_____ " + " ") | |
FreeCAD.Console.PrintError("Actual " + str(switch_User_Display_AreaSubObject) + "\n") | |
FreeCAD.Console.PrintMessage("switch_User_Display_AreaSubObject # True 1 = (Af:) display the Area of the face selected " + "\n\n") | |
## | |
FreeCAD.Console.PrintMessage("_____switch_User_Display_VolumeObject_____ " + " ") | |
FreeCAD.Console.PrintError("Actual " + str(switch_User_Display_VolumeObject) + "\n") | |
FreeCAD.Console.PrintMessage("switch_User_Display_VolumeObject # True 1 = (V:) display the Volume of the object selected" + "\n\n") | |
## | |
FreeCAD.Console.PrintMessage("_____switch_User_Display_Position_____ " + " ") | |
FreeCAD.Console.PrintError("Actual " + str(switch_User_Display_Position) + "\n") | |
FreeCAD.Console.PrintMessage("switch_User_Display_Position # True 1 = (Pos:) display the coordinate of the click mouse " + "\n\n") | |
## | |
FreeCAD.Console.PrintMessage("_____switch_User_Display_Position_2D_CAD_____ " + " ") | |
FreeCAD.Console.PrintError("Actual " + str(switch_User_Display_Position_2D_CAD) + "\n") | |
FreeCAD.Console.PrintMessage("switch_User_Display_Position_2D_CAD # True 1 = (Pos: X2D:) display the position XY 2D 0,0 = corner Inferior left (CAD)" + "\n\n") | |
## | |
FreeCAD.Console.PrintMessage("_____switch_User_Display_Position_2D_BMP_____ " + " ") | |
FreeCAD.Console.PrintError("Actual " + str(switch_User_Display_Position_2D_BMP) + "\n") | |
FreeCAD.Console.PrintMessage("switch_User_Display_Position_2D_BMP # True 1 = (Pos: X2D:) display the position XY 2D 0,0 = corner Superior left (BitMap BMP)" + "\n\n") | |
## | |
FreeCAD.Console.PrintMessage("_____seT_User_UnitSymbolSquare_____ " + " ") | |
FreeCAD.Console.PrintError("Actual " + str(seT_User_UnitSymbolSquare) + "\n") | |
FreeCAD.Console.PrintMessage("seT_User_UnitSymbolSquare # give the Square character '2' by default" + "\n\n") | |
## | |
FreeCAD.Console.PrintMessage("_____seT_User_UnitSymbolCube_____ " + " ") | |
FreeCAD.Console.PrintError("Actual " + str(seT_User_UnitSymbolCube) + "\n") | |
FreeCAD.Console.PrintMessage("seT_User_UnitSymbolCube # give the Cube character '3' by default" + "\n\n") | |
## | |
FreeCAD.Console.PrintMessage("_____seT_User_UnitSymbolMicro_____ " + " ") | |
FreeCAD.Console.PrintError("Actual " + str(seT_User_UnitSymbolMicro) + "\n") | |
FreeCAD.Console.PrintMessage("seT_User_UnitSymbolMicro # give the Micro character 'u' by default" + "\n\n") | |
## | |
FreeCAD.Console.PrintMessage("####Configure FCInfo_ToolBar End######################################################################" + "\n\n") |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment