Last active
December 18, 2021 19:19
-
-
Save mario52a/0ed8129bacbe9124a41e3ae1d378d5b7 to your computer and use it in GitHub Desktop.
This small macro create a circle or arc giving radius, diameter, circumference, area, startangle, endangle, arc, anglecenter, cord, arrow, center (point), placemObject on choice. And ccreate sector.
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 -*- | |
from __future__ import unicode_literals | |
# | |
""" | |
*************************************************************************** | |
* Copyright (c) 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 * | |
*************************************************************************** | |
""" | |
#Circle_Plus 2018/07/10 2018/07/14 2019/04/05 (incrementDS) 2019/04/06 2019/04/07 | |
# | |
#OS: Windows 10 | |
#Word size of OS: 64-bit | |
#Word size of FreeCAD: 64-bit | |
#Version: 0.18.16093 (Git) | |
#Build type: Release | |
#Branch: releases/FreeCAD-0-18 | |
#Hash: 690774c0effe4fd7b8d2b5e2fb2b8c8d145e21ce | |
#Python version: 2.7.14 | |
#Qt version: 4.8.7 | |
#Coin version: 4.0.0a | |
#OCC version: 7.2.0 | |
# | |
__title__ = "CirclePlus" | |
__author__ = "Mario52" | |
__url__ = "http://www.freecadweb.org/index-fr.html" | |
__Wiki__ = "http://www.freecadweb.org/wiki/index.php?title=Macro_CirclePlus" | |
__version__ = "00.04" | |
__date__ = "2019/04/07" | |
import PySide | |
from PySide import QtGui ,QtCore | |
from PySide.QtGui import * | |
from PySide.QtCore import * | |
import pivy | |
from pivy import coin | |
import OpenSCAD2Dgeom | |
import time | |
import Draft, Part, PartGui, FreeCADGui, FreeCAD | |
from FreeCAD import Base | |
import math | |
from math import sqrt, pi, sin, cos, asin | |
Gui = FreeCADGui | |
App = FreeCAD | |
############################ | |
# create a circle or arc fully parametrabel using: | |
# x x x coordinates | |
#with radius | |
#with diameter | |
#with circumference | |
#with area | |
#with startangle | |
#with endangle | |
#with [arc and anglecenter] in combination (angle in degrees) | |
#with [cord and arrow] in combination | |
############################ | |
#### Config begin #### | |
global decimales ; decimales = 4 | |
global incrementDS; incrementDS = 1.0 # 0.1 # step for increment on begin | |
#### Config end ###### | |
global ui ; ui = "" | |
global s ; s = "" | |
global sourisPass ; sourisPass = 0 | |
global positionX ; positionX = 0.0 | |
global positionY ; positionY = 0.0 | |
global positionZ ; positionZ = 0.0 | |
class Ui_MainWindow(object): | |
def __init__(self ): | |
self.window = MainWindow | |
#self.path = FreeCAD.ConfigGet("AppHomePath") | |
#self.path = FreeCAD.ConfigGet("UserAppData") | |
#self.path = "your path" | |
param = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Macro")# macro path | |
self.path = param.GetString("MacroPath","") + "/" # macro path | |
self.path = self.path.replace("\\","/") | |
# print "Path for the icons : " , self.path | |
self.PointSize = 8 #heigth text | |
self.Radius = 0.0 | |
self.Diameter = self.Radius * 2.0 | |
self.Circumference = 0.0 | |
self.Area = 0.0 | |
self.StartAngle = 0.0 | |
self.EndAngle = 0.0 | |
self.Arc = 0.0 | |
self.AngleCenter = 0.0 | |
self.Cord = 0.0 | |
self.Arrow = 0.0 | |
self.Face = False | |
self.vueActive = FreeCADGui.ActiveDocument.ActiveView | |
self.click = self.vueActive.addEventCallback("SoMouseButtonEvent",self.souris) | |
def souris(self,info): | |
global sourisPass | |
global positionX | |
global positionY | |
global positionZ | |
if (info["Button"] == "BUTTON1") and (info["State"] == "DOWN"): | |
sourisPass = 0 | |
positionX = positionY = positionZ = 0.0 | |
self.DS_01_Coord_X.setValue(positionX) | |
self.DS_02_Coord_Y.setValue(positionY) | |
self.DS_03_Coord_Z.setValue(positionZ) | |
def setupUi(self, MainWindow): | |
global decimales | |
global incrementDS | |
self.window = MainWindow | |
MainWindow.setObjectName("MainWindow") | |
MainWindow.resize(226, 295) | |
self.centralwidget = QtGui.QWidget(MainWindow) | |
self.centralwidget.setObjectName("centralwidget") | |
############################################ | |
self.fontGlobal_08 = QtGui.QFont() # Windows Linux pour tous les textes | |
self.fontGlobal_08.setFamily("Arial") # Windows Linux pour tous les textes | |
self.fontGlobal_08.setPointSize(self.PointSize) # Windows Linux pour tous les textes | |
#self.xxxxx.setFont(self.fontGlobal_08) # Windows Linux | |
#self.xxxxx.setFont(QtGui.QFont("",weight=QtGui.QFont.Bold)) # Windows Linux Bold | |
#self.xxxxx.setStyleSheet("color: red; font: bold "+str(self.PointSize+3)+"px;")# Bold | |
#self.xxxxx.setIcon(QtGui.QIcon.fromTheme("media-playback-start")) # icone resource | |
############################################ | |
self.GBox_01_Coordinate = QtGui.QGroupBox(self.centralwidget) | |
self.GBox_01_Coordinate.setGeometry(QtCore.QRect(5, 10, 216, 181)) | |
self.GBox_01_Coordinate.setFont(self.fontGlobal_08) # Windows Linux | |
self.GBox_01_Coordinate.setObjectName("GBox_01_Coordinate") | |
self.DS_01_Coord_X = QtGui.QDoubleSpinBox(self.GBox_01_Coordinate) | |
self.DS_01_Coord_X.setGeometry(QtCore.QRect(10, 20, 91, 22)) | |
self.DS_01_Coord_X.setFont(self.fontGlobal_08) # Windows Linux | |
self.DS_01_Coord_X.setObjectName("DS_01_Coord_X") | |
self.DS_01_Coord_X.setDecimals(decimales) | |
self.DS_01_Coord_X.setMinimum(-9999999.9999999) | |
self.DS_01_Coord_X.setMaximum(9999999.9999999) | |
self.DS_01_Coord_X.setSuffix(" mm") | |
self.DS_01_Coord_X.setWrapping(True) | |
self.DS_01_Coord_X.setAccelerated(True) | |
self.DS_01_Coord_X.valueChanged.connect(self.on_DS_01_Coord_X_valueChanged) | |
self.label_01_X = QtGui.QLabel(self.GBox_01_Coordinate) | |
self.label_01_X.setGeometry(QtCore.QRect(110, 25, 51, 16)) | |
self.label_01_X.setFont(self.fontGlobal_08) # Windows Linux | |
self.label_01_X.setObjectName("label_01_X") | |
self.DS_02_Coord_Y = QtGui.QDoubleSpinBox(self.GBox_01_Coordinate) | |
self.DS_02_Coord_Y.setGeometry(QtCore.QRect(10, 50, 91, 22)) | |
self.DS_02_Coord_Y.setFont(self.fontGlobal_08) # Windows Linux | |
self.DS_02_Coord_Y.setObjectName("DS_02_Coord_Y") | |
self.DS_02_Coord_Y.setDecimals(decimales) | |
self.DS_02_Coord_Y.setMinimum(-9999999.9999999) | |
self.DS_02_Coord_Y.setMaximum(9999999.9999999) | |
self.DS_02_Coord_Y.setSuffix(" mm") | |
self.DS_02_Coord_Y.setWrapping(True) | |
self.DS_02_Coord_Y.setAccelerated(True) | |
self.DS_02_Coord_Y.valueChanged.connect(self.on_DS_02_Coord_Y_valueChanged) | |
self.label_02_Y = QtGui.QLabel(self.GBox_01_Coordinate) | |
self.label_02_Y.setGeometry(QtCore.QRect(110, 55, 16, 16)) | |
self.label_02_Y.setFont(self.fontGlobal_08) # Windows Linux | |
self.label_02_Y.setObjectName("label_02_Y") | |
self.DS_03_Coord_Z = QtGui.QDoubleSpinBox(self.GBox_01_Coordinate) | |
self.DS_03_Coord_Z.setGeometry(QtCore.QRect(10, 80, 91, 22)) | |
self.DS_03_Coord_Z.setFont(self.fontGlobal_08) # Windows Linux | |
self.DS_03_Coord_Z.setObjectName("DS_03_Coord_Z") | |
self.DS_03_Coord_Z.setDecimals(decimales) | |
self.DS_03_Coord_Z.setMinimum(-9999999.9999999) | |
self.DS_03_Coord_Z.setMaximum(9999999.9999999) | |
self.DS_03_Coord_Z.setSuffix(" mm") | |
self.DS_03_Coord_Z.setWrapping(True) | |
self.DS_03_Coord_Z.setAccelerated(True) | |
self.DS_03_Coord_Z.valueChanged.connect(self.on_DS_03_Coord_Z_valueChanged) | |
self.label_03_Z = QtGui.QLabel(self.GBox_01_Coordinate) | |
self.label_03_Z.setGeometry(QtCore.QRect(110, 85, 16, 16)) | |
self.label_03_Z.setFont(self.fontGlobal_08) # Windows Linux | |
self.label_03_Z.setObjectName("label_03_Z") | |
self.PB_03_Reset_Coordinate = QtGui.QPushButton(self.GBox_01_Coordinate) | |
self.PB_03_Reset_Coordinate.setGeometry(QtCore.QRect(160, 20, 41, 83)) | |
self.PB_03_Reset_Coordinate.setFont(self.fontGlobal_08) # Windows Linux | |
self.PB_03_Reset_Coordinate.setObjectName("PB_03_Reset_Coordinate") | |
self.PB_03_Reset_Coordinate.setIcon(QtGui.QIcon.fromTheme("view-refresh"))# icone resource | |
self.PB_03_Reset_Coordinate.clicked.connect(self.on_PB_03_Reset_Coordinate_clicked) | |
self.PB_03_Egual = QtGui.QPushButton(self.GBox_01_Coordinate) | |
self.PB_03_Egual.setGeometry(QtCore.QRect(160, 20, 15, 15)) | |
self.PB_03_Egual.setFont(self.fontGlobal_08) # Windows Linux | |
self.PB_03_Egual.setObjectName("PB_03_Egual") | |
self.PB_03_Egual.clicked.connect(self.on_PB_03_Egual_clicked) | |
self.DS_04_Radius = QtGui.QDoubleSpinBox(self.GBox_01_Coordinate) | |
self.DS_04_Radius.setGeometry(QtCore.QRect(10, 115, 91, 22)) | |
self.DS_04_Radius.setFont(self.fontGlobal_08) # Windows Linux | |
self.DS_04_Radius.setObjectName("DS_04_Radius") | |
self.DS_04_Radius.setDecimals(decimales) | |
self.DS_04_Radius.setSingleStep(incrementDS) | |
self.DS_04_Radius.setMinimum(0.0) | |
self.DS_04_Radius.setMaximum(9999999.9999999) | |
self.DS_04_Radius.setSuffix(" mm") | |
self.DS_04_Radius.setWrapping(True) | |
self.DS_04_Radius.setAccelerated(True) | |
self.DS_04_Radius.setValue(self.Radius) | |
self.DS_04_Radius.valueChanged.connect(self.on_DS_04_Radius_valueChanged) | |
self.label_DS_04_Radius = QtGui.QLabel(self.GBox_01_Coordinate) | |
self.label_DS_04_Radius.setGeometry(QtCore.QRect(110, 115, 91, 22)) | |
self.label_DS_04_Radius.setFont(self.fontGlobal_08) # Windows Linux | |
self.label_DS_04_Radius.setObjectName("label_DS_04_Radius") | |
self.DS_05_Diameter = QtGui.QDoubleSpinBox(self.GBox_01_Coordinate) | |
self.DS_05_Diameter.setGeometry(QtCore.QRect(10, 145, 91, 22)) | |
self.DS_05_Diameter.setFont(self.fontGlobal_08) # Windows Linux | |
self.DS_05_Diameter.setObjectName("DS_05_Diameter") | |
self.DS_05_Diameter.setDecimals(decimales) | |
self.DS_05_Diameter.setSingleStep(incrementDS) | |
self.DS_05_Diameter.setMinimum(0.0) | |
self.DS_05_Diameter.setMaximum(9999999.9999999) | |
self.DS_05_Diameter.setSuffix(" mm") | |
self.DS_05_Diameter.setWrapping(True) | |
self.DS_05_Diameter.setAccelerated(True) | |
self.DS_05_Diameter.setValue(self.Diameter) | |
self.DS_05_Diameter.valueChanged.connect(self.on_DS_05_Diameter_valueChanged) | |
self.label_DS_05_Diameter = QtGui.QLabel(self.GBox_01_Coordinate) | |
self.label_DS_05_Diameter.setGeometry(QtCore.QRect(110, 145, 91, 22)) | |
self.label_DS_05_Diameter.setFont(self.fontGlobal_08) # Windows Linux | |
self.label_DS_05_Diameter.setObjectName("label_DS_05_Diameter") | |
#### | |
self.GBox_02_Options = QtGui.QGroupBox(self.centralwidget) | |
self.GBox_02_Options.setGeometry(QtCore.QRect(5, 195, 216, 21)) | |
self.GBox_02_Options.setFont(self.fontGlobal_08) # Windows Linux | |
self.GBox_02_Options.setCheckable(True) | |
self.GBox_02_Options.setChecked(False) | |
self.GBox_02_Options.setObjectName("GBox_02_Options") | |
self.GBox_02_Options.clicked.connect(self.on_GBox_02_Options) | |
self.DS_06_Circumference = QtGui.QDoubleSpinBox(self.GBox_02_Options) | |
self.DS_06_Circumference.setGeometry(QtCore.QRect(10, 25, 91, 22)) | |
self.DS_06_Circumference.setFont(self.fontGlobal_08) # Windows Linux | |
self.DS_06_Circumference.setObjectName("DS_06_Circumference") | |
self.DS_06_Circumference.setDecimals(decimales) | |
self.DS_06_Circumference.setSingleStep(incrementDS) | |
self.DS_06_Circumference.setMinimum(0.0) | |
self.DS_06_Circumference.setMaximum(9999999.9999999) | |
self.DS_06_Circumference.setSuffix(" mm") | |
self.DS_06_Circumference.setWrapping(True) | |
self.DS_06_Circumference.setAccelerated(True) | |
self.DS_06_Circumference.setValue(0.0) | |
self.DS_06_Circumference.valueChanged.connect(self.on_DS_06_Circumference_valueChanged) | |
self.label_06_Circumference = QtGui.QLabel(self.GBox_02_Options) | |
self.label_06_Circumference.setGeometry(QtCore.QRect(110, 25, 91, 22)) | |
self.label_06_Circumference.setFont(self.fontGlobal_08) # Windows Linux | |
self.label_06_Circumference.setObjectName("label_06_Circumference") | |
self.DS_07_Area = QtGui.QDoubleSpinBox(self.GBox_02_Options) | |
self.DS_07_Area.setGeometry(QtCore.QRect(10, 55, 91, 22)) | |
self.DS_07_Area.setFont(self.fontGlobal_08) # Windows Linux | |
self.DS_07_Area.setObjectName("DS_07_Area") | |
self.DS_07_Area.setDecimals(decimales) | |
self.DS_07_Area.setSingleStep(incrementDS) | |
self.DS_07_Area.setMinimum(0.0) | |
self.DS_07_Area.setMaximum(9999999.9999999) | |
self.DS_07_Area.setSuffix(" mm2") | |
self.DS_07_Area.setWrapping(True) | |
self.DS_07_Area.setAccelerated(True) | |
self.DS_07_Area.valueChanged.connect(self.on_DS_07_Area_valueChanged) | |
self.label_07_Area = QtGui.QLabel(self.GBox_02_Options) | |
self.label_07_Area.setGeometry(QtCore.QRect(110, 55, 91, 22)) | |
self.label_07_Area.setFont(self.fontGlobal_08) # Windows Linux | |
self.label_07_Area.setObjectName("label_07_Area") | |
self.DS_08_StartAngle = QtGui.QDoubleSpinBox(self.GBox_02_Options) | |
self.DS_08_StartAngle.setGeometry(QtCore.QRect(10, 85, 91, 22)) | |
self.DS_08_StartAngle.setFont(self.fontGlobal_08) # Windows Linux | |
self.DS_08_StartAngle.setObjectName("DS_08_StartAngle") | |
self.DS_08_StartAngle.setDecimals(decimales) | |
self.DS_08_StartAngle.setSingleStep(incrementDS) | |
self.DS_08_StartAngle.setMinimum(-360.0) | |
self.DS_08_StartAngle.setMaximum(360.0) | |
self.DS_08_StartAngle.setSuffix(" deg") | |
self.DS_08_StartAngle.setWrapping(True) | |
self.DS_08_StartAngle.setAccelerated(True) | |
self.DS_08_StartAngle.valueChanged.connect(self.on_DS_08_StartAngle_valueChanged) | |
self.label_08_StartAngle = QtGui.QLabel(self.GBox_02_Options) | |
self.label_08_StartAngle.setGeometry(QtCore.QRect(110, 85, 91, 22)) | |
self.label_08_StartAngle.setFont(self.fontGlobal_08) # Windows Linux | |
self.label_08_StartAngle.setObjectName("label_08_StartAngle") | |
self.DS_09_EndAngle = QtGui.QDoubleSpinBox(self.GBox_02_Options) | |
self.DS_09_EndAngle.setGeometry(QtCore.QRect(10, 115, 91, 22)) | |
self.DS_09_EndAngle.setFont(self.fontGlobal_08) # Windows Linux | |
self.DS_09_EndAngle.setObjectName("DS_09_EndAngle") | |
self.DS_09_EndAngle.setDecimals(decimales) | |
self.DS_09_EndAngle.setSingleStep(incrementDS) | |
self.DS_09_EndAngle.setMinimum(-360.0) | |
self.DS_09_EndAngle.setMaximum(360.0) | |
self.DS_09_EndAngle.setSuffix(" deg") | |
self.DS_09_EndAngle.setWrapping(True) | |
self.DS_09_EndAngle.setAccelerated(True) | |
self.DS_09_EndAngle.valueChanged.connect(self.on_DS_09_EndAngle_valueChanged) | |
self.label_09_EndAngle = QtGui.QLabel(self.GBox_02_Options) | |
self.label_09_EndAngle.setGeometry(QtCore.QRect(110, 115, 91, 22)) | |
self.label_09_EndAngle.setFont(self.fontGlobal_08) # Windows Linux | |
self.label_09_EndAngle.setObjectName("label_09_EndAngle") | |
self.DS_10_Arc = QtGui.QDoubleSpinBox(self.GBox_02_Options) | |
self.DS_10_Arc.setGeometry(QtCore.QRect(10, 145, 91, 22)) | |
self.DS_10_Arc.setFont(self.fontGlobal_08) # Windows Linux | |
self.DS_10_Arc.setObjectName("DS_10_Arc") | |
self.DS_10_Arc.setDecimals(decimales) | |
self.DS_10_Arc.setSingleStep(incrementDS) | |
self.DS_10_Arc.setMinimum(0.0) | |
self.DS_10_Arc.setMaximum(9999999.9999999) | |
self.DS_10_Arc.setSuffix(" mm") | |
self.DS_10_Arc.setWrapping(True) | |
self.DS_10_Arc.setAccelerated(True) | |
self.DS_10_Arc.valueChanged.connect(self.on_DS_10_Arc_valueChanged) | |
self.label_10_Arc = QtGui.QLabel(self.GBox_02_Options) | |
self.label_10_Arc.setGeometry(QtCore.QRect(110, 145, 91, 22)) | |
self.label_10_Arc.setFont(self.fontGlobal_08) # Windows Linux | |
self.label_10_Arc.setObjectName("label_10_Arc") | |
self.DS_11_AngleCenter = QtGui.QDoubleSpinBox(self.GBox_02_Options) | |
self.DS_11_AngleCenter.setGeometry(QtCore.QRect(10, 175, 91, 22)) | |
self.DS_11_AngleCenter.setFont(self.fontGlobal_08) # Windows Linux | |
self.DS_11_AngleCenter.setObjectName("DS_11_AngleCenter") | |
self.DS_11_AngleCenter.setDecimals(decimales) | |
self.DS_11_AngleCenter.setSingleStep(incrementDS) | |
self.DS_11_AngleCenter.setMinimum(0.0) | |
self.DS_11_AngleCenter.setMaximum(360.0) | |
self.DS_11_AngleCenter.setSuffix(" deg") | |
self.DS_11_AngleCenter.setWrapping(True) | |
self.DS_11_AngleCenter.setAccelerated(True) | |
self.DS_11_AngleCenter.valueChanged.connect(self.on_DS_11_AngleCenter_valueChanged) | |
self.label_11_AngleCenter = QtGui.QLabel(self.GBox_02_Options) | |
self.label_11_AngleCenter.setGeometry(QtCore.QRect(110, 175, 91, 22)) | |
self.label_11_AngleCenter.setFont(self.fontGlobal_08) # Windows Linux | |
self.label_11_AngleCenter.setObjectName("label_11_AngleCenter") | |
self.DS_12_Cord = QtGui.QDoubleSpinBox(self.GBox_02_Options) | |
self.DS_12_Cord.setGeometry(QtCore.QRect(10, 205, 91, 22)) | |
self.DS_12_Cord.setFont(self.fontGlobal_08) # Windows Linux | |
self.DS_12_Cord.setObjectName("DS_12_Cord") | |
self.DS_12_Cord.setDecimals(decimales) | |
self.DS_12_Cord.setSingleStep(incrementDS) | |
self.DS_12_Cord.setMinimum(0.0) | |
self.DS_12_Cord.setMaximum(9999999.9999999) | |
self.DS_12_Cord.setSuffix(" mm") | |
self.DS_12_Cord.setWrapping(True) | |
self.DS_12_Cord.setAccelerated(True) | |
self.DS_12_Cord.valueChanged.connect(self.on_DS_12_Cord_valueChanged) | |
self.label_12_Cord = QtGui.QLabel(self.GBox_02_Options) | |
self.label_12_Cord.setGeometry(QtCore.QRect(110, 205, 91, 22)) | |
self.label_12_Cord.setFont(self.fontGlobal_08) # Windows Linux | |
self.label_12_Cord.setObjectName("label_12_Cord") | |
self.DS_13_Arrow = QtGui.QDoubleSpinBox(self.GBox_02_Options) | |
self.DS_13_Arrow.setGeometry(QtCore.QRect(10, 235, 91, 22)) | |
self.DS_13_Arrow.setFont(self.fontGlobal_08) # Windows Linux | |
self.DS_13_Arrow.setObjectName("DS_13_Arrow") | |
self.DS_13_Arrow.setDecimals(decimales) | |
self.DS_13_Arrow.setSingleStep(incrementDS) | |
self.DS_13_Arrow.setMinimum(0.0) | |
self.DS_13_Arrow.setMaximum(9999999.9999999) | |
self.DS_13_Arrow.setSuffix(" mm") | |
self.DS_13_Arrow.setWrapping(True) | |
self.DS_13_Arrow.setAccelerated(True) | |
self.DS_13_Arrow.valueChanged.connect(self.on_DS_13_Arrow_valueChanged) | |
self.label_13_Arrow = QtGui.QLabel(self.GBox_02_Options) | |
self.label_13_Arrow.setGeometry(QtCore.QRect(110, 235, 91, 22)) | |
self.label_13_Arrow.setFont(self.fontGlobal_08) # Windows Linux | |
self.label_13_Arrow.setObjectName("label_13_Arrow") | |
#### | |
self.CB_01_Center = QtGui.QCheckBox(self.centralwidget) | |
self.CB_01_Center.setGeometry(QtCore.QRect(5, 220, 61, 18)) | |
self.CB_01_Center.setFont(self.fontGlobal_08) # Windows Linux | |
self.CB_01_Center.setObjectName("CB_01_Center") | |
self.CB_01_Center.setChecked(False) | |
# self.CB_01_Center.clicked.connect(self.on_CB_01_Center_clicked) | |
self.CB_02_Info = QtGui.QCheckBox(self.centralwidget) | |
self.CB_02_Info.setGeometry(QtCore.QRect(90, 220, 61, 18)) | |
self.CB_02_Info.setFont(self.fontGlobal_08) # Windows Linux | |
self.CB_02_Info.setObjectName("CB_02_Info") | |
self.CB_02_Info.setChecked(False) | |
# self.CB_02_Info.clicked.connect(self.on_CB_02_Info_clicked) | |
self.CB_03_Face = QtGui.QCheckBox(self.centralwidget) | |
self.CB_03_Face.setGeometry(QtCore.QRect(170, 220, 61, 18)) | |
self.CB_03_Face.setFont(self.fontGlobal_08) # Windows Linux | |
self.CB_03_Face.setObjectName("CB_03_Face") | |
self.CB_03_Face.setChecked(False) | |
# self.CB_03_Face.clicked.connect(self.on_CB_03_Face_clicked) | |
self.CB_04_Sector = QtGui.QCheckBox(self.centralwidget) | |
self.CB_04_Sector.setGeometry(QtCore.QRect(5, 240, 61, 18)) | |
self.CB_04_Sector.setFont(self.fontGlobal_08) # Windows Linux | |
self.CB_04_Sector.setObjectName("CB_04_Sector") | |
self.CB_04_Sector.setChecked(False) | |
# self.CB_04_Sector.clicked.connect(self.on_CB_04_Sector_clicked) | |
self.CB_05_Segment = QtGui.QCheckBox(self.centralwidget) | |
self.CB_05_Segment.setGeometry(QtCore.QRect(90, 240, 61, 18)) | |
self.CB_05_Segment.setFont(self.fontGlobal_08) # Windows Linux | |
self.CB_05_Segment.setObjectName("CB_05_Segment") | |
self.CB_05_Segment.setChecked(False) | |
# self.CB_05_Segment.clicked.connect(self.on_CB_05_Segment_clicked) | |
# self.CB_06_incrementDS = QtGui.QCheckBox(self.centralwidget) | |
# self.CB_06_incrementDS.setGeometry(QtCore.QRect(170, 240, 61, 18)) | |
# self.CB_06_incrementDS.setFont(self.fontGlobal_08) # Windows Linux | |
# self.CB_06_incrementDS.setObjectName("CB_06_incrementDS") | |
# self.CB_06_incrementDS.setText("(" + str(incrementDS) + ")") | |
# self.CB_06_incrementDS.setChecked(False) | |
# self.CB_06_incrementDS.clicked.connect(self.on_CB_06_incrementDS_clicked) | |
self.DS_06_incrementDS = QtGui.QDoubleSpinBox(self.centralwidget) | |
self.DS_06_incrementDS.setGeometry(QtCore.QRect(170, 240, 50, 18)) | |
self.DS_06_incrementDS.setFont(self.fontGlobal_08) # Windows Linux | |
self.DS_06_incrementDS.setObjectName("DS_06_incrementDS") | |
self.DS_06_incrementDS.setDecimals(3) | |
self.DS_06_incrementDS.setSingleStep(0.01) #0.001 | |
self.DS_06_incrementDS.setMinimum(0.0) | |
self.DS_06_incrementDS.setMaximum(9999999.9999999) | |
self.DS_06_incrementDS.setValue(incrementDS) | |
self.DS_06_incrementDS.setWrapping(True) | |
self.DS_06_incrementDS.setAccelerated(True) | |
self.DS_06_incrementDS.valueChanged.connect(self.on_DS_06_incrementDS_clicked) | |
self.SP_01_Caracter = QtGui.QDoubleSpinBox(self.centralwidget) | |
self.SP_01_Caracter.setGeometry(QtCore.QRect(5, 265, 50, 22)) | |
self.SP_01_Caracter.setFont(self.fontGlobal_08) # Windows Linux | |
self.SP_01_Caracter.setObjectName("SP_01_Caracter") | |
self.SP_01_Caracter.setMinimum(0.0) | |
self.SP_01_Caracter.setMaximum(9999999) | |
self.SP_01_Caracter.setValue(self.PointSize) | |
self.SP_01_Caracter.valueChanged.connect(self.on_SP_01_Caracter_valueChanged) | |
self.PB_01_Quit = QtGui.QPushButton(self.centralwidget) | |
self.PB_01_Quit.setGeometry(QtCore.QRect(115, 265, 50, 23)) | |
self.PB_01_Quit.setFont(self.fontGlobal_08) # Windows Linux | |
self.PB_01_Quit.setObjectName("PB_01_Quit") | |
self.PB_01_Quit.setIcon(QtGui.QIcon.fromTheme("application-exit")) # icone resource | |
self.PB_01_Quit.clicked.connect(self.on_PB_01_Quit_clicked) | |
self.PB_02_Create = QtGui.QPushButton(self.centralwidget) | |
self.PB_02_Create.setGeometry(QtCore.QRect(170, 265, 50, 23)) | |
self.PB_02_Create.setFont(self.fontGlobal_08) # Windows Linux | |
self.PB_02_Create.setObjectName("PB_02_Create") | |
self.PB_02_Create.setIcon(QtGui.QIcon.fromTheme("media-playback-start")) # icone resource | |
self.PB_02_Create.clicked.connect(self.on_PB_02_Create_clicked) | |
MainWindow.setCentralWidget(self.centralwidget) | |
self.retranslateUi(MainWindow) | |
QtCore.QMetaObject.connectSlotsByName(MainWindow) | |
def retranslateUi(self, MainWindow): | |
MainWindow.setWindowIcon(QtGui.QIcon(self.path + 'Macro_CirclePlus.png')) # change l'icone de la fenetre principale | |
MainWindow.setWindowTitle(__title__+" ("+__version__+", "+__date__+")") | |
MainWindow.setWindowFlags(PySide.QtCore.Qt.WindowStaysOnTopHint) | |
self.GBox_01_Coordinate.setTitle("Coordinate (v."+__version__+")") | |
self.label_01_X.setText("X") | |
self.label_01_X.setStyleSheet("color: red; font: bold "+str(self.PointSize+3)+"px;") | |
self.label_02_Y.setText("Y") | |
self.label_02_Y.setStyleSheet("color: green; font: bold "+str(self.PointSize+3)+"px;") | |
self.label_03_Z.setText("Z") | |
self.label_03_Z.setStyleSheet("color: blue; font: bold "+str(self.PointSize+3)+"px;") | |
#self.PB_03_Reset_Coordinate.setText("Reset") | |
self.PB_03_Reset_Coordinate.setToolTip("Reset the coordinate value " + "\n" | |
"Same click mouse in the 3D view") | |
self.PB_03_Egual.setText("=") | |
self.PB_03_Egual.setToolTip("This button copy the X value in the Y and Z window") | |
self.GBox_02_Options.setTitle("Options") | |
self.label_DS_04_Radius.setText("Radius") | |
self.label_DS_05_Diameter.setText("Diameter") | |
self.label_06_Circumference.setText("Circumference") | |
self.label_07_Area.setText("Area") | |
self.label_08_StartAngle.setText("StartAngle") | |
self.label_09_EndAngle.setText("EndAngle") | |
self.label_10_Arc.setText("Arc") | |
self.label_11_AngleCenter.setText("AngleCenter") | |
self.label_12_Cord.setText("Cord") | |
self.label_13_Arrow.setText("Arrow") | |
self.CB_01_Center.setText("Point") | |
self.CB_02_Info.setText("Info") | |
self.CB_03_Face.setText("Face") | |
self.CB_04_Sector.setText("Sector") | |
self.CB_05_Segment.setText("Segment") | |
# self.CB_06_incrementDS.setToolTip("Step increment") | |
self.DS_06_incrementDS.setToolTip("Step increment") | |
self.PB_01_Quit.setText("Quit") | |
self.PB_02_Create.setText("Ok") | |
#### ToolTip | |
self.DS_01_Coord_X.setToolTip("Coordinate X center circle " + "\n") | |
self.DS_02_Coord_Y.setToolTip("Coordinate Y center circle " + "\n") | |
self.DS_03_Coord_Z.setToolTip("Coordinate Z center circle " + "\n") | |
self.DS_04_Radius.setToolTip("Radius of circle " + "\n" + "(The diameter is automatically adapted) " + "\n") | |
self.DS_05_Diameter.setToolTip("Diameter of circle " + "\n" + "(The radius is automatically adapted) " + "\n") | |
self.GBox_02_Options.setToolTip("Option availlable " + "\n" | |
"If the command work with another command " + "\n" | |
"the frame of the command are colored in green " + "\n" | |
"If one facultative option is avaiabl , the is colored in orange " + "\n" | |
"Close this option window reset all value given" ) | |
self.DS_06_Circumference.setToolTip("Length Circumference of circle " + "\n" ) | |
self.DS_07_Area.setToolTip("Area of circle " + "\n" | |
"The circle is create with face " + "\n" ) | |
self.DS_08_StartAngle.setToolTip("Start angle of circle " + "\n" | |
"The Start angle work with" + "\n" | |
"Start angle, End angle, Radius, Diameter " + "\n" ) | |
self.DS_09_EndAngle.setToolTip("End angle of circle " + "\n" | |
"The End angle work with" + "\n" | |
"Start angle, End angle, Radius, Diameter " + "\n" ) | |
self.DS_10_Arc.setToolTip("Length Arc of circle " + "\n" | |
"The Arc work with" + "\n" | |
"Arc, Angle center" + "\n" | |
"(option: startangle) " + "\n" ) | |
self.DS_11_AngleCenter.setToolTip("Angle center Arc in degrees " + "\n" | |
"The radius is automaticly calculated" + "\n" | |
"The Angle center work with" + "\n" | |
"Arc, Angle center" + "\n" | |
"(option: startangle) " + "\n" ) | |
self.DS_12_Cord.setToolTip("Length of Cord" + "\n" | |
"The Cord work with" + "\n" | |
"Cord, Arrow" ) | |
self.DS_13_Arrow.setToolTip("Length of Arrow " + "\n" | |
"The Arrow work with" + "\n" | |
"Cord, Arrow" + "\n" ) | |
self.CB_01_Center.setToolTip("Create Point center circle " + "\n") | |
self.CB_02_Info.setToolTip("Display info in the Report View " + "\n") | |
self.CB_03_Face.setToolTip("Create face on circle " + "\n" ) | |
self.CB_04_Sector.setToolTip("Create on Sector " + "\n" | |
"If availlable") | |
self.CB_05_Segment.setToolTip("Create on Segment " + "\n" | |
"If availlable") | |
self.SP_01_Caracter.setToolTip("Change the height of the text " ) | |
self.PB_01_Quit.setToolTip("Quit the macro Circle " + "\n" + "Good bye ") | |
self.PB_02_Create.setToolTip("Create the circle" + "\n" | |
"If one error is detected te buttom is colored in red" ) | |
#### | |
def reset_Label(self): | |
self.label_DS_04_Radius.setText("Radius") | |
self.label_DS_05_Diameter.setText("Diameter") | |
self.label_06_Circumference.setText("Circumference") | |
self.label_07_Area.setText("Area") | |
self.label_08_StartAngle.setText("StartAngle") | |
self.label_09_EndAngle.setText("EndAngle") | |
self.label_10_Arc.setText("Arc") | |
self.label_11_AngleCenter.setText("AngleCenter") | |
self.label_12_Cord.setText("Cord") | |
self.label_13_Arrow.setText("Arrow") | |
def on_DS_01_Coord_X_valueChanged(self, value): # | |
global positionX | |
positionX = value | |
def on_DS_02_Coord_Y_valueChanged(self, value): # | |
global positionY | |
positionY = value | |
def on_DS_03_Coord_Z_valueChanged(self, value): # | |
global positionZ | |
positionZ = value | |
def on_PB_03_Reset_Coordinate_clicked(self): | |
global positionX | |
global positionY | |
global positionZ | |
positionX = positionY = positionZ = 0.0 | |
self.DS_01_Coord_X.setValue(positionX) | |
self.DS_02_Coord_Y.setValue(positionY) | |
self.DS_03_Coord_Z.setValue(positionZ) | |
def on_PB_03_Egual_clicked(self): | |
global positionX | |
global positionY | |
global positionZ | |
positionY = positionZ = positionX | |
self.DS_01_Coord_X.setValue(positionX) | |
self.DS_02_Coord_Y.setValue(positionY) | |
self.DS_03_Coord_Z.setValue(positionZ) | |
def on_DS_04_Radius_valueChanged(self, value): # radius | |
self.Radius = value | |
self.Face = False | |
ui.reset_Label() | |
self.label_DS_05_Diameter.setStyleSheet("background-color: QPalette.Base") | |
self.PB_02_Create.setStyleSheet( "background-color: QPalette.Base") | |
#self.DS_04_Radius.setValue(0.0) ; self.Radius = 0.0 | |
self.label_DS_04_Radius.setStyleSheet("background-color: white;\n" | |
"border:2px solid rgb(0, 187, 0);") # bord white and green | |
self.DS_05_Diameter.setValue(self.Radius * 2.0) | |
self.label_DS_05_Diameter.setStyleSheet("background-color: white;\n" | |
"border:2px solid rgb(0, 187, 0);") # bord white and green | |
self.DS_06_Circumference.setValue(0.0) ; self.Circumference = 0.0 | |
self.label_06_Circumference.setStyleSheet("background-color: QPalette.Base") | |
self.DS_07_Area.setValue(0.0) ; self.Area = 0.0 | |
self.label_07_Area.setStyleSheet("background-color: QPalette.Base") | |
#self.DS_08_StartAngle.setValue(0.0) ; self.StartAngle = 0.0 | |
self.label_08_StartAngle.setStyleSheet("background-color: white;\n" | |
"border:2px solid rgb(245, 121, 0);") # bord white and orange | |
#self.DS_09_EndAngle.setValue(0.0) ; self.EndAngle = 0.0 | |
self.label_09_EndAngle.setStyleSheet("background-color: white;\n" | |
"border:2px solid rgb(245, 121, 0);") # bord white and orange | |
self.DS_10_Arc.setValue(0.0) ; self.Arc = 0.0 | |
self.label_10_Arc.setStyleSheet("background-color: QPalette.Base") | |
self.DS_11_AngleCenter.setValue(0.0) ; self.AngleCenter = 0.0 | |
self.label_11_AngleCenter.setStyleSheet("background-color: QPalette.Base") | |
self.DS_12_Cord.setValue(0.0) ; self.Cord = 0.0 | |
self.label_12_Cord.setStyleSheet("background-color: QPalette.Base") | |
self.DS_13_Arrow.setValue(0.0) ; self.Arrow = 0.0 | |
self.label_13_Arrow.setStyleSheet("background-color: QPalette.Base") | |
def on_DS_05_Diameter_valueChanged(self, value): # diameter | |
self.Diameter = value | |
self.DS_04_Radius.setValue(self.Diameter / 2.0) | |
ui.reset_Label() | |
def on_GBox_02_Options(self): # | |
self.Face = False | |
ui.reset_Label() | |
if self.GBox_02_Options.isChecked(): | |
MainWindow.resize(226, 545) | |
self.GBox_02_Options.setGeometry(QtCore.QRect(5, 195, 216, 271)) | |
self.CB_01_Center.setGeometry(QtCore.QRect(5, 470, 61, 18)) | |
self.CB_02_Info.setGeometry(QtCore.QRect(90, 470, 61, 18)) | |
self.CB_03_Face.setGeometry(QtCore.QRect(170, 470, 61, 18)) | |
self.CB_04_Sector.setGeometry(QtCore.QRect(5, 490, 61, 18)) | |
self.CB_05_Segment.setGeometry(QtCore.QRect(90, 490, 61, 18)) | |
# self.CB_06_incrementDS.setGeometry(QtCore.QRect(170, 490, 61, 18)) | |
self.DS_06_incrementDS.setGeometry(QtCore.QRect(170, 490, 50, 18)) | |
self.SP_01_Caracter.setGeometry(QtCore.QRect(5, 515, 61, 22)) | |
self.PB_01_Quit.setGeometry(QtCore.QRect(115, 515, 50, 23)) | |
self.PB_02_Create.setGeometry(QtCore.QRect(170, 515, 50, 23)) | |
else: | |
MainWindow.resize(226, 295) | |
self.GBox_02_Options.setGeometry(QtCore.QRect(5, 195, 216, 21)) | |
self.CB_01_Center.setGeometry(QtCore.QRect(5, 220, 61, 18)) | |
self.CB_02_Info.setGeometry(QtCore.QRect(90, 220, 61, 18)) | |
self.CB_03_Face.setGeometry(QtCore.QRect(170, 220, 61, 18)) | |
self.CB_04_Sector.setGeometry(QtCore.QRect(5, 240, 61, 18)) | |
self.CB_05_Segment.setGeometry(QtCore.QRect(90, 240, 61, 18)) | |
# self.CB_06_incrementDS.setGeometry(QtCore.QRect(170, 240, 61, 18)) | |
self.DS_06_incrementDS.setGeometry(QtCore.QRect(170, 240, 50, 18)) | |
self.SP_01_Caracter.setGeometry(QtCore.QRect(5, 265, 50, 22)) | |
self.PB_01_Quit.setGeometry(QtCore.QRect(115, 265, 50, 23)) | |
self.PB_02_Create.setGeometry(QtCore.QRect(170, 265, 50, 23)) | |
#self.DS_04_Radius.setValue(0.0) ; self.Radius = 0.0 | |
#self.DS_05_Diameter.setValue(0.0) ; self.Diameter = 0.0 | |
self.DS_06_Circumference.setValue(0.0) ; self.Circumference = 0.0 ; self.label_06_Circumference.setStyleSheet("background-color: QPalette.Base") | |
self.DS_07_Area.setValue(0.0) ; self.Area = 0.0 ; self.label_07_Area.setStyleSheet("background-color: QPalette.Base") | |
self.DS_08_StartAngle.setValue(0.0) ; self.StartAngle = 0.0 ; self.label_08_StartAngle.setStyleSheet("background-color: QPalette.Base") | |
self.DS_09_EndAngle.setValue(0.0) ; self.EndAngle = 0.0 ; self.label_09_EndAngle.setStyleSheet("background-color: QPalette.Base") | |
self.DS_10_Arc.setValue(0.0) ; self.Arc = 0.0 ; self.label_10_Arc.setStyleSheet("background-color: QPalette.Base") | |
self.DS_11_AngleCenter.setValue(0.0) ; self.AngleCenter = 0.0 ; self.label_11_AngleCenter.setStyleSheet("background-color: QPalette.Base") | |
self.DS_12_Cord.setValue(0.0) ; self.Cord = 0.0 ; self.label_12_Cord.setStyleSheet("background-color: QPalette.Base") | |
self.DS_13_Arrow.setValue(0.0) ; self.Arrow = 0.0 ; self.label_13_Arrow.setStyleSheet("background-color: QPalette.Base") | |
def on_DS_06_Circumference_valueChanged(self, value): # Circumference | |
self.Circumference = value | |
self.Face = False | |
ui.reset_Label() | |
self.DS_04_Radius.setValue(0.0) ; self.Radius = 0.0 | |
self.label_DS_04_Radius.setStyleSheet("background-color: QPalette.Base") | |
self.DS_05_Diameter.setValue(0.0) ; self.Diameter = 0.0 | |
self.label_DS_05_Diameter.setStyleSheet("background-color: QPalette.Base") | |
# self.DS_06_Circumference.setValue(0.0) ; self.Circumference = 0.0 | |
self.label_06_Circumference.setStyleSheet("background-color: white;\n" | |
"border:2px solid rgb(0, 187, 0);") # bord white and green | |
self.DS_07_Area.setValue(0.0) ; self.Area = 0.0 | |
self.label_07_Area.setStyleSheet("background-color: QPalette.Base") | |
self.DS_08_StartAngle.setValue(0.0) ; self.StartAngle = 0.0 | |
self.label_08_StartAngle.setStyleSheet("background-color: QPalette.Base") | |
self.DS_09_EndAngle.setValue(0.0) ; self.EndAngle = 0.0 | |
self.label_09_EndAngle.setStyleSheet("background-color: QPalette.Base") | |
self.DS_10_Arc.setValue(0.0) ; self.Arc = 0.0 | |
self.label_10_Arc.setStyleSheet("background-color: QPalette.Base") | |
self.DS_11_AngleCenter.setValue(0.0) ; self.AngleCenter = 0.0 | |
self.label_11_AngleCenter.setStyleSheet("background-color: QPalette.Base") | |
self.DS_12_Cord.setValue(0.0) ; self.Cord = 0.0 | |
self.label_12_Cord.setStyleSheet("background-color: QPalette.Base") | |
self.DS_13_Arrow.setValue(0.0) ; self.Arrow = 0.0 | |
self.label_13_Arrow.setStyleSheet("background-color: QPalette.Base") | |
def on_DS_07_Area_valueChanged(self, value): # Area | |
self.Area = value | |
self.Face = True | |
ui.reset_Label() | |
self.DS_04_Radius.setValue(0.0) ; self.Radius = 0.0 | |
self.label_DS_04_Radius.setStyleSheet("background-color: QPalette.Base") | |
self.DS_05_Diameter.setValue(0.0) ; self.Diameter = 0.0 | |
self.label_DS_05_Diameter.setStyleSheet("background-color: QPalette.Base") | |
self.DS_06_Circumference.setValue(0.0) ; self.Circumference = 0.0 | |
self.label_06_Circumference.setStyleSheet("background-color: QPalette.Base") | |
# self.DS_07_Area.setValue(0.0) ; self.Area = 0.0 | |
self.label_07_Area.setStyleSheet("background-color: white;\n" | |
"border:2px solid rgb(0, 187, 0);") # bord white and green | |
self.DS_08_StartAngle.setValue(0.0) ; self.StartAngle = 0.0 | |
self.label_08_StartAngle.setStyleSheet("background-color: QPalette.Base") | |
self.DS_09_EndAngle.setValue(0.0) ; self.EndAngle = 0.0 | |
self.label_09_EndAngle.setStyleSheet("background-color: QPalette.Base") | |
self.DS_10_Arc.setValue(0.0) ; self.Arc = 0.0 | |
self.label_10_Arc.setStyleSheet("background-color: QPalette.Base") | |
self.DS_11_AngleCenter.setValue(0.0) ; self.AngleCenter = 0.0 | |
self.label_11_AngleCenter.setStyleSheet("background-color: QPalette.Base") | |
self.DS_12_Cord.setValue(0.0) ; self.Cord = 0.0 | |
self.label_12_Cord.setStyleSheet("background-color: QPalette.Base") | |
self.DS_13_Arrow.setValue(0.0) ; self.Arrow = 0.0 | |
self.label_13_Arrow.setStyleSheet("background-color: QPalette.Base") | |
def on_DS_08_StartAngle_valueChanged(self, value): # StartAngle | |
self.StartAngle = value | |
self.Face = False | |
ui.reset_Label() | |
if self.Arc == 0: | |
#self.DS_04_Radius.setValue(0.0) ; self.Radius = 0.0 | |
self.label_DS_04_Radius.setStyleSheet("background-color: white;\n" | |
"border:2px solid rgb(115, 210, 22);") # bord white and green | |
#self.DS_05_Diameter.setValue(0.0) ; self.Diameter = 0.0 | |
self.label_DS_05_Diameter.setStyleSheet("background-color: white;\n" | |
"border:2px solid rgb(115, 210, 22);") # bord white and green | |
#self.DS_09_EndAngle.setValue(0.0) ; self.EndAngle = 0.0 | |
self.label_09_EndAngle.setStyleSheet("background-color: white;\n" | |
"border:2px solid rgb(115, 210, 22);") # bord white and green | |
self.DS_10_Arc.setValue(0.0) ; self.Arc = 0.0 | |
self.label_10_Arc.setStyleSheet("background-color: QPalette.Base") | |
self.DS_11_AngleCenter.setValue(0.0) ; self.AngleCenter = 0.0 | |
self.label_11_AngleCenter.setStyleSheet("background-color: QPalette.Base") | |
else: | |
self.Radius = 0.0 | |
self.EndAngle = 0.0 | |
self.label_10_Arc.setStyleSheet("background-color: white;\n" | |
"border:2px solid rgb(115, 210, 22);") # bord white and green | |
self.label_11_AngleCenter.setStyleSheet("background-color: white;\n" | |
"border:2px solid rgb(115, 210, 22);") # bord white and green | |
self.DS_06_Circumference.setValue(0.0) ; self.Circumference = 0.0 | |
self.label_06_Circumference.setStyleSheet("background-color: QPalette.Base") | |
self.DS_07_Area.setValue(0.0) ; self.Area = 0.0 | |
self.label_07_Area.setStyleSheet("background-color: QPalette.Base") | |
#self.DS_08_StartAngle.setValue(0.0) ; self.StartAngle = 0.0 | |
self.label_08_StartAngle.setStyleSheet("background-color: white;\n" | |
"border:2px solid rgb(115, 210, 22);") # bord white and green | |
self.DS_12_Cord.setValue(0.0) ; self.Cord = 0.0 | |
self.label_12_Cord.setStyleSheet("background-color: QPalette.Base") | |
self.DS_13_Arrow.setValue(0.0) ; self.Arrow = 0.0 | |
self.label_13_Arrow.setStyleSheet("background-color: QPalette.Base") | |
def on_DS_09_EndAngle_valueChanged(self, value): # EndAngle | |
self.EndAngle = value | |
self.Face = False | |
ui.reset_Label() | |
#self.DS_04_Radius.setValue(0.0) ; self.Radius = 0.0 | |
self.label_DS_04_Radius.setStyleSheet("background-color: white;\n" | |
"border:2px solid rgb(115, 210, 22);") # bord white and green | |
#self.DS_05_Diameter.setValue(0.0) ; self.Diameter = 0.0 | |
self.label_DS_05_Diameter.setStyleSheet("background-color: white;\n" | |
"border:2px solid rgb(115, 210, 22);") # bord white and green | |
self.DS_06_Circumference.setValue(0.0) ; self.Circumference = 0.0 | |
self.label_06_Circumference.setStyleSheet("background-color: QPalette.Base") | |
self.DS_07_Area.setValue(0.0) ; self.Area = 0.0 | |
self.label_07_Area.setStyleSheet("background-color: QPalette.Base") | |
#self.DS_08_StartAngle.setValue(0.0) ; self.StartAngle = 0.0 | |
self.label_08_StartAngle.setStyleSheet("background-color: white;\n" | |
"border:2px solid rgb(115, 210, 22);") # bord white and green | |
#self.DS_09_EndAngle.setValue(0.0) ; self.EndAngle = 0.0 | |
self.label_09_EndAngle.setStyleSheet("background-color: white;\n" | |
"border:2px solid rgb(115, 210, 22);") # bord white and green | |
self.DS_10_Arc.setValue(0.0) ; self.Arc = 0.0 | |
self.label_10_Arc.setStyleSheet("background-color: QPalette.Base") | |
self.DS_11_AngleCenter.setValue(0.0) ; self.AngleCenter = 0.0 | |
self.label_11_AngleCenter.setStyleSheet("background-color: QPalette.Base") | |
self.DS_12_Cord.setValue(0.0) ; self.Cord = 0.0 | |
self.label_12_Cord.setStyleSheet("background-color: QPalette.Base") | |
self.DS_13_Arrow.setValue(0.0) ; self.Arrow = 0.0 | |
self.label_13_Arrow.setStyleSheet("background-color: QPalette.Base") | |
def on_DS_10_Arc_valueChanged(self, value): # Arc | |
#with [arc and anglecenter] + radius in combination (angle in degrees) | |
self.Arc = value | |
self.Face = False | |
ui.reset_Label() | |
self.DS_04_Radius.setValue(0.0) ; self.Radius = 0.0 | |
self.label_DS_04_Radius.setStyleSheet("background-color: QPalette.Base") | |
self.DS_05_Diameter.setValue(0.0) ; self.Diameter = 0.0 | |
self.label_DS_05_Diameter.setStyleSheet("background-color: QPalette.Base") | |
self.DS_06_Circumference.setValue(0.0) ; self.Circumference = 0.0 | |
self.label_06_Circumference.setStyleSheet("background-color: QPalette.Base") | |
self.DS_07_Area.setValue(0.0) ; self.Area = 0.0 | |
self.label_07_Area.setStyleSheet("background-color: QPalette.Base") | |
#self.DS_08_StartAngle.setValue(0.0) ; self.StartAngle = 0.0 | |
self.label_08_StartAngle.setStyleSheet("background-color: white;\n" | |
"border:2px solid rgb(245, 121, 0);") # bord white and orange | |
self.DS_09_EndAngle.setValue(0.0) ; self.EndAngle = 0.0 | |
self.label_09_EndAngle.setStyleSheet("background-color: QPalette.Base") | |
#self.DS_10_Arc.setValue(0.0) ; self.Arc = 0.0 | |
self.label_10_Arc.setStyleSheet("background-color: white;\n" | |
"border:2px solid rgb(115, 210, 22);") # bord white and green | |
#self.DS_11_AngleCenter.setValue(0.0) ; self.AngleCenter = 0.0 | |
self.label_11_AngleCenter.setStyleSheet("background-color: white;\n" | |
"border:2px solid rgb(115, 210, 22);") # bord white and green | |
self.DS_12_Cord.setValue(0.0) ; self.Cord = 0.0 | |
self.label_12_Cord.setStyleSheet("background-color: QPalette.Base") | |
self.DS_13_Arrow.setValue(0.0) ; self.Arrow = 0.0 | |
self.label_13_Arrow.setStyleSheet("background-color: QPalette.Base") | |
def on_DS_11_AngleCenter_valueChanged(self, value): # AngleCenter | |
#with [arc and anglecenter] + radius in combination (angle in degrees) | |
self.AngleCenter = value | |
self.Face = False | |
ui.reset_Label() | |
self.DS_04_Radius.setValue(0.0) ; self.Radius = 0.0 | |
self.label_DS_04_Radius.setStyleSheet("background-color: QPalette.Base") | |
self.DS_05_Diameter.setValue(0.0) ; self.Diameter = 0.0 | |
self.label_DS_05_Diameter.setStyleSheet("background-color: QPalette.Base") | |
self.DS_06_Circumference.setValue(0.0) ; self.Circumference = 0.0 | |
self.label_06_Circumference.setStyleSheet("background-color: QPalette.Base") | |
self.DS_07_Area.setValue(0.0) ; self.Area = 0.0 | |
self.label_07_Area.setStyleSheet("background-color: QPalette.Base") | |
#self.DS_08_StartAngle.setValue(0.0) ; self.StartAngle = 0.0 | |
self.label_08_StartAngle.setStyleSheet("background-color: white;\n" | |
"border:2px solid rgb(245, 121, 0);") # bord white and orange | |
self.DS_09_EndAngle.setValue(0.0) ; self.EndAngle = 0.0 | |
self.label_09_EndAngle.setStyleSheet("background-color: QPalette.Base") | |
#self.DS_10_Arc.setValue(0.0) ; self.Arc = 0.0 | |
self.label_10_Arc.setStyleSheet("background-color: white;\n" | |
"border:2px solid rgb(115, 210, 22);") # bord white and green | |
#self.DS_11_AngleCenter.setValue(0.0) ; self.AngleCenter = 0.0 | |
self.label_11_AngleCenter.setStyleSheet("background-color: white;\n" | |
"border:2px solid rgb(115, 210, 22);") # bord white and green | |
self.DS_12_Cord.setValue(0.0) ; self.Cord = 0.0 | |
self.label_12_Cord.setStyleSheet("background-color: QPalette.Base") | |
self.DS_13_Arrow.setValue(0.0) ; self.Arrow = 0.0 | |
self.label_13_Arrow.setStyleSheet("background-color: QPalette.Base") | |
def on_DS_12_Cord_valueChanged(self, value): # Cord | |
#with [cord and arrow] in combination | |
self.Cord = value | |
self.Face = False | |
ui.reset_Label() | |
self.DS_04_Radius.setValue(0.0) ; self.Radius = 0.0 | |
self.label_DS_04_Radius.setStyleSheet("background-color: QPalette.Base") | |
self.DS_05_Diameter.setValue(0.0) ; self.Diameter = 0.0 | |
self.label_DS_05_Diameter.setStyleSheet("background-color: QPalette.Base") | |
self.DS_06_Circumference.setValue(0.0) ; self.Circumference = 0.0 | |
self.label_06_Circumference.setStyleSheet("background-color: QPalette.Base") | |
self.DS_07_Area.setValue(0.0) ; self.Area = 0.0 | |
self.label_07_Area.setStyleSheet("background-color: QPalette.Base") | |
self.DS_08_StartAngle.setValue(0.0) ; self.StartAngle = 0.0 | |
self.label_08_StartAngle.setStyleSheet("background-color: QPalette.Base") | |
self.DS_09_EndAngle.setValue(0.0) ; self.EndAngle = 0.0 | |
self.label_09_EndAngle.setStyleSheet("background-color: QPalette.Base") | |
self.DS_10_Arc.setValue(0.0) ; self.Arc = 0.0 | |
self.label_10_Arc.setStyleSheet("background-color: QPalette.Base") | |
self.DS_11_AngleCenter.setValue(0.0) ; self.AngleCenter = 0.0 | |
self.label_11_AngleCenter.setStyleSheet("background-color: QPalette.Base") | |
#self.DS_12_Cord.setValue(0.0) ; self.Cord = 0.0 | |
self.label_12_Cord.setStyleSheet("background-color: white;\n" | |
"border:2px solid rgb(115, 210, 22);") # bord white and green | |
#self.DS_13_Arrow.setValue(0.0) ; self.Arrow = 0.0 | |
self.label_13_Arrow.setStyleSheet("background-color: white;\n" | |
"border:2px solid rgb(115, 210, 22);") # bord white and green | |
def on_DS_13_Arrow_valueChanged(self, value): # Arrow | |
#with [cord and arrow] in combination | |
self.Arrow = value | |
self.Face = False | |
ui.reset_Label() | |
self.DS_04_Radius.setValue(0.0) ; self.Radius = 0.0 | |
self.label_DS_04_Radius.setStyleSheet("background-color: QPalette.Base") | |
self.DS_05_Diameter.setValue(0.0) ; self.Diameter = 0.0 | |
self.label_DS_05_Diameter.setStyleSheet("background-color: QPalette.Base") | |
self.DS_06_Circumference.setValue(0.0) ; self.Circumference = 0.0 | |
self.label_06_Circumference.setStyleSheet("background-color: QPalette.Base") | |
self.DS_07_Area.setValue(0.0) ; self.Area = 0.0 | |
self.label_07_Area.setStyleSheet("background-color: QPalette.Base") | |
self.DS_08_StartAngle.setValue(0.0) ; self.StartAngle = 0.0 | |
self.label_08_StartAngle.setStyleSheet("background-color: QPalette.Base") | |
self.DS_09_EndAngle.setValue(0.0) ; self.EndAngle = 0.0 | |
self.label_09_EndAngle.setStyleSheet("background-color: QPalette.Base") | |
self.DS_10_Arc.setValue(0.0) ; self.Arc = 0.0 | |
self.label_10_Arc.setStyleSheet("background-color: QPalette.Base") | |
self.DS_11_AngleCenter.setValue(0.0) ; self.AngleCenter = 0.0 | |
self.label_11_AngleCenter.setStyleSheet("background-color: QPalette.Base") | |
#self.DS_12_Cord.setValue(0.0) ; self.Cord = 0.0 | |
self.label_12_Cord.setStyleSheet("background-color: white;\n" | |
"border:2px solid rgb(115, 210, 22);") # bord white and green | |
#self.DS_13_Arrow.setValue(0.0) ; self.Arrow = 0.0 | |
self.label_13_Arrow.setStyleSheet("background-color: white;\n" | |
"border:2px solid rgb(115, 210, 22);") # bord white and green | |
# def on_CB_06_incrementDS_clicked(self): | |
# global incrementDS | |
# | |
# if self.CB_06_incrementDS.isChecked(): | |
# incrementDS = 0.1 | |
# else: | |
# incrementDS = 1.0 | |
# self.CB_06_incrementDS.setText("(" + str(incrementDS) + ")") | |
# self.DS_04_Radius.setSingleStep(incrementDS) | |
# self.DS_05_Diameter.setSingleStep(incrementDS) | |
## self.DS_06_Circumference.setSingleStep(incrementDS) | |
## self.DS_07_Area.setSingleStep(incrementDS) | |
## self.DS_08_StartAngle.setSingleStep(incrementDS) | |
## self.DS_09_EndAngle.setSingleStep(incrementDS) | |
## self.DS_10_Arc.setSingleStep(incrementDS) | |
## self.DS_11_AngleCenter.setSingleStep(incrementDS) | |
## self.DS_12_Cord.setSingleStep(incrementDS) | |
## self.DS_13_Arrow.setSingleStep(incrementDS) | |
def on_DS_06_incrementDS_clicked(self, value): | |
global incrementDS | |
incrementDS = value | |
self.DS_04_Radius.setSingleStep(incrementDS) | |
self.DS_05_Diameter.setSingleStep(incrementDS) | |
self.DS_06_Circumference.setSingleStep(incrementDS) | |
self.DS_07_Area.setSingleStep(incrementDS) | |
self.DS_08_StartAngle.setSingleStep(incrementDS) | |
self.DS_09_EndAngle.setSingleStep(incrementDS) | |
self.DS_10_Arc.setSingleStep(incrementDS) | |
self.DS_11_AngleCenter.setSingleStep(incrementDS) | |
self.DS_12_Cord.setSingleStep(incrementDS) | |
self.DS_13_Arrow.setSingleStep(incrementDS) | |
def on_SP_01_Caracter_valueChanged(self, value): | |
self.PointSize = value | |
self.fontGlobal_08.setPointSize(self.PointSize) | |
self.GBox_01_Coordinate.setFont(self.fontGlobal_08) | |
self.DS_01_Coord_X.setFont(self.fontGlobal_08) | |
self.label_01_X.setFont(self.fontGlobal_08) | |
self.label_01_X.setStyleSheet("color: red; font: bold "+str(self.PointSize+3)+"px;") | |
self.DS_02_Coord_Y.setFont(self.fontGlobal_08) | |
self.label_02_Y.setFont(self.fontGlobal_08) | |
self.label_02_Y.setStyleSheet("color: green; font: bold "+str(self.PointSize+3)+"px;") | |
self.DS_03_Coord_Z.setFont(self.fontGlobal_08) | |
self.label_03_Z.setFont(self.fontGlobal_08) | |
self.label_03_Z.setStyleSheet("color: blue; font: bold "+str(self.PointSize+3)+"px;") | |
self.PB_03_Reset_Coordinate.setFont(self.fontGlobal_08) | |
self.GBox_02_Options.setFont(self.fontGlobal_08) | |
self.DS_04_Radius.setFont(self.fontGlobal_08) | |
self.label_DS_04_Radius.setFont(self.fontGlobal_08) | |
self.DS_05_Diameter.setFont(self.fontGlobal_08) | |
self.label_DS_05_Diameter.setFont(self.fontGlobal_08) | |
self.DS_06_Circumference.setFont(self.fontGlobal_08) | |
self.label_06_Circumference.setFont(self.fontGlobal_08) | |
self.DS_07_Area.setFont(self.fontGlobal_08) | |
self.label_07_Area.setFont(self.fontGlobal_08) | |
self.DS_08_StartAngle.setFont(self.fontGlobal_08) | |
self.label_08_StartAngle.setFont(self.fontGlobal_08) | |
self.DS_09_EndAngle.setFont(self.fontGlobal_08) | |
self.label_09_EndAngle.setFont(self.fontGlobal_08) | |
self.DS_10_Arc.setFont(self.fontGlobal_08) | |
self.label_10_Arc.setFont(self.fontGlobal_08) | |
self.DS_11_AngleCenter.setFont(self.fontGlobal_08) | |
self.label_11_AngleCenter.setFont(self.fontGlobal_08) | |
self.DS_12_Cord.setFont(self.fontGlobal_08) | |
self.label_12_Cord.setFont(self.fontGlobal_08) | |
self.DS_13_Arrow.setFont(self.fontGlobal_08) | |
self.label_13_Arrow.setFont(self.fontGlobal_08) | |
self.SP_01_Caracter.setFont(self.fontGlobal_08) | |
self.PB_02_Create.setFont(self.fontGlobal_08) | |
self.PB_01_Quit.setFont(self.fontGlobal_08) | |
def on_PB_01_Quit_clicked(self): | |
global s | |
self.vueActive.removeEventCallback("SoMouseButtonEvent",self.click) # desinstalle la fonction souris | |
FreeCADGui.Selection.removeObserver(s) # desinstalle la fonction residente SelObserver | |
self.window.hide() | |
FreeCAD.Console.PrintMessage("Quit" + "\n") | |
def on_PB_02_Create_clicked(self): | |
global positionX | |
global positionY | |
global positionZ | |
if self.Circumference != 0: # with circumference | |
self.Radius = (self.Circumference / pi) / 2.0 | |
elif self.Area != 0: # with area | |
self.Radius = sqrt((self.Area / pi)) | |
elif (self.Cord != 0) and (self.Arrow != 0): # with cord and arrow | |
self.Radius = ((self.Arrow**2) + (self.Cord**2) / 4.0) / (self.Arrow*2.0) | |
elif (self.Arc != 0) and (self.AngleCenter != 0): # with arc and anglecenter central in degrees | |
self.Radius = ((360.0 / self.AngleCenter)*self.Arc) / pi/2.0 | |
if self.EndAngle != 0: | |
self.StartAngle = self.EndAngle - self.AngleCenter | |
self.EndAngle = self.AngleCenter + self.StartAngle | |
self.StartAngle = self.EndAngle - self.AngleCenter | |
if self.Radius != 0: | |
if self.CB_03_Face.isChecked(): | |
self.Face = True | |
try: | |
pl=FreeCAD.Placement() | |
r = FreeCADGui.ActiveDocument.ActiveView.getCameraOrientation() # get camera orientation | |
pl=FreeCAD.Placement() # placement object | |
pl.Rotation.Q = r.Q # set camera orientation | |
pl.Base = App.Vector(positionX, positionY, positionZ) | |
circle = Draft.makeCircle(self.Radius, placement=pl, face=self.Face, startangle=self.StartAngle, endangle=self.EndAngle, support=None) | |
Draft.autogroup(circle) | |
if self.CB_01_Center.isChecked(): | |
Draft.makePoint(pl.Base) | |
try: | |
if (self.CB_04_Sector.isChecked()): #Sector | |
pointsC = [] | |
pointsC = circle.Shape.discretize(3) | |
line01 = Draft.makeWire([pl.Base, pointsC[0]],closed=False,face=False,support=None); Draft.autogroup(line01) | |
line02 = Draft.makeWire([pl.Base, pointsC[2]],closed=False,face=False,support=None); Draft.autogroup(line02) | |
##Compound | |
secteur = App.activeDocument().addObject("Part::Compound","Sector") | |
secteur.Links = [line01, circle, line02] | |
##face #https://www.freecadweb.org/wiki/Macro_Creating_faces_from_a_DXF_file | |
if self.CB_03_Face.isChecked(): | |
try: | |
edges = sum((line01.Shape.Edges, circle.Shape.Edges, line02.Shape.Edges),[]) | |
face = OpenSCAD2Dgeom.edgestofaces(edges) | |
faceobj = doc.addObject("Part::Feature","Sector") | |
faceobj.Label = "Sector" | |
faceobj.Shape = face | |
except Exception: | |
None | |
App.activeDocument().recompute() | |
except Exception: | |
App.Console.PrintError("Sector not possible" + "\n") | |
try: | |
if (self.CB_05_Segment.isChecked()): #Segment | |
pointsC = [] | |
pointsC = circle.Shape.discretize(3) | |
line01 = Draft.makeWire([pointsC[0], pointsC[2]],closed=False,face=False,support=None); Draft.autogroup(line01) | |
##Compound | |
secteur = App.activeDocument().addObject("Part::Compound","Segment") | |
secteur.Links = [line01, circle] | |
##face #https://www.freecadweb.org/wiki/Macro_Creating_faces_from_a_DXF_file | |
if self.CB_03_Face.isChecked(): | |
try: | |
edges = sum((line01.Shape.Edges, circle.Shape.Edges),[]) | |
face = OpenSCAD2Dgeom.edgestofaces(edges) | |
faceobj = doc.addObject("Part::Feature","Segment") | |
faceobj.Label = "Segment" | |
faceobj.Shape = face | |
except Exception: | |
None | |
App.activeDocument().recompute() | |
except Exception: | |
App.Console.PrintError("Segment not possible" + "\n") | |
self.Face = False | |
self.label_DS_04_Radius.setStyleSheet("background-color: QPalette.Base") # origin system | |
self.label_DS_05_Diameter.setStyleSheet("background-color: QPalette.Base") # origin system | |
self.label_06_Circumference.setStyleSheet("background-color: QPalette.Base") # origin system | |
self.label_07_Area.setStyleSheet("background-color: QPalette.Base") # origin system | |
self.label_08_StartAngle.setStyleSheet("background-color: QPalette.Base") # origin system | |
self.label_09_EndAngle.setStyleSheet("background-color: QPalette.Base") # origin system | |
self.label_10_Arc.setStyleSheet("background-color: QPalette.Base") # origin system | |
self.label_11_AngleCenter.setStyleSheet("background-color: QPalette.Base") # origin system | |
self.label_12_Cord.setStyleSheet("background-color: QPalette.Base") # origin system | |
self.label_13_Arrow.setStyleSheet("background-color: QPalette.Base") # origin system | |
self.Circumference = ((self.Radius * 2.0) * pi) | |
self.Area = ((self.Radius ** 2.0) * pi) | |
if self.CB_02_Info.isChecked(): | |
FreeCAD.Console.PrintMessage("Radius : " + str(self.Radius) + "\n") | |
FreeCAD.Console.PrintMessage("Diameter : " + str(self.Radius * 2.0) + "\n") | |
FreeCAD.Console.PrintMessage("Circumference : " + str(self.Circumference) + "\n") | |
FreeCAD.Console.PrintMessage("Area : " + str(self.Area) + "\n") | |
FreeCAD.Console.PrintMessage("StartAngle : " + str(self.StartAngle) + "\n") | |
FreeCAD.Console.PrintMessage("EndAngle : " + str(self.EndAngle) + "\n") | |
FreeCAD.Console.PrintMessage("Arc : " + str(self.Arc) + "\n") | |
FreeCAD.Console.PrintMessage("AngleCenter : " + str(self.AngleCenter) + "\n") | |
FreeCAD.Console.PrintMessage("Cord : " + str(self.Cord) + "\n") | |
FreeCAD.Console.PrintMessage("Arrow : " + str(self.Arrow) + "\n") | |
FreeCAD.Console.PrintMessage("________________" + "\n") | |
self.label_DS_04_Radius.setText("Rad" + " (" + str(round(self.Radius,2)) + ")") | |
self.label_DS_05_Diameter.setText("Dia" + " (" + str(round(self.Radius * 2.0,2)) + ")") | |
self.label_06_Circumference.setText("Cir" + " (" + str(round(self.Circumference,2)) + ")") | |
self.label_07_Area.setText("Arc" + " (" + str(round(self.Area,2)) + ")") | |
self.label_08_StartAngle.setText("Sta" + " (" + str(round(self.StartAngle,2)) + ")") | |
self.label_09_EndAngle.setText("End" + " (" + str(round(self.EndAngle,2)) + ")") | |
self.label_10_Arc.setText("Arc" + " (" + str(round(self.Arc,2)) + ")") | |
self.label_11_AngleCenter.setText("ACe" + " (" + str(round(self.AngleCenter,2)) + ")") | |
self.label_12_Cord.setText("Cor" + " (" + str(round(self.Cord,2)) + ")") | |
self.label_13_Arrow.setText("Arr" + " (" + str(round(self.Arrow,2)) + ")") | |
self.PB_02_Create.setStyleSheet("background-color: QPalette.Base") | |
except Exception: | |
App.Console.PrintError("Unexpected keyword argument" + "\n") | |
else: | |
App.Console.PrintError("Unexpected keyword argument" + "\n") | |
#self.DS_04_Radius.setStyleSheet("background-color: red") | |
#self.DS_05_Diameter.setStyleSheet("background-color: red") | |
self.PB_02_Create.setStyleSheet("background-color: red") # This function gives a color button | |
################################################################################################# | |
class SelObserver: | |
def addSelection(self, document, object, element, position): # Selection | |
global ui | |
global sourisPass | |
global positionX | |
global positionY | |
global positionZ | |
positionX = positionY = positionZ =0.0 | |
if sourisPass == 0: | |
sourisPass = 1 | |
#print position | |
positionX = position[0] | |
positionY = position[1] | |
positionZ = position[2] | |
ui.DS_01_Coord_X.setValue(positionX) | |
ui.DS_02_Coord_Y.setValue(positionY) | |
ui.DS_03_Coord_Z.setValue(positionZ) | |
else: | |
sourisPass = 0 | |
## def setPreselection(self,doc,obj,sub): # preselection | |
## print "setPreselection" | |
## 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 | |
s=SelObserver() | |
FreeCADGui.Selection.addObserver(s) # installe la fonction en mode resident | |
################################################################################################## | |
doc = FreeCAD.ActiveDocument | |
if doc == None: | |
doc = FreeCAD.newDocument() | |
MainWindow = QtGui.QMainWindow() | |
ui = Ui_MainWindow() | |
ui.setupUi(MainWindow) | |
MainWindow.show() | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This macro utility is intended for the use of the program FreeCAD http://www.freecadweb.org/
The icon for your toolbar, it is to place in your macros directory (all in the same location of the macro)
Icon for the toolbar Rename in Macro_CirclePlus.png