Merge pull request #6 from Rentlau/2015_02_17

Release of 2015-03-08 :
This commit is contained in:
Rentlau 2015-03-08 16:08:57 +01:00
commit b2de86166f
6 changed files with 1434 additions and 397 deletions

Binary file not shown.

View File

@ -1,8 +1,8 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'WFGui_2015_02_25.ui' # Form implementation generated from reading ui file 'WFGui_2015_03_08.ui'
# #
# Created: Wed Feb 25 10:08:21 2015 # Created: Sun Mar 8 15:24:14 2015
# by: PySide UI code generator 4.9.1 # by: PySide UI code generator 4.9.1
# #
# WARNING! All changes made in this file will be lost! # WARNING! All changes made in this file will be lost!
@ -17,7 +17,7 @@ except AttributeError:
class Ui_Form(object): class Ui_Form(object):
def setupUi(self, Form): def setupUi(self, Form):
Form.setObjectName(_fromUtf8("Form")) Form.setObjectName(_fromUtf8("Form"))
Form.resize(386, 767) Form.resize(387, 838)
icon = QtGui.QIcon() icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_Axes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_Axes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
Form.setWindowIcon(icon) Form.setWindowIcon(icon)
@ -38,7 +38,7 @@ class Ui_Form(object):
self.scrollArea.setWidgetResizable(True) self.scrollArea.setWidgetResizable(True)
self.scrollArea.setObjectName(_fromUtf8("scrollArea")) self.scrollArea.setObjectName(_fromUtf8("scrollArea"))
self.scrollAreaWidgetContents_2 = QtGui.QWidget() self.scrollAreaWidgetContents_2 = QtGui.QWidget()
self.scrollAreaWidgetContents_2.setGeometry(QtCore.QRect(0, 0, 350, 765)) self.scrollAreaWidgetContents_2.setGeometry(QtCore.QRect(0, 0, 351, 813))
self.scrollAreaWidgetContents_2.setObjectName(_fromUtf8("scrollAreaWidgetContents_2")) self.scrollAreaWidgetContents_2.setObjectName(_fromUtf8("scrollAreaWidgetContents_2"))
self.gridLayout_4 = QtGui.QGridLayout(self.scrollAreaWidgetContents_2) self.gridLayout_4 = QtGui.QGridLayout(self.scrollAreaWidgetContents_2)
self.gridLayout_4.setObjectName(_fromUtf8("gridLayout_4")) self.gridLayout_4.setObjectName(_fromUtf8("gridLayout_4"))
@ -47,8 +47,8 @@ class Ui_Form(object):
self.tabWidget_0.setObjectName(_fromUtf8("tabWidget_0")) self.tabWidget_0.setObjectName(_fromUtf8("tabWidget_0"))
self.tab_2 = QtGui.QWidget() self.tab_2 = QtGui.QWidget()
self.tab_2.setObjectName(_fromUtf8("tab_2")) self.tab_2.setObjectName(_fromUtf8("tab_2"))
self.gridLayout_22 = QtGui.QGridLayout(self.tab_2) self.gridLayout_30 = QtGui.QGridLayout(self.tab_2)
self.gridLayout_22.setObjectName(_fromUtf8("gridLayout_22")) self.gridLayout_30.setObjectName(_fromUtf8("gridLayout_30"))
self.tabWidget = QtGui.QTabWidget(self.tab_2) self.tabWidget = QtGui.QTabWidget(self.tab_2)
self.tabWidget.setTabPosition(QtGui.QTabWidget.West) self.tabWidget.setTabPosition(QtGui.QTabWidget.West)
self.tabWidget.setObjectName(_fromUtf8("tabWidget")) self.tabWidget.setObjectName(_fromUtf8("tabWidget"))
@ -74,9 +74,19 @@ class Ui_Form(object):
self.radioButton_verbose = QtGui.QRadioButton(self.groupBox_5) self.radioButton_verbose = QtGui.QRadioButton(self.groupBox_5)
self.radioButton_verbose.setObjectName(_fromUtf8("radioButton_verbose")) self.radioButton_verbose.setObjectName(_fromUtf8("radioButton_verbose"))
self.gridLayout_7.addWidget(self.radioButton_verbose, 0, 0, 1, 1) self.gridLayout_7.addWidget(self.radioButton_verbose, 0, 0, 1, 1)
self.horizontalLayout_25 = QtGui.QHBoxLayout()
self.horizontalLayout_25.setObjectName(_fromUtf8("horizontalLayout_25"))
self.label_5 = QtGui.QLabel(self.groupBox_5)
self.label_5.setObjectName(_fromUtf8("label_5"))
self.horizontalLayout_25.addWidget(self.label_5)
self.tolerance_edit = QtGui.QLineEdit(self.groupBox_5)
self.tolerance_edit.setMaximumSize(QtCore.QSize(60, 16777215))
self.tolerance_edit.setObjectName(_fromUtf8("tolerance_edit"))
self.horizontalLayout_25.addWidget(self.tolerance_edit)
self.gridLayout_7.addLayout(self.horizontalLayout_25, 1, 0, 1, 1)
self.gridLayout_14.addWidget(self.groupBox_5, 0, 0, 1, 1) self.gridLayout_14.addWidget(self.groupBox_5, 0, 0, 1, 1)
self.gridLayout_31.addWidget(self.frame_3, 1, 0, 1, 1) self.gridLayout_31.addWidget(self.frame_3, 1, 0, 1, 1)
spacerItem1 = QtGui.QSpacerItem(20, 539, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) spacerItem1 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
self.gridLayout_31.addItem(spacerItem1, 2, 0, 1, 1) self.gridLayout_31.addItem(spacerItem1, 2, 0, 1, 1)
self.tabWidget.addTab(self.Origin_Tab, icon, _fromUtf8("")) self.tabWidget.addTab(self.Origin_Tab, icon, _fromUtf8(""))
self.Point_Tab = QtGui.QWidget() self.Point_Tab = QtGui.QWidget()
@ -223,15 +233,15 @@ class Ui_Form(object):
self.tabWidget.addTab(self.Point_Tab, icon15, _fromUtf8("")) self.tabWidget.addTab(self.Point_Tab, icon15, _fromUtf8(""))
self.Axis_Tab = QtGui.QWidget() self.Axis_Tab = QtGui.QWidget()
self.Axis_Tab.setObjectName(_fromUtf8("Axis_Tab")) self.Axis_Tab.setObjectName(_fromUtf8("Axis_Tab"))
self.gridLayout_30 = QtGui.QGridLayout(self.Axis_Tab) self.gridLayout_22 = QtGui.QGridLayout(self.Axis_Tab)
self.gridLayout_30.setObjectName(_fromUtf8("gridLayout_30")) self.gridLayout_22.setObjectName(_fromUtf8("gridLayout_22"))
self.button_object_axis = QtGui.QPushButton(self.Axis_Tab) self.button_object_axis = QtGui.QPushButton(self.Axis_Tab)
icon16 = QtGui.QIcon() icon16 = QtGui.QIcon()
icon16.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_centerObjectsAxes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon16.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_centerObjectsAxes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_object_axis.setIcon(icon16) self.button_object_axis.setIcon(icon16)
self.button_object_axis.setIconSize(QtCore.QSize(32, 32)) self.button_object_axis.setIconSize(QtCore.QSize(32, 32))
self.button_object_axis.setObjectName(_fromUtf8("button_object_axis")) self.button_object_axis.setObjectName(_fromUtf8("button_object_axis"))
self.gridLayout_30.addWidget(self.button_object_axis, 0, 0, 1, 1) self.gridLayout_22.addWidget(self.button_object_axis, 0, 0, 1, 1)
self.horizontalLayout_2 = QtGui.QHBoxLayout() self.horizontalLayout_2 = QtGui.QHBoxLayout()
self.horizontalLayout_2.setObjectName(_fromUtf8("horizontalLayout_2")) self.horizontalLayout_2.setObjectName(_fromUtf8("horizontalLayout_2"))
self.button_twopoints_axis = QtGui.QPushButton(self.Axis_Tab) self.button_twopoints_axis = QtGui.QPushButton(self.Axis_Tab)
@ -250,7 +260,7 @@ class Ui_Form(object):
self.extension_twopoints_axis.setMaximumSize(QtCore.QSize(40, 16777215)) self.extension_twopoints_axis.setMaximumSize(QtCore.QSize(40, 16777215))
self.extension_twopoints_axis.setObjectName(_fromUtf8("extension_twopoints_axis")) self.extension_twopoints_axis.setObjectName(_fromUtf8("extension_twopoints_axis"))
self.horizontalLayout_2.addWidget(self.extension_twopoints_axis) self.horizontalLayout_2.addWidget(self.extension_twopoints_axis)
self.gridLayout_30.addLayout(self.horizontalLayout_2, 1, 0, 1, 1) self.gridLayout_22.addLayout(self.horizontalLayout_2, 1, 0, 1, 1)
self.horizontalLayout_5 = QtGui.QHBoxLayout() self.horizontalLayout_5 = QtGui.QHBoxLayout()
self.horizontalLayout_5.setObjectName(_fromUtf8("horizontalLayout_5")) self.horizontalLayout_5.setObjectName(_fromUtf8("horizontalLayout_5"))
self.verticalLayout = QtGui.QVBoxLayout() self.verticalLayout = QtGui.QVBoxLayout()
@ -298,7 +308,7 @@ class Ui_Form(object):
self.extension_face_normal.setObjectName(_fromUtf8("extension_face_normal")) self.extension_face_normal.setObjectName(_fromUtf8("extension_face_normal"))
self.gridLayout.addWidget(self.extension_face_normal, 0, 0, 1, 1) self.gridLayout.addWidget(self.extension_face_normal, 0, 0, 1, 1)
self.horizontalLayout_5.addWidget(self.frame_4) self.horizontalLayout_5.addWidget(self.frame_4)
self.gridLayout_30.addLayout(self.horizontalLayout_5, 2, 0, 1, 1) self.gridLayout_22.addLayout(self.horizontalLayout_5, 2, 0, 1, 1)
self.horizontalLayout_20 = QtGui.QHBoxLayout() self.horizontalLayout_20 = QtGui.QHBoxLayout()
self.horizontalLayout_20.setObjectName(_fromUtf8("horizontalLayout_20")) self.horizontalLayout_20.setObjectName(_fromUtf8("horizontalLayout_20"))
self.button_point_line_axis = QtGui.QPushButton(self.Axis_Tab) self.button_point_line_axis = QtGui.QPushButton(self.Axis_Tab)
@ -315,7 +325,7 @@ class Ui_Form(object):
self.point_loc_comboBox.addItem(_fromUtf8("")) self.point_loc_comboBox.addItem(_fromUtf8(""))
self.point_loc_comboBox.addItem(_fromUtf8("")) self.point_loc_comboBox.addItem(_fromUtf8(""))
self.horizontalLayout_20.addWidget(self.point_loc_comboBox) self.horizontalLayout_20.addWidget(self.point_loc_comboBox)
self.gridLayout_30.addLayout(self.horizontalLayout_20, 3, 0, 1, 1) self.gridLayout_22.addLayout(self.horizontalLayout_20, 3, 0, 1, 1)
self.horizontalLayout_7 = QtGui.QHBoxLayout() self.horizontalLayout_7 = QtGui.QHBoxLayout()
self.horizontalLayout_7.setObjectName(_fromUtf8("horizontalLayout_7")) self.horizontalLayout_7.setObjectName(_fromUtf8("horizontalLayout_7"))
self.button_line_point_axis = QtGui.QPushButton(self.Axis_Tab) self.button_line_point_axis = QtGui.QPushButton(self.Axis_Tab)
@ -334,20 +344,27 @@ class Ui_Form(object):
self.extension_line_point_axis.setMaximumSize(QtCore.QSize(40, 16777215)) self.extension_line_point_axis.setMaximumSize(QtCore.QSize(40, 16777215))
self.extension_line_point_axis.setObjectName(_fromUtf8("extension_line_point_axis")) self.extension_line_point_axis.setObjectName(_fromUtf8("extension_line_point_axis"))
self.horizontalLayout_7.addWidget(self.extension_line_point_axis) self.horizontalLayout_7.addWidget(self.extension_line_point_axis)
self.gridLayout_30.addLayout(self.horizontalLayout_7, 4, 0, 1, 1) self.gridLayout_22.addLayout(self.horizontalLayout_7, 4, 0, 1, 1)
self.button_twolines_axis = QtGui.QPushButton(self.Axis_Tab) self.button_twolines_axis = QtGui.QPushButton(self.Axis_Tab)
icon23 = QtGui.QIcon() icon23 = QtGui.QIcon()
icon23.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_twoLinesAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon23.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_twoLinesAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_twolines_axis.setIcon(icon23) self.button_twolines_axis.setIcon(icon23)
self.button_twolines_axis.setIconSize(QtCore.QSize(32, 32)) self.button_twolines_axis.setIconSize(QtCore.QSize(32, 32))
self.button_twolines_axis.setObjectName(_fromUtf8("button_twolines_axis")) self.button_twolines_axis.setObjectName(_fromUtf8("button_twolines_axis"))
self.gridLayout_30.addWidget(self.button_twolines_axis, 5, 0, 1, 1) self.gridLayout_22.addWidget(self.button_twolines_axis, 5, 0, 1, 1)
self.button_plane_point_line_axis = QtGui.QPushButton(self.Axis_Tab)
icon24 = QtGui.QIcon()
icon24.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_planeLinePointAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_plane_point_line_axis.setIcon(icon24)
self.button_plane_point_line_axis.setIconSize(QtCore.QSize(32, 32))
self.button_plane_point_line_axis.setObjectName(_fromUtf8("button_plane_point_line_axis"))
self.gridLayout_22.addWidget(self.button_plane_point_line_axis, 6, 0, 1, 1)
self.horizontalLayout_21 = QtGui.QHBoxLayout() self.horizontalLayout_21 = QtGui.QHBoxLayout()
self.horizontalLayout_21.setObjectName(_fromUtf8("horizontalLayout_21")) self.horizontalLayout_21.setObjectName(_fromUtf8("horizontalLayout_21"))
self.button_cut_axis = QtGui.QPushButton(self.Axis_Tab) self.button_cut_axis = QtGui.QPushButton(self.Axis_Tab)
icon24 = QtGui.QIcon() icon25 = QtGui.QIcon()
icon24.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_cutAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon25.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_cutAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_cut_axis.setIcon(icon24) self.button_cut_axis.setIcon(icon25)
self.button_cut_axis.setIconSize(QtCore.QSize(32, 32)) self.button_cut_axis.setIconSize(QtCore.QSize(32, 32))
self.button_cut_axis.setObjectName(_fromUtf8("button_cut_axis")) self.button_cut_axis.setObjectName(_fromUtf8("button_cut_axis"))
self.horizontalLayout_21.addWidget(self.button_cut_axis) self.horizontalLayout_21.addWidget(self.button_cut_axis)
@ -359,74 +376,85 @@ class Ui_Form(object):
self.spin_axis_cut.setSingleStep(1) self.spin_axis_cut.setSingleStep(1)
self.spin_axis_cut.setObjectName(_fromUtf8("spin_axis_cut")) self.spin_axis_cut.setObjectName(_fromUtf8("spin_axis_cut"))
self.horizontalLayout_21.addWidget(self.spin_axis_cut) self.horizontalLayout_21.addWidget(self.spin_axis_cut)
self.gridLayout_30.addLayout(self.horizontalLayout_21, 6, 0, 1, 1) self.gridLayout_22.addLayout(self.horizontalLayout_21, 7, 0, 1, 1)
self.button_line_plane_axis = QtGui.QPushButton(self.Axis_Tab) self.button_line_plane_axis = QtGui.QPushButton(self.Axis_Tab)
icon25 = QtGui.QIcon() icon26 = QtGui.QIcon()
icon25.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_linePlaneAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon26.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_linePlaneAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_line_plane_axis.setIcon(icon25) self.button_line_plane_axis.setIcon(icon26)
self.button_line_plane_axis.setIconSize(QtCore.QSize(32, 32)) self.button_line_plane_axis.setIconSize(QtCore.QSize(32, 32))
self.button_line_plane_axis.setObjectName(_fromUtf8("button_line_plane_axis")) self.button_line_plane_axis.setObjectName(_fromUtf8("button_line_plane_axis"))
self.gridLayout_30.addWidget(self.button_line_plane_axis, 7, 0, 1, 1) self.gridLayout_22.addWidget(self.button_line_plane_axis, 8, 0, 1, 1)
self.button_twoplanes_axis = QtGui.QPushButton(self.Axis_Tab) self.button_twoplanes_axis = QtGui.QPushButton(self.Axis_Tab)
icon26 = QtGui.QIcon() icon27 = QtGui.QIcon()
icon26.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_2PlanesAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon27.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_2PlanesAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_twoplanes_axis.setIcon(icon26) self.button_twoplanes_axis.setIcon(icon27)
self.button_twoplanes_axis.setIconSize(QtCore.QSize(32, 32)) self.button_twoplanes_axis.setIconSize(QtCore.QSize(32, 32))
self.button_twoplanes_axis.setObjectName(_fromUtf8("button_twoplanes_axis")) self.button_twoplanes_axis.setObjectName(_fromUtf8("button_twoplanes_axis"))
self.gridLayout_30.addWidget(self.button_twoplanes_axis, 8, 0, 1, 1) self.gridLayout_22.addWidget(self.button_twoplanes_axis, 9, 0, 1, 1)
self.button_click_for_axis = QtGui.QRadioButton(self.Axis_Tab) self.button_click_for_axis = QtGui.QRadioButton(self.Axis_Tab)
icon27 = QtGui.QIcon() icon28 = QtGui.QIcon()
icon27.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_clickLine.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon28.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_clickLine.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_click_for_axis.setIcon(icon27) self.button_click_for_axis.setIcon(icon28)
self.button_click_for_axis.setIconSize(QtCore.QSize(32, 32)) self.button_click_for_axis.setIconSize(QtCore.QSize(32, 32))
self.button_click_for_axis.setObjectName(_fromUtf8("button_click_for_axis")) self.button_click_for_axis.setObjectName(_fromUtf8("button_click_for_axis"))
self.gridLayout_30.addWidget(self.button_click_for_axis, 9, 0, 1, 1) self.gridLayout_22.addWidget(self.button_click_for_axis, 10, 0, 1, 1)
self.button_object_base_axes = QtGui.QPushButton(self.Axis_Tab) self.button_object_base_axes = QtGui.QPushButton(self.Axis_Tab)
icon28 = QtGui.QIcon() icon29 = QtGui.QIcon()
icon28.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_baseObjectsAxes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon29.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_baseObjectsAxes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_object_base_axes.setIcon(icon28) self.button_object_base_axes.setIcon(icon29)
self.button_object_base_axes.setIconSize(QtCore.QSize(32, 32)) self.button_object_base_axes.setIconSize(QtCore.QSize(32, 32))
self.button_object_base_axes.setObjectName(_fromUtf8("button_object_base_axes")) self.button_object_base_axes.setObjectName(_fromUtf8("button_object_base_axes"))
self.gridLayout_30.addWidget(self.button_object_base_axes, 10, 0, 1, 1) self.gridLayout_22.addWidget(self.button_object_base_axes, 11, 0, 1, 1)
self.button_line_to_sketch = QtGui.QPushButton(self.Axis_Tab) self.button_line_to_sketch = QtGui.QPushButton(self.Axis_Tab)
self.button_line_to_sketch.setIcon(icon14) self.button_line_to_sketch.setIcon(icon14)
self.button_line_to_sketch.setIconSize(QtCore.QSize(32, 32)) self.button_line_to_sketch.setIconSize(QtCore.QSize(32, 32))
self.button_line_to_sketch.setObjectName(_fromUtf8("button_line_to_sketch")) self.button_line_to_sketch.setObjectName(_fromUtf8("button_line_to_sketch"))
self.gridLayout_30.addWidget(self.button_line_to_sketch, 11, 0, 1, 1) self.gridLayout_22.addWidget(self.button_line_to_sketch, 12, 0, 1, 1)
icon29 = QtGui.QIcon() icon30 = QtGui.QIcon()
icon29.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_axis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon30.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_axis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.tabWidget.addTab(self.Axis_Tab, icon29, _fromUtf8("")) self.tabWidget.addTab(self.Axis_Tab, icon30, _fromUtf8(""))
self.tab_4 = QtGui.QWidget() self.tab_4 = QtGui.QWidget()
self.tab_4.setObjectName(_fromUtf8("tab_4")) self.tab_4.setObjectName(_fromUtf8("tab_4"))
self.gridLayout_5 = QtGui.QGridLayout(self.tab_4) self.gridLayout_5 = QtGui.QGridLayout(self.tab_4)
self.gridLayout_5.setObjectName(_fromUtf8("gridLayout_5")) self.gridLayout_5.setObjectName(_fromUtf8("gridLayout_5"))
self.button_3points_circle = QtGui.QPushButton(self.tab_4)
icon30 = QtGui.QIcon()
icon30.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_3pointsCircle.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_3points_circle.setIcon(icon30)
self.button_3points_circle.setIconSize(QtCore.QSize(32, 32))
self.button_3points_circle.setObjectName(_fromUtf8("button_3points_circle"))
self.gridLayout_5.addWidget(self.button_3points_circle, 2, 0, 1, 1)
self.button_3points_ellipse = QtGui.QPushButton(self.tab_4)
icon31 = QtGui.QIcon()
icon31.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_3pointsEllipse.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_3points_ellipse.setIcon(icon31)
self.button_3points_ellipse.setIconSize(QtCore.QSize(32, 32))
self.button_3points_ellipse.setObjectName(_fromUtf8("button_3points_ellipse"))
self.gridLayout_5.addWidget(self.button_3points_ellipse, 3, 0, 1, 1)
self.button_linepoint_circle = QtGui.QPushButton(self.tab_4) self.button_linepoint_circle = QtGui.QPushButton(self.tab_4)
icon32 = QtGui.QIcon() icon31 = QtGui.QIcon()
icon32.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_linePointCircle.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon31.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_linePointCircle.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_linepoint_circle.setIcon(icon32) self.button_linepoint_circle.setIcon(icon31)
self.button_linepoint_circle.setIconSize(QtCore.QSize(32, 32)) self.button_linepoint_circle.setIconSize(QtCore.QSize(32, 32))
self.button_linepoint_circle.setObjectName(_fromUtf8("button_linepoint_circle")) self.button_linepoint_circle.setObjectName(_fromUtf8("button_linepoint_circle"))
self.gridLayout_5.addWidget(self.button_linepoint_circle, 1, 0, 1, 1) self.gridLayout_5.addWidget(self.button_linepoint_circle, 1, 0, 1, 1)
self.horizontalLayout_24 = QtGui.QHBoxLayout()
self.horizontalLayout_24.setObjectName(_fromUtf8("horizontalLayout_24"))
self.button_cut_circle = QtGui.QPushButton(self.tab_4)
icon32 = QtGui.QIcon()
icon32.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_cutCircle.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_cut_circle.setIcon(icon32)
self.button_cut_circle.setIconSize(QtCore.QSize(32, 32))
self.button_cut_circle.setObjectName(_fromUtf8("button_cut_circle"))
self.horizontalLayout_24.addWidget(self.button_cut_circle)
self.spin_circle_cut = QtGui.QSpinBox(self.tab_4)
self.spin_circle_cut.setMinimumSize(QtCore.QSize(40, 0))
self.spin_circle_cut.setMaximumSize(QtCore.QSize(50, 16777215))
self.spin_circle_cut.setMinimum(2)
self.spin_circle_cut.setMaximum(10)
self.spin_circle_cut.setSingleStep(1)
self.spin_circle_cut.setObjectName(_fromUtf8("spin_circle_cut"))
self.horizontalLayout_24.addWidget(self.spin_circle_cut)
self.gridLayout_5.addLayout(self.horizontalLayout_24, 3, 0, 1, 1)
self.button_3points_circle = QtGui.QPushButton(self.tab_4)
icon33 = QtGui.QIcon()
icon33.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_3pointsCircle.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_3points_circle.setIcon(icon33)
self.button_3points_circle.setIconSize(QtCore.QSize(32, 32))
self.button_3points_circle.setObjectName(_fromUtf8("button_3points_circle"))
self.gridLayout_5.addWidget(self.button_3points_circle, 2, 0, 1, 1)
self.horizontalLayout_11 = QtGui.QHBoxLayout() self.horizontalLayout_11 = QtGui.QHBoxLayout()
self.horizontalLayout_11.setObjectName(_fromUtf8("horizontalLayout_11")) self.horizontalLayout_11.setObjectName(_fromUtf8("horizontalLayout_11"))
self.button_linecenter_circle = QtGui.QPushButton(self.tab_4) self.button_linecenter_circle = QtGui.QPushButton(self.tab_4)
icon33 = QtGui.QIcon() icon34 = QtGui.QIcon()
icon33.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_lineCenterCircle.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon34.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_lineCenterCircle.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_linecenter_circle.setIcon(icon33) self.button_linecenter_circle.setIcon(icon34)
self.button_linecenter_circle.setIconSize(QtCore.QSize(32, 32)) self.button_linecenter_circle.setIconSize(QtCore.QSize(32, 32))
self.button_linecenter_circle.setObjectName(_fromUtf8("button_linecenter_circle")) self.button_linecenter_circle.setObjectName(_fromUtf8("button_linecenter_circle"))
self.horizontalLayout_11.addWidget(self.button_linecenter_circle) self.horizontalLayout_11.addWidget(self.button_linecenter_circle)
@ -436,58 +464,43 @@ class Ui_Form(object):
self.radius_circle.setObjectName(_fromUtf8("radius_circle")) self.radius_circle.setObjectName(_fromUtf8("radius_circle"))
self.horizontalLayout_11.addWidget(self.radius_circle) self.horizontalLayout_11.addWidget(self.radius_circle)
self.gridLayout_5.addLayout(self.horizontalLayout_11, 0, 0, 1, 1) self.gridLayout_5.addLayout(self.horizontalLayout_11, 0, 0, 1, 1)
self.button_3points_ellipse = QtGui.QPushButton(self.tab_4)
icon35 = QtGui.QIcon()
icon35.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_3pointsEllipse.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_3points_ellipse.setIcon(icon35)
self.button_3points_ellipse.setIconSize(QtCore.QSize(32, 32))
self.button_3points_ellipse.setObjectName(_fromUtf8("button_3points_ellipse"))
self.gridLayout_5.addWidget(self.button_3points_ellipse, 4, 0, 1, 1)
spacerItem2 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) spacerItem2 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
self.gridLayout_5.addItem(spacerItem2, 4, 0, 1, 1) self.gridLayout_5.addItem(spacerItem2, 5, 0, 1, 1)
icon34 = QtGui.QIcon() icon36 = QtGui.QIcon()
icon34.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_circle.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon36.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_circle.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.tabWidget.addTab(self.tab_4, icon34, _fromUtf8("")) self.tabWidget.addTab(self.tab_4, icon36, _fromUtf8(""))
self.Plane_Tab = QtGui.QWidget() self.Plane_Tab = QtGui.QWidget()
self.Plane_Tab.setObjectName(_fromUtf8("Plane_Tab")) self.Plane_Tab.setObjectName(_fromUtf8("Plane_Tab"))
self.gridLayout_9 = QtGui.QGridLayout(self.Plane_Tab) self.gridLayout_9 = QtGui.QGridLayout(self.Plane_Tab)
self.gridLayout_9.setObjectName(_fromUtf8("gridLayout_9")) self.gridLayout_9.setObjectName(_fromUtf8("gridLayout_9"))
self.button_axis_point_plane = QtGui.QPushButton(self.Plane_Tab) self.button_axis_point_plane = QtGui.QPushButton(self.Plane_Tab)
icon35 = QtGui.QIcon() icon37 = QtGui.QIcon()
icon35.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_linePointPlane2.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon37.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_linePointPlane2.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_axis_point_plane.setIcon(icon35) self.button_axis_point_plane.setIcon(icon37)
self.button_axis_point_plane.setIconSize(QtCore.QSize(32, 32)) self.button_axis_point_plane.setIconSize(QtCore.QSize(32, 32))
self.button_axis_point_plane.setObjectName(_fromUtf8("button_axis_point_plane")) self.button_axis_point_plane.setObjectName(_fromUtf8("button_axis_point_plane"))
self.gridLayout_9.addWidget(self.button_axis_point_plane, 2, 0, 1, 1) self.gridLayout_9.addWidget(self.button_axis_point_plane, 2, 0, 1, 1)
self.button_axisandpoint_plane = QtGui.QPushButton(self.Plane_Tab) self.button_axisandpoint_plane = QtGui.QPushButton(self.Plane_Tab)
icon36 = QtGui.QIcon() icon38 = QtGui.QIcon()
icon36.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_linePointPlane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon38.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_linePointPlane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_axisandpoint_plane.setIcon(icon36) self.button_axisandpoint_plane.setIcon(icon38)
self.button_axisandpoint_plane.setIconSize(QtCore.QSize(32, 32)) self.button_axisandpoint_plane.setIconSize(QtCore.QSize(32, 32))
self.button_axisandpoint_plane.setObjectName(_fromUtf8("button_axisandpoint_plane")) self.button_axisandpoint_plane.setObjectName(_fromUtf8("button_axisandpoint_plane"))
self.gridLayout_9.addWidget(self.button_axisandpoint_plane, 1, 0, 1, 1) self.gridLayout_9.addWidget(self.button_axisandpoint_plane, 1, 0, 1, 1)
self.button_object_center_planes = QtGui.QPushButton(self.Plane_Tab)
icon37 = QtGui.QIcon()
icon37.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_centerObjectsPlanes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_object_center_planes.setIcon(icon37)
self.button_object_center_planes.setIconSize(QtCore.QSize(32, 32))
self.button_object_center_planes.setObjectName(_fromUtf8("button_object_center_planes"))
self.gridLayout_9.addWidget(self.button_object_center_planes, 9, 0, 1, 1)
self.button_threepoints_plane = QtGui.QPushButton(self.Plane_Tab) self.button_threepoints_plane = QtGui.QPushButton(self.Plane_Tab)
icon38 = QtGui.QIcon() icon39 = QtGui.QIcon()
icon38.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_threePointsPlane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon39.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_threePointsPlane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_threepoints_plane.setIcon(icon38) self.button_threepoints_plane.setIcon(icon39)
self.button_threepoints_plane.setIconSize(QtCore.QSize(32, 32)) self.button_threepoints_plane.setIconSize(QtCore.QSize(32, 32))
self.button_threepoints_plane.setObjectName(_fromUtf8("button_threepoints_plane")) self.button_threepoints_plane.setObjectName(_fromUtf8("button_threepoints_plane"))
self.gridLayout_9.addWidget(self.button_threepoints_plane, 0, 0, 1, 1) self.gridLayout_9.addWidget(self.button_threepoints_plane, 0, 0, 1, 1)
self.gridLayout_16 = QtGui.QGridLayout()
self.gridLayout_16.setObjectName(_fromUtf8("gridLayout_16"))
self.button_planeandpoint_plane = QtGui.QPushButton(self.Plane_Tab)
icon39 = QtGui.QIcon()
icon39.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_pointPlanePoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_planeandpoint_plane.setIcon(icon39)
self.button_planeandpoint_plane.setIconSize(QtCore.QSize(32, 32))
self.button_planeandpoint_plane.setObjectName(_fromUtf8("button_planeandpoint_plane"))
self.gridLayout_16.addWidget(self.button_planeandpoint_plane, 0, 0, 1, 1)
self.extension_planePointPlane = QtGui.QLineEdit(self.Plane_Tab)
self.extension_planePointPlane.setMinimumSize(QtCore.QSize(40, 0))
self.extension_planePointPlane.setMaximumSize(QtCore.QSize(60, 16777215))
self.extension_planePointPlane.setObjectName(_fromUtf8("extension_planePointPlane"))
self.gridLayout_16.addWidget(self.extension_planePointPlane, 0, 1, 1, 1)
self.gridLayout_9.addLayout(self.gridLayout_16, 3, 0, 1, 1)
self.horizontalLayout_12 = QtGui.QHBoxLayout() self.horizontalLayout_12 = QtGui.QHBoxLayout()
self.horizontalLayout_12.setObjectName(_fromUtf8("horizontalLayout_12")) self.horizontalLayout_12.setObjectName(_fromUtf8("horizontalLayout_12"))
self.button_face_tangent = QtGui.QPushButton(self.Plane_Tab) self.button_face_tangent = QtGui.QPushButton(self.Plane_Tab)
@ -523,6 +536,23 @@ class Ui_Form(object):
self.width_plane_2.setObjectName(_fromUtf8("width_plane_2")) self.width_plane_2.setObjectName(_fromUtf8("width_plane_2"))
self.horizontalLayout_12.addWidget(self.width_plane_2) self.horizontalLayout_12.addWidget(self.width_plane_2)
self.gridLayout_9.addLayout(self.horizontalLayout_12, 5, 0, 1, 1) self.gridLayout_9.addLayout(self.horizontalLayout_12, 5, 0, 1, 1)
spacerItem3 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
self.gridLayout_9.addItem(spacerItem3, 6, 0, 1, 1)
self.gridLayout_16 = QtGui.QGridLayout()
self.gridLayout_16.setObjectName(_fromUtf8("gridLayout_16"))
self.button_planeandpoint_plane = QtGui.QPushButton(self.Plane_Tab)
icon41 = QtGui.QIcon()
icon41.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_pointPlanePoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_planeandpoint_plane.setIcon(icon41)
self.button_planeandpoint_plane.setIconSize(QtCore.QSize(32, 32))
self.button_planeandpoint_plane.setObjectName(_fromUtf8("button_planeandpoint_plane"))
self.gridLayout_16.addWidget(self.button_planeandpoint_plane, 0, 0, 1, 1)
self.extension_planePointPlane = QtGui.QLineEdit(self.Plane_Tab)
self.extension_planePointPlane.setMinimumSize(QtCore.QSize(40, 0))
self.extension_planePointPlane.setMaximumSize(QtCore.QSize(60, 16777215))
self.extension_planePointPlane.setObjectName(_fromUtf8("extension_planePointPlane"))
self.gridLayout_16.addWidget(self.extension_planePointPlane, 0, 1, 1, 1)
self.gridLayout_9.addLayout(self.gridLayout_16, 3, 0, 1, 1)
self.gridLayout_8 = QtGui.QGridLayout() self.gridLayout_8 = QtGui.QGridLayout()
self.gridLayout_8.setObjectName(_fromUtf8("gridLayout_8")) self.gridLayout_8.setObjectName(_fromUtf8("gridLayout_8"))
self.button_planeandaxis_plane = QtGui.QPushButton(self.Plane_Tab) self.button_planeandaxis_plane = QtGui.QPushButton(self.Plane_Tab)
@ -531,9 +561,9 @@ class Ui_Form(object):
sizePolicy.setVerticalStretch(0) sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.button_planeandaxis_plane.sizePolicy().hasHeightForWidth()) sizePolicy.setHeightForWidth(self.button_planeandaxis_plane.sizePolicy().hasHeightForWidth())
self.button_planeandaxis_plane.setSizePolicy(sizePolicy) self.button_planeandaxis_plane.setSizePolicy(sizePolicy)
icon41 = QtGui.QIcon() icon42 = QtGui.QIcon()
icon41.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_planeLinePlane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon42.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_planeLinePlane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_planeandaxis_plane.setIcon(icon41) self.button_planeandaxis_plane.setIcon(icon42)
self.button_planeandaxis_plane.setIconSize(QtCore.QSize(32, 32)) self.button_planeandaxis_plane.setIconSize(QtCore.QSize(32, 32))
self.button_planeandaxis_plane.setObjectName(_fromUtf8("button_planeandaxis_plane")) self.button_planeandaxis_plane.setObjectName(_fromUtf8("button_planeandaxis_plane"))
self.gridLayout_8.addWidget(self.button_planeandaxis_plane, 0, 0, 1, 1) self.gridLayout_8.addWidget(self.button_planeandaxis_plane, 0, 0, 1, 1)
@ -548,8 +578,15 @@ class Ui_Form(object):
self.angle_planeandaxis_plane.setObjectName(_fromUtf8("angle_planeandaxis_plane")) self.angle_planeandaxis_plane.setObjectName(_fromUtf8("angle_planeandaxis_plane"))
self.gridLayout_8.addWidget(self.angle_planeandaxis_plane, 0, 1, 1, 1) self.gridLayout_8.addWidget(self.angle_planeandaxis_plane, 0, 1, 1, 1)
self.gridLayout_9.addLayout(self.gridLayout_8, 4, 0, 1, 1) self.gridLayout_9.addLayout(self.gridLayout_8, 4, 0, 1, 1)
spacerItem3 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) self.button_object_center_planes = QtGui.QPushButton(self.Plane_Tab)
self.gridLayout_9.addItem(spacerItem3, 8, 0, 1, 1) icon43 = QtGui.QIcon()
icon43.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_centerObjectsPlanes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_object_center_planes.setIcon(icon43)
self.button_object_center_planes.setIconSize(QtCore.QSize(32, 32))
self.button_object_center_planes.setObjectName(_fromUtf8("button_object_center_planes"))
self.gridLayout_9.addWidget(self.button_object_center_planes, 9, 0, 1, 1)
spacerItem4 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
self.gridLayout_9.addItem(spacerItem4, 8, 0, 1, 1)
self.horizontalLayout_3 = QtGui.QHBoxLayout() self.horizontalLayout_3 = QtGui.QHBoxLayout()
self.horizontalLayout_3.setObjectName(_fromUtf8("horizontalLayout_3")) self.horizontalLayout_3.setObjectName(_fromUtf8("horizontalLayout_3"))
self.button_click_for_plane = QtGui.QPushButton(self.Plane_Tab) self.button_click_for_plane = QtGui.QPushButton(self.Plane_Tab)
@ -558,9 +595,9 @@ class Ui_Form(object):
sizePolicy.setVerticalStretch(0) sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.button_click_for_plane.sizePolicy().hasHeightForWidth()) sizePolicy.setHeightForWidth(self.button_click_for_plane.sizePolicy().hasHeightForWidth())
self.button_click_for_plane.setSizePolicy(sizePolicy) self.button_click_for_plane.setSizePolicy(sizePolicy)
icon42 = QtGui.QIcon() icon44 = QtGui.QIcon()
icon42.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_clickPlane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon44.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_clickPlane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_click_for_plane.setIcon(icon42) self.button_click_for_plane.setIcon(icon44)
self.button_click_for_plane.setIconSize(QtCore.QSize(32, 32)) self.button_click_for_plane.setIconSize(QtCore.QSize(32, 32))
self.button_click_for_plane.setObjectName(_fromUtf8("button_click_for_plane")) self.button_click_for_plane.setObjectName(_fromUtf8("button_click_for_plane"))
self.horizontalLayout_3.addWidget(self.button_click_for_plane) self.horizontalLayout_3.addWidget(self.button_click_for_plane)
@ -585,11 +622,9 @@ class Ui_Form(object):
self.width_plane.setObjectName(_fromUtf8("width_plane")) self.width_plane.setObjectName(_fromUtf8("width_plane"))
self.horizontalLayout_3.addWidget(self.width_plane) self.horizontalLayout_3.addWidget(self.width_plane)
self.gridLayout_9.addLayout(self.horizontalLayout_3, 7, 0, 1, 1) self.gridLayout_9.addLayout(self.horizontalLayout_3, 7, 0, 1, 1)
spacerItem4 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) icon45 = QtGui.QIcon()
self.gridLayout_9.addItem(spacerItem4, 6, 0, 1, 1) icon45.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_plane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
icon43 = QtGui.QIcon() self.tabWidget.addTab(self.Plane_Tab, icon45, _fromUtf8(""))
icon43.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_plane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.tabWidget.addTab(self.Plane_Tab, icon43, _fromUtf8(""))
self.Objects_Tab2 = QtGui.QWidget() self.Objects_Tab2 = QtGui.QWidget()
self.Objects_Tab2.setEnabled(True) self.Objects_Tab2.setEnabled(True)
self.Objects_Tab2.setMinimumSize(QtCore.QSize(0, 0)) self.Objects_Tab2.setMinimumSize(QtCore.QSize(0, 0))
@ -599,9 +634,9 @@ class Ui_Form(object):
self.gridLayout_6 = QtGui.QGridLayout() self.gridLayout_6 = QtGui.QGridLayout()
self.gridLayout_6.setObjectName(_fromUtf8("gridLayout_6")) self.gridLayout_6.setObjectName(_fromUtf8("gridLayout_6"))
self.button_cylinder_create = QtGui.QPushButton(self.Objects_Tab2) self.button_cylinder_create = QtGui.QPushButton(self.Objects_Tab2)
icon44 = QtGui.QIcon() icon46 = QtGui.QIcon()
icon44.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_cylinder.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon46.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_cylinder.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_cylinder_create.setIcon(icon44) self.button_cylinder_create.setIcon(icon46)
self.button_cylinder_create.setIconSize(QtCore.QSize(32, 32)) self.button_cylinder_create.setIconSize(QtCore.QSize(32, 32))
self.button_cylinder_create.setObjectName(_fromUtf8("button_cylinder_create")) self.button_cylinder_create.setObjectName(_fromUtf8("button_cylinder_create"))
self.gridLayout_6.addWidget(self.button_cylinder_create, 0, 0, 1, 1) self.gridLayout_6.addWidget(self.button_cylinder_create, 0, 0, 1, 1)
@ -629,9 +664,9 @@ class Ui_Form(object):
self.horizontalLayout_4 = QtGui.QHBoxLayout() self.horizontalLayout_4 = QtGui.QHBoxLayout()
self.horizontalLayout_4.setObjectName(_fromUtf8("horizontalLayout_4")) self.horizontalLayout_4.setObjectName(_fromUtf8("horizontalLayout_4"))
self.button_cube_create = QtGui.QPushButton(self.Objects_Tab2) self.button_cube_create = QtGui.QPushButton(self.Objects_Tab2)
icon45 = QtGui.QIcon() icon47 = QtGui.QIcon()
icon45.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_cube.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon47.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_cube.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_cube_create.setIcon(icon45) self.button_cube_create.setIcon(icon47)
self.button_cube_create.setIconSize(QtCore.QSize(32, 32)) self.button_cube_create.setIconSize(QtCore.QSize(32, 32))
self.button_cube_create.setObjectName(_fromUtf8("button_cube_create")) self.button_cube_create.setObjectName(_fromUtf8("button_cube_create"))
self.horizontalLayout_4.addWidget(self.button_cube_create) self.horizontalLayout_4.addWidget(self.button_cube_create)
@ -657,18 +692,18 @@ class Ui_Form(object):
self.horizontalLayout_4.addWidget(self.height_cube) self.horizontalLayout_4.addWidget(self.height_cube)
self.gridLayout_12.addLayout(self.horizontalLayout_4, 4, 0, 1, 1) self.gridLayout_12.addLayout(self.horizontalLayout_4, 4, 0, 1, 1)
self.button_boundingboxes = QtGui.QPushButton(self.Objects_Tab2) self.button_boundingboxes = QtGui.QPushButton(self.Objects_Tab2)
icon46 = QtGui.QIcon() icon48 = QtGui.QIcon()
icon46.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_boundingBoxes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon48.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_boundingBoxes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_boundingboxes.setIcon(icon46) self.button_boundingboxes.setIcon(icon48)
self.button_boundingboxes.setIconSize(QtCore.QSize(32, 32)) self.button_boundingboxes.setIconSize(QtCore.QSize(32, 32))
self.button_boundingboxes.setObjectName(_fromUtf8("button_boundingboxes")) self.button_boundingboxes.setObjectName(_fromUtf8("button_boundingboxes"))
self.gridLayout_12.addWidget(self.button_boundingboxes, 0, 0, 1, 1) self.gridLayout_12.addWidget(self.button_boundingboxes, 0, 0, 1, 1)
spacerItem5 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) spacerItem5 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
self.gridLayout_12.addItem(spacerItem5, 5, 0, 1, 1) self.gridLayout_12.addItem(spacerItem5, 5, 0, 1, 1)
self.button_boundingbox = QtGui.QPushButton(self.Objects_Tab2) self.button_boundingbox = QtGui.QPushButton(self.Objects_Tab2)
icon47 = QtGui.QIcon() icon49 = QtGui.QIcon()
icon47.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_boundingBox.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon49.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_boundingBox.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_boundingbox.setIcon(icon47) self.button_boundingbox.setIcon(icon49)
self.button_boundingbox.setIconSize(QtCore.QSize(32, 32)) self.button_boundingbox.setIconSize(QtCore.QSize(32, 32))
self.button_boundingbox.setObjectName(_fromUtf8("button_boundingbox")) self.button_boundingbox.setObjectName(_fromUtf8("button_boundingbox"))
self.gridLayout_12.addWidget(self.button_boundingbox, 1, 0, 1, 1) self.gridLayout_12.addWidget(self.button_boundingbox, 1, 0, 1, 1)
@ -680,9 +715,9 @@ class Ui_Form(object):
self.line.setFrameShadow(QtGui.QFrame.Sunken) self.line.setFrameShadow(QtGui.QFrame.Sunken)
self.line.setObjectName(_fromUtf8("line")) self.line.setObjectName(_fromUtf8("line"))
self.gridLayout_12.addWidget(self.line, 2, 0, 1, 1) self.gridLayout_12.addWidget(self.line, 2, 0, 1, 1)
icon48 = QtGui.QIcon() icon50 = QtGui.QIcon()
icon48.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_box.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon50.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_box.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.tabWidget.addTab(self.Objects_Tab2, icon48, _fromUtf8("")) self.tabWidget.addTab(self.Objects_Tab2, icon50, _fromUtf8(""))
self.View_Tab = QtGui.QWidget() self.View_Tab = QtGui.QWidget()
self.View_Tab.setObjectName(_fromUtf8("View_Tab")) self.View_Tab.setObjectName(_fromUtf8("View_Tab"))
self.gridLayout_13 = QtGui.QGridLayout(self.View_Tab) self.gridLayout_13 = QtGui.QGridLayout(self.View_Tab)
@ -693,17 +728,17 @@ class Ui_Form(object):
sizePolicy.setVerticalStretch(0) sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.button_alignview.sizePolicy().hasHeightForWidth()) sizePolicy.setHeightForWidth(self.button_alignview.sizePolicy().hasHeightForWidth())
self.button_alignview.setSizePolicy(sizePolicy) self.button_alignview.setSizePolicy(sizePolicy)
icon49 = QtGui.QIcon() icon51 = QtGui.QIcon()
icon49.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_viewAlign.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon51.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_viewAlign.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_alignview.setIcon(icon49) self.button_alignview.setIcon(icon51)
self.button_alignview.setIconSize(QtCore.QSize(32, 32)) self.button_alignview.setIconSize(QtCore.QSize(32, 32))
self.button_alignview.setObjectName(_fromUtf8("button_alignview")) self.button_alignview.setObjectName(_fromUtf8("button_alignview"))
self.gridLayout_13.addWidget(self.button_alignview, 0, 0, 1, 1) self.gridLayout_13.addWidget(self.button_alignview, 0, 0, 1, 1)
spacerItem6 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) spacerItem6 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
self.gridLayout_13.addItem(spacerItem6, 1, 0, 1, 1) self.gridLayout_13.addItem(spacerItem6, 1, 0, 1, 1)
icon50 = QtGui.QIcon() icon52 = QtGui.QIcon()
icon50.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_view.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon52.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_view.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.tabWidget.addTab(self.View_Tab, icon50, _fromUtf8("")) self.tabWidget.addTab(self.View_Tab, icon52, _fromUtf8(""))
self.Modif_Tab = QtGui.QWidget() self.Modif_Tab = QtGui.QWidget()
self.Modif_Tab.setObjectName(_fromUtf8("Modif_Tab")) self.Modif_Tab.setObjectName(_fromUtf8("Modif_Tab"))
self.gridLayout_11 = QtGui.QGridLayout(self.Modif_Tab) self.gridLayout_11 = QtGui.QGridLayout(self.Modif_Tab)
@ -826,30 +861,30 @@ class Ui_Form(object):
self.gridLayout_35 = QtGui.QGridLayout(self.tab_3) self.gridLayout_35 = QtGui.QGridLayout(self.tab_3)
self.gridLayout_35.setObjectName(_fromUtf8("gridLayout_35")) self.gridLayout_35.setObjectName(_fromUtf8("gridLayout_35"))
self.button_isPerpendicular = QtGui.QPushButton(self.tab_3) self.button_isPerpendicular = QtGui.QPushButton(self.tab_3)
icon51 = QtGui.QIcon() icon53 = QtGui.QIcon()
icon51.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isPerpendicular.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon53.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isPerpendicular.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_isPerpendicular.setIcon(icon51) self.button_isPerpendicular.setIcon(icon53)
self.button_isPerpendicular.setIconSize(QtCore.QSize(32, 32)) self.button_isPerpendicular.setIconSize(QtCore.QSize(32, 32))
self.button_isPerpendicular.setObjectName(_fromUtf8("button_isPerpendicular")) self.button_isPerpendicular.setObjectName(_fromUtf8("button_isPerpendicular"))
self.gridLayout_35.addWidget(self.button_isPerpendicular, 1, 0, 1, 1) self.gridLayout_35.addWidget(self.button_isPerpendicular, 1, 0, 1, 1)
self.button_isParallel = QtGui.QPushButton(self.tab_3) self.button_isParallel = QtGui.QPushButton(self.tab_3)
icon52 = QtGui.QIcon() icon54 = QtGui.QIcon()
icon52.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isParallel.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon54.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isParallel.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_isParallel.setIcon(icon52) self.button_isParallel.setIcon(icon54)
self.button_isParallel.setIconSize(QtCore.QSize(32, 32)) self.button_isParallel.setIconSize(QtCore.QSize(32, 32))
self.button_isParallel.setObjectName(_fromUtf8("button_isParallel")) self.button_isParallel.setObjectName(_fromUtf8("button_isParallel"))
self.gridLayout_35.addWidget(self.button_isParallel, 0, 0, 1, 1) self.gridLayout_35.addWidget(self.button_isParallel, 0, 0, 1, 1)
self.button_isCoplanar = QtGui.QPushButton(self.tab_3) self.button_isCoplanar = QtGui.QPushButton(self.tab_3)
icon53 = QtGui.QIcon() icon55 = QtGui.QIcon()
icon53.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isCoplanar.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon55.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isCoplanar.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_isCoplanar.setIcon(icon53) self.button_isCoplanar.setIcon(icon55)
self.button_isCoplanar.setIconSize(QtCore.QSize(32, 32)) self.button_isCoplanar.setIconSize(QtCore.QSize(32, 32))
self.button_isCoplanar.setObjectName(_fromUtf8("button_isCoplanar")) self.button_isCoplanar.setObjectName(_fromUtf8("button_isCoplanar"))
self.gridLayout_35.addWidget(self.button_isCoplanar, 2, 0, 1, 1) self.gridLayout_35.addWidget(self.button_isCoplanar, 2, 0, 1, 1)
spacerItem9 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) spacerItem9 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
self.gridLayout_35.addItem(spacerItem9, 3, 0, 1, 1) self.gridLayout_35.addItem(spacerItem9, 3, 0, 1, 1)
self.tabWidget.addTab(self.tab_3, _fromUtf8("")) self.tabWidget.addTab(self.tab_3, _fromUtf8(""))
self.gridLayout_22.addWidget(self.tabWidget, 0, 1, 1, 1) self.gridLayout_30.addWidget(self.tabWidget, 0, 0, 1, 1)
self.tabWidget_0.addTab(self.tab_2, _fromUtf8("")) self.tabWidget_0.addTab(self.tab_2, _fromUtf8(""))
self.gridLayout_4.addWidget(self.tabWidget_0, 0, 0, 1, 1) self.gridLayout_4.addWidget(self.tabWidget_0, 0, 0, 1, 1)
self.scrollArea.setWidget(self.scrollAreaWidgetContents_2) self.scrollArea.setWidget(self.scrollAreaWidgetContents_2)
@ -857,7 +892,7 @@ class Ui_Form(object):
self.retranslateUi(Form) self.retranslateUi(Form)
self.tabWidget_0.setCurrentIndex(0) self.tabWidget_0.setCurrentIndex(0)
self.tabWidget.setCurrentIndex(8) self.tabWidget.setCurrentIndex(1)
self.point_loc_comboBox.setCurrentIndex(1) self.point_loc_comboBox.setCurrentIndex(1)
self.tabWidget_2.setCurrentIndex(0) self.tabWidget_2.setCurrentIndex(0)
QtCore.QMetaObject.connectSlotsByName(Form) QtCore.QMetaObject.connectSlotsByName(Form)
@ -871,6 +906,8 @@ class Ui_Form(object):
self.groupBox_5.setTitle(QtGui.QApplication.translate("Form", "Preferences :", None, QtGui.QApplication.UnicodeUTF8)) self.groupBox_5.setTitle(QtGui.QApplication.translate("Form", "Preferences :", None, QtGui.QApplication.UnicodeUTF8))
self.radioButton_verbose.setToolTip(QtGui.QApplication.translate("Form", "Toggle here if you want a lot of information printed into report View.", None, QtGui.QApplication.UnicodeUTF8)) self.radioButton_verbose.setToolTip(QtGui.QApplication.translate("Form", "Toggle here if you want a lot of information printed into report View.", None, QtGui.QApplication.UnicodeUTF8))
self.radioButton_verbose.setText(QtGui.QApplication.translate("Form", "Verbose", None, QtGui.QApplication.UnicodeUTF8)) self.radioButton_verbose.setText(QtGui.QApplication.translate("Form", "Verbose", None, QtGui.QApplication.UnicodeUTF8))
self.label_5.setText(QtGui.QApplication.translate("Form", "Tolerance", None, QtGui.QApplication.UnicodeUTF8))
self.tolerance_edit.setText(QtGui.QApplication.translate("Form", "1e-10", None, QtGui.QApplication.UnicodeUTF8))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.Origin_Tab), QtGui.QApplication.translate("Form", "Ori. Pref.", None, QtGui.QApplication.UnicodeUTF8)) self.tabWidget.setTabText(self.tabWidget.indexOf(self.Origin_Tab), QtGui.QApplication.translate("Form", "Ori. Pref.", None, QtGui.QApplication.UnicodeUTF8))
self.button_object_center.setToolTip(QtGui.QApplication.translate("Form", "Create a Point at center location of all selected Object(s).\n" self.button_object_center.setToolTip(QtGui.QApplication.translate("Form", "Create a Point at center location of all selected Object(s).\n"
" if BBox is not toggled\n" " if BBox is not toggled\n"
@ -941,7 +978,8 @@ class Ui_Form(object):
" If zero In case of cylinder axis the extension will be a percentage of the object length.\n" " If zero In case of cylinder axis the extension will be a percentage of the object length.\n"
" If zero and plane of face Normal, the extension will be 10 units.", None, QtGui.QApplication.UnicodeUTF8)) " If zero and plane of face Normal, the extension will be 10 units.", None, QtGui.QApplication.UnicodeUTF8))
self.extension_face_normal.setText(QtGui.QApplication.translate("Form", "0.0", None, QtGui.QApplication.UnicodeUTF8)) self.extension_face_normal.setText(QtGui.QApplication.translate("Form", "0.0", None, QtGui.QApplication.UnicodeUTF8))
self.button_point_line_axis.setToolTip(QtGui.QApplication.translate("Form", "Create an Axis parallel to an Axis and crossing a Point.", None, QtGui.QApplication.UnicodeUTF8)) self.button_point_line_axis.setToolTip(QtGui.QApplication.translate("Form", "Create an Axis Parallel to an Axis and crossing a Point.\n"
"-Select one Axis and one Point NOT on the previous Axis.", None, QtGui.QApplication.UnicodeUTF8))
self.button_point_line_axis.setText(QtGui.QApplication.translate("Form", "Axis=(Point,Axis)", None, QtGui.QApplication.UnicodeUTF8)) self.button_point_line_axis.setText(QtGui.QApplication.translate("Form", "Axis=(Point,Axis)", None, QtGui.QApplication.UnicodeUTF8))
self.point_loc_comboBox.setToolTip(QtGui.QApplication.translate("Form", "The Point will be at :\n" self.point_loc_comboBox.setToolTip(QtGui.QApplication.translate("Form", "The Point will be at :\n"
"Start of the line;\n" "Start of the line;\n"
@ -950,12 +988,17 @@ class Ui_Form(object):
self.point_loc_comboBox.setItemText(0, QtGui.QApplication.translate("Form", "Start", None, QtGui.QApplication.UnicodeUTF8)) self.point_loc_comboBox.setItemText(0, QtGui.QApplication.translate("Form", "Start", None, QtGui.QApplication.UnicodeUTF8))
self.point_loc_comboBox.setItemText(1, QtGui.QApplication.translate("Form", "Mid", None, QtGui.QApplication.UnicodeUTF8)) self.point_loc_comboBox.setItemText(1, QtGui.QApplication.translate("Form", "Mid", None, QtGui.QApplication.UnicodeUTF8))
self.point_loc_comboBox.setItemText(2, QtGui.QApplication.translate("Form", "End", None, QtGui.QApplication.UnicodeUTF8)) self.point_loc_comboBox.setItemText(2, QtGui.QApplication.translate("Form", "End", None, QtGui.QApplication.UnicodeUTF8))
self.button_line_point_axis.setToolTip(QtGui.QApplication.translate("Form", "Create an Axis perpendicular to an Axis and crossing a Point.", None, QtGui.QApplication.UnicodeUTF8)) self.button_line_point_axis.setToolTip(QtGui.QApplication.translate("Form", "Create an Axis Perpendicular to an Axis and crossing a Point\n"
"-Select one Axis and one Point NOT on the previous Axis.", None, QtGui.QApplication.UnicodeUTF8))
self.button_line_point_axis.setText(QtGui.QApplication.translate("Form", "Axis=(Axis,Point)", None, QtGui.QApplication.UnicodeUTF8)) self.button_line_point_axis.setText(QtGui.QApplication.translate("Form", "Axis=(Axis,Point)", None, QtGui.QApplication.UnicodeUTF8))
self.extension_line_point_axis.setToolTip(QtGui.QApplication.translate("Form", "Distance for the extensions on extrema.", None, QtGui.QApplication.UnicodeUTF8)) self.extension_line_point_axis.setToolTip(QtGui.QApplication.translate("Form", "Distance for the extensions on extrema.", None, QtGui.QApplication.UnicodeUTF8))
self.extension_line_point_axis.setText(QtGui.QApplication.translate("Form", "0.0", None, QtGui.QApplication.UnicodeUTF8)) self.extension_line_point_axis.setText(QtGui.QApplication.translate("Form", "0.0", None, QtGui.QApplication.UnicodeUTF8))
self.button_twolines_axis.setToolTip(QtGui.QApplication.translate("Form", "Create an Axis between 2 Axes.", None, QtGui.QApplication.UnicodeUTF8)) self.button_twolines_axis.setToolTip(QtGui.QApplication.translate("Form", "Create an Axis between two Axes.\n"
"-Select two Axes.", None, QtGui.QApplication.UnicodeUTF8))
self.button_twolines_axis.setText(QtGui.QApplication.translate("Form", "Axis=(Line,Line)", None, QtGui.QApplication.UnicodeUTF8)) self.button_twolines_axis.setText(QtGui.QApplication.translate("Form", "Axis=(Line,Line)", None, QtGui.QApplication.UnicodeUTF8))
self.button_plane_point_line_axis.setToolTip(QtGui.QApplication.translate("Form", "Create an Axis Perpendicular to an Axis, crossing a Point and Parallel to a Plane.\n"
"-Select one Plane, one Axis and one Point ON the previous Axis.", None, QtGui.QApplication.UnicodeUTF8))
self.button_plane_point_line_axis.setText(QtGui.QApplication.translate("Form", "Axis=(Plane,Point,Axis)", None, QtGui.QApplication.UnicodeUTF8))
self.button_cut_axis.setToolTip(QtGui.QApplication.translate("Form", "Create Axes:\n" self.button_cut_axis.setToolTip(QtGui.QApplication.translate("Form", "Create Axes:\n"
"Cut the selected Line in 2(n) parts and create 2(n) Axes.\n" "Cut the selected Line in 2(n) parts and create 2(n) Axes.\n"
"The number indicates in how many parts to cut.", None, QtGui.QApplication.UnicodeUTF8)) "The number indicates in how many parts to cut.", None, QtGui.QApplication.UnicodeUTF8))
@ -977,32 +1020,34 @@ class Ui_Form(object):
"Then click on this button.", None, QtGui.QApplication.UnicodeUTF8)) "Then click on this button.", None, QtGui.QApplication.UnicodeUTF8))
self.button_line_to_sketch.setText(QtGui.QApplication.translate("Form", "Axis(es) to Sketch", None, QtGui.QApplication.UnicodeUTF8)) self.button_line_to_sketch.setText(QtGui.QApplication.translate("Form", "Axis(es) to Sketch", None, QtGui.QApplication.UnicodeUTF8))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.Axis_Tab), QtGui.QApplication.translate("Form", "Axis", None, QtGui.QApplication.UnicodeUTF8)) self.tabWidget.setTabText(self.tabWidget.indexOf(self.Axis_Tab), QtGui.QApplication.translate("Form", "Axis", None, QtGui.QApplication.UnicodeUTF8))
self.button_3points_circle.setToolTip(QtGui.QApplication.translate("Form", "Select 3 Points to create a Circle.", None, QtGui.QApplication.UnicodeUTF8))
self.button_3points_circle.setText(QtGui.QApplication.translate("Form", "Circle=(3 points)", None, QtGui.QApplication.UnicodeUTF8))
self.button_3points_ellipse.setToolTip(QtGui.QApplication.translate("Form", "Select a center and 2 Points to create an Ellipse.", None, QtGui.QApplication.UnicodeUTF8))
self.button_3points_ellipse.setText(QtGui.QApplication.translate("Form", "Ellipse=(3 points)", None, QtGui.QApplication.UnicodeUTF8))
self.button_linepoint_circle.setToolTip(QtGui.QApplication.translate("Form", "Select an Axis and a Point to create a Circle\n" self.button_linepoint_circle.setToolTip(QtGui.QApplication.translate("Form", "Select an Axis and a Point to create a Circle\n"
"centered on the Axis and tangenting the Point.", None, QtGui.QApplication.UnicodeUTF8)) "centered on the Axis and tangenting the Point.", None, QtGui.QApplication.UnicodeUTF8))
self.button_linepoint_circle.setText(QtGui.QApplication.translate("Form", "Circle=(Axis, point)", None, QtGui.QApplication.UnicodeUTF8)) self.button_linepoint_circle.setText(QtGui.QApplication.translate("Form", "Circle=(Axis, point)", None, QtGui.QApplication.UnicodeUTF8))
self.button_cut_circle.setToolTip(QtGui.QApplication.translate("Form", "Create Arcs:\n"
"Cut the selected Circle(s) or Arc(s) in 2(n) parts and create 2(n) Arcs.\n"
"The number indicates in how many parts to cut.\n"
"- First select as many Circles and Arcs you want\n"
"- Second set the number of parts\n"
"- Third push this button", None, QtGui.QApplication.UnicodeUTF8))
self.button_cut_circle.setText(QtGui.QApplication.translate("Form", "Arcs=Cut(Circle)", None, QtGui.QApplication.UnicodeUTF8))
self.spin_circle_cut.setToolTip(QtGui.QApplication.translate("Form", "The number indicates in how many parts the selected Circle will be cut.", None, QtGui.QApplication.UnicodeUTF8))
self.button_3points_circle.setToolTip(QtGui.QApplication.translate("Form", "Select 3 Points to create a Circle.", None, QtGui.QApplication.UnicodeUTF8))
self.button_3points_circle.setText(QtGui.QApplication.translate("Form", "Circle=(3 points)", None, QtGui.QApplication.UnicodeUTF8))
self.button_linecenter_circle.setToolTip(QtGui.QApplication.translate("Form", "Select an Axis and a Point to create a Circle\n" self.button_linecenter_circle.setToolTip(QtGui.QApplication.translate("Form", "Select an Axis and a Point to create a Circle\n"
"centered on the Point, perpendicular to the Axis \n" "centered on the Point, perpendicular to the Axis \n"
"with the given radius.", None, QtGui.QApplication.UnicodeUTF8)) "with the given radius.", None, QtGui.QApplication.UnicodeUTF8))
self.button_linecenter_circle.setText(QtGui.QApplication.translate("Form", "Circle=(Axis, center)", None, QtGui.QApplication.UnicodeUTF8)) self.button_linecenter_circle.setText(QtGui.QApplication.translate("Form", "Circle=(Axis, center)", None, QtGui.QApplication.UnicodeUTF8))
self.radius_circle.setToolTip(QtGui.QApplication.translate("Form", "Radius of the Circle.", None, QtGui.QApplication.UnicodeUTF8)) self.radius_circle.setToolTip(QtGui.QApplication.translate("Form", "Radius of the Circle.", None, QtGui.QApplication.UnicodeUTF8))
self.radius_circle.setText(QtGui.QApplication.translate("Form", "10.0", None, QtGui.QApplication.UnicodeUTF8)) self.radius_circle.setText(QtGui.QApplication.translate("Form", "10.0", None, QtGui.QApplication.UnicodeUTF8))
self.button_3points_ellipse.setToolTip(QtGui.QApplication.translate("Form", "Select a center and 2 Points to create an Ellipse.", None, QtGui.QApplication.UnicodeUTF8))
self.button_3points_ellipse.setText(QtGui.QApplication.translate("Form", "Ellipse=(3 points)", None, QtGui.QApplication.UnicodeUTF8))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_4), QtGui.QApplication.translate("Form", "Circle", None, QtGui.QApplication.UnicodeUTF8)) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_4), QtGui.QApplication.translate("Form", "Circle", None, QtGui.QApplication.UnicodeUTF8))
self.button_axis_point_plane.setToolTip(QtGui.QApplication.translate("Form", "Create a plane perpendicular to a Line and crossing a Point.", None, QtGui.QApplication.UnicodeUTF8)) self.button_axis_point_plane.setToolTip(QtGui.QApplication.translate("Form", "Create a plane perpendicular to a Line and crossing a Point.", None, QtGui.QApplication.UnicodeUTF8))
self.button_axis_point_plane.setText(QtGui.QApplication.translate("Form", "Plane=(Point, _|Axis)", None, QtGui.QApplication.UnicodeUTF8)) self.button_axis_point_plane.setText(QtGui.QApplication.translate("Form", "Plane=(Point, _|Axis)", None, QtGui.QApplication.UnicodeUTF8))
self.button_axisandpoint_plane.setToolTip(QtGui.QApplication.translate("Form", "Create a plane crossing a Line and a Point.", None, QtGui.QApplication.UnicodeUTF8)) self.button_axisandpoint_plane.setToolTip(QtGui.QApplication.translate("Form", "Create a plane crossing a Line and a Point.", None, QtGui.QApplication.UnicodeUTF8))
self.button_axisandpoint_plane.setText(QtGui.QApplication.translate("Form", "Plane=(Point, Axis)", None, QtGui.QApplication.UnicodeUTF8)) self.button_axisandpoint_plane.setText(QtGui.QApplication.translate("Form", "Plane=(Point, Axis)", None, QtGui.QApplication.UnicodeUTF8))
self.button_object_center_planes.setToolTip(QtGui.QApplication.translate("Form", "Create 3 Planes (XY, XZ and YZ) at center location of all selected Object(s).", None, QtGui.QApplication.UnicodeUTF8))
self.button_object_center_planes.setText(QtGui.QApplication.translate("Form", "Object(s) Center Planes", None, QtGui.QApplication.UnicodeUTF8))
self.button_threepoints_plane.setToolTip(QtGui.QApplication.translate("Form", "Create a Plane crossing 3 Points.", None, QtGui.QApplication.UnicodeUTF8)) self.button_threepoints_plane.setToolTip(QtGui.QApplication.translate("Form", "Create a Plane crossing 3 Points.", None, QtGui.QApplication.UnicodeUTF8))
self.button_threepoints_plane.setText(QtGui.QApplication.translate("Form", "Three Points Plane", None, QtGui.QApplication.UnicodeUTF8)) self.button_threepoints_plane.setText(QtGui.QApplication.translate("Form", "Three Points Plane", None, QtGui.QApplication.UnicodeUTF8))
self.button_planeandpoint_plane.setToolTip(QtGui.QApplication.translate("Form", "Create a plane crossing a Point and parallel to a Plane.", None, QtGui.QApplication.UnicodeUTF8))
self.button_planeandpoint_plane.setText(QtGui.QApplication.translate("Form", "Plane=(Point, Plane)", None, QtGui.QApplication.UnicodeUTF8))
self.extension_planePointPlane.setToolTip(QtGui.QApplication.translate("Form", "Distance for the extensions of the new Plane compared to initial one.", None, QtGui.QApplication.UnicodeUTF8))
self.extension_planePointPlane.setText(QtGui.QApplication.translate("Form", "0.0", None, QtGui.QApplication.UnicodeUTF8))
self.button_face_tangent.setToolTip(QtGui.QApplication.translate("Form", "Create a tanget Plane at click location of a Face.\n" self.button_face_tangent.setToolTip(QtGui.QApplication.translate("Form", "Create a tanget Plane at click location of a Face.\n"
"Click first in the view to select and object,\n" "Click first in the view to select and object,\n"
"then push the button, \n" "then push the button, \n"
@ -1012,10 +1057,16 @@ class Ui_Form(object):
self.length_plane_2.setText(QtGui.QApplication.translate("Form", "10.0", None, QtGui.QApplication.UnicodeUTF8)) self.length_plane_2.setText(QtGui.QApplication.translate("Form", "10.0", None, QtGui.QApplication.UnicodeUTF8))
self.width_plane_2.setToolTip(QtGui.QApplication.translate("Form", "Width of the Plane.", None, QtGui.QApplication.UnicodeUTF8)) self.width_plane_2.setToolTip(QtGui.QApplication.translate("Form", "Width of the Plane.", None, QtGui.QApplication.UnicodeUTF8))
self.width_plane_2.setText(QtGui.QApplication.translate("Form", "10.0", None, QtGui.QApplication.UnicodeUTF8)) self.width_plane_2.setText(QtGui.QApplication.translate("Form", "10.0", None, QtGui.QApplication.UnicodeUTF8))
self.button_planeandpoint_plane.setToolTip(QtGui.QApplication.translate("Form", "Create a plane crossing a Point and parallel to a Plane.", None, QtGui.QApplication.UnicodeUTF8))
self.button_planeandpoint_plane.setText(QtGui.QApplication.translate("Form", "Plane=(Point, Plane)", None, QtGui.QApplication.UnicodeUTF8))
self.extension_planePointPlane.setToolTip(QtGui.QApplication.translate("Form", "Distance for the extensions of the new Plane compared to initial one.", None, QtGui.QApplication.UnicodeUTF8))
self.extension_planePointPlane.setText(QtGui.QApplication.translate("Form", "0.0", None, QtGui.QApplication.UnicodeUTF8))
self.button_planeandaxis_plane.setToolTip(QtGui.QApplication.translate("Form", "Create a Plane crossing a Line and perpendicular to a Plane.", None, QtGui.QApplication.UnicodeUTF8)) self.button_planeandaxis_plane.setToolTip(QtGui.QApplication.translate("Form", "Create a Plane crossing a Line and perpendicular to a Plane.", None, QtGui.QApplication.UnicodeUTF8))
self.button_planeandaxis_plane.setText(QtGui.QApplication.translate("Form", "Plane=(Plane, Axis)", None, QtGui.QApplication.UnicodeUTF8)) self.button_planeandaxis_plane.setText(QtGui.QApplication.translate("Form", "Plane=(Plane, Axis)", None, QtGui.QApplication.UnicodeUTF8))
self.angle_planeandaxis_plane.setToolTip(QtGui.QApplication.translate("Form", "Angle relative to the Plane (in degrees).", None, QtGui.QApplication.UnicodeUTF8)) self.angle_planeandaxis_plane.setToolTip(QtGui.QApplication.translate("Form", "Angle relative to the Plane (in degrees).", None, QtGui.QApplication.UnicodeUTF8))
self.angle_planeandaxis_plane.setText(QtGui.QApplication.translate("Form", "0.0", None, QtGui.QApplication.UnicodeUTF8)) self.angle_planeandaxis_plane.setText(QtGui.QApplication.translate("Form", "0.0", None, QtGui.QApplication.UnicodeUTF8))
self.button_object_center_planes.setToolTip(QtGui.QApplication.translate("Form", "Create 3 Planes (XY, XZ and YZ) at center location of all selected Object(s).", None, QtGui.QApplication.UnicodeUTF8))
self.button_object_center_planes.setText(QtGui.QApplication.translate("Form", "Object(s) Center Planes", None, QtGui.QApplication.UnicodeUTF8))
self.button_click_for_plane.setToolTip(QtGui.QApplication.translate("Form", "Create a rectangular Plane perpendicular to the view at location of one mouse click.\n" self.button_click_for_plane.setToolTip(QtGui.QApplication.translate("Form", "Create a rectangular Plane perpendicular to the view at location of one mouse click.\n"
"Define the width and the length of the Plane if needed.\n" "Define the width and the length of the Plane if needed.\n"
"- Click first on the Button then click once on the View.\n" "- Click first on the Button then click once on the View.\n"
@ -1088,18 +1139,18 @@ class Ui_Form(object):
self.button_cut_select_plane.setText(QtGui.QApplication.translate("Form", "Select Ref. Plane", None, QtGui.QApplication.UnicodeUTF8)) self.button_cut_select_plane.setText(QtGui.QApplication.translate("Form", "Select Ref. Plane", None, QtGui.QApplication.UnicodeUTF8))
self.tabWidget_2.setTabText(self.tabWidget_2.indexOf(self.cutting_tab), QtGui.QApplication.translate("Form", "Cutting", None, QtGui.QApplication.UnicodeUTF8)) self.tabWidget_2.setTabText(self.tabWidget_2.indexOf(self.cutting_tab), QtGui.QApplication.translate("Form", "Cutting", None, QtGui.QApplication.UnicodeUTF8))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.Modif_Tab), QtGui.QApplication.translate("Form", "Modif.", None, QtGui.QApplication.UnicodeUTF8)) self.tabWidget.setTabText(self.tabWidget.indexOf(self.Modif_Tab), QtGui.QApplication.translate("Form", "Modif.", None, QtGui.QApplication.UnicodeUTF8))
self.button_isPerpendicular.setToolTip(QtGui.QApplication.translate("Form", "Check if two faces are Perpendicular:\n" self.button_isPerpendicular.setToolTip(QtGui.QApplication.translate("Form", "Check if two faces or two Edges are Perpendicular:\n"
"- Select the 2 faces/planes and\n" "- Select the 2 faces/planes or 2 Edges/Lines and\n"
"Click this button", None, QtGui.QApplication.UnicodeUTF8)) "Click this button", None, QtGui.QApplication.UnicodeUTF8))
self.button_isPerpendicular.setText(QtGui.QApplication.translate("Form", "Faces Perpendicular", None, QtGui.QApplication.UnicodeUTF8)) self.button_isPerpendicular.setText(QtGui.QApplication.translate("Form", "are Perpendicular ?", None, QtGui.QApplication.UnicodeUTF8))
self.button_isParallel.setToolTip(QtGui.QApplication.translate("Form", "Check if two faces are Parallel:\n" self.button_isParallel.setToolTip(QtGui.QApplication.translate("Form", "Check if two faces or two Edges are Parallel:\n"
"- Select the 2 faces/planes and\n" "- Select the 2 faces/planes or 2 Edges/Lines and\n"
"Click this button", None, QtGui.QApplication.UnicodeUTF8)) "Click this button", None, QtGui.QApplication.UnicodeUTF8))
self.button_isParallel.setText(QtGui.QApplication.translate("Form", "Faces Parallel", None, QtGui.QApplication.UnicodeUTF8)) self.button_isParallel.setText(QtGui.QApplication.translate("Form", "are Parallel ?", None, QtGui.QApplication.UnicodeUTF8))
self.button_isCoplanar.setToolTip(QtGui.QApplication.translate("Form", "Check if two faces are Coplanar:\n" self.button_isCoplanar.setToolTip(QtGui.QApplication.translate("Form", "Check if two faces or two Edges are Coplanar:\n"
"- Select the 2 faces/planes and\n" "- Select the 2 faces/planes or 2 Edges/Lines and\n"
"Click this button", None, QtGui.QApplication.UnicodeUTF8)) "Click this button", None, QtGui.QApplication.UnicodeUTF8))
self.button_isCoplanar.setText(QtGui.QApplication.translate("Form", "Faces Coplanar", None, QtGui.QApplication.UnicodeUTF8)) self.button_isCoplanar.setText(QtGui.QApplication.translate("Form", "are Coplanar ?", None, QtGui.QApplication.UnicodeUTF8))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_3), QtGui.QApplication.translate("Form", "Check", None, QtGui.QApplication.UnicodeUTF8)) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_3), QtGui.QApplication.translate("Form", "Check", None, QtGui.QApplication.UnicodeUTF8))
self.tabWidget_0.setTabText(self.tabWidget_0.indexOf(self.tab_2), QtGui.QApplication.translate("Form", "W. F.", None, QtGui.QApplication.UnicodeUTF8)) self.tabWidget_0.setTabText(self.tabWidget_0.indexOf(self.tab_2), QtGui.QApplication.translate("Form", "W. F.", None, QtGui.QApplication.UnicodeUTF8))

View File

@ -6,8 +6,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>386</width> <width>387</width>
<height>767</height> <height>838</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
@ -59,8 +59,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>350</width> <width>351</width>
<height>765</height> <height>813</height>
</rect> </rect>
</property> </property>
<layout class="QGridLayout" name="gridLayout_4"> <layout class="QGridLayout" name="gridLayout_4">
@ -76,14 +76,14 @@
<attribute name="title"> <attribute name="title">
<string>W. F.</string> <string>W. F.</string>
</attribute> </attribute>
<layout class="QGridLayout" name="gridLayout_22"> <layout class="QGridLayout" name="gridLayout_30">
<item row="0" column="1"> <item row="0" column="0">
<widget class="QTabWidget" name="tabWidget"> <widget class="QTabWidget" name="tabWidget">
<property name="tabPosition"> <property name="tabPosition">
<enum>QTabWidget::West</enum> <enum>QTabWidget::West</enum>
</property> </property>
<property name="currentIndex"> <property name="currentIndex">
<number>8</number> <number>1</number>
</property> </property>
<widget class="QWidget" name="Origin_Tab"> <widget class="QWidget" name="Origin_Tab">
<attribute name="icon"> <attribute name="icon">
@ -139,6 +139,30 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_25">
<item>
<widget class="QLabel" name="label_5">
<property name="text">
<string>Tolerance</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="tolerance_edit">
<property name="maximumSize">
<size>
<width>60</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>1e-10</string>
</property>
</widget>
</item>
</layout>
</item>
</layout> </layout>
</widget> </widget>
</item> </item>
@ -153,7 +177,7 @@
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>20</width> <width>20</width>
<height>539</height> <height>40</height>
</size> </size>
</property> </property>
</spacer> </spacer>
@ -574,7 +598,7 @@ Then click on this button.</string>
<attribute name="title"> <attribute name="title">
<string>Axis</string> <string>Axis</string>
</attribute> </attribute>
<layout class="QGridLayout" name="gridLayout_30"> <layout class="QGridLayout" name="gridLayout_22">
<item row="0" column="0"> <item row="0" column="0">
<widget class="QPushButton" name="button_object_axis"> <widget class="QPushButton" name="button_object_axis">
<property name="toolTip"> <property name="toolTip">
@ -780,7 +804,8 @@ then click on a location on the selected object.</string>
<item> <item>
<widget class="QPushButton" name="button_point_line_axis"> <widget class="QPushButton" name="button_point_line_axis">
<property name="toolTip"> <property name="toolTip">
<string>Create an Axis parallel to an Axis and crossing a Point.</string> <string>Create an Axis Parallel to an Axis and crossing a Point.
-Select one Axis and one Point NOT on the previous Axis.</string>
</property> </property>
<property name="text"> <property name="text">
<string>Axis=(Point,Axis)</string> <string>Axis=(Point,Axis)</string>
@ -844,7 +869,8 @@ End of the line.</string>
</sizepolicy> </sizepolicy>
</property> </property>
<property name="toolTip"> <property name="toolTip">
<string>Create an Axis perpendicular to an Axis and crossing a Point.</string> <string>Create an Axis Perpendicular to an Axis and crossing a Point
-Select one Axis and one Point NOT on the previous Axis.</string>
</property> </property>
<property name="text"> <property name="text">
<string>Axis=(Axis,Point)</string> <string>Axis=(Axis,Point)</string>
@ -882,7 +908,8 @@ End of the line.</string>
<item row="5" column="0"> <item row="5" column="0">
<widget class="QPushButton" name="button_twolines_axis"> <widget class="QPushButton" name="button_twolines_axis">
<property name="toolTip"> <property name="toolTip">
<string>Create an Axis between 2 Axes.</string> <string>Create an Axis between two Axes.
-Select two Axes.</string>
</property> </property>
<property name="text"> <property name="text">
<string>Axis=(Line,Line)</string> <string>Axis=(Line,Line)</string>
@ -900,6 +927,27 @@ End of the line.</string>
</widget> </widget>
</item> </item>
<item row="6" column="0"> <item row="6" column="0">
<widget class="QPushButton" name="button_plane_point_line_axis">
<property name="toolTip">
<string>Create an Axis Perpendicular to an Axis, crossing a Point and Parallel to a Plane.
-Select one Plane, one Axis and one Point ON the previous Axis.</string>
</property>
<property name="text">
<string>Axis=(Plane,Point,Axis)</string>
</property>
<property name="icon">
<iconset>
<normaloff>../Icons/WF_planeLinePointAxis.svg</normaloff>../Icons/WF_planeLinePointAxis.svg</iconset>
</property>
<property name="iconSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
</widget>
</item>
<item row="7" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_21"> <layout class="QHBoxLayout" name="horizontalLayout_21">
<item> <item>
<widget class="QPushButton" name="button_cut_axis"> <widget class="QPushButton" name="button_cut_axis">
@ -953,7 +1001,7 @@ The number indicates in how many parts to cut.</string>
</item> </item>
</layout> </layout>
</item> </item>
<item row="7" column="0"> <item row="8" column="0">
<widget class="QPushButton" name="button_line_plane_axis"> <widget class="QPushButton" name="button_line_plane_axis">
<property name="toolTip"> <property name="toolTip">
<string>Create an Axis on a Plane by projection from anoher Axis.</string> <string>Create an Axis on a Plane by projection from anoher Axis.</string>
@ -973,7 +1021,7 @@ The number indicates in how many parts to cut.</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="8" column="0"> <item row="9" column="0">
<widget class="QPushButton" name="button_twoplanes_axis"> <widget class="QPushButton" name="button_twoplanes_axis">
<property name="toolTip"> <property name="toolTip">
<string>Create an Axis by intersect of 2 Planes.</string> <string>Create an Axis by intersect of 2 Planes.</string>
@ -993,7 +1041,7 @@ The number indicates in how many parts to cut.</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="9" column="0"> <item row="10" column="0">
<widget class="QRadioButton" name="button_click_for_axis"> <widget class="QRadioButton" name="button_click_for_axis">
<property name="toolTip"> <property name="toolTip">
<string>Create a set of Lines on a Plane perpendicular to the view at location of 2 mouse clicks. <string>Create a set of Lines on a Plane perpendicular to the view at location of 2 mouse clicks.
@ -1015,7 +1063,7 @@ The number indicates in how many parts to cut.</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="10" column="0"> <item row="11" column="0">
<widget class="QPushButton" name="button_object_base_axes"> <widget class="QPushButton" name="button_object_base_axes">
<property name="toolTip"> <property name="toolTip">
<string>Create 3 Axes at Base location of all selected Object(s).</string> <string>Create 3 Axes at Base location of all selected Object(s).</string>
@ -1035,7 +1083,7 @@ The number indicates in how many parts to cut.</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="11" column="0"> <item row="12" column="0">
<widget class="QPushButton" name="button_line_to_sketch"> <widget class="QPushButton" name="button_line_to_sketch">
<property name="toolTip"> <property name="toolTip">
<string>Transform Line(s) in Sketch's Line(s) by projection onto the Sketch's Plane: <string>Transform Line(s) in Sketch's Line(s) by projection onto the Sketch's Plane:
@ -1069,46 +1117,6 @@ Then click on this button.</string>
<string>Circle</string> <string>Circle</string>
</attribute> </attribute>
<layout class="QGridLayout" name="gridLayout_5"> <layout class="QGridLayout" name="gridLayout_5">
<item row="2" column="0">
<widget class="QPushButton" name="button_3points_circle">
<property name="toolTip">
<string>Select 3 Points to create a Circle.</string>
</property>
<property name="text">
<string>Circle=(3 points)</string>
</property>
<property name="icon">
<iconset>
<normaloff>../Icons/WF_3pointsCircle.svg</normaloff>../Icons/WF_3pointsCircle.svg</iconset>
</property>
<property name="iconSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QPushButton" name="button_3points_ellipse">
<property name="toolTip">
<string>Select a center and 2 Points to create an Ellipse.</string>
</property>
<property name="text">
<string>Ellipse=(3 points)</string>
</property>
<property name="icon">
<iconset>
<normaloff>../Icons/WF_3pointsEllipse.svg</normaloff>../Icons/WF_3pointsEllipse.svg</iconset>
</property>
<property name="iconSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
</widget>
</item>
<item row="1" column="0"> <item row="1" column="0">
<widget class="QPushButton" name="button_linepoint_circle"> <widget class="QPushButton" name="button_linepoint_circle">
<property name="toolTip"> <property name="toolTip">
@ -1130,6 +1138,83 @@ centered on the Axis and tangenting the Point.</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="3" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_24">
<item>
<widget class="QPushButton" name="button_cut_circle">
<property name="toolTip">
<string>Create Arcs:
Cut the selected Circle(s) or Arc(s) in 2(n) parts and create 2(n) Arcs.
The number indicates in how many parts to cut.
- First select as many Circles and Arcs you want
- Second set the number of parts
- Third push this button</string>
</property>
<property name="text">
<string>Arcs=Cut(Circle)</string>
</property>
<property name="icon">
<iconset>
<normaloff>../Icons/WF_cutCircle.svg</normaloff>../Icons/WF_cutCircle.svg</iconset>
</property>
<property name="iconSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="spin_circle_cut">
<property name="minimumSize">
<size>
<width>40</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>50</width>
<height>16777215</height>
</size>
</property>
<property name="toolTip">
<string>The number indicates in how many parts the selected Circle will be cut.</string>
</property>
<property name="minimum">
<number>2</number>
</property>
<property name="maximum">
<number>10</number>
</property>
<property name="singleStep">
<number>1</number>
</property>
</widget>
</item>
</layout>
</item>
<item row="2" column="0">
<widget class="QPushButton" name="button_3points_circle">
<property name="toolTip">
<string>Select 3 Points to create a Circle.</string>
</property>
<property name="text">
<string>Circle=(3 points)</string>
</property>
<property name="icon">
<iconset>
<normaloff>../Icons/WF_3pointsCircle.svg</normaloff>../Icons/WF_3pointsCircle.svg</iconset>
</property>
<property name="iconSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
</widget>
</item>
<item row="0" column="0"> <item row="0" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_11"> <layout class="QHBoxLayout" name="horizontalLayout_11">
<item> <item>
@ -1179,7 +1264,27 @@ with the given radius.</string>
</layout> </layout>
</item> </item>
<item row="4" column="0"> <item row="4" column="0">
<spacer name="verticalSpacer_10"> <widget class="QPushButton" name="button_3points_ellipse">
<property name="toolTip">
<string>Select a center and 2 Points to create an Ellipse.</string>
</property>
<property name="text">
<string>Ellipse=(3 points)</string>
</property>
<property name="icon">
<iconset>
<normaloff>../Icons/WF_3pointsEllipse.svg</normaloff>../Icons/WF_3pointsEllipse.svg</iconset>
</property>
<property name="iconSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
</widget>
</item>
<item row="5" column="0">
<spacer name="verticalSpacer_9">
<property name="orientation"> <property name="orientation">
<enum>Qt::Vertical</enum> <enum>Qt::Vertical</enum>
</property> </property>
@ -1242,26 +1347,6 @@ with the given radius.</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="9" column="0">
<widget class="QPushButton" name="button_object_center_planes">
<property name="toolTip">
<string>Create 3 Planes (XY, XZ and YZ) at center location of all selected Object(s).</string>
</property>
<property name="text">
<string>Object(s) Center Planes</string>
</property>
<property name="icon">
<iconset>
<normaloff>Icons/WF_centerObjectsPlanes.svg</normaloff>Icons/WF_centerObjectsPlanes.svg</iconset>
</property>
<property name="iconSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
</widget>
</item>
<item row="0" column="0"> <item row="0" column="0">
<widget class="QPushButton" name="button_threepoints_plane"> <widget class="QPushButton" name="button_threepoints_plane">
<property name="toolTip"> <property name="toolTip">
@ -1282,52 +1367,6 @@ with the given radius.</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="3" column="0">
<layout class="QGridLayout" name="gridLayout_16">
<item row="0" column="0">
<widget class="QPushButton" name="button_planeandpoint_plane">
<property name="toolTip">
<string>Create a plane crossing a Point and parallel to a Plane.</string>
</property>
<property name="text">
<string>Plane=(Point, Plane)</string>
</property>
<property name="icon">
<iconset>
<normaloff>Icons/WF_pointPlanePoint.svg</normaloff>Icons/WF_pointPlanePoint.svg</iconset>
</property>
<property name="iconSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="extension_planePointPlane">
<property name="minimumSize">
<size>
<width>40</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>60</width>
<height>16777215</height>
</size>
</property>
<property name="toolTip">
<string>Distance for the extensions of the new Plane compared to initial one.</string>
</property>
<property name="text">
<string>0.0</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="5" column="0"> <item row="5" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_12"> <layout class="QHBoxLayout" name="horizontalLayout_12">
<item> <item>
@ -1417,6 +1456,65 @@ then click on a location on the selected object.</string>
</item> </item>
</layout> </layout>
</item> </item>
<item row="6" column="0">
<spacer name="verticalSpacer_8">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item row="3" column="0">
<layout class="QGridLayout" name="gridLayout_16">
<item row="0" column="0">
<widget class="QPushButton" name="button_planeandpoint_plane">
<property name="toolTip">
<string>Create a plane crossing a Point and parallel to a Plane.</string>
</property>
<property name="text">
<string>Plane=(Point, Plane)</string>
</property>
<property name="icon">
<iconset>
<normaloff>Icons/WF_pointPlanePoint.svg</normaloff>Icons/WF_pointPlanePoint.svg</iconset>
</property>
<property name="iconSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="extension_planePointPlane">
<property name="minimumSize">
<size>
<width>40</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>60</width>
<height>16777215</height>
</size>
</property>
<property name="toolTip">
<string>Distance for the extensions of the new Plane compared to initial one.</string>
</property>
<property name="text">
<string>0.0</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="4" column="0"> <item row="4" column="0">
<layout class="QGridLayout" name="gridLayout_8"> <layout class="QGridLayout" name="gridLayout_8">
<item row="0" column="0"> <item row="0" column="0">
@ -1475,6 +1573,26 @@ then click on a location on the selected object.</string>
</item> </item>
</layout> </layout>
</item> </item>
<item row="9" column="0">
<widget class="QPushButton" name="button_object_center_planes">
<property name="toolTip">
<string>Create 3 Planes (XY, XZ and YZ) at center location of all selected Object(s).</string>
</property>
<property name="text">
<string>Object(s) Center Planes</string>
</property>
<property name="icon">
<iconset>
<normaloff>Icons/WF_centerObjectsPlanes.svg</normaloff>Icons/WF_centerObjectsPlanes.svg</iconset>
</property>
<property name="iconSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
</widget>
</item>
<item row="8" column="0"> <item row="8" column="0">
<spacer name="verticalSpacer_11"> <spacer name="verticalSpacer_11">
<property name="orientation"> <property name="orientation">
@ -1580,19 +1698,6 @@ Define the width and the length of the Plane if needed.
</item> </item>
</layout> </layout>
</item> </item>
<item row="6" column="0">
<spacer name="verticalSpacer_8">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout> </layout>
</widget> </widget>
<widget class="QWidget" name="Objects_Tab2"> <widget class="QWidget" name="Objects_Tab2">
@ -2231,12 +2336,12 @@ and push this button to accept...
<item row="1" column="0"> <item row="1" column="0">
<widget class="QPushButton" name="button_isPerpendicular"> <widget class="QPushButton" name="button_isPerpendicular">
<property name="toolTip"> <property name="toolTip">
<string>Check if two faces are Perpendicular: <string>Check if two faces or two Edges are Perpendicular:
- Select the 2 faces/planes and - Select the 2 faces/planes or 2 Edges/Lines and
Click this button</string> Click this button</string>
</property> </property>
<property name="text"> <property name="text">
<string>Faces Perpendicular</string> <string>are Perpendicular ?</string>
</property> </property>
<property name="icon"> <property name="icon">
<iconset> <iconset>
@ -2253,12 +2358,12 @@ Click this button</string>
<item row="0" column="0"> <item row="0" column="0">
<widget class="QPushButton" name="button_isParallel"> <widget class="QPushButton" name="button_isParallel">
<property name="toolTip"> <property name="toolTip">
<string>Check if two faces are Parallel: <string>Check if two faces or two Edges are Parallel:
- Select the 2 faces/planes and - Select the 2 faces/planes or 2 Edges/Lines and
Click this button</string> Click this button</string>
</property> </property>
<property name="text"> <property name="text">
<string>Faces Parallel</string> <string>are Parallel ?</string>
</property> </property>
<property name="icon"> <property name="icon">
<iconset> <iconset>
@ -2275,12 +2380,12 @@ Click this button</string>
<item row="2" column="0"> <item row="2" column="0">
<widget class="QPushButton" name="button_isCoplanar"> <widget class="QPushButton" name="button_isCoplanar">
<property name="toolTip"> <property name="toolTip">
<string>Check if two faces are Coplanar: <string>Check if two faces or two Edges are Coplanar:
- Select the 2 faces/planes and - Select the 2 faces/planes or 2 Edges/Lines and
Click this button</string> Click this button</string>
</property> </property>
<property name="text"> <property name="text">
<string>Faces Coplanar</string> <string>are Coplanar ?</string>
</property> </property>
<property name="icon"> <property name="icon">
<iconset> <iconset>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

417
WorkFeature/WF_wf.svg Normal file
View File

@ -0,0 +1,417 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="64px"
height="64px"
id="svg2918"
sodipodi:version="0.32"
inkscape:version="0.48.3.1 r9886"
sodipodi:docname="WF_wf.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
version="1.1">
<defs
id="defs2920">
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3144"
id="radialGradient3191"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1,0,0,0.6985294,0,202.82863)"
cx="225.26402"
cy="672.79736"
fx="225.26402"
fy="672.79736"
r="34.345188" />
<linearGradient
id="linearGradient3144">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop3146" />
<stop
style="stop-color:#ffffff;stop-opacity:0;"
offset="1"
id="stop3148" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3144"
id="radialGradient3183"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1,0,0,0.6985294,0,202.82863)"
cx="225.26402"
cy="672.79736"
fx="225.26402"
fy="672.79736"
r="34.345188" />
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 32 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="64 : 32 : 1"
inkscape:persp3d-origin="32 : 21.333333 : 1"
id="perspective2926" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3144"
id="radialGradient3075"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1,0,0,0.6985294,0,202.82863)"
cx="225.26402"
cy="672.79736"
fx="225.26402"
fy="672.79736"
r="34.345188" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3669-22"
id="linearGradient5642"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1,0,0,1.0073452,0,1.6176736)"
x1="34.290413"
y1="33.61211"
x2="73.185463"
y2="31.368526" />
<linearGradient
id="linearGradient3669-22">
<stop
style="stop-color:#af7d00;stop-opacity:1;"
offset="0"
id="stop3671-8" />
<stop
style="stop-color:#ffed00;stop-opacity:1;"
offset="1"
id="stop3673-4" />
</linearGradient>
<radialGradient
r="34.345188"
fy="672.79736"
fx="225.26402"
cy="672.79736"
cx="225.26402"
gradientTransform="matrix(1,0,0,0.6985294,0,202.82863)"
gradientUnits="userSpaceOnUse"
id="radialGradient7085"
xlink:href="#linearGradient3144-2"
inkscape:collect="always" />
<linearGradient
inkscape:collect="always"
id="linearGradient3144-2">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop3146-2" />
<stop
style="stop-color:#ffffff;stop-opacity:0;"
offset="1"
id="stop3148-6" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3669-22"
id="linearGradient9920"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1,0,0,1.0073452,-14.310226,-36.22468)"
x1="34.290413"
y1="33.61211"
x2="73.185463"
y2="31.368526" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3144-2"
id="radialGradient9922"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1,0,0,0.6985294,0,202.82863)"
cx="225.26402"
cy="672.79736"
fx="225.26402"
fy="672.79736"
r="34.345188" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3144"
id="radialGradient9929"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1,0,0,0.6985294,0,202.82863)"
cx="225.26402"
cy="672.79736"
fx="225.26402"
fy="672.79736"
r="34.345188" />
<linearGradient
id="linearGradient3682">
<stop
style="stop-color:#ff6d0f;stop-opacity:1;"
offset="0"
id="stop3684" />
<stop
style="stop-color:#ff1000;stop-opacity:1;"
offset="1"
id="stop3686" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3864"
id="radialGradient3661"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.6186598,0.9666542,-1.0332462,0.6612786,-327.27568,-255.84136)"
cx="282.64584"
cy="29.149046"
fx="282.64584"
fy="29.149046"
r="19.571428" />
<linearGradient
id="linearGradient3864">
<stop
id="stop3866"
offset="0"
style="stop-color:#71b2f8;stop-opacity:1;" />
<stop
id="stop3868"
offset="1"
style="stop-color:#002795;stop-opacity:1;" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3864"
id="radialGradient10539"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.72078235,0.1759935,-0.48532873,1.9876651,-123.73715,-73.109513)"
cx="270.58316"
cy="33.899986"
fx="270.58316"
fy="33.899986"
r="19.571428" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3682"
id="radialGradient10557"
cx="67.755028"
cy="-46.496803"
fx="67.755028"
fy="-46.496803"
r="29.675781"
gradientTransform="matrix(2.0465237,-0.46200509,0.43903839,1.9447896,-83.185467,140.73647)"
gradientUnits="userSpaceOnUse" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="8.0110376"
inkscape:cx="35.988406"
inkscape:cy="48.485291"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:document-units="px"
inkscape:grid-bbox="true"
inkscape:window-width="1100"
inkscape:window-height="1021"
inkscape:window-x="1849"
inkscape:window-y="24"
inkscape:window-maximized="0" />
<metadata
id="metadata2923">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="layer1"
inkscape:label="Layer 1"
inkscape:groupmode="layer">
<g
transform="translate(3.3361603,-2.3380109)"
id="g13732"
style="opacity:0.5">
<path
style="font-size:54.21519088999999525px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;color:#000000;fill:#ffbf00;fill-opacity:0.58823528999999997;fill-rule:nonzero;stroke:#7b5600;stroke-width:1.61343931999999990;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Arial;-inkscape-font-specification:Arial"
d="M 60.49161,44.427858 30.141502,33.661472 43.774383,18.818887 72.290912,28.432214 z"
id="path2887-1-2-1-1"
sodipodi:nodetypes="ccccc"
inkscape:connector-curvature="0" />
<path
style="font-size:54.21519088999999525px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;color:#000000;fill:#ffbf00;fill-opacity:0.58823528999999997;fill-rule:nonzero;stroke:#7b5600;stroke-width:1.61343931999999990;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Arial;-inkscape-font-specification:Arial"
d="M 30.423144,33.323734 1.071158,22.931645 15.078336,7.9642951 43.844395,18.825275 z"
id="path2887-1-2-3"
sodipodi:nodetypes="ccccc"
inkscape:connector-curvature="0" />
<path
style="font-size:54.21519088999999525px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;color:#000000;fill:#ffbf00;fill-opacity:0.58823528999999997;fill-rule:nonzero;stroke:#7b5600;stroke-width:1.61343931999999990;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Arial;-inkscape-font-specification:Arial"
d="M 13.428338,50.978041 -12.804511,37.716347 1.2026668,22.748998 29.968725,33.609977 z"
id="path2887-1-2"
sodipodi:nodetypes="ccccc"
inkscape:connector-curvature="0" />
<path
style="font-size:54.21519088999999525px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;color:#000000;fill:#ffbf00;fill-opacity:0.58823528999999997;fill-rule:nonzero;stroke:#7b5600;stroke-width:1.61343931999999990;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Arial;-inkscape-font-specification:Arial"
d="M 29.911479,45.507437 1.058556,32.245742 1.2167717,9.9172338 29.608533,18.906731 z"
id="path2887-1"
sodipodi:nodetypes="ccccc"
inkscape:connector-curvature="0" />
<path
style="font-size:54.21519088999999525px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;color:#000000;fill:#ffbf00;fill-opacity:0.58823528999999997;fill-rule:nonzero;stroke:#7b5600;stroke-width:1.61343931999999990;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Arial;-inkscape-font-specification:Arial"
d="M 47.707042,26.862178 13.342629,62.68579 12.894022,39.058427 47.534591,-0.492849 z"
id="path2887-1-9"
sodipodi:nodetypes="ccccc"
inkscape:connector-curvature="0" />
<path
style="font-size:54.21519088999999525px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;color:#000000;fill:#ffbf00;fill-opacity:0.58823528999999997;fill-rule:nonzero;stroke:#7b5600;stroke-width:1.61343931999999990;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Arial;-inkscape-font-specification:Arial"
d="M 60.117314,58.963029 30.391033,45.576569 30.299718,18.756505 60.31343,28.619361 z"
id="path2887-1-1"
sodipodi:nodetypes="ccccc"
inkscape:connector-curvature="0" />
<path
style="font-size:54.21519088999999525px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;color:#000000;fill:#ffbf00;fill-opacity:0.58823528999999997;fill-rule:nonzero;stroke:#7b5600;stroke-width:1.61343931999999990;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Arial;-inkscape-font-specification:Arial"
d="M 45.457377,67.509461 13.360553,51.253396 30.486866,33.541207 60.375815,44.901249 z"
id="path2887-1-2-1"
sodipodi:nodetypes="ccccc"
inkscape:connector-curvature="0" />
</g>
<g
id="g3177"
transform="matrix(-0.1459885,0.00366916,-0.00366916,-0.1459885,83.957793,125.97476)"
inkscape:export-filename="/home/yorik/Documents/Lab/Draft/icons/circle.png"
inkscape:export-xdpi="7.2934141"
inkscape:export-ydpi="7.2934141" />
<g
id="g9924"
transform="matrix(0.25,0,0,0.25,27.863744,48.264963)">
<path
id="path4439"
d="m 33.576253,19.10988 c -0.36297,-0.0046 -0.71481,0.013 -1.08159,0.0273 C 20.757511,19.597596 11.593999,29.496878 12.054403,41.23404 12.514807,52.971198 22.414069,62.121044 34.151221,61.660628 45.888415,61.200212 55.051927,51.300942 54.591523,39.563768 54.145489,28.193394 44.828161,19.23912 33.576253,19.109796 z"
style="fill:#000000;fill-opacity:0.58469944;fill-rule:nonzero;stroke:none;stroke-width:5.80000019;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
inkscape:connector-curvature="0"
sodipodi:nodetypes="csssssc" />
<path
transform="matrix(-0.4377671,0.01717238,-0.01717238,-0.4377671,123.82169,309.44853)"
d="m 245.71428,655.2193 c 0,26.82526 -21.74617,48.57143 -48.57143,48.57143 -26.82526,0 -48.57143,-21.74617 -48.57143,-48.57143 0,-26.82526 21.74617,-48.57143 48.57143,-48.57143 26.82526,0 48.57143,21.74617 48.57143,48.57143 z"
sodipodi:ry="48.57143"
sodipodi:rx="48.57143"
sodipodi:cy="655.2193"
sodipodi:cx="197.14285"
id="path3187"
style="fill:#ffbf00;fill-opacity:1;fill-rule:nonzero;stroke:#7b5600;stroke-width:5.79999971;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
sodipodi:type="arc" />
<path
transform="matrix(-0.36366221,0.24430451,-0.24430451,-0.36366221,268.41385,209.86553)"
d="m 259.60921,672.79736 c 0,13.24993 -15.37686,23.99113 -34.34519,23.99113 -18.96832,0 -34.34519,-10.7412 -34.34519,-23.99113 0,-13.24993 15.37687,-23.99112 34.34519,-23.99112 18.96833,0 34.34519,10.74119 34.34519,23.99112 z"
sodipodi:ry="23.991123"
sodipodi:rx="34.345188"
sodipodi:cy="672.79736"
sodipodi:cx="225.26402"
id="path3189"
style="fill:url(#radialGradient9929);fill-opacity:1;stroke:none"
sodipodi:type="arc" />
</g>
<g
id="g9911"
transform="matrix(0.5,0,0,0.5,6.7604461,42.433677)">
<g
id="g3255"
transform="matrix(0.38182923,-0.02481335,0.02494332,0.37983972,-117.91749,-215.91209)">
<path
sodipodi:nodetypes="cccccccc"
style="fill:#000000;fill-opacity:0.58469944;fill-rule:nonzero;stroke:none;stroke-width:5.80000114;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="m 375.33082,592.21235 -80.18171,60.54556 c -0.30872,-0.35307 -1.18244,1.63775 -4.04262,-0.64171 l -35.28249,-37.87678 -18.86153,15.50626 51.51134,51.40325 106.41962,-67.12956 z"
id="rect3257"
inkscape:connector-curvature="0" />
</g>
<g
id="g9905">
<path
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccc"
id="path2887"
d="M 46.933139,-6.6329236 10.631002,24.471555 -12.440479,2.8838734 -12.800248,0.38717344 c 38.042997,-34.14853144 0.425123,0.266918 38.325746,-34.30124644 l 23.80345,22.09336 z"
style="font-size:54.21519089px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;color:#000000;fill:#ffbf00;fill-opacity:1;fill-rule:nonzero;stroke:#7b5600;stroke-width:2.55002284;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;font-family:Arial;-inkscape-font-specification:Arial" />
<path
inkscape:connector-curvature="0"
sodipodi:nodetypes="czc"
id="path3679"
d="m 10.358504,20.637684 c 0,0 4.75428,-4.009114 19.963313,-17.228413 15.209034,-13.2192991 18.580268,-15.093725 18.580268,-15.093725"
style="font-size:54.21519089px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;color:#000000;fill:url(#linearGradient9920);fill-opacity:1;fill-rule:nonzero;stroke:#7b5600;stroke-width:2.00733185;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Arial;-inkscape-font-specification:Arial" />
<path
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccc"
id="path3677"
d="M -11.73507,-0.68973773 11.023814,21.252649 10.946681,24.09677"
style="font-size:54.21519089px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;color:#000000;fill:none;stroke:#7b5600;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Arial;-inkscape-font-specification:Arial" />
<path
sodipodi:type="arc"
style="font-size:54.21519089px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;color:#000000;fill:url(#radialGradient9922);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.19132471;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Arial;-inkscape-font-specification:Arial"
id="path3189-9"
sodipodi:cx="225.26402"
sodipodi:cy="672.79736"
sodipodi:rx="34.345188"
sodipodi:ry="23.991123"
d="m 259.60921,672.79736 c 0,13.24993 -15.37686,23.99113 -34.34519,23.99113 -18.96832,0 -34.34519,-10.7412 -34.34519,-23.99113 0,-13.24993 15.37687,-23.99112 34.34519,-23.99112 18.96833,0 34.34519,10.74119 34.34519,23.99112 z"
transform="matrix(-0.17570984,0.14964393,-0.11804007,-0.22275415,125.61402,112.2527)" />
</g>
</g>
<g
transform="matrix(0.5,0,0,0.5,32.281246,5.4035249)"
id="g10443">
<g
id="g3255-5"
transform="matrix(0.38182923,-0.02481335,0.02494332,0.37983972,-101.10196,-205.49934)">
<g
id="g10440">
<path
inkscape:connector-curvature="0"
id="rect3257-3"
d="M 380.09069,594.42676 221.69374,736.84899 c -1.39276,12.84365 4.32526,16.52483 13.04476,21.17224 L 394.89343,614.01937 c 2.6138,-10.65874 -0.18206,-14.73944 -14.80274,-19.59261 z"
style="fill:#000000;fill-opacity:0.58469944;fill-rule:nonzero;stroke:none;stroke-width:5.80000114;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
sodipodi:nodetypes="ccccc" />
</g>
</g>
<path
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccc"
id="rect3520-5"
d="M 2.9140033,55.667706 54.160933,3.4061979 63.161313,11.628305 10.696975,64.457367 C 6.8555524,64.225166 2.865167,58.650503 2.9140033,55.667706 z"
style="fill:#ffbf00;fill-opacity:1;fill-rule:evenodd;stroke:#7a5600;stroke-width:1.93936884;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<path
sodipodi:nodetypes="csssccc"
inkscape:connector-curvature="0"
id="path3696-4"
d="m 63.724164,11.20175 c -0.785549,1.175926 -3.546391,0.394729 -6.166513,-1.7448513 -2.620122,-2.1395806 -4.107339,-4.8273295 -3.32179,-6.0032551 0.785547,-1.1759255 3.546389,-0.3947288 6.166511,1.7448519 2.145246,1.7517982 3.591942,3.9317144 3.528434,5.3167275 l -0.431921,0.69472 z"
style="fill:#ffbf00;fill-opacity:1;fill-rule:evenodd;stroke:#7a5600;stroke-width:1.81601667;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
</g>
<path
style="fill:url(#radialGradient10539);fill-opacity:1;fill-rule:evenodd;stroke:#000137;stroke-width:1.2349999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="m 41.084474,27.48345 0,35.880022 8.000275,0 0,-14.040887 5.65676,0 0,-5.535544 -5.65676,0 0,-5.974754 13.935114,0 0,-10.308633 -21.935389,-0.0202 z"
id="rect3663"
sodipodi:nodetypes="ccccccccccc"
inkscape:connector-curvature="0" />
<text
xml:space="preserve"
style="font-size:42.55999756px;font-style:normal;font-weight:bold;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:url(#radialGradient10557);fill-opacity:1;fill-rule:evenodd;stroke:#370700;stroke-width:1.25399995;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans Bold"
x="-0.71130532"
y="31.38933"
id="text10547"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan10549"
x="-0.71130532"
y="31.38933"
style="fill:url(#radialGradient10557);fill-opacity:1;fill-rule:evenodd;stroke-width:1.25399995;stroke-miterlimit:4;stroke-dasharray:none">W</tspan></text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 22 KiB

View File

@ -10,7 +10,7 @@
* galou_breizh for macro which creates a circle from 3 selected points * * galou_breizh for macro which creates a circle from 3 selected points *
* Eriossoltero for macro Ellipse-Center+2Points * * Eriossoltero for macro Ellipse-Center+2Points *
* Many Thanks to wmayer for his active help on testing and debbuging * * Many Thanks to wmayer for his active help on testing and debbuging *
* Special thanks to Mario52 for FCCamera code * * Special thanks to Mario52 for FCCamera code, cutCircle... *
* for bounding box codes, advices, diverse pieces of codes * * for bounding box codes, advices, diverse pieces of codes *
* and all discussions...merci Mario * * and all discussions...merci Mario *
*************************************************************************** ***************************************************************************
@ -51,7 +51,7 @@ if not sys.path.__contains__("/usr/lib/freecad/lib"):
import WFGui_2015 as WFGui import WFGui_2015 as WFGui
global myRelease global myRelease
myRelease = "2105_02_28" myRelease = "2105_03_08"
import os.path import os.path
import math import math
@ -87,9 +87,12 @@ global centerOfMass
centerOfMass=True centerOfMass=True
global verbose global verbose
verbose=0 verbose=0
global tolerance
tolerance=1e-10
m_numberLinePart = 2 m_numberLinePart = 2
m_numberLineCut = 2 m_numberLineCut = 2
m_numberCircleCut = 2
m_distanceLinePoint = 0.0 m_distanceLinePoint = 0.0
m_extensionTwoPointsAxis = 0.0 m_extensionTwoPointsAxis = 0.0
m_extensionLinePointAxis = 0.0 m_extensionLinePointAxis = 0.0
@ -115,7 +118,7 @@ m_clickForPoint = True
m_clickForAxis = True m_clickForAxis = True
m_stack = [] m_stack = []
error_msg = "Not yet Developped !" error_msg_not_yet = "Not yet Developped !"
#################################################################################### ####################################################################################
@ -677,7 +680,7 @@ def distanceBetween(A, B):
return edge.Length return edge.Length
def colinearVectors(A, B, C, info=0, precision=1e-12): def colinearVectors(A, B, C, info=0, tolerance=1e-12):
""" Return true if the 3 points are aligned. """ Return true if the 3 points are aligned.
""" """
Vector_1 = B - A Vector_1 = B - A
@ -689,7 +692,7 @@ def colinearVectors(A, B, C, info=0, precision=1e-12):
if info != 0: if info != 0:
print_point(Vector_3, msg="Vector_1.cross(Vector_2) : ") print_point(Vector_3, msg="Vector_1.cross(Vector_2) : ")
if abs(Vector_3.x) <= precision and abs(Vector_3.y) <= precision and abs(Vector_3.z) <= precision: if abs(Vector_3.x) <= tolerance and abs(Vector_3.y) <= tolerance and abs(Vector_3.z) <= tolerance:
if info != 0: if info != 0:
print_msg("Colinear Vectors !") print_msg("Colinear Vectors !")
return True return True
@ -1221,7 +1224,7 @@ def plot_axis(Vector_A, Vector_B, part, name, grp="WorkAxis"):
return axis_User_Name, axis return axis_User_Name, axis
def plot_circle(Radius, Position, Direction, part= "Part::Feature", name= "Circle", grp="Circles"): def plot_circle(Radius, Position, Direction, part= "Part::Feature", name= "Circle", grp="WorkCircles"):
if not(App.ActiveDocument.getObject( grp )): if not(App.ActiveDocument.getObject( grp )):
App.ActiveDocument.addObject("App::DocumentObjectGroup", grp) App.ActiveDocument.addObject("App::DocumentObjectGroup", grp)
circle = App.ActiveDocument.addObject(part, name) circle = App.ActiveDocument.addObject(part, name)
@ -1232,6 +1235,37 @@ def plot_circle(Radius, Position, Direction, part= "Part::Feature", name= "Circl
return circle_User_Name, circle return circle_User_Name, circle
def plot_arc(center, normal, radius, startangle, endangle, part= "Part::Feature", name= "Circle", grp="WorkCircles"):
if not(App.ActiveDocument.getObject( grp )):
App.ActiveDocument.addObject("App::DocumentObjectGroup", grp)
arc = App.ActiveDocument.addObject(part, name)
c = Part.Circle(center, normal, radius)
start = math.radians(startangle)
end = math.radians(endangle)
Arc = Part.Arc(c,start,end)
arc.Shape = Arc.toShape()
App.ActiveDocument.getObject( grp ).addObject(arc)
arc_User_Name = arc.Label
Gui.ActiveDocument.getObject(arc_User_Name).LineColor = (1.00,0.67,0.00)
return arc_User_Name, arc
def plot_arc2(Radius, Placem, Face, Startangle, Endangle, Support, part= "Part::Feature", name= "Circle", grp="WorkCircles"):
if not(App.ActiveDocument.getObject( grp )):
App.ActiveDocument.addObject("App::DocumentObjectGroup", grp)
arc = App.ActiveDocument.addObject(part, name)
print_msg(str(Placem))
#arc.Shape = Part.makeCircle(Radius, Position, Direction)
toto = Draft.makeCircle(radius=Radius,placement=Placem,face=Face,startangle=Startangle,endangle=Endangle,support=Support)
print_msg(str(toto))
return
#arc.Shape =
App.ActiveDocument.getObject( grp ).addObject(arc)
arc_User_Name = arc.Label
Gui.ActiveDocument.getObject(arc_User_Name).LineColor = (1.00,0.67,0.00)
return arc_User_Name, arc
def plot_ellipse(S1, S2, Center, part= "Part::Feature", name= "Ellipse", grp="Circles"): def plot_ellipse(S1, S2, Center, part= "Part::Feature", name= "Ellipse", grp="Circles"):
"""Creates an ellipse centered on the point Center, where """Creates an ellipse centered on the point Center, where
the plane of the ellipse is defined by Center, S1 and S2, the plane of the ellipse is defined by Center, S1 and S2,
@ -1452,6 +1486,8 @@ def bounding_box(grp,ori_X,ori_Y,ori_Z,length_X,length_Y,length_Z,info=0):
def plot_originObject(): def plot_originObject():
global verbose
msg=verbose
m_actDoc = get_ActiveDocument(info=msg) m_actDoc = get_ActiveDocument(info=msg)
if m_actDoc == None: if m_actDoc == None:
return None return None
@ -1570,6 +1606,7 @@ def plot_originObject():
except: except:
printError_msg("Could not Create Origin objects !") printError_msg("Could not Create Origin objects !")
def bBox_toggled(flag): def bBox_toggled(flag):
""" Respond to the change of bounding box flag. """ Respond to the change of bounding box flag.
""" """
@ -1578,6 +1615,22 @@ def bBox_toggled(flag):
if flag == True: if flag == True:
centerOfMass = False centerOfMass = False
def setTolerance(value):
""" Respond to the change in tolerance value from the text box.
"""
try:
# First we check if a valid number have been entered
global tolerance
if str(value) == '-':
return
tolerance = float(value)
print_msg("New tolerance is :" + str(tolerance))
#plot_alongLinePoint()
except ValueError:
printError_msg("Tolerance must be valid number !")
def plot_centerObjectPoint(): def plot_centerObjectPoint():
""" Create a Point at center location of all selected Object(s). """ Create a Point at center location of all selected Object(s).
if flag centerOfMass=True if flag centerOfMass=True
@ -1708,9 +1761,10 @@ def plot_extremaLinePoint():
if Number_of_Edges >= 1: if Number_of_Edges >= 1:
Edge_List = SelectedObjects[4] Edge_List = SelectedObjects[4]
for i in range( Number_of_Edges ): for i in range( Number_of_Edges ):
if msg != 0:
print_msg(str(Edge_List[i]))
edge = Edge_List[i] edge = Edge_List[i]
if msg != 0:
print_msg(str(edge))
Vector_A = edge.Vertexes[0].Point Vector_A = edge.Vertexes[0].Point
Vector_B = edge.Vertexes[-1].Point Vector_B = edge.Vertexes[-1].Point
if msg != 0: if msg != 0:
@ -1776,10 +1830,11 @@ def plot_centerLinePoint():
if Number_of_Edges >= 1: if Number_of_Edges >= 1:
Edge_List = SelectedObjects[4] Edge_List = SelectedObjects[4]
for i in range( Number_of_Edges ): for i in range( Number_of_Edges ):
edge = Edge_List[i]
if m_numberLinePart == 2: if m_numberLinePart == 2:
if msg != 0: if msg != 0:
print_msg(str(Edge_List[i])) print_msg(str(edge))
Vector_Line_Center = centerLinePoint(Edge_List[i],info=msg) Vector_Line_Center = centerLinePoint(edge,info=msg)
if msg != 0: if msg != 0:
print_point(Vector_Line_Center, msg="MidPoint : ") print_point(Vector_Line_Center, msg="MidPoint : ")
@ -1787,7 +1842,7 @@ def plot_centerLinePoint():
print_point(Vector_Line_Center,str(Center_User_Name) + result_msg + " at :") print_point(Vector_Line_Center,str(Center_User_Name) + result_msg + " at :")
else: else:
for j in range( 1, m_numberLinePart ): for j in range( 1, m_numberLinePart ):
Vector_Line_Center = centerLinePoints(Edge_List[i], j , m_numberLinePart, info=msg) Vector_Line_Center = centerLinePoints(edge, j , m_numberLinePart, info=msg)
Center_User_Name = plot_point(Vector_Line_Center, part, name) Center_User_Name = plot_point(Vector_Line_Center, part, name)
print_point(Vector_Line_Center,str(Center_User_Name) + result_msg + " at :") print_point(Vector_Line_Center,str(Center_User_Name) + result_msg + " at :")
else: else:
@ -2652,17 +2707,20 @@ def plot_cutAxis():
if (Number_of_Edges >= 1): if (Number_of_Edges >= 1):
Edge_List = SelectedObjects[4] Edge_List = SelectedObjects[4]
for i in range( Number_of_Edges ): for i in range( Number_of_Edges ):
edge = Edge_List[i]
if msg != 0: if msg != 0:
print_msg(str(Edge_List[i])) print_msg(str(edge))
Vector_A = Edge_List[i].valueAt( 0.0 ) #Vector_A = edge.valueAt( 0.0 )
Vector_A = edge.Vertexes[0].Point
for j in range( 1, m_numberLineCut ): for j in range( 1, m_numberLineCut ):
Vector_B = centerLinePoints(Edge_List[i], j , m_numberLineCut, info=msg) Vector_B = centerLinePoints(edge, j , m_numberLineCut, info=msg)
if msg != 0: if msg != 0:
print_point(Vector_A,"Vector_A is : ") print_point(Vector_A,"Vector_A is : ")
print_point(Vector_B,"Vector_B is : ") print_point(Vector_B,"Vector_B is : ")
Axis_User_Name, axis = plot_axis(Vector_A, Vector_B, part, name) Axis_User_Name, axis = plot_axis(Vector_A, Vector_B, part, name)
Vector_A = Vector_B Vector_A = Vector_B
Vector_B = Edge_List[i].valueAt( Edge_List[i].Length ) #Vector_B = edge.valueAt( edge.Length )
Vector_B = edge.Vertexes[-1].Point
if msg != 0: if msg != 0:
print_point(Vector_A,"Vector_A is : ") print_point(Vector_A,"Vector_A is : ")
print_point(Vector_B,"Vector_B is : ") print_point(Vector_B,"Vector_B is : ")
@ -2689,7 +2747,6 @@ def extensionLinePointAxis(value):
printError_msg("Extension must be valid number !") printError_msg("Extension must be valid number !")
def plot_linePointAxis(): def plot_linePointAxis():
""" """
Plot an Axis Perpendicular to an Axis and crossing a Point Plot an Axis Perpendicular to an Axis and crossing a Point
@ -2701,7 +2758,7 @@ def plot_linePointAxis():
"Select one Point and one Line only !\n" + \ "Select one Point and one Line only !\n" + \
"The Point is NOT on the Line!" "The Point is NOT on the Line!"
result_msg = " : Perpendicular Axis created !" result_msg = " : Perpendicular Axis created !"
name = "Perpendicular Line" name = "Perpendicular_Line"
part = "Part::Feature" part = "Part::Feature"
Selection = get_SelectedObjects(info=msg, printError=False) Selection = get_SelectedObjects(info=msg, printError=False)
try: try:
@ -2745,6 +2802,164 @@ def plot_linePointAxis():
printError_msg(error_msg) printError_msg(error_msg)
def plot_planeLinePointAxis():
"""
Plot an Axis Perpendicular to an Axis, crossing a Point and Parallel to a Plane.
-Select one Plane, one Axis and one Point ON the previous Axis.
"""
global verbose
msg=verbose
m_actDoc = get_ActiveDocument(info=msg)
if m_actDoc == None:
return None
createFolders('WorkAxis')
error_msg = "Unable to create Perpendicular Axis : \nSelect one Plane, one Axis and one Point ON the previous Axis !"
result_msg = " : Perpendicular Axis created !"
name = "Perpendicular_Line_on_plane"
part = "Part::Feature"
Selection = get_SelectedObjects(info=msg, printError=False)
m_num, m_selEx, m_objs, m_objNames = get_InfoObjects(info=0)
m_xmax, m_xmin, m_ymax, m_ymin, m_zmax, m_zmin = minMaxObjectsLimits(m_objs,info=0)
try:
SelectedObjects = Selection
Number_of_Points = SelectedObjects[0]
Number_of_Edges = SelectedObjects[1]
Number_of_Planes = SelectedObjects[2]
if msg != 0:
print_msg("Number_of_Points=" + str(Number_of_Points) + \
"\nNumber_of_Edges=" + str(Number_of_Edges) + \
"\nNumber_of_Planes=" + str(Number_of_Planes))
if (Number_of_Points == 1 ) and (Number_of_Edges == 1) and (Number_of_Planes) == 1 :
Point_List = SelectedObjects[3]
Edge_List = SelectedObjects[4]
Plane_List = SelectedObjects[5]
# Create a Perpendicular plane to selected line and crossing the point
Vector_A = Edge_List[0].Vertexes[0].Point
Vector_B = Edge_List[0].Vertexes[-1].Point
Vector_C = Point_List[0].Point
if msg != 0:
print_point(Vector_A, msg="Vector_A : ")
print_point(Vector_B, msg="Vector_B : ")
print_point(Vector_C, msg="Vector_C : ")
# Intersection point T on a Line given one Line and One Point C.
if colinearVectors(Vector_A, Vector_B, Vector_C, info=msg, tolerance=1e-10):
Vector_T = Vector_C
Distance = Vector_B.sub(Vector_A).Length
else:
Vector_T, Distance, Vector_Tprime = intersecPerpendicularLine(Vector_A, Vector_B, Vector_C, info=msg)
if msg != 0:
print_point(Vector_T, msg="Intersection point T : ")
Plane_Normal = Vector_B.sub(Vector_A)
Plane_Point = Vector_T + (Vector_C - Vector_T).multiply(0.5)
#Edge_Length = Distance * 1.5
#Plane_User_Name, plane = plot_plane(Edge_Length, Edge_Length, Plane_Point, Plane_Normal, part, name)
#print_msg(str(Plane_User_Name) + result_msg )
# Then intersection of the 2 planes
Selected_Plane1 = Plane_List[0]
Selected_Plane2 = plane.Shape
Plane_Normal1 = Selected_Plane1.normalAt(0,0)
Plane_Normal2 = Plane_Normal
if msg != 0:
print_point(Plane_Normal1, msg="Normal1 : ")
print_point(Plane_Normal2, msg="Normal2 : ")
Plane_Point1 = Selected_Plane1.CenterOfMass
Plane_Point2 = Plane_Point
if msg != 0:
print_point(Plane_Point1 , msg="Plane_Point1 : ")
print_point(Plane_Point2 , msg="Plane_Point2 : ")
Axis_dir = intersecPlanePlane(Plane_Normal1, Plane_Point1, Plane_Normal2, Plane_Point2, info=msg)
if msg != 0:
print_point(Axis_dir , msg="Axis_dir : ")
# Intersection Line found
if Axis_dir != None:
if msg != 0:
print_msg("Selected_Plane1=" + str(Selected_Plane1))
print_msg("Selected_Plane1.Edges=" + str(Selected_Plane1.Edges))
Number_of_Edges = len(Selected_Plane1.Edges)
if msg != 0:
print_msg("Number_of_Edges=" + str(Number_of_Edges))
Vertx = []
Vertx.append(App.Vector(0.0, 0.0, 0.0))
Vertx.append(App.Vector(0.0, 0.0, 0.0))
min_val, max_val = init_min_max()
dist_to_center_min = max_val
# For the first plane look after all edges and look at
# intersections of the edges with the second plane
for j in range(Number_of_Edges):
A = Selected_Plane1.Edges[j].Vertexes[0].Point
B = Selected_Plane1.Edges[j].Vertexes[-1].Point
if msg != 0:
print_point(A , msg="A : ")
print_point(B , msg="B : ")
T = intersecLinePlane(A, B, Plane_Normal2, Plane_Point2, info=0)
if T != None:
if msg != 0:
print_point(T , msg="T : ")
D = T - Plane_Point1
dist_to_center = math.sqrt(D.dot(D))
if msg != 0:
print_msg("D=" + str(D))
print_msg("dist_to_center=" + str(dist_to_center))
if dist_to_center < dist_to_center_min:
dist_to_center_min = dist_to_center
Vertx[0] = T
if msg != 0:
print_msg("Selected_Plane2=" + str(Selected_Plane2))
print_msg("Selected_Plane2.Edges=" + str(Selected_Plane2.Edges))
Number_of_Edges = len(Selected_Plane2.Edges)
if msg != 0:
print_msg("Number_of_Edges=" + str(Number_of_Edges))
dist_to_center_min = max_val
for j in range(Number_of_Edges):
A = Selected_Plane2.Edges[j].valueAt( 0.0 )
B = Selected_Plane2.Edges[j].valueAt(Selected_Plane2.Edges[j].Length )
if msg != 0:
print_point(A , msg="A : ")
print_point(B , msg="B : ")
T = intersecLinePlane(A, B, Plane_Normal1, Plane_Point1, info=0)
if T != None:
if msg != 0:
print_point(T , msg="T : ")
D = T - Plane_Point2
dist_to_center = math.sqrt(D.dot(D))
if msg != 0:
print_msg("D=" + str(D))
print_msg("dist_to_center=" + str(dist_to_center))
if dist_to_center < dist_to_center_min:
dist_to_center_min = dist_to_center
Vertx[1] = T
C = meanVectorsPoint(Vertx,info=1)
if C != None:
extension = m_xmax - m_xmin
if extension < m_ymax - m_ymin:
extension = m_ymax - m_ymin
if extension < m_zmax - m_zmin:
extension = m_zmax - m_zmin
extension = extension/2
A = C - Axis_dir.normalize().multiply(extension*1.3)
B = C + Axis_dir
Axis_User_Name, axis = plot_axis(A, B, part, name)
print_msg(str(Axis_User_Name) + result_msg )
else:
printError_msg(error_msg)
else:
printError_msg(error_msg)
else:
printError_msg(error_msg)
except:
printError_msg(error_msg)
def plot_pointLineAxis(): def plot_pointLineAxis():
""" """
Plot an Axis Parallel to an Axis and crossing a Point. Plot an Axis Parallel to an Axis and crossing a Point.
@ -3099,12 +3314,17 @@ def line_toSketch():
# Get Point(s) from the selection # Get Point(s) from the selection
for m_i in range(1,m_num): for m_i in range(1,m_num):
m_obj = m_selEx[m_i] m_obj = m_selEx[m_i]
SubObject = m_obj.SubObjects[0] #SubObject = m_obj.SubObjects[0]
for SubObject in m_obj.SubObjects:
if SubObject.ShapeType == "Edge": if SubObject.ShapeType == "Edge":
if msg != 0: if msg != 0:
print_msg("Found a Edge object!") print_msg("Found a Edge object!")
if len(SubObject.Vertexes) ==2:
m_Vertex1 = SubObject.Vertexes[0] m_Vertex1 = SubObject.Vertexes[0]
m_Vertex2 = SubObject.Vertexes[1] m_Vertex2 = SubObject.Vertexes[1]
else:
printError_msg(error_msg)
return
# Get the Point # Get the Point
m_p1 = m_Vertex1.Point m_p1 = m_Vertex1.Point
m_p2 = m_Vertex2.Point m_p2 = m_Vertex2.Point
@ -3278,6 +3498,165 @@ def plot_3pointsCircle():
printError_msg(error_msg) printError_msg(error_msg)
def numberCircleCut(value):
""" Respond to the change in number of cut value from the spin box.
"""
global verbose
msg=verbose
try:
# First we check if a valid number have been entered
global m_numberCircleCut
if str(value) == '-':
return
m_numberCircleCut = int(value)
if msg != 0:
print_msg("New number is :" + str(m_numberCircleCut))
except ValueError:
printError_msg("Number must be valid !")
def plot_cutCircle():
"""Create Arcs:
Cut the selected Circle in 2(n) parts and create 2(n) Arcs.
The number indicates in how many parts to cut.
Original code from Mario52, 24/02/2015
"""
global verbose
msg=verbose
m_actDoc = get_ActiveDocument(info=msg)
if m_actDoc == None:
return None
createFolders('WorkCircles')
error_msg = "Unable to cut the Circle : \nSelect at least one Circle !"
result_msg = " : is last arc created from Circle cut !"
name = "Arc_from_circle"
part = "Part::Feature"
global m_numberCircleCut
if not (m_numberCircleCut >= 2 and m_numberCircleCut <= 10) :
m_numberCircleCut = 2
if msg != 0:
print_msg("Number of cuts=" + str(m_numberCircleCut))
selection = Gui.Selection.getSelection()
if msg != 0:
print_msg("Number of selected objects=" + str(len(selection)))
for piece in selection:
if msg != 0:
print_msg("Processing object=" + str(piece))
if hasattr(piece, 'Name') and hasattr(piece, 'Placement'):
label = str(piece.Name)
circonference = 0.0
if (label[:6] == "Circle"):
if msg != 0:
print_msg("Object is Circle")
if hasattr(piece.Shape, 'Length'):
circonference = piece.Shape.Length
if circonference == 0.0 :
printError_msg("Null circonference for this object !")
continue
# Part::Part2DObject
if (label[:6] == "Circle") and hasattr(piece, 'Radius'):
radius = piece.Radius
if len(piece.Shape.Edges) ==1:
edge = piece.Shape.Edges[0]
center = edge.Curve.Center
normal = edge.Curve.Axis
else:
printError_msg("No edge for this object !")
continue
# Part::PartFeature
elif (label[:6] == "Circle") and hasattr(piece.Shape, 'Curve') and hasattr(piece.Shape.Curve, 'Radius'):
radius = piece.Shape.Curve.Radius
center = piece.Shape.Curve.Center
normal = piece.Shape.Curve.Axis
else:
printError_msg("No radius for this object !")
continue
pivot1 = 0.0
pivot0 = float(360/m_numberCircleCut)
if msg != 0:
print_msg("Circonference =" +str(circonference))
print_msg("Radius =" +str(radius))
print_msg("Center =" +str(center))
print_msg("Normal =" +str(normal))
for i in range(m_numberCircleCut):
pivot2 = pivot1 + pivot0
if msg != 0:
print_msg("Start at =" +str(pivot1))
print_msg("End at =" +str(pivot2))
Arc_User_Name, arc = plot_arc(center, normal, radius, pivot1, pivot2, part, name)
pivot1 += pivot0
print_msg(str(Arc_User_Name) + result_msg )
elif (label[:8] == "Cylinder"):
if msg != 0:
print_msg("Object is Cylinder")
pivot0 = float(piece.Angle/m_numberCircleCut)
printError_msg(error_msg_not_yet)
elif label[:3] == "Arc":
if msg != 0:
print_msg("Object is Arc")
if hasattr(piece.Shape, 'Length'):
circonference = piece.Shape.Length
if circonference == 0.0 :
printError_msg("Null circonference for this object !")
continue
# Part::Part2DObject
if (label[:3] == "Arc") and hasattr(piece, 'Radius'):
radius = piece.Radius
if len(piece.Shape.Edges) ==1:
edge = piece.Shape.Edges[0]
center = edge.Curve.Center
normal = edge.Curve.Axis
else:
printError_msg("No edge for this object !")
continue
First = float(piece.FirstAngle)
Last = float(piece.LastAngle)
# Part::PartFeature
elif (label[:3] == "Arc") and hasattr(piece.Shape, 'Curve') and hasattr(piece.Shape.Curve, 'Radius'):
radius = piece.Shape.Curve.Radius
center = piece.Shape.Curve.Center
normal = piece.Shape.Curve.Axis
First = float(piece.Shape.FirstParameter)
Last = float(piece.Shape.LastParameter)
First = math.degrees(First)
Last = math.degrees(Last)
else:
printError_msg("No radius for this object !")
continue
pivot0 = abs((First - Last) / m_numberCircleCut)
pivot1 = First
for i in range(m_numberCircleCut):
pivot2 = pivot1 + pivot0
if msg != 0:
print_msg("Start at =" +str(pivot1))
print_msg("End at =" +str(pivot2))
Arc_User_Name, arc = plot_arc(center, normal, radius, pivot1, pivot2, part, name)
pivot1 += pivot0
print_msg(str(Arc_User_Name) + result_msg )
Gui.ActiveDocument.getObject(label).Visibility=False
else:
printError_msg(error_msg)
def plot_3pointsEllipse(): def plot_3pointsEllipse():
"""Select a center and 2 Points to create an Ellipse. """Select a center and 2 Points to create an Ellipse.
""" """
@ -3373,7 +3752,8 @@ def plot_3PointsPlane():
def plot_axisPointPlane(): def plot_axisPointPlane():
""" Create a plane passing trougth a Line and a Point. """ Create a plane passing trougth a Line and a Point.
""" """
msg=0 global verbose
msg=verbose
createFolders('WorkPlanes') createFolders('WorkPlanes')
error_msg = "Unable to create Plane : \nSelect one Line and one Point only !" error_msg = "Unable to create Plane : \nSelect one Line and one Point only !"
result_msg = " : Plane created !" result_msg = " : Plane created !"
@ -3384,26 +3764,30 @@ def plot_axisPointPlane():
SelectedObjects = Selection SelectedObjects = Selection
Number_of_Points = SelectedObjects[0] Number_of_Points = SelectedObjects[0]
Number_of_Edges = SelectedObjects[1] Number_of_Edges = SelectedObjects[1]
#print_msg("Number_of_Points=" + str(Number_of_Points) + " Number_of_Edges=" + str(Number_of_Edges)) if msg !=0:
print_msg("Number_of_Points=" + str(Number_of_Points) + \
"\nNumber_of_Edges=" + str(Number_of_Edges))
points = [] points = []
if (Number_of_Points == 1) and (Number_of_Edges == 1): if (Number_of_Points == 1) and (Number_of_Edges == 1):
Points_List = SelectedObjects[3] Points_List = SelectedObjects[3]
Edge_List = SelectedObjects[4] Edge_List = SelectedObjects[4]
#print_msg(str(Points_List)) if msg !=0:
#print_msg(str(Edge_List)) print_msg(str(Points_List))
print_msg(str(Edge_List))
Point_C = Points_List[0].Point Point_C = Points_List[0].Point
points.append(Point_C) points.append(Point_C)
Point_A = Edge_List[0].valueAt(0.0) Point_A = Edge_List[0].valueAt(0.0)
points.append(Point_A) points.append(Point_A)
Point_B = Edge_List[0].valueAt(Edge_List[0].Length) Point_B = Edge_List[0].valueAt(Edge_List[0].Length)
points.append(Point_B) points.append(Point_B)
#print_point(Point_A, msg="Point_A : ") if msg !=0:
#print_point(Point_B, msg="Point_B : ") print_point(Point_A, msg="Point_A : ")
#print_point(Point_C, msg="Point_C : ") print_point(Point_B, msg="Point_B : ")
print_point(Point_C, msg="Point_C : ")
#Vector_Center = centerBBVectorsPoint(points, info=0) #Vector_Center = centerBBVectorsPoint(points, info=0)
Vector_Center = meanVectorsPoint(points,info=0) Vector_Center = meanVectorsPoint(points,info=msg)
xmax, xmin, ymax, ymin, zmax, zmin = minMaxVectorsLimits(points,info=0) xmax, xmin, ymax, ymin, zmax, zmin = minMaxVectorsLimits(points,info=msg)
#print_point(Vector_Center, msg="Center of A, B and C : ") #print_point(Vector_Center, msg="Center of A, B and C : ")
length = xmax - xmin length = xmax - xmin
@ -3689,7 +4073,7 @@ def plot_centerObjectPlanes():
""" """
msg=0 msg=0
createFolders('WorkPlanes') createFolders('WorkPlanes')
error_msg = "Unable to create Planes : \nSelect at least one objec !" error_msg = "Unable to create Planes : \nSelect at least one object !"
result_msg = " : Planes created !" result_msg = " : Planes created !"
m_actDoc = get_ActiveDocument(info=msg) m_actDoc = get_ActiveDocument(info=msg)
@ -4742,7 +5126,7 @@ def plot_cutObject():
if msg == 1: if msg == 1:
Axis_User_Name, Axis = plot_axis(BB_Edges[m_i][2][0], BB_Edges[m_i][2][1], part, "bb_edge", grp=str(m_dir)) Axis_User_Name, Axis = plot_axis(BB_Edges[m_i][2][0], BB_Edges[m_i][2][1], part, "bb_edge", grp=str(m_dir))
BB_edges_names.append(str(Axis_User_Name)) BB_edges_names.append(str(Axis_User_Name))
if colinearVectors(BB_Edges[m_i][2][0], Point_A2, BB_Edges[m_i][2][1], info=0, precision=1e-10): if colinearVectors(BB_Edges[m_i][2][0], Point_A2, BB_Edges[m_i][2][1], info=0, tolerance=1e-10):
# Plot them # Plot them
if msg == 1: if msg == 1:
Point_A2_prime_User_Name = plot_point(BB_Edges[m_i][2][0], part, "Point_A2_prime", grp=str(m_dir)) Point_A2_prime_User_Name = plot_point(BB_Edges[m_i][2][0], part, "Point_A2_prime", grp=str(m_dir))
@ -4759,7 +5143,7 @@ def plot_cutObject():
if msg == 1: if msg == 1:
Axis_User_Name, Axis = plot_axis(BB_Edges[m_i][2][0], BB_Edges[m_i][2][1], part, "bb_edge", grp=str(m_dir)) Axis_User_Name, Axis = plot_axis(BB_Edges[m_i][2][0], BB_Edges[m_i][2][1], part, "bb_edge", grp=str(m_dir))
BB_edges_names.append(str(Axis_User_Name)) BB_edges_names.append(str(Axis_User_Name))
if colinearVectors(BB_Edges[m_i][2][0], Point_B2, BB_Edges[m_i][2][1], info=0, precision=1e-10): if colinearVectors(BB_Edges[m_i][2][0], Point_B2, BB_Edges[m_i][2][1], info=0, tolerance=1e-10):
# Plot them # Plot them
if msg == 1: if msg == 1:
Point_A2_prime_User_Name = plot_point(BB_Edges[m_i][2][0], part, "Point_B2_prime", grp=str(m_dir)) Point_A2_prime_User_Name = plot_point(BB_Edges[m_i][2][0], part, "Point_B2_prime", grp=str(m_dir))
@ -4939,56 +5323,136 @@ def plot_cutObject():
cut_reset() cut_reset()
def object_parallel(): def two_objects_are(case):
"""
""" """
# Javier Martinez Garcia 2015 # Javier Martinez Garcia 2015
SelObj = Gui.Selection.getSelectionEx() # Adapted by Rentlau_64 2015
"""
global verbose
msg=verbose
global tolerance
if case == "parallel":
error_msg = "Unable to check paralelism : \nSelect 2 objects \n(either 2 Planes or 2 Edges) !"
elif case == "perpendicular":
error_msg = "Unable to check perpendicularity : \nSelect 2 objects \n(either 2 Planes or 2 Edges) !"
elif case == "coplanar":
error_msg = "Unable to check coplanarity : \nSelect 2 objects \n(either 2 Planes or 2 Edges) !"
try: try:
NormalA = SelObj[0].SubObjects[0].normalAt(0,0) SelObj = Gui.Selection.getSelectionEx()
NormalB = SelObj[1].SubObjects[0].normalAt(0,0)
if NormalA.cross(NormalB).Length == 0.0: if len(SelObj) == 1:
print_gui_msg("\nFaces are parallel\n") if SelObj[0].HasSubObjects:
if len(SelObj[0].SubObjects) == 2:
sub01 = SelObj[0].SubObjects[0]
sub02 = SelObj[0].SubObjects[1]
else: else:
print_gui_msg("\nNon parallel faces\n") printError_msg(error_msg)
else:
printError_msg(error_msg)
return
elif len(SelObj) == 2:
if SelObj[0].HasSubObjects:
sub01 = SelObj[0].SubObjects[0]
sub02 = SelObj[1].SubObjects[0]
else:
printError_msg(error_msg)
else:
printError_msg(error_msg)
return
if sub01.ShapeType != sub02.ShapeType:
printError_msg(error_msg)
return
if msg:
print_msg("Tolerance = " + str(tolerance))
m_tol_msg = "\n(for tolerance of " + str(tolerance) +")"
if sub01.ShapeType == 'Edge' :
if msg:
print_msg("Comparing two Edges")
EdgeA = sub01
EdgeB = sub02
VA = (EdgeA.Curve.EndPoint - EdgeA.Curve.StartPoint).normalize()
VB = (EdgeB.Curve.EndPoint - EdgeB.Curve.StartPoint).normalize()
#parallel
if case == "parallel":
#if (VA.cross(VB)).Length == 0.0:
if abs((VA.cross(VB)).Length) <= tolerance:
print_gui_msg("Edges are parallel" + m_tol_msg )
else:
print_gui_msg("Non parallel edges" + m_tol_msg )
#perpendicular
elif case == "perpendicular":
#if VA.dot(VB) == 0.0:
if abs(VA.dot(VB)) <= tolerance:
print_gui_msg("Edges are perpendicular" + m_tol_msg )
else:
print_gui_msg("Non perpendicular edges" + m_tol_msg )
#coplanar
elif case == "coplanar":
VC = EdgeB.Curve.StartPoint - EdgeA.Curve.StartPoint
VD = EdgeB.Curve.EndPoint - EdgeA.Curve.EndPoint
#if ((VA.cross(VB)).cross((VC.cross(VD)))).Length == 0.0:
if abs(((VA.cross(VB)).cross((VC.cross(VD)))).Length) <= tolerance:
print_gui_msg("Edges are coplanar" + m_tol_msg )
else:
print_gui_msg("Non coplanar edges" + m_tol_msg )
if sub01.ShapeType == 'Face' :
if msg:
print_msg("Comparing two Faces")
NormalA = sub01.normalAt(0,0)
NormalB = sub02.normalAt(0,0)
#parallel
if case == "parallel":
#if NormalA.cross(NormalB).Length == 0.0:
if msg:
print_msg("abs(NormalA.cross(NormalB).Length) = " + str(abs(NormalA.cross(NormalB).Length)))
if abs(NormalA.cross(NormalB).Length) <= tolerance:
print_gui_msg("Faces are parallel" + m_tol_msg )
else:
print_gui_msg("Non parallel faces" + m_tol_msg )
#perpendicular
elif case == "perpendicular":
#if NormalA.dot(NormalB) == 0.0:
if msg:
print_msg("abs(NormalA.dot(NormalB)) = " + str(abs(NormalA.dot(NormalB))))
if abs(NormalA.dot(NormalB)) <= tolerance:
print_gui_msg("Faces are perpendicular" + m_tol_msg )
else:
print_gui_msg("Non perpendicular faces" + m_tol_msg )
#coplanar
elif case == "coplanar":
NormalA = sub01.normalAt(0,0)
VAB = (sub02.CenterOfMass-sub01.CenterOfMass).normalize()
if msg:
print_msg("abs(NormalA.dot(VAB)) = " + str(abs(NormalA.dot(VAB))))
print_msg("abs(NormalB.dot(VAB)) = " + str(abs(NormalB.dot(VAB))))
#if NormalA.dot(VAB) == 0.0:
if abs(NormalA.dot(VAB)) <= tolerance and abs(NormalB.dot(VAB)) <= tolerance:
print_gui_msg("Coplanar faces" + m_tol_msg )
else:
print_gui_msg("Non coplanar faces" + m_tol_msg )
except: except:
printError_msg("\nWrong selection!\n") printError_msg(error_msg)
def object_parallel():
two_objects_are("parallel")
def object_perpendicular(): def object_perpendicular():
""" two_objects_are("perpendicular")
"""
# Javier Martinez Garcia 2015
SelObj = Gui.Selection.getSelectionEx()
try:
NormalA = SelObj[0].SubObjects[0].normalAt(0,0)
NormalB = SelObj[1].SubObjects[0].normalAt(0,0)
if NormalA.dot(NormalB) == 0.0:
print_gui_msg("\nFaces are perpendicular\n")
else:
print_gui_msg("\nNon perpendicular faces\n")
except:
printError_msg("\nWrong selection!\n")
def object_coplanar(): def object_coplanar():
""" two_objects_are("coplanar")
"""
# Javier Martinez Garcia 2015
SelObj = Gui.Selection.getSelectionEx()
try:
NormalA = SelObj[0].SubObjects[0].normalAt(0,0)
VAB = (SelObj[1].SubObjects[0].CenterOfMass-SelObj[0].SubObjects[0].CenterOfMass).normalize()
if NormalA.dot(VAB) == 0.0:
print_gui_msg("\nCoplanar faces\n")
else:
print_gui_msg("\nNon coplanar faces\n")
except:
printError_msg("\nWrong selection!\n")