diff --git a/WorkFeature/Doc/WF_documentation b/WorkFeature/Doc/WF_documentation
new file mode 100644
index 0000000..e9fa5dd
Binary files /dev/null and b/WorkFeature/Doc/WF_documentation differ
diff --git a/WorkFeature/Doc/WF_documentation.pdf b/WorkFeature/Doc/WF_documentation.pdf
deleted file mode 100644
index 5749aa2..0000000
Binary files a/WorkFeature/Doc/WF_documentation.pdf and /dev/null differ
diff --git a/WorkFeature/Icons/WF_4pointsCube.svg b/WorkFeature/Icons/WF_4pointsCube.svg
new file mode 100644
index 0000000..b3b3615
--- /dev/null
+++ b/WorkFeature/Icons/WF_4pointsCube.svg
@@ -0,0 +1,508 @@
+
+
+
+
diff --git a/WorkFeature/Icons/WF_cutCircle.svg b/WorkFeature/Icons/WF_cutCircle.svg
index ebf40fc..ccbd795 100644
--- a/WorkFeature/Icons/WF_cutCircle.svg
+++ b/WorkFeature/Icons/WF_cutCircle.svg
@@ -134,7 +134,7 @@
inkscape:pageshadow="2"
inkscape:zoom="7.6104543"
inkscape:cx="36.921981"
- inkscape:cy="36.467412"
+ inkscape:cy="22.53634"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:document-units="px"
@@ -152,7 +152,7 @@
image/svg+xml
-
+
@@ -160,6 +160,12 @@
id="layer1"
inkscape:label="Layer 1"
inkscape:groupmode="layer">
+
+
+
+
diff --git a/WorkFeature/Icons/WF_distPlanePlane.svg b/WorkFeature/Icons/WF_distPlanePlane.svg
new file mode 100644
index 0000000..d2f62db
--- /dev/null
+++ b/WorkFeature/Icons/WF_distPlanePlane.svg
@@ -0,0 +1,1123 @@
+
+
+
+
diff --git a/WorkFeature/Icons/WF_distPointPoint.svg b/WorkFeature/Icons/WF_distPointPoint.svg
new file mode 100644
index 0000000..c44a423
--- /dev/null
+++ b/WorkFeature/Icons/WF_distPointPoint.svg
@@ -0,0 +1,1219 @@
+
+
+
+
diff --git a/WorkFeature/Icons/WF_endPoint.svg b/WorkFeature/Icons/WF_endPoint.svg
new file mode 100644
index 0000000..88c8594
--- /dev/null
+++ b/WorkFeature/Icons/WF_endPoint.svg
@@ -0,0 +1,116 @@
+
+
+
+
diff --git a/WorkFeature/Icons/WF_enlargeLine.svg b/WorkFeature/Icons/WF_enlargeLine.svg
new file mode 100644
index 0000000..049b46e
--- /dev/null
+++ b/WorkFeature/Icons/WF_enlargeLine.svg
@@ -0,0 +1,920 @@
+
+
+
+
diff --git a/WorkFeature/Icons/WF_enlargePlane.svg b/WorkFeature/Icons/WF_enlargePlane.svg
new file mode 100644
index 0000000..aee63cd
--- /dev/null
+++ b/WorkFeature/Icons/WF_enlargePlane.svg
@@ -0,0 +1,985 @@
+
+
+
+
diff --git a/WorkFeature/Icons/WF_pointLinePoint.svg b/WorkFeature/Icons/WF_pointLinePoint.svg
index f4f4a59..37691e9 100755
--- a/WorkFeature/Icons/WF_pointLinePoint.svg
+++ b/WorkFeature/Icons/WF_pointLinePoint.svg
@@ -253,14 +253,14 @@
inkscape:zoom="6.1355045"
inkscape:cx="21.939268"
inkscape:cy="23.718776"
- inkscape:current-layer="layer1"
+ inkscape:current-layer="layer2"
showgrid="true"
inkscape:document-units="px"
inkscape:grid-bbox="true"
inkscape:window-width="1070"
inkscape:window-height="665"
inkscape:window-x="65"
- inkscape:window-y="336"
+ inkscape:window-y="74"
inkscape:window-maximized="0" />
@@ -278,16 +278,6 @@
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Layer0">
-
-
+
+
+
diff --git a/WorkFeature/Icons/WF_rotationAxis.svg b/WorkFeature/Icons/WF_rotationAxis.svg
new file mode 100644
index 0000000..5efcab6
--- /dev/null
+++ b/WorkFeature/Icons/WF_rotationAxis.svg
@@ -0,0 +1,241 @@
+
+
+
+
diff --git a/WorkFeature/Icons/WF_rotationPoint.svg b/WorkFeature/Icons/WF_rotationPoint.svg
new file mode 100644
index 0000000..ea189d9
--- /dev/null
+++ b/WorkFeature/Icons/WF_rotationPoint.svg
@@ -0,0 +1,409 @@
+
+
+
+
diff --git a/WorkFeature/Icons/WF_startPoint.svg b/WorkFeature/Icons/WF_startPoint.svg
new file mode 100644
index 0000000..f1cc27f
--- /dev/null
+++ b/WorkFeature/Icons/WF_startPoint.svg
@@ -0,0 +1,171 @@
+
+
+
+
diff --git a/WorkFeature/WFGui_2015.py b/WorkFeature/WFGui_2015.py
index 660557a..49ed544 100644
--- a/WorkFeature/WFGui_2015.py
+++ b/WorkFeature/WFGui_2015.py
@@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
-# Form implementation generated from reading ui file 'WFGui_2015_03_15.ui'
+# Form implementation generated from reading ui file 'WFGui_2015_03_31.ui'
#
-# Created: Sun Mar 15 19:17:19 2015
+# Created: Tue Mar 31 16:41:08 2015
# by: PySide UI code generator 4.9.1
#
# WARNING! All changes made in this file will be lost!
@@ -17,17 +17,17 @@ except AttributeError:
class Ui_Form(object):
def setupUi(self, Form):
Form.setObjectName(_fromUtf8("Form"))
- Form.resize(378, 693)
+ Form.resize(349, 693)
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_Axes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
Form.setWindowIcon(icon)
- self.gridLayout_37 = QtGui.QGridLayout(Form)
- self.gridLayout_37.setObjectName(_fromUtf8("gridLayout_37"))
+ self.gridLayout_34 = QtGui.QGridLayout(Form)
+ self.gridLayout_34.setObjectName(_fromUtf8("gridLayout_34"))
self.scrollArea = QtGui.QScrollArea(Form)
self.scrollArea.setWidgetResizable(True)
self.scrollArea.setObjectName(_fromUtf8("scrollArea"))
self.scrollAreaWidgetContents_2 = QtGui.QWidget()
- self.scrollAreaWidgetContents_2.setGeometry(QtCore.QRect(0, 0, 358, 638))
+ self.scrollAreaWidgetContents_2.setGeometry(QtCore.QRect(0, 0, 340, 622))
self.scrollAreaWidgetContents_2.setObjectName(_fromUtf8("scrollAreaWidgetContents_2"))
self.gridLayout_9 = QtGui.QGridLayout(self.scrollAreaWidgetContents_2)
self.gridLayout_9.setObjectName(_fromUtf8("gridLayout_9"))
@@ -39,6 +39,8 @@ class Ui_Form(object):
self.gridLayout_30 = QtGui.QGridLayout(self.tab_2)
self.gridLayout_30.setObjectName(_fromUtf8("gridLayout_30"))
self.tabWidget = QtGui.QTabWidget(self.tab_2)
+ self.tabWidget.setMinimumSize(QtCore.QSize(0, 0))
+ self.tabWidget.setMaximumSize(QtCore.QSize(300, 16777215))
self.tabWidget.setTabPosition(QtGui.QTabWidget.West)
self.tabWidget.setObjectName(_fromUtf8("tabWidget"))
self.Origin_Tab = QtGui.QWidget()
@@ -61,6 +63,7 @@ class Ui_Form(object):
self.gridLayout_3 = QtGui.QGridLayout(self.groupBox_5)
self.gridLayout_3.setObjectName(_fromUtf8("gridLayout_3"))
self.radioButton_verbose = QtGui.QRadioButton(self.groupBox_5)
+ self.radioButton_verbose.setChecked(True)
self.radioButton_verbose.setAutoExclusive(False)
self.radioButton_verbose.setObjectName(_fromUtf8("radioButton_verbose"))
self.gridLayout_3.addWidget(self.radioButton_verbose, 0, 0, 1, 1)
@@ -77,7 +80,10 @@ class Ui_Form(object):
self.tolerance_edit.setMaximumSize(QtCore.QSize(60, 16777215))
self.tolerance_edit.setObjectName(_fromUtf8("tolerance_edit"))
self.horizontalLayout_25.addWidget(self.tolerance_edit)
- self.gridLayout_3.addLayout(self.horizontalLayout_25, 2, 0, 1, 1)
+ self.gridLayout_3.addLayout(self.horizontalLayout_25, 3, 0, 1, 1)
+ self.radioButton_copy = QtGui.QRadioButton(self.groupBox_5)
+ self.radioButton_copy.setObjectName(_fromUtf8("radioButton_copy"))
+ self.gridLayout_3.addWidget(self.radioButton_copy, 2, 0, 1, 1)
self.gridLayout_14.addWidget(self.groupBox_5, 0, 0, 1, 1)
self.gridLayout_5.addWidget(self.frame_3, 1, 0, 1, 1)
spacerItem = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
@@ -197,49 +203,37 @@ class Ui_Form(object):
self.Point_Tab2.setObjectName(_fromUtf8("Point_Tab2"))
self.gridLayout_31 = QtGui.QGridLayout(self.Point_Tab2)
self.gridLayout_31.setObjectName(_fromUtf8("gridLayout_31"))
- self.button_click_for_point = QtGui.QRadioButton(self.Point_Tab2)
+ self.button_point_to_sketch = QtGui.QPushButton(self.Point_Tab2)
icon11 = QtGui.QIcon()
- icon11.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_clickPoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.button_click_for_point.setIcon(icon11)
+ icon11.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_2Sketch.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.button_point_to_sketch.setIcon(icon11)
+ self.button_point_to_sketch.setIconSize(QtCore.QSize(32, 32))
+ self.button_point_to_sketch.setObjectName(_fromUtf8("button_point_to_sketch"))
+ self.gridLayout_31.addWidget(self.button_point_to_sketch, 6, 0, 1, 2)
+ self.button_click_for_point = QtGui.QRadioButton(self.Point_Tab2)
+ icon12 = QtGui.QIcon()
+ icon12.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_clickPoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.button_click_for_point.setIcon(icon12)
self.button_click_for_point.setIconSize(QtCore.QSize(32, 32))
self.button_click_for_point.setCheckable(True)
self.button_click_for_point.setObjectName(_fromUtf8("button_click_for_point"))
- self.gridLayout_31.addWidget(self.button_click_for_point, 3, 0, 1, 1)
- self.button_point_line_point = QtGui.QPushButton(self.Point_Tab2)
- icon12 = QtGui.QIcon()
- icon12.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_pointLinePoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.button_point_line_point.setIcon(icon12)
- self.button_point_line_point.setIconSize(QtCore.QSize(32, 32))
- self.button_point_line_point.setObjectName(_fromUtf8("button_point_line_point"))
- self.gridLayout_31.addWidget(self.button_point_line_point, 1, 0, 1, 1)
- self.button_object_base_point = QtGui.QPushButton(self.Point_Tab2)
- icon13 = QtGui.QIcon()
- icon13.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectBasePoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.button_object_base_point.setIcon(icon13)
- self.button_object_base_point.setIconSize(QtCore.QSize(32, 32))
- self.button_object_base_point.setObjectName(_fromUtf8("button_object_base_point"))
- self.gridLayout_31.addWidget(self.button_object_base_point, 4, 0, 1, 1)
+ self.gridLayout_31.addWidget(self.button_click_for_point, 4, 0, 1, 2)
+ spacerItem2 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.gridLayout_31.addItem(spacerItem2, 7, 0, 1, 1)
self.button_twolines_point = QtGui.QPushButton(self.Point_Tab2)
- icon14 = QtGui.QIcon()
- icon14.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_lineLinePoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.button_twolines_point.setIcon(icon14)
+ icon13 = QtGui.QIcon()
+ icon13.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_lineLinePoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.button_twolines_point.setIcon(icon13)
self.button_twolines_point.setIconSize(QtCore.QSize(32, 32))
self.button_twolines_point.setObjectName(_fromUtf8("button_twolines_point"))
- self.gridLayout_31.addWidget(self.button_twolines_point, 0, 0, 1, 1)
- self.button_point_to_sketch = QtGui.QPushButton(self.Point_Tab2)
- icon15 = QtGui.QIcon()
- icon15.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_2Sketch.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.button_point_to_sketch.setIcon(icon15)
- self.button_point_to_sketch.setIconSize(QtCore.QSize(32, 32))
- self.button_point_to_sketch.setObjectName(_fromUtf8("button_point_to_sketch"))
- self.gridLayout_31.addWidget(self.button_point_to_sketch, 5, 0, 1, 1)
+ self.gridLayout_31.addWidget(self.button_twolines_point, 0, 0, 1, 2)
self.horizontalLayout_27 = QtGui.QHBoxLayout()
self.horizontalLayout_27.setObjectName(_fromUtf8("horizontalLayout_27"))
self.button_cut_wire_point = QtGui.QPushButton(self.Point_Tab2)
self.button_cut_wire_point.setMaximumSize(QtCore.QSize(16777215, 16777215))
- icon16 = QtGui.QIcon()
- icon16.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_cutWirePoints.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.button_cut_wire_point.setIcon(icon16)
+ icon14 = QtGui.QIcon()
+ icon14.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_cutWirePoints.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.button_cut_wire_point.setIcon(icon14)
self.button_cut_wire_point.setIconSize(QtCore.QSize(32, 32))
self.button_cut_wire_point.setObjectName(_fromUtf8("button_cut_wire_point"))
self.horizontalLayout_27.addWidget(self.button_cut_wire_point)
@@ -251,12 +245,55 @@ class Ui_Form(object):
self.spin_wire_cut_point.setSingleStep(1)
self.spin_wire_cut_point.setObjectName(_fromUtf8("spin_wire_cut_point"))
self.horizontalLayout_27.addWidget(self.spin_wire_cut_point)
- self.gridLayout_31.addLayout(self.horizontalLayout_27, 2, 0, 1, 1)
- spacerItem2 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
- self.gridLayout_31.addItem(spacerItem2, 6, 0, 1, 1)
+ self.gridLayout_31.addLayout(self.horizontalLayout_27, 3, 0, 1, 2)
+ self.button_object_base_point = QtGui.QPushButton(self.Point_Tab2)
+ icon15 = QtGui.QIcon()
+ icon15.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectBasePoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.button_object_base_point.setIcon(icon15)
+ self.button_object_base_point.setIconSize(QtCore.QSize(32, 32))
+ self.button_object_base_point.setObjectName(_fromUtf8("button_object_base_point"))
+ self.gridLayout_31.addWidget(self.button_object_base_point, 5, 0, 1, 2)
+ self.button_point_line_point = QtGui.QPushButton(self.Point_Tab2)
+ icon16 = QtGui.QIcon()
+ icon16.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_pointLinePoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.button_point_line_point.setIcon(icon16)
+ self.button_point_line_point.setIconSize(QtCore.QSize(32, 32))
+ self.button_point_line_point.setObjectName(_fromUtf8("button_point_line_point"))
+ self.gridLayout_31.addWidget(self.button_point_line_point, 1, 0, 1, 2)
+ self.horizontalLayout_30 = QtGui.QHBoxLayout()
+ self.horizontalLayout_30.setObjectName(_fromUtf8("horizontalLayout_30"))
+ self.button_distPoint = QtGui.QPushButton(self.Point_Tab2)
icon17 = QtGui.QIcon()
- icon17.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_point.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.tabWidget.addTab(self.Point_Tab2, icon17, _fromUtf8(""))
+ icon17.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_distPointPoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.button_distPoint.setIcon(icon17)
+ self.button_distPoint.setIconSize(QtCore.QSize(32, 32))
+ self.button_distPoint.setObjectName(_fromUtf8("button_distPoint"))
+ self.horizontalLayout_30.addWidget(self.button_distPoint)
+ self.dist_point = QtGui.QLineEdit(self.Point_Tab2)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.dist_point.sizePolicy().hasHeightForWidth())
+ self.dist_point.setSizePolicy(sizePolicy)
+ self.dist_point.setMinimumSize(QtCore.QSize(40, 0))
+ self.dist_point.setMaximumSize(QtCore.QSize(40, 16777215))
+ self.dist_point.setObjectName(_fromUtf8("dist_point"))
+ self.horizontalLayout_30.addWidget(self.dist_point)
+ self.spin_dist_point = QtGui.QSpinBox(self.Point_Tab2)
+ self.spin_dist_point.setMinimumSize(QtCore.QSize(30, 0))
+ self.spin_dist_point.setMaximumSize(QtCore.QSize(30, 16777215))
+ self.spin_dist_point.setButtonSymbols(QtGui.QAbstractSpinBox.NoButtons)
+ self.spin_dist_point.setKeyboardTracking(False)
+ self.spin_dist_point.setMinimum(1)
+ self.spin_dist_point.setMaximum(10)
+ self.spin_dist_point.setSingleStep(1)
+ self.spin_dist_point.setProperty("value", 1)
+ self.spin_dist_point.setObjectName(_fromUtf8("spin_dist_point"))
+ self.horizontalLayout_30.addWidget(self.spin_dist_point)
+ self.gridLayout_31.addLayout(self.horizontalLayout_30, 2, 0, 1, 1)
+ icon18 = QtGui.QIcon()
+ icon18.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_point.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.tabWidget.addTab(self.Point_Tab2, icon18, _fromUtf8(""))
self.Axis_Tab1 = QtGui.QWidget()
self.Axis_Tab1.setObjectName(_fromUtf8("Axis_Tab1"))
self.gridLayout_32 = QtGui.QGridLayout(self.Axis_Tab1)
@@ -270,9 +307,9 @@ class Ui_Form(object):
sizePolicy.setHeightForWidth(self.button_twopoints_axis.sizePolicy().hasHeightForWidth())
self.button_twopoints_axis.setSizePolicy(sizePolicy)
self.button_twopoints_axis.setMaximumSize(QtCore.QSize(16777215, 16777215))
- icon18 = QtGui.QIcon()
- icon18.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_2pointsLine.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.button_twopoints_axis.setIcon(icon18)
+ icon19 = QtGui.QIcon()
+ icon19.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_2pointsLine.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.button_twopoints_axis.setIcon(icon19)
self.button_twopoints_axis.setIconSize(QtCore.QSize(32, 32))
self.button_twopoints_axis.setObjectName(_fromUtf8("button_twopoints_axis"))
self.horizontalLayout_2.addWidget(self.button_twopoints_axis)
@@ -282,9 +319,9 @@ class Ui_Form(object):
self.horizontalLayout_2.addWidget(self.extension_twopoints_axis)
self.gridLayout_32.addLayout(self.horizontalLayout_2, 1, 0, 1, 1)
self.button_object_axis = QtGui.QPushButton(self.Axis_Tab1)
- icon19 = QtGui.QIcon()
- icon19.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_centerObjectsAxes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.button_object_axis.setIcon(icon19)
+ icon20 = QtGui.QIcon()
+ icon20.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_centerObjectsAxes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.button_object_axis.setIcon(icon20)
self.button_object_axis.setIconSize(QtCore.QSize(32, 32))
self.button_object_axis.setObjectName(_fromUtf8("button_object_axis"))
self.gridLayout_32.addWidget(self.button_object_axis, 0, 0, 1, 1)
@@ -294,17 +331,17 @@ class Ui_Form(object):
self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
self.button_cylinder_axis = QtGui.QPushButton(self.Axis_Tab1)
self.button_cylinder_axis.setMaximumSize(QtCore.QSize(16777215, 16777215))
- icon20 = QtGui.QIcon()
- icon20.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_cylinderAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.button_cylinder_axis.setIcon(icon20)
+ icon21 = QtGui.QIcon()
+ icon21.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_cylinderAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.button_cylinder_axis.setIcon(icon21)
self.button_cylinder_axis.setIconSize(QtCore.QSize(32, 32))
self.button_cylinder_axis.setObjectName(_fromUtf8("button_cylinder_axis"))
self.verticalLayout.addWidget(self.button_cylinder_axis)
self.button_plane_axis = QtGui.QPushButton(self.Axis_Tab1)
self.button_plane_axis.setMaximumSize(QtCore.QSize(16777215, 16777215))
- icon21 = QtGui.QIcon()
- icon21.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_FaceAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.button_plane_axis.setIcon(icon21)
+ icon22 = QtGui.QIcon()
+ icon22.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_FaceAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.button_plane_axis.setIcon(icon22)
self.button_plane_axis.setIconSize(QtCore.QSize(32, 32))
self.button_plane_axis.setObjectName(_fromUtf8("button_plane_axis"))
self.verticalLayout.addWidget(self.button_plane_axis)
@@ -315,9 +352,9 @@ class Ui_Form(object):
sizePolicy.setHeightForWidth(self.button_face_normal.sizePolicy().hasHeightForWidth())
self.button_face_normal.setSizePolicy(sizePolicy)
self.button_face_normal.setMaximumSize(QtCore.QSize(16777215, 16777215))
- icon22 = QtGui.QIcon()
- icon22.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_FaceNormal.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.button_face_normal.setIcon(icon22)
+ icon23 = QtGui.QIcon()
+ icon23.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_FaceNormal.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.button_face_normal.setIcon(icon23)
self.button_face_normal.setIconSize(QtCore.QSize(32, 32))
self.button_face_normal.setObjectName(_fromUtf8("button_face_normal"))
self.verticalLayout.addWidget(self.button_face_normal)
@@ -341,9 +378,9 @@ class Ui_Form(object):
self.horizontalLayout_20.setObjectName(_fromUtf8("horizontalLayout_20"))
self.button_point_line_axis = QtGui.QPushButton(self.Axis_Tab1)
self.button_point_line_axis.setMaximumSize(QtCore.QSize(16777215, 16777215))
- icon23 = QtGui.QIcon()
- icon23.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_pointLineAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.button_point_line_axis.setIcon(icon23)
+ icon24 = QtGui.QIcon()
+ icon24.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_pointLineAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.button_point_line_axis.setIcon(icon24)
self.button_point_line_axis.setIconSize(QtCore.QSize(32, 32))
self.button_point_line_axis.setObjectName(_fromUtf8("button_point_line_axis"))
self.horizontalLayout_20.addWidget(self.button_point_line_axis)
@@ -365,9 +402,9 @@ class Ui_Form(object):
self.button_line_point_axis.setSizePolicy(sizePolicy)
self.button_line_point_axis.setMinimumSize(QtCore.QSize(0, 0))
self.button_line_point_axis.setMaximumSize(QtCore.QSize(16777215, 16777215))
- icon24 = QtGui.QIcon()
- icon24.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_linePointAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.button_line_point_axis.setIcon(icon24)
+ icon25 = QtGui.QIcon()
+ icon25.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_linePointAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.button_line_point_axis.setIcon(icon25)
self.button_line_point_axis.setIconSize(QtCore.QSize(32, 32))
self.button_line_point_axis.setObjectName(_fromUtf8("button_line_point_axis"))
self.horizontalLayout_7.addWidget(self.button_line_point_axis)
@@ -377,54 +414,35 @@ class Ui_Form(object):
self.horizontalLayout_7.addWidget(self.extension_line_point_axis)
self.gridLayout_32.addLayout(self.horizontalLayout_7, 4, 0, 1, 1)
self.button_plane_point_line_axis = QtGui.QPushButton(self.Axis_Tab1)
- icon25 = QtGui.QIcon()
- icon25.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_planeLinePointAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.button_plane_point_line_axis.setIcon(icon25)
+ icon26 = QtGui.QIcon()
+ icon26.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_planeLinePointAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.button_plane_point_line_axis.setIcon(icon26)
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_32.addWidget(self.button_plane_point_line_axis, 6, 0, 1, 1)
self.button_twolines_axis = QtGui.QPushButton(self.Axis_Tab1)
- icon26 = QtGui.QIcon()
- icon26.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_twoLinesAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.button_twolines_axis.setIcon(icon26)
+ icon27 = QtGui.QIcon()
+ icon27.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_twoLinesAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.button_twolines_axis.setIcon(icon27)
self.button_twolines_axis.setIconSize(QtCore.QSize(32, 32))
self.button_twolines_axis.setObjectName(_fromUtf8("button_twolines_axis"))
self.gridLayout_32.addWidget(self.button_twolines_axis, 5, 0, 1, 1)
- self.button_twoplanes_axis = QtGui.QPushButton(self.Axis_Tab1)
- icon27 = QtGui.QIcon()
- icon27.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_2PlanesAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.button_twoplanes_axis.setIcon(icon27)
- self.button_twoplanes_axis.setIconSize(QtCore.QSize(32, 32))
- self.button_twoplanes_axis.setObjectName(_fromUtf8("button_twoplanes_axis"))
- self.gridLayout_32.addWidget(self.button_twoplanes_axis, 8, 0, 1, 1)
- self.button_line_plane_axis = QtGui.QPushButton(self.Axis_Tab1)
- icon28 = QtGui.QIcon()
- icon28.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_linePlaneAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.button_line_plane_axis.setIcon(icon28)
- self.button_line_plane_axis.setIconSize(QtCore.QSize(32, 32))
- self.button_line_plane_axis.setObjectName(_fromUtf8("button_line_plane_axis"))
- self.gridLayout_32.addWidget(self.button_line_plane_axis, 7, 0, 1, 1)
spacerItem3 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
- self.gridLayout_32.addItem(spacerItem3, 9, 0, 1, 1)
- icon29 = QtGui.QIcon()
- icon29.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_axis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.tabWidget.addTab(self.Axis_Tab1, icon29, _fromUtf8(""))
+ self.gridLayout_32.addItem(spacerItem3, 8, 0, 1, 1)
+ icon28 = QtGui.QIcon()
+ icon28.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_axis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.tabWidget.addTab(self.Axis_Tab1, icon28, _fromUtf8(""))
self.Axis_Tab2 = QtGui.QWidget()
self.Axis_Tab2.setObjectName(_fromUtf8("Axis_Tab2"))
- self.gridLayout_38 = QtGui.QGridLayout(self.Axis_Tab2)
- self.gridLayout_38.setObjectName(_fromUtf8("gridLayout_38"))
- self.button_line_to_sketch = QtGui.QPushButton(self.Axis_Tab2)
- self.button_line_to_sketch.setIcon(icon15)
- self.button_line_to_sketch.setIconSize(QtCore.QSize(32, 32))
- self.button_line_to_sketch.setObjectName(_fromUtf8("button_line_to_sketch"))
- self.gridLayout_38.addWidget(self.button_line_to_sketch, 4, 0, 1, 1)
+ self.gridLayout_33 = QtGui.QGridLayout(self.Axis_Tab2)
+ self.gridLayout_33.setObjectName(_fromUtf8("gridLayout_33"))
self.horizontalLayout_21 = QtGui.QHBoxLayout()
self.horizontalLayout_21.setObjectName(_fromUtf8("horizontalLayout_21"))
self.button_cut_axis = QtGui.QPushButton(self.Axis_Tab2)
self.button_cut_axis.setMaximumSize(QtCore.QSize(16777215, 16777215))
- icon30 = QtGui.QIcon()
- icon30.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_cutAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.button_cut_axis.setIcon(icon30)
+ icon29 = QtGui.QIcon()
+ icon29.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_cutAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.button_cut_axis.setIcon(icon29)
self.button_cut_axis.setIconSize(QtCore.QSize(32, 32))
self.button_cut_axis.setObjectName(_fromUtf8("button_cut_axis"))
self.horizontalLayout_21.addWidget(self.button_cut_axis)
@@ -436,21 +454,26 @@ class Ui_Form(object):
self.spin_axis_cut.setSingleStep(1)
self.spin_axis_cut.setObjectName(_fromUtf8("spin_axis_cut"))
self.horizontalLayout_21.addWidget(self.spin_axis_cut)
- self.gridLayout_38.addLayout(self.horizontalLayout_21, 1, 0, 1, 1)
- self.button_object_base_axes = QtGui.QPushButton(self.Axis_Tab2)
- icon31 = QtGui.QIcon()
- icon31.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_baseObjectsAxes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.button_object_base_axes.setIcon(icon31)
- self.button_object_base_axes.setIconSize(QtCore.QSize(32, 32))
- self.button_object_base_axes.setObjectName(_fromUtf8("button_object_base_axes"))
- self.gridLayout_38.addWidget(self.button_object_base_axes, 3, 0, 1, 1)
+ self.gridLayout_33.addLayout(self.horizontalLayout_21, 4, 0, 1, 1)
+ self.button_line_to_sketch = QtGui.QPushButton(self.Axis_Tab2)
+ self.button_line_to_sketch.setIcon(icon11)
+ self.button_line_to_sketch.setIconSize(QtCore.QSize(32, 32))
+ self.button_line_to_sketch.setObjectName(_fromUtf8("button_line_to_sketch"))
+ self.gridLayout_33.addWidget(self.button_line_to_sketch, 8, 0, 1, 1)
+ self.button_line_plane_axis = QtGui.QPushButton(self.Axis_Tab2)
+ icon30 = QtGui.QIcon()
+ icon30.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_linePlaneAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.button_line_plane_axis.setIcon(icon30)
+ self.button_line_plane_axis.setIconSize(QtCore.QSize(32, 32))
+ self.button_line_plane_axis.setObjectName(_fromUtf8("button_line_plane_axis"))
+ self.gridLayout_33.addWidget(self.button_line_plane_axis, 0, 0, 1, 1)
self.horizontalLayout_26 = QtGui.QHBoxLayout()
self.horizontalLayout_26.setObjectName(_fromUtf8("horizontalLayout_26"))
self.button_cut_wire_axis = QtGui.QPushButton(self.Axis_Tab2)
self.button_cut_wire_axis.setMaximumSize(QtCore.QSize(16777215, 16777215))
- icon32 = QtGui.QIcon()
- icon32.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_cutWireAxes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.button_cut_wire_axis.setIcon(icon32)
+ icon31 = QtGui.QIcon()
+ icon31.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_cutWireAxes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.button_cut_wire_axis.setIcon(icon31)
self.button_cut_wire_axis.setIconSize(QtCore.QSize(32, 32))
self.button_cut_wire_axis.setObjectName(_fromUtf8("button_cut_wire_axis"))
self.horizontalLayout_26.addWidget(self.button_cut_wire_axis)
@@ -462,19 +485,89 @@ class Ui_Form(object):
self.spin_wire_cut_axis.setSingleStep(1)
self.spin_wire_cut_axis.setObjectName(_fromUtf8("spin_wire_cut_axis"))
self.horizontalLayout_26.addWidget(self.spin_wire_cut_axis)
- self.gridLayout_38.addLayout(self.horizontalLayout_26, 0, 0, 1, 1)
- self.button_click_for_axis = QtGui.QRadioButton(self.Axis_Tab2)
+ self.gridLayout_33.addLayout(self.horizontalLayout_26, 3, 0, 1, 1)
+ self.horizontalLayout_29 = QtGui.QHBoxLayout()
+ self.horizontalLayout_29.setObjectName(_fromUtf8("horizontalLayout_29"))
+ self.button_distLine = QtGui.QPushButton(self.Axis_Tab2)
+ icon32 = QtGui.QIcon()
+ icon32.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_distAxisAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.button_distLine.setIcon(icon32)
+ self.button_distLine.setIconSize(QtCore.QSize(32, 32))
+ self.button_distLine.setObjectName(_fromUtf8("button_distLine"))
+ self.horizontalLayout_29.addWidget(self.button_distLine)
+ self.dist_line = QtGui.QLineEdit(self.Axis_Tab2)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.dist_line.sizePolicy().hasHeightForWidth())
+ self.dist_line.setSizePolicy(sizePolicy)
+ self.dist_line.setMinimumSize(QtCore.QSize(40, 0))
+ self.dist_line.setMaximumSize(QtCore.QSize(40, 16777215))
+ self.dist_line.setObjectName(_fromUtf8("dist_line"))
+ self.horizontalLayout_29.addWidget(self.dist_line)
+ self.spin_dist_line = QtGui.QSpinBox(self.Axis_Tab2)
+ self.spin_dist_line.setMinimumSize(QtCore.QSize(30, 0))
+ self.spin_dist_line.setMaximumSize(QtCore.QSize(30, 16777215))
+ self.spin_dist_line.setButtonSymbols(QtGui.QAbstractSpinBox.NoButtons)
+ self.spin_dist_line.setKeyboardTracking(False)
+ self.spin_dist_line.setMinimum(1)
+ self.spin_dist_line.setMaximum(10)
+ self.spin_dist_line.setSingleStep(1)
+ self.spin_dist_line.setProperty("value", 1)
+ self.spin_dist_line.setObjectName(_fromUtf8("spin_dist_line"))
+ self.horizontalLayout_29.addWidget(self.spin_dist_line)
+ self.gridLayout_33.addLayout(self.horizontalLayout_29, 2, 0, 1, 1)
+ self.button_object_base_axes = QtGui.QPushButton(self.Axis_Tab2)
icon33 = QtGui.QIcon()
- icon33.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_clickLine.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.button_click_for_axis.setIcon(icon33)
+ icon33.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_baseObjectsAxes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.button_object_base_axes.setIcon(icon33)
+ self.button_object_base_axes.setIconSize(QtCore.QSize(32, 32))
+ self.button_object_base_axes.setObjectName(_fromUtf8("button_object_base_axes"))
+ self.gridLayout_33.addWidget(self.button_object_base_axes, 7, 0, 1, 1)
+ spacerItem4 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.gridLayout_33.addItem(spacerItem4, 9, 0, 1, 1)
+ self.button_click_for_axis = QtGui.QRadioButton(self.Axis_Tab2)
+ icon34 = QtGui.QIcon()
+ icon34.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_clickLine.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.button_click_for_axis.setIcon(icon34)
self.button_click_for_axis.setIconSize(QtCore.QSize(32, 32))
self.button_click_for_axis.setObjectName(_fromUtf8("button_click_for_axis"))
- self.gridLayout_38.addWidget(self.button_click_for_axis, 2, 0, 1, 1)
- spacerItem4 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
- self.gridLayout_38.addItem(spacerItem4, 5, 0, 1, 1)
- icon34 = QtGui.QIcon()
- icon34.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_axis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.tabWidget.addTab(self.Axis_Tab2, icon34, _fromUtf8(""))
+ self.gridLayout_33.addWidget(self.button_click_for_axis, 6, 0, 1, 1)
+ self.button_twoplanes_axis = QtGui.QPushButton(self.Axis_Tab2)
+ icon35 = QtGui.QIcon()
+ icon35.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_2PlanesAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.button_twoplanes_axis.setIcon(icon35)
+ self.button_twoplanes_axis.setIconSize(QtCore.QSize(32, 32))
+ self.button_twoplanes_axis.setObjectName(_fromUtf8("button_twoplanes_axis"))
+ self.gridLayout_33.addWidget(self.button_twoplanes_axis, 1, 0, 1, 1)
+ self.horizontalLayout_22 = QtGui.QHBoxLayout()
+ self.horizontalLayout_22.setObjectName(_fromUtf8("horizontalLayout_22"))
+ self.button_extension_axis = QtGui.QPushButton(self.Axis_Tab2)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.button_extension_axis.sizePolicy().hasHeightForWidth())
+ self.button_extension_axis.setSizePolicy(sizePolicy)
+ icon36 = QtGui.QIcon()
+ icon36.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_enlargeLine.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.button_extension_axis.setIcon(icon36)
+ self.button_extension_axis.setIconSize(QtCore.QSize(32, 32))
+ self.button_extension_axis.setObjectName(_fromUtf8("button_extension_axis"))
+ self.horizontalLayout_22.addWidget(self.button_extension_axis)
+ self.extension_axis = QtGui.QLineEdit(self.Axis_Tab2)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.extension_axis.sizePolicy().hasHeightForWidth())
+ self.extension_axis.setSizePolicy(sizePolicy)
+ self.extension_axis.setMinimumSize(QtCore.QSize(40, 0))
+ self.extension_axis.setMaximumSize(QtCore.QSize(50, 16777215))
+ self.extension_axis.setObjectName(_fromUtf8("extension_axis"))
+ self.horizontalLayout_22.addWidget(self.extension_axis)
+ self.gridLayout_33.addLayout(self.horizontalLayout_22, 5, 0, 1, 1)
+ icon37 = QtGui.QIcon()
+ icon37.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_axis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.tabWidget.addTab(self.Axis_Tab2, icon37, _fromUtf8(""))
self.tab_4 = QtGui.QWidget()
self.tab_4.setObjectName(_fromUtf8("tab_4"))
self.gridLayout_22 = QtGui.QGridLayout(self.tab_4)
@@ -482,9 +575,9 @@ class Ui_Form(object):
self.horizontalLayout_24 = QtGui.QHBoxLayout()
self.horizontalLayout_24.setObjectName(_fromUtf8("horizontalLayout_24"))
self.button_cut_circle = QtGui.QPushButton(self.tab_4)
- icon35 = QtGui.QIcon()
- icon35.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_cutCircle.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.button_cut_circle.setIcon(icon35)
+ icon38 = QtGui.QIcon()
+ icon38.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_cutCircle.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.button_cut_circle.setIcon(icon38)
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)
@@ -500,9 +593,9 @@ class Ui_Form(object):
self.horizontalLayout_11 = QtGui.QHBoxLayout()
self.horizontalLayout_11.setObjectName(_fromUtf8("horizontalLayout_11"))
self.button_linecenter_circle = QtGui.QPushButton(self.tab_4)
- icon36 = QtGui.QIcon()
- icon36.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_lineCenterCircle.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.button_linecenter_circle.setIcon(icon36)
+ icon39 = QtGui.QIcon()
+ icon39.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_lineCenterCircle.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.button_linecenter_circle.setIcon(icon39)
self.button_linecenter_circle.setIconSize(QtCore.QSize(32, 32))
self.button_linecenter_circle.setObjectName(_fromUtf8("button_linecenter_circle"))
self.horizontalLayout_11.addWidget(self.button_linecenter_circle)
@@ -512,93 +605,88 @@ class Ui_Form(object):
self.radius_circle.setObjectName(_fromUtf8("radius_circle"))
self.horizontalLayout_11.addWidget(self.radius_circle)
self.gridLayout_22.addLayout(self.horizontalLayout_11, 0, 0, 1, 1)
- spacerItem5 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
- self.gridLayout_22.addItem(spacerItem5, 5, 0, 1, 1)
- self.button_3points_circle = QtGui.QPushButton(self.tab_4)
- icon37 = QtGui.QIcon()
- icon37.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_3pointsCircle.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.button_3points_circle.setIcon(icon37)
- self.button_3points_circle.setIconSize(QtCore.QSize(32, 32))
- self.button_3points_circle.setObjectName(_fromUtf8("button_3points_circle"))
- self.gridLayout_22.addWidget(self.button_3points_circle, 2, 0, 1, 1)
- self.button_3points_ellipse = QtGui.QPushButton(self.tab_4)
- icon38 = QtGui.QIcon()
- icon38.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_3pointsEllipse.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.button_3points_ellipse.setIcon(icon38)
- self.button_3points_ellipse.setIconSize(QtCore.QSize(32, 32))
- self.button_3points_ellipse.setObjectName(_fromUtf8("button_3points_ellipse"))
- self.gridLayout_22.addWidget(self.button_3points_ellipse, 4, 0, 1, 1)
self.button_linepoint_circle = QtGui.QPushButton(self.tab_4)
- icon39 = QtGui.QIcon()
- icon39.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_linePointCircle.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.button_linepoint_circle.setIcon(icon39)
+ icon40 = QtGui.QIcon()
+ icon40.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_linePointCircle.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.button_linepoint_circle.setIcon(icon40)
self.button_linepoint_circle.setIconSize(QtCore.QSize(32, 32))
self.button_linepoint_circle.setObjectName(_fromUtf8("button_linepoint_circle"))
self.gridLayout_22.addWidget(self.button_linepoint_circle, 1, 0, 1, 1)
- icon40 = QtGui.QIcon()
- icon40.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_circle.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.tabWidget.addTab(self.tab_4, icon40, _fromUtf8(""))
- self.Plane_Tab = QtGui.QWidget()
- self.Plane_Tab.setObjectName(_fromUtf8("Plane_Tab"))
- self.gridLayout_4 = QtGui.QGridLayout(self.Plane_Tab)
- self.gridLayout_4.setObjectName(_fromUtf8("gridLayout_4"))
- self.button_axis_point_plane = QtGui.QPushButton(self.Plane_Tab)
+ spacerItem5 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.gridLayout_22.addItem(spacerItem5, 5, 0, 1, 1)
+ self.button_3points_ellipse = QtGui.QPushButton(self.tab_4)
icon41 = QtGui.QIcon()
- icon41.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_linePointPlane2.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.button_axis_point_plane.setIcon(icon41)
- self.button_axis_point_plane.setIconSize(QtCore.QSize(32, 32))
- self.button_axis_point_plane.setObjectName(_fromUtf8("button_axis_point_plane"))
- self.gridLayout_4.addWidget(self.button_axis_point_plane, 2, 0, 1, 1)
- self.horizontalLayout_12 = QtGui.QHBoxLayout()
- self.horizontalLayout_12.setObjectName(_fromUtf8("horizontalLayout_12"))
- self.button_face_tangent = QtGui.QPushButton(self.Plane_Tab)
- sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Fixed)
- sizePolicy.setHorizontalStretch(0)
- sizePolicy.setVerticalStretch(0)
- sizePolicy.setHeightForWidth(self.button_face_tangent.sizePolicy().hasHeightForWidth())
- self.button_face_tangent.setSizePolicy(sizePolicy)
+ icon41.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_3pointsEllipse.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.button_3points_ellipse.setIcon(icon41)
+ self.button_3points_ellipse.setIconSize(QtCore.QSize(32, 32))
+ self.button_3points_ellipse.setObjectName(_fromUtf8("button_3points_ellipse"))
+ self.gridLayout_22.addWidget(self.button_3points_ellipse, 4, 0, 1, 1)
+ self.button_3points_circle = QtGui.QPushButton(self.tab_4)
icon42 = QtGui.QIcon()
- icon42.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_FaceTangent.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.button_face_tangent.setIcon(icon42)
- self.button_face_tangent.setIconSize(QtCore.QSize(32, 32))
- self.button_face_tangent.setObjectName(_fromUtf8("button_face_tangent"))
- self.horizontalLayout_12.addWidget(self.button_face_tangent)
- self.length_plane_2 = QtGui.QLineEdit(self.Plane_Tab)
+ icon42.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_3pointsCircle.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.button_3points_circle.setIcon(icon42)
+ self.button_3points_circle.setIconSize(QtCore.QSize(32, 32))
+ self.button_3points_circle.setObjectName(_fromUtf8("button_3points_circle"))
+ self.gridLayout_22.addWidget(self.button_3points_circle, 2, 0, 1, 1)
+ icon43 = QtGui.QIcon()
+ icon43.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_circle.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.tabWidget.addTab(self.tab_4, icon43, _fromUtf8(""))
+ self.Plane_Tab1 = QtGui.QWidget()
+ self.Plane_Tab1.setObjectName(_fromUtf8("Plane_Tab1"))
+ self.gridLayout_4 = QtGui.QGridLayout(self.Plane_Tab1)
+ self.gridLayout_4.setObjectName(_fromUtf8("gridLayout_4"))
+ spacerItem6 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.gridLayout_4.addItem(spacerItem6, 9, 0, 1, 1)
+ self.horizontalLayout_3 = QtGui.QHBoxLayout()
+ self.horizontalLayout_3.setObjectName(_fromUtf8("horizontalLayout_3"))
+ self.button_click_for_plane = QtGui.QPushButton(self.Plane_Tab1)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
- sizePolicy.setHeightForWidth(self.length_plane_2.sizePolicy().hasHeightForWidth())
- self.length_plane_2.setSizePolicy(sizePolicy)
- self.length_plane_2.setMinimumSize(QtCore.QSize(40, 0))
- self.length_plane_2.setMaximumSize(QtCore.QSize(60, 16777215))
- self.length_plane_2.setObjectName(_fromUtf8("length_plane_2"))
- self.horizontalLayout_12.addWidget(self.length_plane_2)
- self.width_plane_2 = QtGui.QLineEdit(self.Plane_Tab)
+ sizePolicy.setHeightForWidth(self.button_click_for_plane.sizePolicy().hasHeightForWidth())
+ self.button_click_for_plane.setSizePolicy(sizePolicy)
+ icon44 = QtGui.QIcon()
+ icon44.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_clickPlane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.button_click_for_plane.setIcon(icon44)
+ self.button_click_for_plane.setIconSize(QtCore.QSize(32, 32))
+ self.button_click_for_plane.setObjectName(_fromUtf8("button_click_for_plane"))
+ self.horizontalLayout_3.addWidget(self.button_click_for_plane)
+ self.length_plane = QtGui.QLineEdit(self.Plane_Tab1)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
- sizePolicy.setHeightForWidth(self.width_plane_2.sizePolicy().hasHeightForWidth())
- self.width_plane_2.setSizePolicy(sizePolicy)
- self.width_plane_2.setMinimumSize(QtCore.QSize(40, 0))
- self.width_plane_2.setMaximumSize(QtCore.QSize(60, 16777215))
- self.width_plane_2.setObjectName(_fromUtf8("width_plane_2"))
- self.horizontalLayout_12.addWidget(self.width_plane_2)
- self.gridLayout_4.addLayout(self.horizontalLayout_12, 5, 0, 1, 1)
+ sizePolicy.setHeightForWidth(self.length_plane.sizePolicy().hasHeightForWidth())
+ self.length_plane.setSizePolicy(sizePolicy)
+ self.length_plane.setMinimumSize(QtCore.QSize(40, 0))
+ self.length_plane.setMaximumSize(QtCore.QSize(50, 16777215))
+ self.length_plane.setObjectName(_fromUtf8("length_plane"))
+ self.horizontalLayout_3.addWidget(self.length_plane)
+ self.width_plane = QtGui.QLineEdit(self.Plane_Tab1)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.width_plane.sizePolicy().hasHeightForWidth())
+ self.width_plane.setSizePolicy(sizePolicy)
+ self.width_plane.setMinimumSize(QtCore.QSize(40, 0))
+ self.width_plane.setMaximumSize(QtCore.QSize(50, 16777215))
+ self.width_plane.setObjectName(_fromUtf8("width_plane"))
+ self.horizontalLayout_3.addWidget(self.width_plane)
+ self.gridLayout_4.addLayout(self.horizontalLayout_3, 8, 0, 1, 1)
self.gridLayout_8 = QtGui.QGridLayout()
self.gridLayout_8.setObjectName(_fromUtf8("gridLayout_8"))
- self.button_planeandaxis_plane = QtGui.QPushButton(self.Plane_Tab)
+ self.button_planeandaxis_plane = QtGui.QPushButton(self.Plane_Tab1)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.button_planeandaxis_plane.sizePolicy().hasHeightForWidth())
self.button_planeandaxis_plane.setSizePolicy(sizePolicy)
- icon43 = QtGui.QIcon()
- icon43.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_planeLinePlane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.button_planeandaxis_plane.setIcon(icon43)
+ icon45 = QtGui.QIcon()
+ icon45.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_planeLinePlane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.button_planeandaxis_plane.setIcon(icon45)
self.button_planeandaxis_plane.setIconSize(QtCore.QSize(32, 32))
self.button_planeandaxis_plane.setObjectName(_fromUtf8("button_planeandaxis_plane"))
self.gridLayout_8.addWidget(self.button_planeandaxis_plane, 0, 0, 1, 1)
- self.angle_planeandaxis_plane = QtGui.QLineEdit(self.Plane_Tab)
+ self.angle_planeandaxis_plane = QtGui.QLineEdit(self.Plane_Tab1)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
@@ -609,94 +697,172 @@ class Ui_Form(object):
self.angle_planeandaxis_plane.setObjectName(_fromUtf8("angle_planeandaxis_plane"))
self.gridLayout_8.addWidget(self.angle_planeandaxis_plane, 0, 1, 1, 1)
self.gridLayout_4.addLayout(self.gridLayout_8, 4, 0, 1, 1)
+ self.button_axisandpoint_plane = QtGui.QPushButton(self.Plane_Tab1)
+ icon46 = QtGui.QIcon()
+ icon46.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_linePointPlane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.button_axisandpoint_plane.setIcon(icon46)
+ self.button_axisandpoint_plane.setIconSize(QtCore.QSize(32, 32))
+ self.button_axisandpoint_plane.setObjectName(_fromUtf8("button_axisandpoint_plane"))
+ self.gridLayout_4.addWidget(self.button_axisandpoint_plane, 1, 0, 1, 1)
+ self.button_axis_point_plane = QtGui.QPushButton(self.Plane_Tab1)
+ icon47 = QtGui.QIcon()
+ icon47.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_linePointPlane2.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.button_axis_point_plane.setIcon(icon47)
+ self.button_axis_point_plane.setIconSize(QtCore.QSize(32, 32))
+ self.button_axis_point_plane.setObjectName(_fromUtf8("button_axis_point_plane"))
+ self.gridLayout_4.addWidget(self.button_axis_point_plane, 2, 0, 1, 1)
+ self.horizontalLayout_12 = QtGui.QHBoxLayout()
+ self.horizontalLayout_12.setObjectName(_fromUtf8("horizontalLayout_12"))
+ self.button_face_tangent = QtGui.QPushButton(self.Plane_Tab1)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.button_face_tangent.sizePolicy().hasHeightForWidth())
+ self.button_face_tangent.setSizePolicy(sizePolicy)
+ icon48 = QtGui.QIcon()
+ icon48.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_FaceTangent.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.button_face_tangent.setIcon(icon48)
+ self.button_face_tangent.setIconSize(QtCore.QSize(32, 32))
+ self.button_face_tangent.setObjectName(_fromUtf8("button_face_tangent"))
+ self.horizontalLayout_12.addWidget(self.button_face_tangent)
+ self.length_plane_2 = QtGui.QLineEdit(self.Plane_Tab1)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.length_plane_2.sizePolicy().hasHeightForWidth())
+ self.length_plane_2.setSizePolicy(sizePolicy)
+ self.length_plane_2.setMinimumSize(QtCore.QSize(40, 0))
+ self.length_plane_2.setMaximumSize(QtCore.QSize(50, 16777215))
+ self.length_plane_2.setObjectName(_fromUtf8("length_plane_2"))
+ self.horizontalLayout_12.addWidget(self.length_plane_2)
+ self.width_plane_2 = QtGui.QLineEdit(self.Plane_Tab1)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.width_plane_2.sizePolicy().hasHeightForWidth())
+ self.width_plane_2.setSizePolicy(sizePolicy)
+ self.width_plane_2.setMinimumSize(QtCore.QSize(40, 0))
+ self.width_plane_2.setMaximumSize(QtCore.QSize(50, 16777215))
+ self.width_plane_2.setObjectName(_fromUtf8("width_plane_2"))
+ self.horizontalLayout_12.addWidget(self.width_plane_2)
+ self.gridLayout_4.addLayout(self.horizontalLayout_12, 6, 0, 1, 1)
+ self.button_threepoints_plane = QtGui.QPushButton(self.Plane_Tab1)
+ icon49 = QtGui.QIcon()
+ icon49.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_threePointsPlane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.button_threepoints_plane.setIcon(icon49)
+ self.button_threepoints_plane.setIconSize(QtCore.QSize(32, 32))
+ self.button_threepoints_plane.setObjectName(_fromUtf8("button_threepoints_plane"))
+ self.gridLayout_4.addWidget(self.button_threepoints_plane, 0, 0, 1, 1)
+ self.horizontalLayout_28 = QtGui.QHBoxLayout()
+ self.horizontalLayout_28.setObjectName(_fromUtf8("horizontalLayout_28"))
+ self.button_distPlane = QtGui.QPushButton(self.Plane_Tab1)
+ icon50 = QtGui.QIcon()
+ icon50.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_distPlanePlane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.button_distPlane.setIcon(icon50)
+ self.button_distPlane.setIconSize(QtCore.QSize(32, 32))
+ self.button_distPlane.setObjectName(_fromUtf8("button_distPlane"))
+ self.horizontalLayout_28.addWidget(self.button_distPlane)
+ self.dist_plane = QtGui.QLineEdit(self.Plane_Tab1)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.dist_plane.sizePolicy().hasHeightForWidth())
+ self.dist_plane.setSizePolicy(sizePolicy)
+ self.dist_plane.setMinimumSize(QtCore.QSize(40, 0))
+ self.dist_plane.setMaximumSize(QtCore.QSize(40, 16777215))
+ self.dist_plane.setObjectName(_fromUtf8("dist_plane"))
+ self.horizontalLayout_28.addWidget(self.dist_plane)
+ self.spin_dist_plane = QtGui.QSpinBox(self.Plane_Tab1)
+ self.spin_dist_plane.setMinimumSize(QtCore.QSize(30, 0))
+ self.spin_dist_plane.setMaximumSize(QtCore.QSize(30, 16777215))
+ self.spin_dist_plane.setButtonSymbols(QtGui.QAbstractSpinBox.NoButtons)
+ self.spin_dist_plane.setKeyboardTracking(False)
+ self.spin_dist_plane.setMinimum(1)
+ self.spin_dist_plane.setMaximum(10)
+ self.spin_dist_plane.setSingleStep(1)
+ self.spin_dist_plane.setProperty("value", 1)
+ self.spin_dist_plane.setObjectName(_fromUtf8("spin_dist_plane"))
+ self.horizontalLayout_28.addWidget(self.spin_dist_plane)
+ self.gridLayout_4.addLayout(self.horizontalLayout_28, 5, 0, 1, 1)
self.gridLayout_16 = QtGui.QGridLayout()
self.gridLayout_16.setObjectName(_fromUtf8("gridLayout_16"))
- self.button_planeandpoint_plane = QtGui.QPushButton(self.Plane_Tab)
- icon44 = QtGui.QIcon()
- icon44.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_pointPlanePoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.button_planeandpoint_plane.setIcon(icon44)
+ self.button_planeandpoint_plane = QtGui.QPushButton(self.Plane_Tab1)
+ icon51 = QtGui.QIcon()
+ icon51.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_pointPlanePlane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.button_planeandpoint_plane.setIcon(icon51)
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 = QtGui.QLineEdit(self.Plane_Tab1)
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_4.addLayout(self.gridLayout_16, 3, 0, 1, 1)
- self.button_threepoints_plane = QtGui.QPushButton(self.Plane_Tab)
- icon45 = QtGui.QIcon()
- icon45.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_threePointsPlane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.button_threepoints_plane.setIcon(icon45)
- self.button_threepoints_plane.setIconSize(QtCore.QSize(32, 32))
- self.button_threepoints_plane.setObjectName(_fromUtf8("button_threepoints_plane"))
- self.gridLayout_4.addWidget(self.button_threepoints_plane, 0, 0, 1, 1)
- self.button_object_center_planes = QtGui.QPushButton(self.Plane_Tab)
- icon46 = QtGui.QIcon()
- icon46.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_centerObjectsPlanes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.button_object_center_planes.setIcon(icon46)
+ icon52 = QtGui.QIcon()
+ icon52.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_plane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.tabWidget.addTab(self.Plane_Tab1, icon52, _fromUtf8(""))
+ self.Plane_Tab11 = QtGui.QWidget()
+ self.Plane_Tab11.setObjectName(_fromUtf8("Plane_Tab11"))
+ self.gridLayout_37 = QtGui.QGridLayout(self.Plane_Tab11)
+ self.gridLayout_37.setObjectName(_fromUtf8("gridLayout_37"))
+ spacerItem7 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.gridLayout_37.addItem(spacerItem7, 2, 0, 1, 1)
+ self.button_object_center_planes = QtGui.QPushButton(self.Plane_Tab11)
+ icon53 = QtGui.QIcon()
+ icon53.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_centerObjectsPlanes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.button_object_center_planes.setIcon(icon53)
self.button_object_center_planes.setIconSize(QtCore.QSize(32, 32))
self.button_object_center_planes.setObjectName(_fromUtf8("button_object_center_planes"))
- self.gridLayout_4.addWidget(self.button_object_center_planes, 8, 0, 1, 1)
- self.horizontalLayout_3 = QtGui.QHBoxLayout()
- self.horizontalLayout_3.setObjectName(_fromUtf8("horizontalLayout_3"))
- self.button_click_for_plane = QtGui.QPushButton(self.Plane_Tab)
+ self.gridLayout_37.addWidget(self.button_object_center_planes, 1, 0, 1, 1)
+ self.horizontalLayout_17 = QtGui.QHBoxLayout()
+ self.horizontalLayout_17.setObjectName(_fromUtf8("horizontalLayout_17"))
+ self.button_extension_plane = QtGui.QPushButton(self.Plane_Tab11)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.button_extension_plane.sizePolicy().hasHeightForWidth())
+ self.button_extension_plane.setSizePolicy(sizePolicy)
+ icon54 = QtGui.QIcon()
+ icon54.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_enlargePlane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.button_extension_plane.setIcon(icon54)
+ self.button_extension_plane.setIconSize(QtCore.QSize(32, 32))
+ self.button_extension_plane.setObjectName(_fromUtf8("button_extension_plane"))
+ self.horizontalLayout_17.addWidget(self.button_extension_plane)
+ self.extension_plane = QtGui.QLineEdit(self.Plane_Tab11)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
- sizePolicy.setHeightForWidth(self.button_click_for_plane.sizePolicy().hasHeightForWidth())
- self.button_click_for_plane.setSizePolicy(sizePolicy)
- icon47 = QtGui.QIcon()
- icon47.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_clickPlane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.button_click_for_plane.setIcon(icon47)
- self.button_click_for_plane.setIconSize(QtCore.QSize(32, 32))
- self.button_click_for_plane.setObjectName(_fromUtf8("button_click_for_plane"))
- self.horizontalLayout_3.addWidget(self.button_click_for_plane)
- self.length_plane = QtGui.QLineEdit(self.Plane_Tab)
- sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Fixed)
- sizePolicy.setHorizontalStretch(0)
- sizePolicy.setVerticalStretch(0)
- sizePolicy.setHeightForWidth(self.length_plane.sizePolicy().hasHeightForWidth())
- self.length_plane.setSizePolicy(sizePolicy)
- self.length_plane.setMinimumSize(QtCore.QSize(40, 0))
- self.length_plane.setMaximumSize(QtCore.QSize(60, 16777215))
- self.length_plane.setObjectName(_fromUtf8("length_plane"))
- self.horizontalLayout_3.addWidget(self.length_plane)
- self.width_plane = QtGui.QLineEdit(self.Plane_Tab)
- sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Fixed)
- sizePolicy.setHorizontalStretch(0)
- sizePolicy.setVerticalStretch(0)
- sizePolicy.setHeightForWidth(self.width_plane.sizePolicy().hasHeightForWidth())
- self.width_plane.setSizePolicy(sizePolicy)
- self.width_plane.setMinimumSize(QtCore.QSize(40, 0))
- self.width_plane.setMaximumSize(QtCore.QSize(60, 16777215))
- self.width_plane.setObjectName(_fromUtf8("width_plane"))
- self.horizontalLayout_3.addWidget(self.width_plane)
- self.gridLayout_4.addLayout(self.horizontalLayout_3, 7, 0, 1, 1)
- self.button_axisandpoint_plane = QtGui.QPushButton(self.Plane_Tab)
- icon48 = QtGui.QIcon()
- icon48.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_linePointPlane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.button_axisandpoint_plane.setIcon(icon48)
- self.button_axisandpoint_plane.setIconSize(QtCore.QSize(32, 32))
- self.button_axisandpoint_plane.setObjectName(_fromUtf8("button_axisandpoint_plane"))
- self.gridLayout_4.addWidget(self.button_axisandpoint_plane, 1, 0, 1, 1)
- spacerItem6 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
- self.gridLayout_4.addItem(spacerItem6, 9, 0, 1, 1)
- icon49 = QtGui.QIcon()
- icon49.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_plane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.tabWidget.addTab(self.Plane_Tab, icon49, _fromUtf8(""))
+ sizePolicy.setHeightForWidth(self.extension_plane.sizePolicy().hasHeightForWidth())
+ self.extension_plane.setSizePolicy(sizePolicy)
+ self.extension_plane.setMinimumSize(QtCore.QSize(40, 0))
+ self.extension_plane.setMaximumSize(QtCore.QSize(50, 16777215))
+ self.extension_plane.setObjectName(_fromUtf8("extension_plane"))
+ self.horizontalLayout_17.addWidget(self.extension_plane)
+ self.gridLayout_37.addLayout(self.horizontalLayout_17, 0, 0, 1, 1)
+ icon55 = QtGui.QIcon()
+ icon55.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_plane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.tabWidget.addTab(self.Plane_Tab11, icon55, _fromUtf8(""))
self.Objects_Tab2 = QtGui.QWidget()
self.Objects_Tab2.setEnabled(True)
self.Objects_Tab2.setMinimumSize(QtCore.QSize(0, 0))
self.Objects_Tab2.setObjectName(_fromUtf8("Objects_Tab2"))
self.gridLayout_12 = QtGui.QGridLayout(self.Objects_Tab2)
self.gridLayout_12.setObjectName(_fromUtf8("gridLayout_12"))
+ self.line = QtGui.QFrame(self.Objects_Tab2)
+ self.line.setFrameShadow(QtGui.QFrame.Plain)
+ self.line.setLineWidth(4)
+ self.line.setMidLineWidth(0)
+ self.line.setFrameShape(QtGui.QFrame.HLine)
+ self.line.setFrameShadow(QtGui.QFrame.Sunken)
+ self.line.setObjectName(_fromUtf8("line"))
+ self.gridLayout_12.addWidget(self.line, 2, 0, 1, 1)
self.gridLayout_6 = QtGui.QGridLayout()
self.gridLayout_6.setObjectName(_fromUtf8("gridLayout_6"))
self.button_cylinder_create = QtGui.QPushButton(self.Objects_Tab2)
- icon50 = QtGui.QIcon()
- icon50.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_cylinder.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.button_cylinder_create.setIcon(icon50)
+ icon56 = QtGui.QIcon()
+ icon56.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_cylinder.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.button_cylinder_create.setIcon(icon56)
self.button_cylinder_create.setIconSize(QtCore.QSize(32, 32))
self.button_cylinder_create.setObjectName(_fromUtf8("button_cylinder_create"))
self.gridLayout_6.addWidget(self.button_cylinder_create, 0, 0, 1, 1)
@@ -724,9 +890,9 @@ class Ui_Form(object):
self.horizontalLayout_4 = QtGui.QHBoxLayout()
self.horizontalLayout_4.setObjectName(_fromUtf8("horizontalLayout_4"))
self.button_cube_create = QtGui.QPushButton(self.Objects_Tab2)
- icon51 = QtGui.QIcon()
- icon51.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_cube.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.button_cube_create.setIcon(icon51)
+ icon57 = QtGui.QIcon()
+ icon57.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_cube.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.button_cube_create.setIcon(icon57)
self.button_cube_create.setIconSize(QtCore.QSize(32, 32))
self.button_cube_create.setObjectName(_fromUtf8("button_cube_create"))
self.horizontalLayout_4.addWidget(self.button_cube_create)
@@ -752,32 +918,26 @@ class Ui_Form(object):
self.horizontalLayout_4.addWidget(self.height_cube)
self.gridLayout_12.addLayout(self.horizontalLayout_4, 4, 0, 1, 1)
self.button_boundingboxes = QtGui.QPushButton(self.Objects_Tab2)
- icon52 = QtGui.QIcon()
- icon52.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_boundingBoxes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.button_boundingboxes.setIcon(icon52)
+ self.button_boundingboxes.setMaximumSize(QtCore.QSize(16777215, 16777215))
+ icon58 = QtGui.QIcon()
+ icon58.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_boundingBoxes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.button_boundingboxes.setIcon(icon58)
self.button_boundingboxes.setIconSize(QtCore.QSize(32, 32))
self.button_boundingboxes.setObjectName(_fromUtf8("button_boundingboxes"))
self.gridLayout_12.addWidget(self.button_boundingboxes, 0, 0, 1, 1)
- spacerItem7 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
- self.gridLayout_12.addItem(spacerItem7, 5, 0, 1, 1)
+ spacerItem8 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.gridLayout_12.addItem(spacerItem8, 5, 0, 1, 1)
self.button_boundingbox = QtGui.QPushButton(self.Objects_Tab2)
- icon53 = QtGui.QIcon()
- icon53.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_boundingBox.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.button_boundingbox.setIcon(icon53)
+ self.button_boundingbox.setMaximumSize(QtCore.QSize(16777215, 16777215))
+ icon59 = QtGui.QIcon()
+ icon59.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_boundingBox.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.button_boundingbox.setIcon(icon59)
self.button_boundingbox.setIconSize(QtCore.QSize(32, 32))
self.button_boundingbox.setObjectName(_fromUtf8("button_boundingbox"))
self.gridLayout_12.addWidget(self.button_boundingbox, 1, 0, 1, 1)
- self.line = QtGui.QFrame(self.Objects_Tab2)
- self.line.setFrameShadow(QtGui.QFrame.Plain)
- self.line.setLineWidth(4)
- self.line.setMidLineWidth(0)
- self.line.setFrameShape(QtGui.QFrame.HLine)
- self.line.setFrameShadow(QtGui.QFrame.Sunken)
- self.line.setObjectName(_fromUtf8("line"))
- self.gridLayout_12.addWidget(self.line, 2, 0, 1, 1)
- icon54 = QtGui.QIcon()
- icon54.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_box.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.tabWidget.addTab(self.Objects_Tab2, icon54, _fromUtf8(""))
+ icon60 = QtGui.QIcon()
+ icon60.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_box.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.tabWidget.addTab(self.Objects_Tab2, icon60, _fromUtf8(""))
self.View_Tab = QtGui.QWidget()
self.View_Tab.setObjectName(_fromUtf8("View_Tab"))
self.gridLayout_13 = QtGui.QGridLayout(self.View_Tab)
@@ -788,17 +948,18 @@ class Ui_Form(object):
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.button_alignview.sizePolicy().hasHeightForWidth())
self.button_alignview.setSizePolicy(sizePolicy)
- icon55 = QtGui.QIcon()
- icon55.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_viewAlign.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.button_alignview.setIcon(icon55)
+ self.button_alignview.setMaximumSize(QtCore.QSize(16777215, 16777215))
+ icon61 = QtGui.QIcon()
+ icon61.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_viewAlign.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.button_alignview.setIcon(icon61)
self.button_alignview.setIconSize(QtCore.QSize(32, 32))
self.button_alignview.setObjectName(_fromUtf8("button_alignview"))
self.gridLayout_13.addWidget(self.button_alignview, 0, 0, 1, 1)
- spacerItem8 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
- self.gridLayout_13.addItem(spacerItem8, 1, 0, 1, 1)
- icon56 = QtGui.QIcon()
- icon56.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_view.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.tabWidget.addTab(self.View_Tab, icon56, _fromUtf8(""))
+ spacerItem9 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.gridLayout_13.addItem(spacerItem9, 1, 0, 1, 1)
+ icon62 = QtGui.QIcon()
+ icon62.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_view.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.tabWidget.addTab(self.View_Tab, icon62, _fromUtf8(""))
self.Modif_Tab = QtGui.QWidget()
self.Modif_Tab.setObjectName(_fromUtf8("Modif_Tab"))
self.gridLayout_11 = QtGui.QGridLayout(self.Modif_Tab)
@@ -807,8 +968,11 @@ class Ui_Form(object):
self.tabWidget_2.setObjectName(_fromUtf8("tabWidget_2"))
self.cutting_tab = QtGui.QWidget()
self.cutting_tab.setObjectName(_fromUtf8("cutting_tab"))
+ self.gridLayout_38 = QtGui.QGridLayout(self.cutting_tab)
+ self.gridLayout_38.setObjectName(_fromUtf8("gridLayout_38"))
self.frame_7 = QtGui.QFrame(self.cutting_tab)
- self.frame_7.setGeometry(QtCore.QRect(9, 9, 190, 369))
+ self.frame_7.setMinimumSize(QtCore.QSize(0, 0))
+ self.frame_7.setMaximumSize(QtCore.QSize(220, 16777215))
self.frame_7.setFrameShape(QtGui.QFrame.StyledPanel)
self.frame_7.setFrameShadow(QtGui.QFrame.Raised)
self.frame_7.setObjectName(_fromUtf8("frame_7"))
@@ -910,8 +1074,8 @@ class Ui_Form(object):
self.button_cut_reset.setMaximumSize(QtCore.QSize(60, 16777215))
self.button_cut_reset.setObjectName(_fromUtf8("button_cut_reset"))
self.horizontalLayout_8.addWidget(self.button_cut_reset)
- spacerItem9 = QtGui.QSpacerItem(18, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
- self.horizontalLayout_8.addItem(spacerItem9)
+ spacerItem10 = QtGui.QSpacerItem(18, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
+ self.horizontalLayout_8.addItem(spacerItem10)
self.button_cut_apply = QtGui.QPushButton(self.groupBox_6)
self.button_cut_apply.setEnabled(False)
self.button_cut_apply.setMaximumSize(QtCore.QSize(50, 16777215))
@@ -920,8 +1084,319 @@ class Ui_Form(object):
self.horizontalLayout_8.addWidget(self.button_cut_apply)
self.gridLayout_17.addLayout(self.horizontalLayout_8, 2, 0, 1, 1)
self.gridLayout_2.addLayout(self.gridLayout_17, 1, 0, 1, 1)
+ spacerItem11 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.gridLayout_2.addItem(spacerItem11, 2, 0, 1, 1)
self.gridLayout_36.addWidget(self.groupBox_6, 0, 0, 1, 1)
+ self.gridLayout_38.addWidget(self.frame_7, 0, 0, 1, 1)
self.tabWidget_2.addTab(self.cutting_tab, _fromUtf8(""))
+ self.rotation_tab = QtGui.QWidget()
+ self.rotation_tab.setObjectName(_fromUtf8("rotation_tab"))
+ self.gridLayout_29 = QtGui.QGridLayout(self.rotation_tab)
+ self.gridLayout_29.setObjectName(_fromUtf8("gridLayout_29"))
+ self.frame = QtGui.QFrame(self.rotation_tab)
+ self.frame.setMaximumSize(QtCore.QSize(220, 16777215))
+ self.frame.setFrameShape(QtGui.QFrame.StyledPanel)
+ self.frame.setFrameShadow(QtGui.QFrame.Raised)
+ self.frame.setObjectName(_fromUtf8("frame"))
+ self.gridLayout_25 = QtGui.QGridLayout(self.frame)
+ self.gridLayout_25.setObjectName(_fromUtf8("gridLayout_25"))
+ self.ObjRot_button_select = QtGui.QPushButton(self.frame)
+ self.ObjRot_button_select.setObjectName(_fromUtf8("ObjRot_button_select"))
+ self.gridLayout_25.addWidget(self.ObjRot_button_select, 0, 0, 1, 1)
+ self.groupBox_2 = QtGui.QGroupBox(self.frame)
+ self.groupBox_2.setMinimumSize(QtCore.QSize(150, 67))
+ self.groupBox_2.setMaximumSize(QtCore.QSize(16777215, 16777215))
+ self.groupBox_2.setFlat(False)
+ self.groupBox_2.setObjectName(_fromUtf8("groupBox_2"))
+ self.gridLayout_24 = QtGui.QGridLayout(self.groupBox_2)
+ self.gridLayout_24.setObjectName(_fromUtf8("gridLayout_24"))
+ self.ObjRot_horizontalSlider = QtGui.QSlider(self.groupBox_2)
+ self.ObjRot_horizontalSlider.setMinimumSize(QtCore.QSize(0, 39))
+ self.ObjRot_horizontalSlider.setMaximumSize(QtCore.QSize(120, 16777215))
+ self.ObjRot_horizontalSlider.setMinimum(-180)
+ self.ObjRot_horizontalSlider.setMaximum(180)
+ self.ObjRot_horizontalSlider.setOrientation(QtCore.Qt.Horizontal)
+ self.ObjRot_horizontalSlider.setTickPosition(QtGui.QSlider.TicksBothSides)
+ self.ObjRot_horizontalSlider.setTickInterval(20)
+ self.ObjRot_horizontalSlider.setObjectName(_fromUtf8("ObjRot_horizontalSlider"))
+ self.gridLayout_24.addWidget(self.ObjRot_horizontalSlider, 0, 0, 1, 1)
+ self.horizontalLayout_13 = QtGui.QHBoxLayout()
+ self.horizontalLayout_13.setObjectName(_fromUtf8("horizontalLayout_13"))
+ self.ObjRot_lineEdit_angle = QtGui.QLineEdit(self.groupBox_2)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.ObjRot_lineEdit_angle.sizePolicy().hasHeightForWidth())
+ self.ObjRot_lineEdit_angle.setSizePolicy(sizePolicy)
+ self.ObjRot_lineEdit_angle.setMinimumSize(QtCore.QSize(40, 0))
+ self.ObjRot_lineEdit_angle.setMaximumSize(QtCore.QSize(60, 16777215))
+ self.ObjRot_lineEdit_angle.setMaxLength(32769)
+ self.ObjRot_lineEdit_angle.setObjectName(_fromUtf8("ObjRot_lineEdit_angle"))
+ self.horizontalLayout_13.addWidget(self.ObjRot_lineEdit_angle)
+ self.label_angle_2 = QtGui.QLabel(self.groupBox_2)
+ self.label_angle_2.setMaximumSize(QtCore.QSize(60, 16777215))
+ self.label_angle_2.setObjectName(_fromUtf8("label_angle_2"))
+ self.horizontalLayout_13.addWidget(self.label_angle_2)
+ self.gridLayout_24.addLayout(self.horizontalLayout_13, 1, 0, 1, 1)
+ self.gridLayout_25.addWidget(self.groupBox_2, 2, 0, 1, 1)
+ self.horizontalLayout_14 = QtGui.QHBoxLayout()
+ self.horizontalLayout_14.setObjectName(_fromUtf8("horizontalLayout_14"))
+ self.ObjRot_button_reset = QtGui.QPushButton(self.frame)
+ self.ObjRot_button_reset.setMinimumSize(QtCore.QSize(40, 0))
+ self.ObjRot_button_reset.setMaximumSize(QtCore.QSize(60, 16777215))
+ self.ObjRot_button_reset.setObjectName(_fromUtf8("ObjRot_button_reset"))
+ self.horizontalLayout_14.addWidget(self.ObjRot_button_reset)
+ spacerItem12 = QtGui.QSpacerItem(20, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
+ self.horizontalLayout_14.addItem(spacerItem12)
+ self.ObjRot_button_apply = QtGui.QPushButton(self.frame)
+ self.ObjRot_button_apply.setMinimumSize(QtCore.QSize(40, 0))
+ self.ObjRot_button_apply.setMaximumSize(QtCore.QSize(60, 16777215))
+ self.ObjRot_button_apply.setObjectName(_fromUtf8("ObjRot_button_apply"))
+ self.horizontalLayout_14.addWidget(self.ObjRot_button_apply)
+ self.gridLayout_25.addLayout(self.horizontalLayout_14, 3, 0, 1, 1)
+ self.tabWidget_3 = QtGui.QTabWidget(self.frame)
+ self.tabWidget_3.setTabPosition(QtGui.QTabWidget.North)
+ self.tabWidget_3.setObjectName(_fromUtf8("tabWidget_3"))
+ self.tab_8 = QtGui.QWidget()
+ self.tab_8.setObjectName(_fromUtf8("tab_8"))
+ self.gridLayout_21 = QtGui.QGridLayout(self.tab_8)
+ self.gridLayout_21.setObjectName(_fromUtf8("gridLayout_21"))
+ self.ObjRot_comboBox_axis = QtGui.QComboBox(self.tab_8)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.ObjRot_comboBox_axis.sizePolicy().hasHeightForWidth())
+ self.ObjRot_comboBox_axis.setSizePolicy(sizePolicy)
+ self.ObjRot_comboBox_axis.setMinimumSize(QtCore.QSize(80, 0))
+ self.ObjRot_comboBox_axis.setMaximumSize(QtCore.QSize(130, 16777215))
+ self.ObjRot_comboBox_axis.setLayoutDirection(QtCore.Qt.LeftToRight)
+ self.ObjRot_comboBox_axis.setObjectName(_fromUtf8("ObjRot_comboBox_axis"))
+ self.ObjRot_comboBox_axis.addItem(_fromUtf8(""))
+ self.ObjRot_comboBox_axis.addItem(_fromUtf8(""))
+ self.ObjRot_comboBox_axis.addItem(_fromUtf8(""))
+ self.ObjRot_comboBox_axis.addItem(_fromUtf8(""))
+ self.gridLayout_21.addWidget(self.ObjRot_comboBox_axis, 0, 0, 1, 1)
+ self.ObjRot_button_select_axis = QtGui.QPushButton(self.tab_8)
+ self.ObjRot_button_select_axis.setEnabled(False)
+ self.ObjRot_button_select_axis.setMinimumSize(QtCore.QSize(40, 0))
+ self.ObjRot_button_select_axis.setMaximumSize(QtCore.QSize(80, 16777215))
+ self.ObjRot_button_select_axis.setObjectName(_fromUtf8("ObjRot_button_select_axis"))
+ self.gridLayout_21.addWidget(self.ObjRot_button_select_axis, 1, 0, 1, 1)
+ icon63 = QtGui.QIcon()
+ icon63.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_rotationAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.tabWidget_3.addTab(self.tab_8, icon63, _fromUtf8(""))
+ self.tab_9 = QtGui.QWidget()
+ self.tab_9.setObjectName(_fromUtf8("tab_9"))
+ self.gridLayout_23 = QtGui.QGridLayout(self.tab_9)
+ self.gridLayout_23.setObjectName(_fromUtf8("gridLayout_23"))
+ self.ObjRot_comboBox_center = QtGui.QComboBox(self.tab_9)
+ self.ObjRot_comboBox_center.setEnabled(True)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.ObjRot_comboBox_center.sizePolicy().hasHeightForWidth())
+ self.ObjRot_comboBox_center.setSizePolicy(sizePolicy)
+ self.ObjRot_comboBox_center.setMinimumSize(QtCore.QSize(120, 0))
+ self.ObjRot_comboBox_center.setMaximumSize(QtCore.QSize(130, 16777215))
+ self.ObjRot_comboBox_center.setSizeAdjustPolicy(QtGui.QComboBox.AdjustToContentsOnFirstShow)
+ self.ObjRot_comboBox_center.setObjectName(_fromUtf8("ObjRot_comboBox_center"))
+ self.ObjRot_comboBox_center.addItem(_fromUtf8(""))
+ self.ObjRot_comboBox_center.addItem(_fromUtf8(""))
+ self.ObjRot_comboBox_center.addItem(_fromUtf8(""))
+ self.ObjRot_comboBox_center.addItem(_fromUtf8(""))
+ self.gridLayout_23.addWidget(self.ObjRot_comboBox_center, 0, 0, 1, 1)
+ self.ObjRot_button_select_center = QtGui.QPushButton(self.tab_9)
+ self.ObjRot_button_select_center.setEnabled(False)
+ self.ObjRot_button_select_center.setMinimumSize(QtCore.QSize(40, 0))
+ self.ObjRot_button_select_center.setMaximumSize(QtCore.QSize(80, 16777215))
+ self.ObjRot_button_select_center.setObjectName(_fromUtf8("ObjRot_button_select_center"))
+ self.gridLayout_23.addWidget(self.ObjRot_button_select_center, 1, 0, 1, 1)
+ icon64 = QtGui.QIcon()
+ icon64.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_rotationPoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.tabWidget_3.addTab(self.tab_9, icon64, _fromUtf8(""))
+ self.gridLayout_25.addWidget(self.tabWidget_3, 1, 0, 1, 1)
+ self.gridLayout_29.addWidget(self.frame, 0, 0, 1, 1)
+ spacerItem13 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.gridLayout_29.addItem(spacerItem13, 1, 0, 1, 1)
+ self.tabWidget_2.addTab(self.rotation_tab, _fromUtf8(""))
+ self.translation_tab = QtGui.QWidget()
+ self.translation_tab.setObjectName(_fromUtf8("translation_tab"))
+ self.gridLayout_28 = QtGui.QGridLayout(self.translation_tab)
+ self.gridLayout_28.setObjectName(_fromUtf8("gridLayout_28"))
+ self.frame_2 = QtGui.QFrame(self.translation_tab)
+ self.frame_2.setMaximumSize(QtCore.QSize(220, 16777215))
+ self.frame_2.setFrameShape(QtGui.QFrame.StyledPanel)
+ self.frame_2.setFrameShadow(QtGui.QFrame.Raised)
+ self.frame_2.setObjectName(_fromUtf8("frame_2"))
+ self.gridLayout_27 = QtGui.QGridLayout(self.frame_2)
+ self.gridLayout_27.setObjectName(_fromUtf8("gridLayout_27"))
+ self.ObjTrans_button_select = QtGui.QPushButton(self.frame_2)
+ self.ObjTrans_button_select.setObjectName(_fromUtf8("ObjTrans_button_select"))
+ self.gridLayout_27.addWidget(self.ObjTrans_button_select, 0, 0, 1, 1)
+ self.frame_5 = QtGui.QFrame(self.frame_2)
+ self.frame_5.setFrameShape(QtGui.QFrame.StyledPanel)
+ self.frame_5.setFrameShadow(QtGui.QFrame.Raised)
+ self.frame_5.setObjectName(_fromUtf8("frame_5"))
+ self.gridLayout_15 = QtGui.QGridLayout(self.frame_5)
+ self.gridLayout_15.setObjectName(_fromUtf8("gridLayout_15"))
+ self.groupBox_3 = QtGui.QGroupBox(self.frame_5)
+ self.groupBox_3.setFlat(False)
+ self.groupBox_3.setObjectName(_fromUtf8("groupBox_3"))
+ self.formLayout = QtGui.QFormLayout(self.groupBox_3)
+ self.formLayout.setObjectName(_fromUtf8("formLayout"))
+ self.ObjTrans_comboBox_start = QtGui.QComboBox(self.groupBox_3)
+ self.ObjTrans_comboBox_start.setEnabled(True)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.ObjTrans_comboBox_start.sizePolicy().hasHeightForWidth())
+ self.ObjTrans_comboBox_start.setSizePolicy(sizePolicy)
+ self.ObjTrans_comboBox_start.setMinimumSize(QtCore.QSize(91, 0))
+ self.ObjTrans_comboBox_start.setMaximumSize(QtCore.QSize(150, 16777215))
+ self.ObjTrans_comboBox_start.setSizeAdjustPolicy(QtGui.QComboBox.AdjustToContentsOnFirstShow)
+ self.ObjTrans_comboBox_start.setObjectName(_fromUtf8("ObjTrans_comboBox_start"))
+ self.ObjTrans_comboBox_start.addItem(_fromUtf8(""))
+ self.ObjTrans_comboBox_start.addItem(_fromUtf8(""))
+ self.ObjTrans_comboBox_start.addItem(_fromUtf8(""))
+ self.ObjTrans_comboBox_start.addItem(_fromUtf8(""))
+ self.ObjTrans_comboBox_start.addItem(_fromUtf8(""))
+ self.formLayout.setWidget(0, QtGui.QFormLayout.LabelRole, self.ObjTrans_comboBox_start)
+ self.ObjTrans_button_select_start = QtGui.QPushButton(self.groupBox_3)
+ self.ObjTrans_button_select_start.setEnabled(True)
+ self.ObjTrans_button_select_start.setMinimumSize(QtCore.QSize(50, 0))
+ self.ObjTrans_button_select_start.setMaximumSize(QtCore.QSize(150, 16777215))
+ self.ObjTrans_button_select_start.setObjectName(_fromUtf8("ObjTrans_button_select_start"))
+ self.formLayout.setWidget(1, QtGui.QFormLayout.LabelRole, self.ObjTrans_button_select_start)
+ self.horizontalLayout_19 = QtGui.QHBoxLayout()
+ self.horizontalLayout_19.setObjectName(_fromUtf8("horizontalLayout_19"))
+ self.pushButton = QtGui.QPushButton(self.groupBox_3)
+ self.pushButton.setText(_fromUtf8(""))
+ icon65 = QtGui.QIcon()
+ icon65.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_startPoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.pushButton.setIcon(icon65)
+ self.pushButton.setIconSize(QtCore.QSize(20, 20))
+ self.pushButton.setCheckable(False)
+ self.pushButton.setFlat(True)
+ self.pushButton.setObjectName(_fromUtf8("pushButton"))
+ self.horizontalLayout_19.addWidget(self.pushButton)
+ self.ObjTrans_start_x = QtGui.QLineEdit(self.groupBox_3)
+ self.ObjTrans_start_x.setEnabled(False)
+ self.ObjTrans_start_x.setMaximumSize(QtCore.QSize(50, 16777215))
+ self.ObjTrans_start_x.setObjectName(_fromUtf8("ObjTrans_start_x"))
+ self.horizontalLayout_19.addWidget(self.ObjTrans_start_x)
+ self.ObjTrans_start_y = QtGui.QLineEdit(self.groupBox_3)
+ self.ObjTrans_start_y.setEnabled(False)
+ self.ObjTrans_start_y.setMaximumSize(QtCore.QSize(50, 16777215))
+ self.ObjTrans_start_y.setObjectName(_fromUtf8("ObjTrans_start_y"))
+ self.horizontalLayout_19.addWidget(self.ObjTrans_start_y)
+ self.ObjTrans_start_z = QtGui.QLineEdit(self.groupBox_3)
+ self.ObjTrans_start_z.setEnabled(False)
+ self.ObjTrans_start_z.setMaximumSize(QtCore.QSize(50, 16777215))
+ self.ObjTrans_start_z.setObjectName(_fromUtf8("ObjTrans_start_z"))
+ self.horizontalLayout_19.addWidget(self.ObjTrans_start_z)
+ self.formLayout.setLayout(2, QtGui.QFormLayout.SpanningRole, self.horizontalLayout_19)
+ self.gridLayout_15.addWidget(self.groupBox_3, 0, 0, 1, 1)
+ self.gridLayout_27.addWidget(self.frame_5, 1, 0, 1, 1)
+ self.horizontalLayout_15 = QtGui.QHBoxLayout()
+ self.horizontalLayout_15.setObjectName(_fromUtf8("horizontalLayout_15"))
+ self.ObjTrans_duplicate = QtGui.QCheckBox(self.frame_2)
+ self.ObjTrans_duplicate.setObjectName(_fromUtf8("ObjTrans_duplicate"))
+ self.horizontalLayout_15.addWidget(self.ObjTrans_duplicate)
+ self.ObjTrans_spin = QtGui.QSpinBox(self.frame_2)
+ self.ObjTrans_spin.setMinimumSize(QtCore.QSize(40, 0))
+ self.ObjTrans_spin.setMaximumSize(QtCore.QSize(50, 16777215))
+ self.ObjTrans_spin.setButtonSymbols(QtGui.QAbstractSpinBox.NoButtons)
+ self.ObjTrans_spin.setKeyboardTracking(False)
+ self.ObjTrans_spin.setMinimum(1)
+ self.ObjTrans_spin.setMaximum(10)
+ self.ObjTrans_spin.setSingleStep(1)
+ self.ObjTrans_spin.setProperty("value", 1)
+ self.ObjTrans_spin.setObjectName(_fromUtf8("ObjTrans_spin"))
+ self.horizontalLayout_15.addWidget(self.ObjTrans_spin)
+ self.gridLayout_27.addLayout(self.horizontalLayout_15, 2, 0, 1, 1)
+ self.frame_6 = QtGui.QFrame(self.frame_2)
+ self.frame_6.setFrameShape(QtGui.QFrame.StyledPanel)
+ self.frame_6.setFrameShadow(QtGui.QFrame.Raised)
+ self.frame_6.setObjectName(_fromUtf8("frame_6"))
+ self.gridLayout_26 = QtGui.QGridLayout(self.frame_6)
+ self.gridLayout_26.setObjectName(_fromUtf8("gridLayout_26"))
+ self.groupBox_4 = QtGui.QGroupBox(self.frame_6)
+ self.groupBox_4.setFlat(False)
+ self.groupBox_4.setObjectName(_fromUtf8("groupBox_4"))
+ self.formLayout_2 = QtGui.QFormLayout(self.groupBox_4)
+ self.formLayout_2.setObjectName(_fromUtf8("formLayout_2"))
+ self.ObjTrans_comboBox_end = QtGui.QComboBox(self.groupBox_4)
+ self.ObjTrans_comboBox_end.setEnabled(True)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.ObjTrans_comboBox_end.sizePolicy().hasHeightForWidth())
+ self.ObjTrans_comboBox_end.setSizePolicy(sizePolicy)
+ self.ObjTrans_comboBox_end.setMinimumSize(QtCore.QSize(91, 0))
+ self.ObjTrans_comboBox_end.setMaximumSize(QtCore.QSize(150, 16777215))
+ self.ObjTrans_comboBox_end.setSizeAdjustPolicy(QtGui.QComboBox.AdjustToContentsOnFirstShow)
+ self.ObjTrans_comboBox_end.setObjectName(_fromUtf8("ObjTrans_comboBox_end"))
+ self.ObjTrans_comboBox_end.addItem(_fromUtf8(""))
+ self.ObjTrans_comboBox_end.addItem(_fromUtf8(""))
+ self.ObjTrans_comboBox_end.addItem(_fromUtf8(""))
+ self.ObjTrans_comboBox_end.addItem(_fromUtf8(""))
+ self.ObjTrans_comboBox_end.addItem(_fromUtf8(""))
+ self.formLayout_2.setWidget(0, QtGui.QFormLayout.LabelRole, self.ObjTrans_comboBox_end)
+ self.ObjTrans_button_select_end = QtGui.QPushButton(self.groupBox_4)
+ self.ObjTrans_button_select_end.setEnabled(True)
+ self.ObjTrans_button_select_end.setMinimumSize(QtCore.QSize(50, 0))
+ self.ObjTrans_button_select_end.setMaximumSize(QtCore.QSize(150, 16777215))
+ self.ObjTrans_button_select_end.setObjectName(_fromUtf8("ObjTrans_button_select_end"))
+ self.formLayout_2.setWidget(1, QtGui.QFormLayout.LabelRole, self.ObjTrans_button_select_end)
+ self.horizontalLayout_18 = QtGui.QHBoxLayout()
+ self.horizontalLayout_18.setObjectName(_fromUtf8("horizontalLayout_18"))
+ self.pushButton_2 = QtGui.QPushButton(self.groupBox_4)
+ self.pushButton_2.setText(_fromUtf8(""))
+ icon66 = QtGui.QIcon()
+ icon66.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_endPoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.pushButton_2.setIcon(icon66)
+ self.pushButton_2.setIconSize(QtCore.QSize(20, 20))
+ self.pushButton_2.setCheckable(False)
+ self.pushButton_2.setFlat(True)
+ self.pushButton_2.setObjectName(_fromUtf8("pushButton_2"))
+ self.horizontalLayout_18.addWidget(self.pushButton_2)
+ self.ObjTrans_end_x = QtGui.QLineEdit(self.groupBox_4)
+ self.ObjTrans_end_x.setEnabled(False)
+ self.ObjTrans_end_x.setMaximumSize(QtCore.QSize(50, 16777215))
+ self.ObjTrans_end_x.setObjectName(_fromUtf8("ObjTrans_end_x"))
+ self.horizontalLayout_18.addWidget(self.ObjTrans_end_x)
+ self.ObjTrans_end_y = QtGui.QLineEdit(self.groupBox_4)
+ self.ObjTrans_end_y.setEnabled(False)
+ self.ObjTrans_end_y.setMaximumSize(QtCore.QSize(50, 16777215))
+ self.ObjTrans_end_y.setObjectName(_fromUtf8("ObjTrans_end_y"))
+ self.horizontalLayout_18.addWidget(self.ObjTrans_end_y)
+ self.ObjTrans_end_z = QtGui.QLineEdit(self.groupBox_4)
+ self.ObjTrans_end_z.setEnabled(False)
+ self.ObjTrans_end_z.setMaximumSize(QtCore.QSize(50, 16777215))
+ self.ObjTrans_end_z.setObjectName(_fromUtf8("ObjTrans_end_z"))
+ self.horizontalLayout_18.addWidget(self.ObjTrans_end_z)
+ self.formLayout_2.setLayout(2, QtGui.QFormLayout.SpanningRole, self.horizontalLayout_18)
+ self.gridLayout_26.addWidget(self.groupBox_4, 0, 0, 1, 1)
+ self.gridLayout_27.addWidget(self.frame_6, 3, 0, 1, 1)
+ self.horizontalLayout_16 = QtGui.QHBoxLayout()
+ self.horizontalLayout_16.setObjectName(_fromUtf8("horizontalLayout_16"))
+ self.ObjTrans_button_reset = QtGui.QPushButton(self.frame_2)
+ self.ObjTrans_button_reset.setMinimumSize(QtCore.QSize(40, 0))
+ self.ObjTrans_button_reset.setMaximumSize(QtCore.QSize(60, 16777215))
+ self.ObjTrans_button_reset.setObjectName(_fromUtf8("ObjTrans_button_reset"))
+ self.horizontalLayout_16.addWidget(self.ObjTrans_button_reset)
+ spacerItem14 = QtGui.QSpacerItem(20, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
+ self.horizontalLayout_16.addItem(spacerItem14)
+ self.ObjTrans_button_apply = QtGui.QPushButton(self.frame_2)
+ self.ObjTrans_button_apply.setMinimumSize(QtCore.QSize(40, 0))
+ self.ObjTrans_button_apply.setMaximumSize(QtCore.QSize(60, 16777215))
+ self.ObjTrans_button_apply.setObjectName(_fromUtf8("ObjTrans_button_apply"))
+ self.horizontalLayout_16.addWidget(self.ObjTrans_button_apply)
+ self.gridLayout_27.addLayout(self.horizontalLayout_16, 4, 0, 1, 1)
+ self.gridLayout_28.addWidget(self.frame_2, 0, 0, 1, 1)
+ spacerItem15 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.gridLayout_28.addItem(spacerItem15, 1, 0, 1, 1)
+ self.tabWidget_2.addTab(self.translation_tab, _fromUtf8(""))
self.gridLayout_11.addWidget(self.tabWidget_2, 0, 0, 1, 1)
self.tabWidget.addTab(self.Modif_Tab, _fromUtf8(""))
self.tab_3 = QtGui.QWidget()
@@ -929,60 +1404,65 @@ class Ui_Form(object):
self.gridLayout_35 = QtGui.QGridLayout(self.tab_3)
self.gridLayout_35.setObjectName(_fromUtf8("gridLayout_35"))
self.button_isParallel = QtGui.QPushButton(self.tab_3)
- icon57 = QtGui.QIcon()
- icon57.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isParallel.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.button_isParallel.setIcon(icon57)
+ icon67 = QtGui.QIcon()
+ icon67.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isParallel.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.button_isParallel.setIcon(icon67)
self.button_isParallel.setIconSize(QtCore.QSize(32, 32))
self.button_isParallel.setObjectName(_fromUtf8("button_isParallel"))
self.gridLayout_35.addWidget(self.button_isParallel, 0, 0, 1, 1)
self.button_isPerpendicular = QtGui.QPushButton(self.tab_3)
- icon58 = QtGui.QIcon()
- icon58.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isPerpendicular.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.button_isPerpendicular.setIcon(icon58)
+ icon68 = QtGui.QIcon()
+ icon68.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isPerpendicular.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.button_isPerpendicular.setIcon(icon68)
self.button_isPerpendicular.setIconSize(QtCore.QSize(32, 32))
self.button_isPerpendicular.setObjectName(_fromUtf8("button_isPerpendicular"))
self.gridLayout_35.addWidget(self.button_isPerpendicular, 1, 0, 1, 1)
self.button_isCoplanar = QtGui.QPushButton(self.tab_3)
- icon59 = QtGui.QIcon()
- icon59.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isCoplanar.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.button_isCoplanar.setIcon(icon59)
+ icon69 = QtGui.QIcon()
+ icon69.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isCoplanar.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.button_isCoplanar.setIcon(icon69)
self.button_isCoplanar.setIconSize(QtCore.QSize(32, 32))
self.button_isCoplanar.setObjectName(_fromUtf8("button_isCoplanar"))
self.gridLayout_35.addWidget(self.button_isCoplanar, 2, 0, 1, 1)
self.button_isClearance = QtGui.QPushButton(self.tab_3)
- icon60 = QtGui.QIcon()
- icon60.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isClearance.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.button_isClearance.setIcon(icon60)
+ icon70 = QtGui.QIcon()
+ icon70.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isClearance.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.button_isClearance.setIcon(icon70)
self.button_isClearance.setIconSize(QtCore.QSize(32, 32))
self.button_isClearance.setObjectName(_fromUtf8("button_isClearance"))
self.gridLayout_35.addWidget(self.button_isClearance, 3, 0, 1, 1)
- spacerItem10 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
- self.gridLayout_35.addItem(spacerItem10, 4, 0, 1, 1)
- icon61 = QtGui.QIcon()
- icon61.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_check.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.tabWidget.addTab(self.tab_3, icon61, _fromUtf8(""))
+ spacerItem16 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.gridLayout_35.addItem(spacerItem16, 4, 0, 1, 1)
+ icon71 = QtGui.QIcon()
+ icon71.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_check.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.tabWidget.addTab(self.tab_3, icon71, _fromUtf8(""))
self.gridLayout_30.addWidget(self.tabWidget, 0, 0, 1, 1)
self.tabWidget_0.addTab(self.tab_2, _fromUtf8(""))
self.gridLayout_9.addWidget(self.tabWidget_0, 0, 0, 1, 1)
self.scrollArea.setWidget(self.scrollAreaWidgetContents_2)
- self.gridLayout_37.addWidget(self.scrollArea, 0, 0, 1, 1)
+ self.gridLayout_34.addWidget(self.scrollArea, 0, 0, 1, 1)
self.horizontalLayout_9 = QtGui.QHBoxLayout()
self.horizontalLayout_9.setObjectName(_fromUtf8("horizontalLayout_9"))
self.button_WF_quit = QtGui.QPushButton(Form)
self.button_WF_quit.setObjectName(_fromUtf8("button_WF_quit"))
self.horizontalLayout_9.addWidget(self.button_WF_quit)
- spacerItem11 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
- self.horizontalLayout_9.addItem(spacerItem11)
+ spacerItem17 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
+ self.horizontalLayout_9.addItem(spacerItem17)
self.label_release = QtGui.QLabel(Form)
self.label_release.setObjectName(_fromUtf8("label_release"))
self.horizontalLayout_9.addWidget(self.label_release)
- self.gridLayout_37.addLayout(self.horizontalLayout_9, 1, 0, 1, 1)
+ self.gridLayout_34.addLayout(self.horizontalLayout_9, 1, 0, 1, 1)
self.retranslateUi(Form)
self.tabWidget_0.setCurrentIndex(0)
- self.tabWidget.setCurrentIndex(0)
+ self.tabWidget.setCurrentIndex(1)
self.point_loc_comboBox.setCurrentIndex(1)
- self.tabWidget_2.setCurrentIndex(0)
+ self.tabWidget_2.setCurrentIndex(1)
+ self.tabWidget_3.setCurrentIndex(0)
+ self.ObjRot_comboBox_axis.setCurrentIndex(0)
+ self.ObjRot_comboBox_center.setCurrentIndex(2)
+ self.ObjTrans_comboBox_start.setCurrentIndex(3)
+ self.ObjTrans_comboBox_end.setCurrentIndex(3)
QtCore.QMetaObject.connectSlotsByName(Form)
def retranslateUi(self, Form):
@@ -993,10 +1473,12 @@ class Ui_Form(object):
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_biColor.setToolTip(QtGui.QApplication.translate("Form", "Change the successive lines to be bicolor (red and white) for the following functions:\n"
-" - in \"Axis\" TAB:\n"
+" - in \"Axis 1/2\" TAB:\n"
" Axes=Cut(Wire)\n"
+" - in \"Circle\" TAB:\n"
+" Arcs=Cut(Circle) \n"
"", None, QtGui.QApplication.UnicodeUTF8))
- self.radioButton_biColor.setText(QtGui.QApplication.translate("Form", "bi Color", None, QtGui.QApplication.UnicodeUTF8))
+ self.radioButton_biColor.setText(QtGui.QApplication.translate("Form", "Bi Color", None, QtGui.QApplication.UnicodeUTF8))
self.label_5.setToolTip(QtGui.QApplication.translate("Form", "Change the tolerance for the following functions:\n"
" - in \"Check\" TAB:\n"
" are Parallel?\n"
@@ -1009,6 +1491,15 @@ class Ui_Form(object):
" are Perpendicular?\n"
" are Coplanar?", None, QtGui.QApplication.UnicodeUTF8))
self.tolerance_edit.setText(QtGui.QApplication.translate("Form", "1e-10", None, QtGui.QApplication.UnicodeUTF8))
+ self.radioButton_copy.setToolTip(QtGui.QApplication.translate("Form", "Force the duplication of the Parent Object for the following functions:\n"
+" - in \"Axis 2/2\" TAB:\n"
+" Axes=(Axis,Pt,dist)\n"
+" If an Edge of a Cube is selected the Cube is duplicate \n"
+" with the corresponding\n"
+" Edge at the defined distance from the original.\n"
+" - in \"Plane\" TAB:\n"
+" Plane=(Plane,dist) ", None, QtGui.QApplication.UnicodeUTF8))
+ self.radioButton_copy.setText(QtGui.QApplication.translate("Form", "Object copy", 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_point_on_line.setToolTip(QtGui.QApplication.translate("Form", "Create a Point at a certain distance along the line \n"
"respecting to the choosen reference starting point.", None, QtGui.QApplication.UnicodeUTF8))
@@ -1044,23 +1535,19 @@ class Ui_Form(object):
self.button_line_face_point.setText(QtGui.QApplication.translate("Form", "Point=(Line,Face) ", None, QtGui.QApplication.UnicodeUTF8))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.Point_Tab1), QtGui.QApplication.translate("Form", "Point 1/2", None, QtGui.QApplication.UnicodeUTF8))
self.tabWidget.setTabToolTip(self.tabWidget.indexOf(self.Point_Tab1), QtGui.QApplication.translate("Form", "Point", None, QtGui.QApplication.UnicodeUTF8))
- self.button_click_for_point.setToolTip(QtGui.QApplication.translate("Form", "Create a set of Points on a Plane perpendicular to the view at location of mouse clicks.\n"
-"- Click first on the Button then click on the View (with no object in background).\n"
-"- Click first on the Button then click on the View (with an object in background), it will attach the points to the surface of the object.\n"
-"", None, QtGui.QApplication.UnicodeUTF8))
- self.button_click_for_point.setText(QtGui.QApplication.translate("Form", "Click", None, QtGui.QApplication.UnicodeUTF8))
- self.button_point_line_point.setToolTip(QtGui.QApplication.translate("Form", "Create a projection Point of a Point onto a Line and symetric point.", None, QtGui.QApplication.UnicodeUTF8))
- self.button_point_line_point.setText(QtGui.QApplication.translate("Form", "Point=(Line,Point) ", None, QtGui.QApplication.UnicodeUTF8))
- self.button_object_base_point.setToolTip(QtGui.QApplication.translate("Form", "Create Base Point of all selected Object(s).", None, QtGui.QApplication.UnicodeUTF8))
- self.button_object_base_point.setText(QtGui.QApplication.translate("Form", "Object(s) Base Point", None, QtGui.QApplication.UnicodeUTF8))
- self.button_twolines_point.setToolTip(QtGui.QApplication.translate("Form", "Plot one or two Point(s) at minimum distance of two Lines\n"
-"Create a Point at intersection of 2 crossing Lines.", None, QtGui.QApplication.UnicodeUTF8))
- self.button_twolines_point.setText(QtGui.QApplication.translate("Form", "Point=(Line,Line) ", None, QtGui.QApplication.UnicodeUTF8))
self.button_point_to_sketch.setToolTip(QtGui.QApplication.translate("Form", "Transform Point(s) in Sketch\'s Point(s) by projection onto the Sketch\'s Plane:\n"
"- First select an existing Skecth;\n"
"- Select as much as Points needed;\n"
"Then click on this button.", None, QtGui.QApplication.UnicodeUTF8))
self.button_point_to_sketch.setText(QtGui.QApplication.translate("Form", "Point(s) to Sketch", None, QtGui.QApplication.UnicodeUTF8))
+ self.button_click_for_point.setToolTip(QtGui.QApplication.translate("Form", "Create a set of Points on a Plane perpendicular to the view at location of mouse clicks.\n"
+"- Click first on the Button then click on the View (with no object in background).\n"
+"- Click first on the Button then click on the View (with an object in background), it will attach the points to the surface of the object.\n"
+"", None, QtGui.QApplication.UnicodeUTF8))
+ self.button_click_for_point.setText(QtGui.QApplication.translate("Form", "Click", None, QtGui.QApplication.UnicodeUTF8))
+ self.button_twolines_point.setToolTip(QtGui.QApplication.translate("Form", "Plot one or two Point(s) at minimum distance of two Lines\n"
+"Create a Point at intersection of 2 crossing Lines.", None, QtGui.QApplication.UnicodeUTF8))
+ self.button_twolines_point.setText(QtGui.QApplication.translate("Form", "Point=(Line,Line) ", None, QtGui.QApplication.UnicodeUTF8))
self.button_cut_wire_point.setToolTip(QtGui.QApplication.translate("Form", "Create Points by Partition:\n"
"Cut the selected wire(s) in 2(n) parts and create 2(n) Points with function discretize.\n"
"The number indicates in how many parts to cut.\n"
@@ -1069,9 +1556,30 @@ class Ui_Form(object):
" Circle\n"
" Arc\n"
" Ellipse\n"
-"An object must also be seleted but before any Wire! ", None, QtGui.QApplication.UnicodeUTF8))
- self.button_cut_wire_point.setText(QtGui.QApplication.translate("Form", "Points=Cut(wire)", None, QtGui.QApplication.UnicodeUTF8))
+"An object must also be seleted but before any Wire to cut all his edges! ", None, QtGui.QApplication.UnicodeUTF8))
+ self.button_cut_wire_point.setText(QtGui.QApplication.translate("Form", "Points=Cut(Wire)", None, QtGui.QApplication.UnicodeUTF8))
self.spin_wire_cut_point.setToolTip(QtGui.QApplication.translate("Form", "The number indicates in how many parts the selected Line will be cut.", None, QtGui.QApplication.UnicodeUTF8))
+ self.button_object_base_point.setToolTip(QtGui.QApplication.translate("Form", "Create Base Point of all selected Object(s).", None, QtGui.QApplication.UnicodeUTF8))
+ self.button_object_base_point.setText(QtGui.QApplication.translate("Form", "Object(s) Base Point", None, QtGui.QApplication.UnicodeUTF8))
+ self.button_point_line_point.setToolTip(QtGui.QApplication.translate("Form", "Create a projection Point of a Point onto a Line and symetric point.", None, QtGui.QApplication.UnicodeUTF8))
+ self.button_point_line_point.setText(QtGui.QApplication.translate("Form", "Point=(Line,Point) ", None, QtGui.QApplication.UnicodeUTF8))
+ self.button_distPoint.setToolTip(QtGui.QApplication.translate("Form", "Point=(Point,Ax,dist):\n"
+"Create a Point along the given Axis, at a given distance of the slected Point.\n"
+"The Axis indicate the direction along where the Point is duplicate.\n"
+"(you can also select several axes to define different directions)\n"
+"- First select a Point (you can select several points) and one or several Axis \n"
+"- Second push this button\n"
+"\n"
+"NB: \n"
+" - The distance between points can be defined first.\n"
+"Positive number in one direction and negative in the other one.\n"
+"The second number indicates the number of Points to create.\n"
+"", None, QtGui.QApplication.UnicodeUTF8))
+ self.button_distPoint.setText(QtGui.QApplication.translate("Form", "Point=(Pt,Ax,dist)", None, QtGui.QApplication.UnicodeUTF8))
+ self.dist_point.setToolTip(QtGui.QApplication.translate("Form", "Distance to the new Axis.\n"
+"Can be negative for the reverse direction!", None, QtGui.QApplication.UnicodeUTF8))
+ self.dist_point.setText(QtGui.QApplication.translate("Form", "10.0", None, QtGui.QApplication.UnicodeUTF8))
+ self.spin_dist_point.setToolTip(QtGui.QApplication.translate("Form", "The number of copies.", None, QtGui.QApplication.UnicodeUTF8))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.Point_Tab2), QtGui.QApplication.translate("Form", "Point 2/2", None, QtGui.QApplication.UnicodeUTF8))
self.button_twopoints_axis.setToolTip(QtGui.QApplication.translate("Form", "Create an Axis crossing 2 Points.", None, QtGui.QApplication.UnicodeUTF8))
self.button_twopoints_axis.setText(QtGui.QApplication.translate("Form", "Two Points Axis", None, QtGui.QApplication.UnicodeUTF8))
@@ -1113,16 +1621,7 @@ class Ui_Form(object):
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_twoplanes_axis.setToolTip(QtGui.QApplication.translate("Form", "Create an Axis by intersect of 2 Planes.", None, QtGui.QApplication.UnicodeUTF8))
- self.button_twoplanes_axis.setText(QtGui.QApplication.translate("Form", "Axis=(Plane,Plane)", None, QtGui.QApplication.UnicodeUTF8))
- self.button_line_plane_axis.setToolTip(QtGui.QApplication.translate("Form", "Create an Axis on a Plane by projection from anoher Axis.", None, QtGui.QApplication.UnicodeUTF8))
- self.button_line_plane_axis.setText(QtGui.QApplication.translate("Form", "Axis=(Plane,Axis)", None, QtGui.QApplication.UnicodeUTF8))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.Axis_Tab1), QtGui.QApplication.translate("Form", "Axis 1/2", None, QtGui.QApplication.UnicodeUTF8))
- self.button_line_to_sketch.setToolTip(QtGui.QApplication.translate("Form", "Transform Line(s) in Sketch\'s Line(s) by projection onto the Sketch\'s Plane:\n"
-"- First select an existing Skecth;\n"
-"- Select as much as Lines needed;\n"
-"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_cut_axis.setToolTip(QtGui.QApplication.translate("Form", "Create 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.\n"
@@ -1131,8 +1630,13 @@ class Ui_Form(object):
"in \"Ori. Pref.\" TAB", None, QtGui.QApplication.UnicodeUTF8))
self.button_cut_axis.setText(QtGui.QApplication.translate("Form", "Axes=Cut(Axis)", None, QtGui.QApplication.UnicodeUTF8))
self.spin_axis_cut.setToolTip(QtGui.QApplication.translate("Form", "The number indicates in how many parts the selected Line will be cut.", None, QtGui.QApplication.UnicodeUTF8))
- self.button_object_base_axes.setToolTip(QtGui.QApplication.translate("Form", "Create 3 Axes at Base location of all selected Object(s).", None, QtGui.QApplication.UnicodeUTF8))
- self.button_object_base_axes.setText(QtGui.QApplication.translate("Form", "Object(s) Base Axes", None, QtGui.QApplication.UnicodeUTF8))
+ self.button_line_to_sketch.setToolTip(QtGui.QApplication.translate("Form", "Transform Line(s) in Sketch\'s Line(s) by projection onto the Sketch\'s Plane:\n"
+"- First select an existing Skecth;\n"
+"- Select as much as Lines needed;\n"
+"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_plane_axis.setToolTip(QtGui.QApplication.translate("Form", "Create an Axis on a Plane by projection from anoher Axis.", None, QtGui.QApplication.UnicodeUTF8))
+ self.button_line_plane_axis.setText(QtGui.QApplication.translate("Form", "Axis=(Plane,Axis)", None, QtGui.QApplication.UnicodeUTF8))
self.button_cut_wire_axis.setToolTip(QtGui.QApplication.translate("Form", "Create Axes by Partition:\n"
"Cut the selected wire(s) in 2(n) parts and create 2(n) Axes with function discretize.\n"
"The number indicates in how many parts to cut.\n"
@@ -1141,16 +1645,51 @@ class Ui_Form(object):
" Circle\n"
" Arc\n"
" Ellipse\n"
-"An object must also be seleted but before any Wire!\n"
+"An object must also be seleted but before any Wire to cut all his Edges!\n"
"NB: You can change the successive lines to be bicolor (red and white) \n"
"in \"Ori. Pref.\" TAB \n"
"", None, QtGui.QApplication.UnicodeUTF8))
self.button_cut_wire_axis.setText(QtGui.QApplication.translate("Form", "Axes=Cut(Wire)", None, QtGui.QApplication.UnicodeUTF8))
self.spin_wire_cut_axis.setToolTip(QtGui.QApplication.translate("Form", "The number indicates in how many parts the selected Line will be cut.", None, QtGui.QApplication.UnicodeUTF8))
+ self.button_distLine.setToolTip(QtGui.QApplication.translate("Form", "Axes=(Axis,Pt,dist):\n"
+"Create an Axis parallel to a given Axis, Point at a given distance.\n"
+"The Axis is created along the Plane defined by the given Axis and Point.\n"
+"- First select an Axis (or several Axes) and a Point\n"
+"(you can also select several points to define different Planes)\n"
+"- Second push this button\n"
+"\n"
+"NB: \n"
+" - The distance to the Axis created can be defined first.\n"
+"Positive number in one direction and negative in the other one.\n"
+"The second number indicates the number of Axes to create.\n"
+"With option \"Object copy\" in \"Ori. Pref.\" TAB\n"
+" - If an Edge of a Cube is selected the Cube is duplicate with the corresponding\n"
+"Edge at the defined distance from the original.\n"
+"Several Edges of the cube can be selected.\n"
+"", None, QtGui.QApplication.UnicodeUTF8))
+ self.button_distLine.setText(QtGui.QApplication.translate("Form", "Axes=(Axis,Pt,dist)", None, QtGui.QApplication.UnicodeUTF8))
+ self.dist_line.setToolTip(QtGui.QApplication.translate("Form", "Distance to the new Axis.\n"
+"Can be negative for the reverse direction!", None, QtGui.QApplication.UnicodeUTF8))
+ self.dist_line.setText(QtGui.QApplication.translate("Form", "10.0", None, QtGui.QApplication.UnicodeUTF8))
+ self.spin_dist_line.setToolTip(QtGui.QApplication.translate("Form", "The number of copies.", None, QtGui.QApplication.UnicodeUTF8))
+ self.button_object_base_axes.setToolTip(QtGui.QApplication.translate("Form", "Create 3 Axes at Base location of all selected Object(s).", None, QtGui.QApplication.UnicodeUTF8))
+ self.button_object_base_axes.setText(QtGui.QApplication.translate("Form", "Object(s) Base Axes", None, QtGui.QApplication.UnicodeUTF8))
self.button_click_for_axis.setToolTip(QtGui.QApplication.translate("Form", "Create a set of Lines on a Plane perpendicular to the view at location of 2 mouse clicks.\n"
"- Click first on the Button then at least twice click on the View (with no object in background).\n"
"- Click first on the Button then at least twice click on the View (with an object in background), it will attach the lines to the surface of the object.", None, QtGui.QApplication.UnicodeUTF8))
self.button_click_for_axis.setText(QtGui.QApplication.translate("Form", "Click", None, QtGui.QApplication.UnicodeUTF8))
+ self.button_twoplanes_axis.setToolTip(QtGui.QApplication.translate("Form", "Create an Axis by intersect of 2 Planes.", None, QtGui.QApplication.UnicodeUTF8))
+ self.button_twoplanes_axis.setText(QtGui.QApplication.translate("Form", "Axis=(Plane,Plane)", None, QtGui.QApplication.UnicodeUTF8))
+ self.button_extension_axis.setToolTip(QtGui.QApplication.translate("Form", "Enlarge(Axis):\n"
+"Extend an Axis at two extrema.\n"
+"- First select an Axis (or several Axes) \n"
+"- Second push this button\n"
+"\n"
+"NB: \n"
+" - The percentage of the extension can be defined first.", None, QtGui.QApplication.UnicodeUTF8))
+ self.button_extension_axis.setText(QtGui.QApplication.translate("Form", "Enlarge(Axis)", None, QtGui.QApplication.UnicodeUTF8))
+ self.extension_axis.setToolTip(QtGui.QApplication.translate("Form", "Extension of the Line in percentage.", None, QtGui.QApplication.UnicodeUTF8))
+ self.extension_axis.setText(QtGui.QApplication.translate("Form", "50.0", None, QtGui.QApplication.UnicodeUTF8))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.Axis_Tab2), QtGui.QApplication.translate("Form", "Axis 2/2", 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"
@@ -1169,52 +1708,109 @@ class Ui_Form(object):
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.setText(QtGui.QApplication.translate("Form", "10.0", 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"
"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_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_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.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.setText(QtGui.QApplication.translate("Form", "Plane=(Point, _|Axis)", None, QtGui.QApplication.UnicodeUTF8))
- 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"
-"then push the button, \n"
-"then click on a location on the selected object.", None, QtGui.QApplication.UnicodeUTF8))
- self.button_face_tangent.setText(QtGui.QApplication.translate("Form", "Face Tangent", None, QtGui.QApplication.UnicodeUTF8))
- self.length_plane_2.setToolTip(QtGui.QApplication.translate("Form", "Length of the Plane.", 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.setText(QtGui.QApplication.translate("Form", "10.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.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.setText(QtGui.QApplication.translate("Form", "0.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_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_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", "Click:\n"
+"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"
"- Click first on the Button then click once on the View.\n"
"- Click first on the Button then click once on top of one object of the View\n"
-" to attach the plane at the object.\n"
+" to attach the plane at this object.\n"
"- You can also select an already existing point first and click the button to attach the plane.\n"
+"\n"
+"NB: The plane width and length can be defined first.\n"
"", None, QtGui.QApplication.UnicodeUTF8))
self.button_click_for_plane.setText(QtGui.QApplication.translate("Form", "Click", None, QtGui.QApplication.UnicodeUTF8))
self.length_plane.setToolTip(QtGui.QApplication.translate("Form", "Length of the Plane.", None, QtGui.QApplication.UnicodeUTF8))
self.length_plane.setText(QtGui.QApplication.translate("Form", "10.0", None, QtGui.QApplication.UnicodeUTF8))
self.width_plane.setToolTip(QtGui.QApplication.translate("Form", "Width of the Plane.", None, QtGui.QApplication.UnicodeUTF8))
self.width_plane.setText(QtGui.QApplication.translate("Form", "10.0", 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_planeandaxis_plane.setToolTip(QtGui.QApplication.translate("Form", "Plane=(Plane, Axis):\n"
+"Create a Plane crossing a Line and perpendicular to a Plane.\n"
+"- First select a plane and a line NOT on the previous plane\n"
+"- Second push this button\n"
+"\n"
+"NB: The plane created can be rotated if a none null angle is defined first.", 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 of rotation of the created Plane (in degrees).", None, QtGui.QApplication.UnicodeUTF8))
+ self.angle_planeandaxis_plane.setText(QtGui.QApplication.translate("Form", "0.0", None, QtGui.QApplication.UnicodeUTF8))
+ self.button_axisandpoint_plane.setToolTip(QtGui.QApplication.translate("Form", "Plane=(Point, Axis):\n"
+"Create a plane crossing a Line and a Point.\n"
+"- First select a line and a point NOT on the previous line\n"
+"- Second push this button", None, QtGui.QApplication.UnicodeUTF8))
self.button_axisandpoint_plane.setText(QtGui.QApplication.translate("Form", "Plane=(Point, Axis)", None, QtGui.QApplication.UnicodeUTF8))
- self.tabWidget.setTabText(self.tabWidget.indexOf(self.Plane_Tab), QtGui.QApplication.translate("Form", "Plane", None, QtGui.QApplication.UnicodeUTF8))
+ self.button_axis_point_plane.setToolTip(QtGui.QApplication.translate("Form", "Plane=(Point, _|Axis):\n"
+"Create a plane perpendicular to a Line and crossing a Point.\n"
+"- First select a line and a point NOT on the previous line\n"
+"- Second push this button", None, QtGui.QApplication.UnicodeUTF8))
+ self.button_axis_point_plane.setText(QtGui.QApplication.translate("Form", "Plane=(Point, _|Axis)", None, QtGui.QApplication.UnicodeUTF8))
+ self.button_face_tangent.setToolTip(QtGui.QApplication.translate("Form", "Face Tangent:\n"
+"Create a tanget Plane at click location of a Face.\n"
+"- First click in the view to select and object,\n"
+"- Second push this button\n"
+"-Third click on a location on the selected object.\n"
+"\n"
+"NB: The plane width and length can be defined first.", None, QtGui.QApplication.UnicodeUTF8))
+ self.button_face_tangent.setText(QtGui.QApplication.translate("Form", "Face Tangent", None, QtGui.QApplication.UnicodeUTF8))
+ self.length_plane_2.setToolTip(QtGui.QApplication.translate("Form", "Length of the Plane.", 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.setText(QtGui.QApplication.translate("Form", "10.0", None, QtGui.QApplication.UnicodeUTF8))
+ self.button_threepoints_plane.setToolTip(QtGui.QApplication.translate("Form", "Plane=(3 Points):\n"
+"Create a Plane crossing 3 Points.\n"
+"- First select 3 different points\n"
+"- Second push this button", None, QtGui.QApplication.UnicodeUTF8))
+ self.button_threepoints_plane.setText(QtGui.QApplication.translate("Form", "Plane=(3 Points)", None, QtGui.QApplication.UnicodeUTF8))
+ self.button_distPlane.setToolTip(QtGui.QApplication.translate("Form", "Plane=(Plane,dist):\n"
+"Create a Plane parallel to a Plane at a given distance.\n"
+"- First select a plane or several Planes\n"
+"- Second push this button\n"
+"\n"
+"NB: \n"
+" - The distance to the plane created can be defined first.\n"
+"Positive number in one direction and negative in the other one.\n"
+"The second number indicates the number of planes to create.\n"
+"With option \"Object copy\" in \"Ori. Pref.\" TAB\n"
+" - If a Face of a Cube is selected the Cube is duplicate with the \n"
+"corresponding Face at the defined distance from the original.\n"
+"Several Faces of the cube can be selected.", None, QtGui.QApplication.UnicodeUTF8))
+ self.button_distPlane.setText(QtGui.QApplication.translate("Form", "Plane=(Plane,dist)", None, QtGui.QApplication.UnicodeUTF8))
+ self.dist_plane.setToolTip(QtGui.QApplication.translate("Form", "Distance to the new plane.\n"
+"Can be negative for the reverse direction!", None, QtGui.QApplication.UnicodeUTF8))
+ self.dist_plane.setText(QtGui.QApplication.translate("Form", "10.0", None, QtGui.QApplication.UnicodeUTF8))
+ self.spin_dist_plane.setToolTip(QtGui.QApplication.translate("Form", "The number of copies.", None, QtGui.QApplication.UnicodeUTF8))
+ self.button_planeandpoint_plane.setToolTip(QtGui.QApplication.translate("Form", "Plane=(Point, Plane):\n"
+"Create a plane crossing a Point and parallel to a Plane.\n"
+"- First select a plane and a point NOT on the previous plane\n"
+"- Second push this button\n"
+"\n"
+"NB: you can enlarge the created new plane by setting first an extension length.", 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", "Length 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.tabWidget.setTabText(self.tabWidget.indexOf(self.Plane_Tab1), QtGui.QApplication.translate("Form", "Plane 1/2", None, QtGui.QApplication.UnicodeUTF8))
+ self.button_object_center_planes.setToolTip(QtGui.QApplication.translate("Form", "Object(s) Center Planes:\n"
+"Create 3 Planes (XY, XZ and YZ) at center location of all selected Object(s).\n"
+"- First select one or severl objects\n"
+"- Second push this button", None, QtGui.QApplication.UnicodeUTF8))
+ self.button_object_center_planes.setText(QtGui.QApplication.translate("Form", "Object(s) Center Planes", None, QtGui.QApplication.UnicodeUTF8))
+ self.button_extension_plane.setToolTip(QtGui.QApplication.translate("Form", "Enlarge(Plane):\n"
+"Extend a Plane in each dimension.\n"
+"- First select a Plane (or several Planes) \n"
+"- Second push this button\n"
+"\n"
+"NB: \n"
+" - The percentage of the extension can be defined first.", None, QtGui.QApplication.UnicodeUTF8))
+ self.button_extension_plane.setText(QtGui.QApplication.translate("Form", "Enlarge(Plane)", None, QtGui.QApplication.UnicodeUTF8))
+ self.extension_plane.setToolTip(QtGui.QApplication.translate("Form", "Extension of the Plane in each dimension in percentage.", None, QtGui.QApplication.UnicodeUTF8))
+ self.extension_plane.setText(QtGui.QApplication.translate("Form", "50.0", None, QtGui.QApplication.UnicodeUTF8))
+ self.tabWidget.setTabText(self.tabWidget.indexOf(self.Plane_Tab11), QtGui.QApplication.translate("Form", "Plane 2/2", None, QtGui.QApplication.UnicodeUTF8))
self.button_cylinder_create.setToolTip(QtGui.QApplication.translate("Form", "Create a Cylinder:\n"
"- First select an Axis and a Ref. Point. \n"
"- Define Diameter and Length if needed.\n"
@@ -1274,6 +1870,52 @@ class Ui_Form(object):
self.button_cut_apply.setToolTip(QtGui.QApplication.translate("Form", "Cut an object by selecting a Line cut, a Plane and an Angle regarding the Plane.", None, QtGui.QApplication.UnicodeUTF8))
self.button_cut_apply.setText(QtGui.QApplication.translate("Form", "Apply", 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.ObjRot_button_select.setText(QtGui.QApplication.translate("Form", "Select Object(s)", None, QtGui.QApplication.UnicodeUTF8))
+ self.groupBox_2.setTitle(QtGui.QApplication.translate("Form", "Angle of rotation :", None, QtGui.QApplication.UnicodeUTF8))
+ self.ObjRot_lineEdit_angle.setText(QtGui.QApplication.translate("Form", "0.0", None, QtGui.QApplication.UnicodeUTF8))
+ self.label_angle_2.setText(QtGui.QApplication.translate("Form", " (deg)", None, QtGui.QApplication.UnicodeUTF8))
+ self.ObjRot_button_reset.setText(QtGui.QApplication.translate("Form", "Reset", None, QtGui.QApplication.UnicodeUTF8))
+ self.ObjRot_button_apply.setText(QtGui.QApplication.translate("Form", "Apply", None, QtGui.QApplication.UnicodeUTF8))
+ self.ObjRot_comboBox_axis.setItemText(0, QtGui.QApplication.translate("Form", "X", None, QtGui.QApplication.UnicodeUTF8))
+ self.ObjRot_comboBox_axis.setItemText(1, QtGui.QApplication.translate("Form", "Y", None, QtGui.QApplication.UnicodeUTF8))
+ self.ObjRot_comboBox_axis.setItemText(2, QtGui.QApplication.translate("Form", "Z", None, QtGui.QApplication.UnicodeUTF8))
+ self.ObjRot_comboBox_axis.setItemText(3, QtGui.QApplication.translate("Form", "To select", None, QtGui.QApplication.UnicodeUTF8))
+ self.ObjRot_button_select_axis.setText(QtGui.QApplication.translate("Form", "Select", None, QtGui.QApplication.UnicodeUTF8))
+ self.tabWidget_3.setTabText(self.tabWidget_3.indexOf(self.tab_8), QtGui.QApplication.translate("Form", "Axis", None, QtGui.QApplication.UnicodeUTF8))
+ self.ObjRot_comboBox_center.setItemText(0, QtGui.QApplication.translate("Form", "Origin", None, QtGui.QApplication.UnicodeUTF8))
+ self.ObjRot_comboBox_center.setItemText(1, QtGui.QApplication.translate("Form", "Base Obj.", None, QtGui.QApplication.UnicodeUTF8))
+ self.ObjRot_comboBox_center.setItemText(2, QtGui.QApplication.translate("Form", "Center Obj.(s)", None, QtGui.QApplication.UnicodeUTF8))
+ self.ObjRot_comboBox_center.setItemText(3, QtGui.QApplication.translate("Form", "To select", None, QtGui.QApplication.UnicodeUTF8))
+ self.ObjRot_button_select_center.setText(QtGui.QApplication.translate("Form", "Select", None, QtGui.QApplication.UnicodeUTF8))
+ self.tabWidget_3.setTabText(self.tabWidget_3.indexOf(self.tab_9), QtGui.QApplication.translate("Form", "Center", None, QtGui.QApplication.UnicodeUTF8))
+ self.tabWidget_2.setTabText(self.tabWidget_2.indexOf(self.rotation_tab), QtGui.QApplication.translate("Form", "Rotation", None, QtGui.QApplication.UnicodeUTF8))
+ self.ObjTrans_button_select.setText(QtGui.QApplication.translate("Form", "Select Object(s)", None, QtGui.QApplication.UnicodeUTF8))
+ self.groupBox_3.setTitle(QtGui.QApplication.translate("Form", "Starting Point (Blue) :", None, QtGui.QApplication.UnicodeUTF8))
+ self.ObjTrans_comboBox_start.setItemText(0, QtGui.QApplication.translate("Form", "Origin", None, QtGui.QApplication.UnicodeUTF8))
+ self.ObjTrans_comboBox_start.setItemText(1, QtGui.QApplication.translate("Form", "Base Obj.", None, QtGui.QApplication.UnicodeUTF8))
+ self.ObjTrans_comboBox_start.setItemText(2, QtGui.QApplication.translate("Form", "Center Obj.(s)", None, QtGui.QApplication.UnicodeUTF8))
+ self.ObjTrans_comboBox_start.setItemText(3, QtGui.QApplication.translate("Form", "To select", None, QtGui.QApplication.UnicodeUTF8))
+ self.ObjTrans_comboBox_start.setItemText(4, QtGui.QApplication.translate("Form", "To define", None, QtGui.QApplication.UnicodeUTF8))
+ self.ObjTrans_button_select_start.setText(QtGui.QApplication.translate("Form", "Select", None, QtGui.QApplication.UnicodeUTF8))
+ self.ObjTrans_start_x.setText(QtGui.QApplication.translate("Form", "0.0", None, QtGui.QApplication.UnicodeUTF8))
+ self.ObjTrans_start_y.setText(QtGui.QApplication.translate("Form", "0.0", None, QtGui.QApplication.UnicodeUTF8))
+ self.ObjTrans_start_z.setText(QtGui.QApplication.translate("Form", "0.0", None, QtGui.QApplication.UnicodeUTF8))
+ self.ObjTrans_duplicate.setToolTip(QtGui.QApplication.translate("Form", "Toggle this to copy the object during the Translation.", None, QtGui.QApplication.UnicodeUTF8))
+ self.ObjTrans_duplicate.setText(QtGui.QApplication.translate("Form", "Obj. Copy", None, QtGui.QApplication.UnicodeUTF8))
+ self.ObjTrans_spin.setToolTip(QtGui.QApplication.translate("Form", "The number of copies.", None, QtGui.QApplication.UnicodeUTF8))
+ self.groupBox_4.setTitle(QtGui.QApplication.translate("Form", "Ending Point(s) (White) :", None, QtGui.QApplication.UnicodeUTF8))
+ self.ObjTrans_comboBox_end.setItemText(0, QtGui.QApplication.translate("Form", "Origin", None, QtGui.QApplication.UnicodeUTF8))
+ self.ObjTrans_comboBox_end.setItemText(1, QtGui.QApplication.translate("Form", "Base Obj.", None, QtGui.QApplication.UnicodeUTF8))
+ self.ObjTrans_comboBox_end.setItemText(2, QtGui.QApplication.translate("Form", "Center Obj.(s)", None, QtGui.QApplication.UnicodeUTF8))
+ self.ObjTrans_comboBox_end.setItemText(3, QtGui.QApplication.translate("Form", "To select", None, QtGui.QApplication.UnicodeUTF8))
+ self.ObjTrans_comboBox_end.setItemText(4, QtGui.QApplication.translate("Form", "To define", None, QtGui.QApplication.UnicodeUTF8))
+ self.ObjTrans_button_select_end.setText(QtGui.QApplication.translate("Form", "Select", None, QtGui.QApplication.UnicodeUTF8))
+ self.ObjTrans_end_x.setText(QtGui.QApplication.translate("Form", "0.0", None, QtGui.QApplication.UnicodeUTF8))
+ self.ObjTrans_end_y.setText(QtGui.QApplication.translate("Form", "0.0", None, QtGui.QApplication.UnicodeUTF8))
+ self.ObjTrans_end_z.setText(QtGui.QApplication.translate("Form", "0.0", None, QtGui.QApplication.UnicodeUTF8))
+ self.ObjTrans_button_reset.setText(QtGui.QApplication.translate("Form", "Reset", None, QtGui.QApplication.UnicodeUTF8))
+ self.ObjTrans_button_apply.setText(QtGui.QApplication.translate("Form", "Apply", None, QtGui.QApplication.UnicodeUTF8))
+ self.tabWidget_2.setTabText(self.tabWidget_2.indexOf(self.translation_tab), QtGui.QApplication.translate("Form", "Translation", None, QtGui.QApplication.UnicodeUTF8))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.Modif_Tab), QtGui.QApplication.translate("Form", "Modif.", None, QtGui.QApplication.UnicodeUTF8))
self.button_isParallel.setToolTip(QtGui.QApplication.translate("Form", "Check if two faces or two Edges are Parallel:\n"
"- Select the 2 faces/planes or 2 Edges/Lines and\n"
diff --git a/WorkFeature/WFGui_2015.ui b/WorkFeature/WFGui_2015.ui
index 6c86c89..9ba5ad8 100644
--- a/WorkFeature/WFGui_2015.ui
+++ b/WorkFeature/WFGui_2015.ui
@@ -6,7 +6,7 @@
0
0
- 378
+ 349
693
@@ -17,7 +17,7 @@
Icons/WF_Axes.svgIcons/WF_Axes.svg
-
+
-
@@ -28,8 +28,8 @@
0
0
- 358
- 638
+ 340
+ 622
@@ -48,11 +48,23 @@
-
+
+
+ 0
+ 0
+
+
+
+
+ 300
+ 16777215
+
+
QTabWidget::West
- 0
+ 1
@@ -106,6 +118,9 @@
Verbose
+
+ true
+
false
@@ -115,19 +130,21 @@
Change the successive lines to be bicolor (red and white) for the following functions:
- - in "Axis" TAB:
+ - in "Axis 1/2" TAB:
Axes=Cut(Wire)
+ - in "Circle" TAB:
+ Arcs=Cut(Circle)
- bi Color
+ Bi Color
false
- -
+
-
-
@@ -165,6 +182,23 @@
+ -
+
+
+ Force the duplication of the Parent Object for the following functions:
+ - in "Axis 2/2" TAB:
+ Axes=(Axis,Pt,dist)
+ If an Edge of a Cube is selected the Cube is duplicate
+ with the corresponding
+ Edge at the defined distance from the original.
+ - in "Plane" TAB:
+ Plane=(Plane,dist)
+
+
+ Object copy
+
+
+
@@ -515,7 +549,30 @@ The number indicates how many parts to consider.
Point 2/2
- -
+
-
+
+
+ Transform Point(s) in Sketch's Point(s) by projection onto the Sketch's Plane:
+- First select an existing Skecth;
+- Select as much as Points needed;
+Then click on this button.
+
+
+ Point(s) to Sketch
+
+
+
+ ../Icons/WF_2Sketch.svg../Icons/WF_2Sketch.svg
+
+
+
+ 32
+ 32
+
+
+
+
+ -
Create a set of Points on a Plane perpendicular to the view at location of mouse clicks.
@@ -541,47 +598,20 @@ The number indicates how many parts to consider.
- -
-
-
- Create a projection Point of a Point onto a Line and symetric point.
+
-
+
+
+ Qt::Vertical
-
- Point=(Line,Point)
-
-
-
- Icons/WF_pointLinePoint.svgIcons/WF_pointLinePoint.svg
-
-
+
- 32
- 32
+ 20
+ 40
-
+
- -
-
-
- Create Base Point of all selected Object(s).
-
-
- Object(s) Base Point
-
-
-
- Icons/WF_objectBasePoint.svgIcons/WF_objectBasePoint.svg
-
-
-
- 32
- 32
-
-
-
-
- -
+
-
Plot one or two Point(s) at minimum distance of two Lines
@@ -602,30 +632,7 @@ Create a Point at intersection of 2 crossing Lines.
- -
-
-
- Transform Point(s) in Sketch's Point(s) by projection onto the Sketch's Plane:
-- First select an existing Skecth;
-- Select as much as Points needed;
-Then click on this button.
-
-
- Point(s) to Sketch
-
-
-
- ../Icons/WF_2Sketch.svg../Icons/WF_2Sketch.svg
-
-
-
- 32
- 32
-
-
-
-
- -
+
-
-
@@ -644,10 +651,10 @@ Wires can be:
Circle
Arc
Ellipse
-An object must also be seleted but before any Wire!
+An object must also be seleted but before any Wire to cut all his edges!
- Points=Cut(wire)
+ Points=Cut(Wire)
@@ -691,18 +698,146 @@ An object must also be seleted but before any Wire!
- -
-
-
- Qt::Vertical
+
-
+
+
+ Create Base Point of all selected Object(s).
-
+
+ Object(s) Base Point
+
+
+
+ Icons/WF_objectBasePoint.svgIcons/WF_objectBasePoint.svg
+
+
- 20
- 40
+ 32
+ 32
-
+
+
+ -
+
+
+ Create a projection Point of a Point onto a Line and symetric point.
+
+
+ Point=(Line,Point)
+
+
+
+ Icons/WF_pointLinePoint.svgIcons/WF_pointLinePoint.svg
+
+
+
+ 32
+ 32
+
+
+
+
+ -
+
+
-
+
+
+ Point=(Point,Ax,dist):
+Create a Point along the given Axis, at a given distance of the slected Point.
+The Axis indicate the direction along where the Point is duplicate.
+(you can also select several axes to define different directions)
+- First select a Point (you can select several points) and one or several Axis
+- Second push this button
+
+NB:
+ - The distance between points can be defined first.
+Positive number in one direction and negative in the other one.
+The second number indicates the number of Points to create.
+
+
+
+ Point=(Pt,Ax,dist)
+
+
+
+ ../Icons/WF_distPointPoint.svg../Icons/WF_distPointPoint.svg
+
+
+
+ 32
+ 32
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 40
+ 0
+
+
+
+
+ 40
+ 16777215
+
+
+
+ Distance to the new Axis.
+Can be negative for the reverse direction!
+
+
+ 10.0
+
+
+
+ -
+
+
+
+ 30
+ 0
+
+
+
+
+ 30
+ 16777215
+
+
+
+ The number of copies.
+
+
+ QAbstractSpinBox::NoButtons
+
+
+ false
+
+
+ 1
+
+
+ 10
+
+
+ 1
+
+
+ 1
+
+
+
+
@@ -1097,46 +1232,6 @@ End of the line.
-
-
-
- Create an Axis by intersect of 2 Planes.
-
-
- Axis=(Plane,Plane)
-
-
-
- Icons/WF_2PlanesAxis.svgIcons/WF_2PlanesAxis.svg
-
-
-
- 32
- 32
-
-
-
-
- -
-
-
- Create an Axis on a Plane by projection from anoher Axis.
-
-
- Axis=(Plane,Axis)
-
-
-
- Icons/WF_linePlaneAxis.svgIcons/WF_linePlaneAxis.svg
-
-
-
- 32
- 32
-
-
-
-
- -
Qt::Vertical
@@ -1159,31 +1254,8 @@ End of the line.
Axis 2/2
-
+
-
-
-
- Transform Line(s) in Sketch's Line(s) by projection onto the Sketch's Plane:
-- First select an existing Skecth;
-- Select as much as Lines needed;
-Then click on this button.
-
-
- Axis(es) to Sketch
-
-
-
- ../Icons/WF_2Sketch.svg../Icons/WF_2Sketch.svg
-
-
-
- 32
- 32
-
-
-
-
- -
-
@@ -1246,17 +1318,20 @@ in "Ori. Pref." TAB
- -
-
+
-
+
- Create 3 Axes at Base location of all selected Object(s).
+ Transform Line(s) in Sketch's Line(s) by projection onto the Sketch's Plane:
+- First select an existing Skecth;
+- Select as much as Lines needed;
+Then click on this button.
- Object(s) Base Axes
+ Axis(es) to Sketch
- Icons/WF_baseObjectsAxes.svgIcons/WF_baseObjectsAxes.svg
+ ../Icons/WF_2Sketch.svg../Icons/WF_2Sketch.svg
@@ -1267,6 +1342,26 @@ in "Ori. Pref." TAB
-
+
+
+ Create an Axis on a Plane by projection from anoher Axis.
+
+
+ Axis=(Plane,Axis)
+
+
+
+ Icons/WF_linePlaneAxis.svgIcons/WF_linePlaneAxis.svg
+
+
+
+ 32
+ 32
+
+
+
+
+ -
-
@@ -1285,7 +1380,7 @@ Wires can be:
Circle
Arc
Ellipse
-An object must also be seleted but before any Wire!
+An object must also be seleted but before any Wire to cut all his Edges!
NB: You can change the successive lines to be bicolor (red and white)
in "Ori. Pref." TAB
@@ -1336,6 +1431,144 @@ in "Ori. Pref." TAB
-
+
+
-
+
+
+ Axes=(Axis,Pt,dist):
+Create an Axis parallel to a given Axis, Point at a given distance.
+The Axis is created along the Plane defined by the given Axis and Point.
+- First select an Axis (or several Axes) and a Point
+(you can also select several points to define different Planes)
+- Second push this button
+
+NB:
+ - The distance to the Axis created can be defined first.
+Positive number in one direction and negative in the other one.
+The second number indicates the number of Axes to create.
+With option "Object copy" in "Ori. Pref." TAB
+ - If an Edge of a Cube is selected the Cube is duplicate with the corresponding
+Edge at the defined distance from the original.
+Several Edges of the cube can be selected.
+
+
+
+ Axes=(Axis,Pt,dist)
+
+
+
+ ../Icons/WF_distAxisAxis.svg../Icons/WF_distAxisAxis.svg
+
+
+
+ 32
+ 32
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 40
+ 0
+
+
+
+
+ 40
+ 16777215
+
+
+
+ Distance to the new Axis.
+Can be negative for the reverse direction!
+
+
+ 10.0
+
+
+
+ -
+
+
+
+ 30
+ 0
+
+
+
+
+ 30
+ 16777215
+
+
+
+ The number of copies.
+
+
+ QAbstractSpinBox::NoButtons
+
+
+ false
+
+
+ 1
+
+
+ 10
+
+
+ 1
+
+
+ 1
+
+
+
+
+
+ -
+
+
+ Create 3 Axes at Base location of all selected Object(s).
+
+
+ Object(s) Base Axes
+
+
+
+ Icons/WF_baseObjectsAxes.svgIcons/WF_baseObjectsAxes.svg
+
+
+
+ 32
+ 32
+
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+
+ 20
+ 40
+
+
+
+
+ -
Create a set of Lines on a Plane perpendicular to the view at location of 2 mouse clicks.
@@ -1357,18 +1590,89 @@ in "Ori. Pref." TAB
- -
-
-
- Qt::Vertical
+
-
+
+
+ Create an Axis by intersect of 2 Planes.
-
+
+ Axis=(Plane,Plane)
+
+
+
+ Icons/WF_2PlanesAxis.svgIcons/WF_2PlanesAxis.svg
+
+
- 20
- 40
+ 32
+ 32
-
+
+
+ -
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+ Enlarge(Axis):
+Extend an Axis at two extrema.
+- First select an Axis (or several Axes)
+- Second push this button
+
+NB:
+ - The percentage of the extension can be defined first.
+
+
+ Enlarge(Axis)
+
+
+
+ ../Icons/WF_enlargeLine.svg../Icons/WF_enlargeLine.svg
+
+
+
+ 32
+ 32
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 40
+ 0
+
+
+
+
+ 50
+ 16777215
+
+
+
+ Extension of the Line in percentage.
+
+
+ 50.0
+
+
+
+
@@ -1489,59 +1793,6 @@ with the given radius.
- -
-
-
- Qt::Vertical
-
-
-
- 20
- 40
-
-
-
-
- -
-
-
- Select 3 Points to create a Circle.
-
-
- Circle=(3 points)
-
-
-
- ../Icons/WF_3pointsCircle.svg../Icons/WF_3pointsCircle.svg
-
-
-
- 32
- 32
-
-
-
-
- -
-
-
- Select a center and 2 Points to create an Ellipse.
-
-
- Ellipse=(3 points)
-
-
-
- ../Icons/WF_3pointsEllipse.svg../Icons/WF_3pointsEllipse.svg
-
-
-
- 32
- 32
-
-
-
-
-
@@ -1563,28 +1814,30 @@ centered on the Axis and tangenting the Point.
-
-
-
-
-
- Icons/WF_plane.svgIcons/WF_plane.svg
-
-
- Plane
-
-
- -
-
+
-
+
+
+ Qt::Vertical
+
+
+
+ 20
+ 40
+
+
+
+
+ -
+
- Create a plane perpendicular to a Line and crossing a Point.
+ Select a center and 2 Points to create an Ellipse.
- Plane=(Point, _|Axis)
+ Ellipse=(3 points)
- Icons/WF_linePointPlane2.svgIcons/WF_linePointPlane2.svg
+ ../Icons/WF_3pointsEllipse.svg../Icons/WF_3pointsEllipse.svg
@@ -1594,10 +1847,54 @@ centered on the Axis and tangenting the Point.
- -
-
+
-
+
+
+ Select 3 Points to create a Circle.
+
+
+ Circle=(3 points)
+
+
+
+ ../Icons/WF_3pointsCircle.svg../Icons/WF_3pointsCircle.svg
+
+
+
+ 32
+ 32
+
+
+
+
+
+
+
+
+
+ Icons/WF_plane.svgIcons/WF_plane.svg
+
+
+ Plane 1/2
+
+
+ -
+
+
+ Qt::Vertical
+
+
+
+ 20
+ 40
+
+
+
+
+ -
+
-
-
+
0
@@ -1605,17 +1902,23 @@ centered on the Axis and tangenting the Point.
- Create a tanget Plane at click location of a Face.
-Click first in the view to select and object,
-then push the button,
-then click on a location on the selected object.
+ Click:
+Create a rectangular Plane perpendicular to the view at location of one mouse click.
+Define the width and the length of the Plane if needed.
+- Click first on the Button then click once on the View.
+- Click first on the Button then click once on top of one object of the View
+ to attach the plane at this object.
+- You can also select an already existing point first and click the button to attach the plane.
+
+NB: The plane width and length can be defined first.
+
- Face Tangent
+ Click
- ../Icons/WF_FaceTangent.svg../Icons/WF_FaceTangent.svg
+ ../Icons/WF_clickPlane.svg../Icons/WF_clickPlane.svg
@@ -1626,7 +1929,7 @@ then click on a location on the selected object.
-
-
+
0
@@ -1641,7 +1944,7 @@ then click on a location on the selected object.
- 60
+ 50
16777215
@@ -1654,7 +1957,7 @@ then click on a location on the selected object.
-
-
+
0
@@ -1669,7 +1972,7 @@ then click on a location on the selected object.
- 60
+ 50
16777215
@@ -1694,7 +1997,12 @@ then click on a location on the selected object.
- Create a Plane crossing a Line and perpendicular to a Plane.
+ Plane=(Plane, Axis):
+Create a Plane crossing a Line and perpendicular to a Plane.
+- First select a plane and a line NOT on the previous plane
+- Second push this button
+
+NB: The plane created can be rotated if a none null angle is defined first.
Plane=(Plane, Axis)
@@ -1732,7 +2040,7 @@ then click on a location on the selected object.
- Angle relative to the Plane (in degrees).
+ Angle of rotation of the created Plane (in degrees).
0.0
@@ -1741,19 +2049,287 @@ then click on a location on the selected object.
+ -
+
+
+ Plane=(Point, Axis):
+Create a plane crossing a Line and a Point.
+- First select a line and a point NOT on the previous line
+- Second push this button
+
+
+ Plane=(Point, Axis)
+
+
+
+ Icons/WF_linePointPlane.svgIcons/WF_linePointPlane.svg
+
+
+
+ 32
+ 32
+
+
+
+
+ -
+
+
+ Plane=(Point, _|Axis):
+Create a plane perpendicular to a Line and crossing a Point.
+- First select a line and a point NOT on the previous line
+- Second push this button
+
+
+ Plane=(Point, _|Axis)
+
+
+
+ Icons/WF_linePointPlane2.svgIcons/WF_linePointPlane2.svg
+
+
+
+ 32
+ 32
+
+
+
+
+ -
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+ Face Tangent:
+Create a tanget Plane at click location of a Face.
+- First click in the view to select and object,
+- Second push this button
+-Third click on a location on the selected object.
+
+NB: The plane width and length can be defined first.
+
+
+ Face Tangent
+
+
+
+ ../Icons/WF_FaceTangent.svg../Icons/WF_FaceTangent.svg
+
+
+
+ 32
+ 32
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 40
+ 0
+
+
+
+
+ 50
+ 16777215
+
+
+
+ Length of the Plane.
+
+
+ 10.0
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 40
+ 0
+
+
+
+
+ 50
+ 16777215
+
+
+
+ Width of the Plane.
+
+
+ 10.0
+
+
+
+
+
+ -
+
+
+ Plane=(3 Points):
+Create a Plane crossing 3 Points.
+- First select 3 different points
+- Second push this button
+
+
+ Plane=(3 Points)
+
+
+
+ Icons/WF_threePointsPlane.svgIcons/WF_threePointsPlane.svg
+
+
+
+ 32
+ 32
+
+
+
+
+ -
+
+
-
+
+
+ Plane=(Plane,dist):
+Create a Plane parallel to a Plane at a given distance.
+- First select a plane or several Planes
+- Second push this button
+
+NB:
+ - The distance to the plane created can be defined first.
+Positive number in one direction and negative in the other one.
+The second number indicates the number of planes to create.
+With option "Object copy" in "Ori. Pref." TAB
+ - If a Face of a Cube is selected the Cube is duplicate with the
+corresponding Face at the defined distance from the original.
+Several Faces of the cube can be selected.
+
+
+ Plane=(Plane,dist)
+
+
+
+ ../Icons/WF_distPlanePlane.svg../Icons/WF_distPlanePlane.svg
+
+
+
+ 32
+ 32
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 40
+ 0
+
+
+
+
+ 40
+ 16777215
+
+
+
+ Distance to the new plane.
+Can be negative for the reverse direction!
+
+
+ 10.0
+
+
+
+ -
+
+
+
+ 30
+ 0
+
+
+
+
+ 30
+ 16777215
+
+
+
+ The number of copies.
+
+
+ QAbstractSpinBox::NoButtons
+
+
+ false
+
+
+ 1
+
+
+ 10
+
+
+ 1
+
+
+ 1
+
+
+
+
+
-
-
- Create a plane crossing a Point and parallel to a Plane.
+ Plane=(Point, Plane):
+Create a plane crossing a Point and parallel to a Plane.
+- First select a plane and a point NOT on the previous plane
+- Second push this button
+
+NB: you can enlarge the created new plane by setting first an extension length.
Plane=(Point, Plane)
- Icons/WF_pointPlanePoint.svgIcons/WF_pointPlanePoint.svg
+ ../Icons/WF_pointPlanePlane.svg../Icons/WF_pointPlanePlane.svg
@@ -1778,7 +2354,7 @@ then click on a location on the selected object.
- Distance for the extensions of the new Plane compared to initial one.
+ Length for the extensions of the new Plane compared to initial one.
0.0
@@ -1787,30 +2363,37 @@ then click on a location on the selected object.
- -
-
-
- Create a Plane crossing 3 Points.
+
+
+
+
+
+ ../Icons/WF_plane.svg../Icons/WF_plane.svg
+
+
+ Plane 2/2
+
+
+ -
+
+
+ Qt::Vertical
-
- Three Points Plane
-
-
-
- Icons/WF_threePointsPlane.svgIcons/WF_threePointsPlane.svg
-
-
+
- 32
- 32
+ 20
+ 40
-
+
- -
+
-
- Create 3 Planes (XY, XZ and YZ) at center location of all selected Object(s).
+ Object(s) Center Planes:
+Create 3 Planes (XY, XZ and YZ) at center location of all selected Object(s).
+- First select one or severl objects
+- Second push this button
Object(s) Center Planes
@@ -1827,31 +2410,31 @@ then click on a location on the selected object.
- -
-
+
-
+
-
-
+
-
+
0
0
- Create a rectangular Plane perpendicular to the view at location of one mouse click.
-Define the width and the length of the Plane if needed.
-- Click first on the Button then click once on the View.
-- Click first on the Button then click once on top of one object of the View
- to attach the plane at the object.
-- You can also select an already existing point first and click the button to attach the plane.
-
+ Enlarge(Plane):
+Extend a Plane in each dimension.
+- First select a Plane (or several Planes)
+- Second push this button
+
+NB:
+ - The percentage of the extension can be defined first.
- Click
+ Enlarge(Plane)
- ../Icons/WF_clickPlane.svg../Icons/WF_clickPlane.svg
+ ../Icons/WF_enlargePlane.svg../Icons/WF_enlargePlane.svg
@@ -1862,7 +2445,7 @@ Define the width and the length of the Plane if needed.
-
-
+
0
@@ -1877,81 +2460,20 @@ Define the width and the length of the Plane if needed.
- 60
+ 50
16777215
- Length of the Plane.
+ Extension of the Plane in each dimension in percentage.
- 10.0
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 40
- 0
-
-
-
-
- 60
- 16777215
-
-
-
- Width of the Plane.
-
-
- 10.0
+ 50.0
- -
-
-
- Create a plane crossing a Line and a Point.
-
-
- Plane=(Point, Axis)
-
-
-
- Icons/WF_linePointPlane.svgIcons/WF_linePointPlane.svg
-
-
-
- 32
- 32
-
-
-
-
- -
-
-
- Qt::Vertical
-
-
-
- 20
- 40
-
-
-
-
@@ -1972,6 +2494,22 @@ Define the width and the length of the Plane if needed.
Object
+ -
+
+
+ QFrame::Plain
+
+
+ 4
+
+
+ 0
+
+
+ Qt::Horizontal
+
+
+
-
-
@@ -2146,6 +2684,12 @@ Negative value will reverse the direction from Ref. Point
-
+
+
+ 16777215
+ 16777215
+
+
Create bounding boxes around each of selected object(s).
@@ -2179,6 +2723,12 @@ Negative value will reverse the direction from Ref. Point
-
+
+
+ 16777215
+ 16777215
+
+
Create one bounding box around all of selected object(s).
@@ -2197,22 +2747,6 @@ Negative value will reverse the direction from Ref. Point
- -
-
-
- QFrame::Plain
-
-
- 4
-
-
- 0
-
-
- Qt::Horizontal
-
-
-
@@ -2232,6 +2766,12 @@ Negative value will reverse the direction from Ref. Point
0
+
+
+ 16777215
+ 16777215
+
+
Set the current view perpendicular to the selected Face,
or aligned to the selected Axis,
@@ -2276,255 +2816,430 @@ ReClick with same selection, will reverse the direction.
-
- 0
+ 1
Cutting
-
-
-
- 9
- 9
- 190
- 369
-
-
-
- QFrame::StyledPanel
-
-
- QFrame::Raised
-
-
-
-
-
-
- Object
-
-
-
-
-
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+
+ 220
+ 16777215
+
+
+
+ QFrame::StyledPanel
+
+
+ QFrame::Raised
+
+
+
-
+
+
+ Object
+
+
-
-
-
-
- 130
- 31
-
-
-
-
- 250
- 40
-
-
-
- Select the Object to cut:
-First Click on the object in the view
-and push this button to accept...
-
-
- Select Object
-
-
-
- -
-
-
- false
-
-
-
- 0
- 0
-
-
-
- true
-
-
-
- -
-
-
- false
-
-
-
- 130
- 31
-
-
-
-
- 250
- 40
-
-
-
- Select the Line to cut the Object along:
-First Click on the line/edge in the view
-and push this button to accept...
-
-
- Select Cut Line
-
-
-
- -
-
-
- false
-
-
-
- 0
- 0
-
-
-
- true
-
-
-
- -
-
-
- false
-
-
-
- 130
- 31
-
-
-
-
- 250
- 40
-
-
-
- Select the reference Plane to cut the Object from:
-First Click on the plane in the view
-and push this button to accept...
-(Note that the Angle is calculated from this Plane)
-
-
- Select Ref. Plane
-
-
-
- -
-
-
- false
-
-
-
- 0
- 0
-
-
-
- true
-
-
-
-
-
- -
-
-
-
-
+
-
-
-
+
+
- 70
- 16777215
+ 130
+ 31
+
+
+ 250
+ 40
+
+
+
+ Select the Object to cut:
+First Click on the object in the view
+and push this button to accept...
+
- Angle
+ Select Object
- -
-
+
-
+
+
+ false
+
0
0
+
+ true
+
+
+
+ -
+
+
+ false
+
- 0
- 0
+ 130
+ 31
- 50
- 16777215
+ 250
+ 40
- Angle of cutting relative to the Reference Plane (in degrees).
+ Select the Line to cut the Object along:
+First Click on the line/edge in the view
+and push this button to accept...
- 0.0
+ Select Cut Line
-
-
- -
-
-
-
-
-
-
- 70
- 16777215
-
+
-
+
+
+ false
-
- Thickness
-
-
-
- -
-
0
0
+
+ true
+
+
+
+ -
+
+
+ false
+
+
+
+ 130
+ 31
+
+
- 50
- 16777215
+ 250
+ 40
- Thickness of the Cut.
+ Select the reference Plane to cut the Object from:
+First Click on the plane in the view
+and push this button to accept...
+(Note that the Angle is calculated from this Plane)
- 0.0
+ Select Ref. Plane
+
+
+
+ -
+
+
+ false
+
+
+
+ 0
+ 0
+
+
+
+ true
+ -
+
+
-
+
+
-
+
+
+
+ 70
+ 16777215
+
+
+
+ Angle
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 0
+
+
+
+
+ 50
+ 16777215
+
+
+
+ Angle of cutting relative to the Reference Plane (in degrees).
+
+
+ 0.0
+
+
+
+
+
+ -
+
+
-
+
+
+
+ 70
+ 16777215
+
+
+
+ Thickness
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 50
+ 16777215
+
+
+
+ Thickness of the Cut.
+
+
+ 0.0
+
+
+
+
+
+ -
+
+
-
+
+
+
+ 40
+ 0
+
+
+
+
+ 60
+ 16777215
+
+
+
+ Reset
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 18
+ 20
+
+
+
+
+ -
+
+
+ false
+
+
+
+ 50
+ 16777215
+
+
+
+ Cut an object by selecting a Line cut, a Plane and an Angle regarding the Plane.
+
+
+ Apply
+
+
+
+ 32
+ 32
+
+
+
+
+
+
+
+
-
-
+
+
+ Qt::Vertical
+
+
+
+ 20
+ 40
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Rotation
+
+
+ -
+
+
+
+ 220
+ 16777215
+
+
+
+ QFrame::StyledPanel
+
+
+ QFrame::Raised
+
+
+
-
+
+
+ Select Object(s)
+
+
+
+ -
+
+
+
+ 150
+ 67
+
+
+
+
+ 16777215
+ 16777215
+
+
+
+ Angle of rotation :
+
+
+ false
+
+
+
-
+
+
+
+ 0
+ 39
+
+
+
+
+ 120
+ 16777215
+
+
+
+ -180
+
+
+ 180
+
+
+ Qt::Horizontal
+
+
+ QSlider::TicksBothSides
+
+
+ 20
+
+
+
+ -
+
-
-
+
+
+
+ 0
+ 0
+
+
40
@@ -2538,57 +3253,783 @@ and push this button to accept...
- Reset
+ 0.0
+
+
+ 32769
-
-
-
- Qt::Horizontal
-
-
-
- 18
- 20
-
-
-
-
- -
-
-
- false
-
+
- 50
+ 60
16777215
-
- Cut an object by selecting a Line cut, a Plane and an Angle regarding the Plane.
-
- Apply
-
-
-
- 32
- 32
-
+ (deg)
-
-
-
-
-
-
+
+
+ -
+
+
-
+
+
+
+ 40
+ 0
+
+
+
+
+ 60
+ 16777215
+
+
+
+ Reset
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 20
+ 20
+
+
+
+
+ -
+
+
+
+ 40
+ 0
+
+
+
+
+ 60
+ 16777215
+
+
+
+ Apply
+
+
+
+
+
+ -
+
+
+ QTabWidget::North
+
+
+ 0
+
+
+
+
+ ../Icons/WF_rotationAxis.svg../Icons/WF_rotationAxis.svg
+
+
+ Axis
+
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+
+ 80
+ 0
+
+
+
+
+ 130
+ 16777215
+
+
+
+ Qt::LeftToRight
+
+
+ 0
+
+
-
+
+ X
+
+
+ -
+
+ Y
+
+
+ -
+
+ Z
+
+
+ -
+
+ To select
+
+
+
+
+ -
+
+
+ false
+
+
+
+ 40
+ 0
+
+
+
+
+ 80
+ 16777215
+
+
+
+ Select
+
+
+
+
+
+
+
+
+ ../Icons/WF_rotationPoint.svg../Icons/WF_rotationPoint.svg
+
+
+ Center
+
+
+ -
+
+
+ true
+
+
+
+ 0
+ 0
+
+
+
+
+ 120
+ 0
+
+
+
+
+ 130
+ 16777215
+
+
+
+ 2
+
+
+ QComboBox::AdjustToContentsOnFirstShow
+
+
-
+
+ Origin
+
+
+ -
+
+ Base Obj.
+
+
+ -
+
+ Center Obj.(s)
+
+
+ -
+
+ To select
+
+
+
+
+ -
+
+
+ false
+
+
+
+ 40
+ 0
+
+
+
+
+ 80
+ 16777215
+
+
+
+ Select
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+
+ 20
+ 40
+
+
+
+
+
+
+
+
+ Translation
+
+
+ -
+
+
+
+ 220
+ 16777215
+
+
+
+ QFrame::StyledPanel
+
+
+ QFrame::Raised
+
+
+
-
+
+
+ Select Object(s)
+
+
+
+ -
+
+
+ QFrame::StyledPanel
+
+
+ QFrame::Raised
+
+
+
-
+
+
+ Starting Point (Blue) :
+
+
+ false
+
+
+
-
+
+
+ true
+
+
+
+ 0
+ 0
+
+
+
+
+ 91
+ 0
+
+
+
+
+ 150
+ 16777215
+
+
+
+ 3
+
+
+ QComboBox::AdjustToContentsOnFirstShow
+
+
-
+
+ Origin
+
+
+ -
+
+ Base Obj.
+
+
+ -
+
+ Center Obj.(s)
+
+
+ -
+
+ To select
+
+
+ -
+
+ To define
+
+
+
+
+ -
+
+
+ true
+
+
+
+ 50
+ 0
+
+
+
+
+ 150
+ 16777215
+
+
+
+ Select
+
+
+
+ -
+
+
-
+
+
+
+
+
+
+ ../Icons/WF_startPoint.svg../Icons/WF_startPoint.svg
+
+
+
+ 20
+ 20
+
+
+
+ false
+
+
+ true
+
+
+
+ -
+
+
+ false
+
+
+
+ 50
+ 16777215
+
+
+
+ 0.0
+
+
+
+ -
+
+
+ false
+
+
+
+ 50
+ 16777215
+
+
+
+ 0.0
+
+
+
+ -
+
+
+ false
+
+
+
+ 50
+ 16777215
+
+
+
+ 0.0
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
-
+
+
+ Toggle this to copy the object during the Translation.
+
+
+ Obj. Copy
+
+
+
+ -
+
+
+
+ 40
+ 0
+
+
+
+
+ 50
+ 16777215
+
+
+
+ The number of copies.
+
+
+ QAbstractSpinBox::NoButtons
+
+
+ false
+
+
+ 1
+
+
+ 10
+
+
+ 1
+
+
+ 1
+
+
+
+
+
+ -
+
+
+ QFrame::StyledPanel
+
+
+ QFrame::Raised
+
+
+
-
+
+
+ Ending Point(s) (White) :
+
+
+ false
+
+
+
-
+
+
+ true
+
+
+
+ 0
+ 0
+
+
+
+
+ 91
+ 0
+
+
+
+
+ 150
+ 16777215
+
+
+
+ 3
+
+
+ QComboBox::AdjustToContentsOnFirstShow
+
+
-
+
+ Origin
+
+
+ -
+
+ Base Obj.
+
+
+ -
+
+ Center Obj.(s)
+
+
+ -
+
+ To select
+
+
+ -
+
+ To define
+
+
+
+
+ -
+
+
+ true
+
+
+
+ 50
+ 0
+
+
+
+
+ 150
+ 16777215
+
+
+
+ Select
+
+
+
+ -
+
+
-
+
+
+
+
+
+
+ ../Icons/WF_endPoint.svg../Icons/WF_endPoint.svg
+
+
+
+ 20
+ 20
+
+
+
+ false
+
+
+ true
+
+
+
+ -
+
+
+ false
+
+
+
+ 50
+ 16777215
+
+
+
+ 0.0
+
+
+
+ -
+
+
+ false
+
+
+
+ 50
+ 16777215
+
+
+
+ 0.0
+
+
+
+ -
+
+
+ false
+
+
+
+ 50
+ 16777215
+
+
+
+ 0.0
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
-
+
+
+
+ 40
+ 0
+
+
+
+
+ 60
+ 16777215
+
+
+
+ Reset
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 20
+ 20
+
+
+
+
+ -
+
+
+
+ 40
+ 0
+
+
+
+
+ 60
+ 16777215
+
+
+
+ Apply
+
+
+
+
+
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+
+ 20
+ 40
+
+
+
+
+
diff --git a/WorkFeature/WF_ObjRot_2015.py b/WorkFeature/WF_ObjRot_2015.py
new file mode 100644
index 0000000..4a18767
--- /dev/null
+++ b/WorkFeature/WF_ObjRot_2015.py
@@ -0,0 +1,1326 @@
+# -*- coding: utf-8 -*-
+# First two lines to be able to launch with python
+import sys
+# change this by your own FreeCAD lib path import FreeCAD
+if not sys.path.__contains__("/usr/lib/freecad/lib"):
+ sys.path.append("/usr/lib/freecad/lib")
+
+import ObjRotGui_2015 as ObjRotGui
+import MY_Functions as func
+global myRelease
+myRelease = "2105_02"
+
+import os.path
+import math
+
+import FreeCAD as App
+import FreeCADGui as Gui
+from pivy.coin import *
+import Part
+import Draft
+from FreeCAD import Base
+
+from PySide import QtCore, QtGui
+
+####################################################################################
+# Functions
+def print_attributes(obj, doc=False):
+ """ Print all the attributes of this object and their value """
+ __m_type = obj.__class__.__name__
+ print '* Attributes print for '+ str(__m_type) + '*'
+ for names in dir(obj):
+ attr = getattr(obj,names)
+ if not callable(attr):
+ if doc:
+ print names,':',attr
+ else:
+ print names
+
+
+def print_methods(obj, doc=False):
+ """ Print all the methods of this object and their doc string"""
+ __m_type = obj.__class__.__name__
+ print '\n* Methods print for '+ str(__m_type) + '*'
+ for names in dir(obj):
+ attr = getattr(obj,names)
+ if callable(attr):
+ if doc:
+ print names,':',attr.__doc__
+ else:
+ print names
+
+
+def plot_point(Vector_point, part= "Part::Feature", name= "CenterObjects", grp="Rot_Trans"):
+ if not(App.ActiveDocument.getObject( grp )):
+ App.ActiveDocument.addObject("App::DocumentObjectGroup", grp)
+ point = App.ActiveDocument.addObject( part, name )
+ point.Shape = Part.Vertex( Vector_point )
+ App.ActiveDocument.getObject( grp ).addObject(point)
+ point_User_Name = point.Label
+ Gui.ActiveDocument.getObject( point_User_Name ).PointColor = (1.00,0.67,0.00)
+ Gui.ActiveDocument.getObject( point_User_Name ).PointSize = 10.00
+ return point_User_Name, point
+
+def plot_axis(Vector_A, Vector_B, part= "Part::Feature", name= "Line", grp="Rot_Trans"):
+ if not(App.ActiveDocument.getObject( grp )):
+ App.ActiveDocument.addObject("App::DocumentObjectGroup", grp)
+ axis = App.ActiveDocument.addObject(part, name)
+ axis.Shape = Part.makeLine(Vector_A, Vector_B)
+ App.ActiveDocument.getObject( grp ).addObject(axis)
+ axis_User_Name = axis.Label
+ Gui.ActiveDocument.getObject(axis_User_Name).LineColor = (1.00,0.67,0.00)
+ Gui.ActiveDocument.getObject(axis_User_Name).PointColor = (1.00,0.67,0.00)
+ return axis_User_Name, axis
+
+def plot_circle(Radius, Position, Direction, part= "Part::Feature", name= "Line", grp="Rot_Trans"):
+ if not(App.ActiveDocument.getObject( grp )):
+ App.ActiveDocument.addObject("App::DocumentObjectGroup", grp)
+ circle = App.ActiveDocument.addObject(part, name)
+ circle.Shape = Part.makeCircle(Radius, Position, Direction)
+ App.ActiveDocument.getObject( grp ).addObject(circle)
+ circle_User_Name = circle.Label
+ Gui.ActiveDocument.getObject(circle_User_Name).LineColor = (1.00,0.67,0.00)
+ return circle_User_Name, circle
+
+
+#Print a message on console.
+def print_msg(message):
+ """ Print a message on console.
+ """
+ print message
+ App.Console.PrintMessage( message + "\n")
+
+
+def minMaxObjectsLimits(objs,info=0):
+ """ Return the min and max limits along the 3 Axis for all selected objects
+ """
+ xmax = xmin = ymax = ymin = zmax = zmin = 0
+ if objs == None:
+ print_msg("ERROR : objs=None, leaving minMaxObjectsLimits()")
+ return xmax, xmin, ymax, ymin, zmax, zmin
+
+ m_objs = objs
+ m_num = len(m_objs)
+ if m_num < 1:
+ print_msg("ERROR : len(m_objs) <1 , leaving minMaxObjectsLimits()")
+ return xmax, xmin, ymax, ymin, zmax, zmin
+
+ import sys
+ if sys.version < '3.0.0':
+ max_val = sys.maxint
+ min_val = -sys.maxint - 1
+ else:# for python 3.0 use sys.maxsize
+ max_val = sys.maxsize
+ min_val = -sys.maxsize - 1
+ xmin = ymin = zmin = max_val
+ xmax = ymax = zmax = min_val
+ #print_msg(str(xmin))
+ #print_msg(str(xmax))
+ m_doc=App.activeDocument()
+
+ for m_obj in m_objs:
+ if hasattr(m_obj, 'TypeId'):
+ m_type = m_obj.TypeId
+ else:
+ m_type = m_obj.Type
+ #pm_type = m_obj.TypeId
+ if info != 0:
+ print_msg("m_obj : " + str(m_obj))
+ #print_msg("m_obj.Type : " + str(m_obj.Type))
+ #print_msg("m_obj.TypeId : " + str(m_obj.TypeId))
+ print_msg("m_obj.TypeId : " + str(m_type))
+
+ #if m_obj.TypeId[:6] == "Length":
+ if m_type[:6] == "Length":
+ if info != 0:
+ print_msg("Found a Length object!")
+ box = m_obj.Shape.BoundBox
+ #elif m_obj.TypeId[:4] == "Mesh":
+ elif m_type[:4] == "Mesh":
+ if info != 0:
+ print_msg("Found a Mesh object!")
+ box = m_obj.Mesh.BoundBox
+ #elif m_obj.TypeId[:6] == "Points":
+ elif m_type[:6] == "Points":
+ if info != 0:
+ print_msg("Found a Points object!")
+ box = m_obj.Points.BoundBox
+ #elif m_obj.TypeId[:4] == "Part":
+ elif m_type[:4] == "Part":
+ if info != 0:
+ print_msg("Found a Part object!")
+ box = m_obj.Shape.BoundBox
+ #elif m_obj.TypeId[:6] == "Sketch":
+ elif m_type[:6] == "Sketch":
+ if info != 0:
+ print_msg("Found a Sketch object!")
+ #box = Draft.draftify(m_obj,delete=False).Shape.BoundBox
+ m_wire = Draft.draftify(m_obj,delete=False)
+ if info != 0:
+ print_msg("m_wire = " + str(m_wire))
+ if type(m_wire) is list:
+ for m_sub_wire in m_wire:
+ if info != 0:
+ print_msg("m_sub_wire = " + str(m_sub_wire))
+ box = m_sub_wire.Shape.BoundBox
+ xmax = max(xmax, box.XMax)
+ xmin = min(xmin, box.XMin)
+ ymax = max(ymax, box.YMax)
+ ymin = min(ymin, box.YMin)
+ zmax = max(zmax, box.ZMax)
+ zmin = min(zmin, box.ZMin)
+ App.getDocument(str(m_doc.Name)).removeObject(str(m_sub_wire.Label))
+ else:
+ box = m_wire.Shape.BoundBox
+ App.getDocument(str(m_doc.Name)).removeObject(str(m_wire.Label))
+ else:
+ continue
+ if info != 0:
+ print_msg("box = " + str(box))
+ xmax = max(xmax, box.XMax)
+ xmin = min(xmin, box.XMin)
+ ymax = max(ymax, box.YMax)
+ ymin = min(ymin, box.YMin)
+ zmax = max(zmax, box.ZMax)
+ zmin = min(zmin, box.ZMin)
+ if info != 0:
+ print_msg("Limits of all objects selected are :")
+ print_msg("xmax =" + str(xmax) + ", "
+ "xmin =" + str(xmin) + ", "
+ "ymax =" + str(ymax) + ", "
+ "ymin =" + str(ymin) + ", "
+ "zmax =" + str(zmax) + ", "
+ "zmin =" + str(zmin))
+ return xmax, xmin, ymax, ymin, zmax, zmin
+
+####################################################################################
+# Classes
+class Translation():
+ """ A translation object
+ """
+ def __init__(self, gui):
+ self.msg = 1
+ self.applied = False
+ self.m_num_obj = 0
+ self.m_selEx = None
+ self.m_objs = None
+ self.m_objs_dup = []
+ self.m_transp_dup = []
+ self.m_objNames = None
+ self.placement0 = []
+ self.placement1 = []
+ self.names = []
+ self.transparency = []
+ self.center = None
+ self.base = None
+ self.origin = App.Vector(0,0,0)
+ self.gui = gui
+ self.start = self.origin
+ self.end = []
+ self.m_num_end = 0
+ self.end.append(self.origin)
+ self.but_select = self.gui.ObjTrans_button_select
+ self.but_start = self.gui.ObjTrans_button_select_start
+ self.but_end = self.gui.ObjTrans_button_select_end
+
+ self.but_reset = self.gui.ObjTrans_button_reset
+ self.but_apply = self.gui.ObjTrans_button_apply
+
+ self.comb_start = self.gui.ObjTrans_comboBox_start
+ self.comb_end = self.gui.ObjTrans_comboBox_end
+ self.start_x = self.gui.ObjTrans_start_x
+ self.start_y = self.gui.ObjTrans_start_y
+ self.start_z = self.gui.ObjTrans_start_z
+ self.end_x = self.gui.ObjTrans_end_x
+ self.end_y = self.gui.ObjTrans_end_y
+ self.end_z = self.gui.ObjTrans_end_z
+ self.dupli = self.gui.ObjTrans_duplicate
+ self.dup_num = self.gui.ObjTrans_spin
+
+
+ self.valid_start = { "Origin" : "origin",
+ "Base Obj." : "base",
+ "Center Obj.(s)" : "center",
+ "To select" : "select",
+ "To define" : "define",
+ }
+
+ self.visuObjects = []
+
+ self.duplicate = False
+ self.m_num_cpy = 1
+ self.dup_num.setValue(self.m_num_cpy)
+ self.dup_num.setEnabled(self.duplicate)
+ self.dupli.setCheckState(QtCore.Qt.Unchecked)
+
+ self.enable(False)
+
+
+ def enable(self, flag=True):
+ """ Enable or not most of the buttons.
+ """
+ self.comb_start.setEnabled(flag)
+ self.but_start.setEnabled(flag)
+ self.comb_end.setEnabled(flag)
+ self.but_end.setEnabled(flag)
+ self.dupli.setEnabled(flag)
+ self.but_reset.setEnabled(flag)
+ self.but_apply.setEnabled(flag)
+
+
+ def setEnabledStartInput(self, flag=True):
+ """ Enable or not the input boxes for start point.
+ """
+ self.start_x.setEnabled(flag)
+ self.start_y.setEnabled(flag)
+ self.start_z.setEnabled(flag)
+
+
+ def setEnabledEndInput(self, flag=True):
+ """ Enable or not the input boxes for end point.
+ """
+ self.end_x.setEnabled(flag)
+ self.end_y.setEnabled(flag)
+ self.end_z.setEnabled(flag)
+
+
+ def numberCopies(self,value):
+ """ Respond to the change in number of part value from the spin box.
+ """
+ try:
+ # First we check if a valid number have been entered
+ if str(value) == '-':
+ return
+ self.m_num_cpy = int(value)
+ except ValueError:
+ func. printError_msg("Number must be valid !")
+
+ if self.msg != 0:
+ func.print_msg("New copy number is :" + str(self.m_num_cpy))
+
+ if self.m_num_obj >= 1 and self.m_num_cpy >= 1:
+ self.reset()
+ self.preview()
+
+
+ def copyFlag(self, flag):
+ """ Respond to the change of duplicate flag.
+ """
+ if self.msg != 0:
+ func.print_msg("copyFlag !")
+ if flag == False:
+ self.m_num_cpy = 1
+ self.dup_num.setValue(self.m_num_cpy)
+ self.duplicate = flag
+ self.dup_num.setEnabled(self.duplicate)
+
+ if self.m_num_obj >= 1 and self.m_num_cpy >= 1:
+ self.reset()
+ self.preview()
+
+
+ def selection(self):
+ """ Check if one object at least is selected.
+ """
+ if self.m_num_obj < 1:
+ func.printError_msg("Select at least one object and click on 'Select Object(s)' button!")
+ return False
+ return True
+
+
+ def cleanDuplication(self):
+ """ Clean the list of Duplicated objects.
+ """
+ if self.msg != 0:
+ func.print_msg("cleanDuplication !")
+
+ for m_objdup in self.m_objs_dup:
+ if self.msg != 0:
+ func.print_msg("Object duplique : " + str(m_objdup))
+ App.getDocument(str(App.activeDocument().Name)).removeObject(m_objdup.Name)
+ del self.m_objs_dup[:]
+ del self.m_transp_dup[:]
+
+
+ def resetDuplication(self):
+ """ Reset the list of Duplicated objects.
+ """
+ if self.msg != 0:
+ func.print_msg("resetDuplication !")
+
+ self.cleanDuplication()
+
+ self.duplicate = False
+ self.m_num_cpy = 1
+ self.dup_num.setValue(self.m_num_cpy)
+ self.dup_num.setEnabled(self.duplicate)
+ self.dupli.setCheckState(QtCore.Qt.Unchecked)
+
+
+ def initialize(self):
+ """ Store a copy of original placements for all selected objects
+ into internal placement lists.
+ """
+ if self.msg != 0:
+ func.print_msg("initialize !")
+
+ if not(App.ActiveDocument.getObject("Rot_Trans")):
+ try:
+ App.ActiveDocument.addObject("App::DocumentObjectGroup","Rot_Trans")
+ except:
+ printError_msg("Could not Create 'Rot_Trans' Objects Group!")
+
+ # Mimic behavior of toggle button
+ # Here we have at least an existing object selected and we clean and unselect
+ if self.m_num_obj >= 1:
+ #self.set_zero()
+ if not self.applied:
+ self.reset()
+ self.m_num_obj=0
+ button_text = "Select Object(s)"
+ self.but_select.setText(QtGui.QApplication.translate("Form", button_text, None, QtGui.QApplication.UnicodeUTF8))
+ self.enable(False)
+ self.resetDuplication()
+ for m_i in range(len(self.names)):
+ Gui.ActiveDocument.getObject( self.names[m_i]).Transparency = self.transparency[m_i]
+ self.removeVisu()
+ del self.names[:]
+ del self.end[:]
+ return
+
+ # Here is the normal entrance after objects selection
+ self.m_num_obj=0
+ # Get the selected Objects
+ self.m_num_obj, self.m_selEx, self.m_objs, self.m_objNames = func.get_InfoObjects(info=0, printError=True)
+
+ # Houps! nothing is selected
+ if self.m_num_obj < 1:
+ #self.set_zero()
+ #self.reset()
+ self.m_num_obj=0
+ button_text = "Select Object(s)"
+ self.but_select.setText(QtGui.QApplication.translate("Form", button_text, None, QtGui.QApplication.UnicodeUTF8))
+ self.enable(False)
+ self.resetDuplication()
+ for m_i in range(len(self.names)):
+ Gui.ActiveDocument.getObject( self.names[m_i]).Transparency = self.transparency[m_i]
+ self.removeVisu()
+ del self.names[:]
+ del self.end[:]
+ return
+
+ # Ok some objects are selected let's go
+ self.applied = False
+ del self.placement0[:]
+ del self.placement1[:]
+ del self.transparency[:]
+ del self.names[:]
+ del self.end[:]
+ self.m_num_end = 0
+
+ button_text = str(self.m_num_obj) + " Object(s) selected"
+ self.enable(True)
+ self.but_select.setText(QtGui.QApplication.translate("Form", button_text, None, QtGui.QApplication.UnicodeUTF8))
+
+ # get placement and transparency for all objects
+ # Placement [Pos=(0,0,0), Yaw-Pitch-Roll=(0,0,0)]
+ for m_i in range(self.m_num_obj):
+ self.placement0.append(App.Placement(self.m_objs[m_i].Placement))
+ self.placement1.append(App.Placement(self.m_objs[m_i].Placement))
+ self.names.append(self.m_objNames[m_i])
+ self.transparency.append(Gui.ActiveDocument.getObject( self.names[m_i] ).Transparency)
+ # set new transparency
+ Gui.ActiveDocument.getObject( self.names[m_i] ).Transparency = 75
+
+ if self.msg != 0:
+ func.print_msg("self.placement0[" + str(m_i) + "]=" + str(self.placement0[m_i] ))
+ func.print_msg("self.placement0[" + str(m_i) + "].Base=" + str(self.placement0[m_i].Base ))
+ func.print_msg("self.placement0[" + str(m_i) + "].Rotation=" + str(self.placement0[m_i].Rotation ))
+
+ self.base = self.placement0[0].Base
+ self.center = func.centerObjectsPoint(self.m_objs, info=0)
+ self.origin = App.Vector(0,0,0)
+
+ self.start = None
+ self.comb_start.setCurrentIndex(3)
+ self.comb_end.setCurrentIndex(3)
+
+
+ self.visu()
+
+ button_text = "Select"
+ self.but_start.setText(QtGui.QApplication.translate("Form", button_text, None, QtGui.QApplication.UnicodeUTF8))
+ self.but_end.setText(QtGui.QApplication.translate("Form", button_text, None, QtGui.QApplication.UnicodeUTF8))
+ self.but_start.setEnabled(True)
+ self.but_end.setEnabled(True)
+
+ self.setEnabledStartInput(False)
+ self.setEnabledEndInput(False)
+ Gui.Selection.clearSelection()
+
+
+ def removeVisu(self):
+ """ Remove the visualization object.
+ """
+ if self.msg != 0:
+ func.print_msg("removeVisu !")
+
+ for i in range(len(self.visuObjects)):
+ App.getDocument(str(App.activeDocument().Name)).removeObject(self.visuObjects[i])
+ del self.visuObjects[:]
+
+
+ def visu(self):
+ """ Set the visualization objects.
+ """
+ if self.msg != 0:
+ func.print_msg("Visu !")
+
+ m_start = self.start
+ m_base = self.base
+ m_center = self.center
+
+ self.removeVisu()
+ if m_start != None:
+ point_User_Name, point = plot_point(m_start, name= "Start", grp="Rot_Trans")
+ Gui.ActiveDocument.getObject( point_User_Name ).PointColor = (0.0,0.0,1.0)
+ Gui.ActiveDocument.getObject( point_User_Name ).PointSize = 10.00
+ self.visuObjects.append(point_User_Name)
+ if m_base != None:
+ point_User_Name, point = plot_point(m_base, name= "Base", grp="Rot_Trans")
+ Gui.ActiveDocument.getObject( point_User_Name ).PointColor = (1.0,0.0,0.0)
+ Gui.ActiveDocument.getObject( point_User_Name ).PointSize = 3.00
+ self.visuObjects.append(point_User_Name)
+ if m_center != None:
+ point_User_Name, point = plot_point(m_center, name= "Base", grp="Rot_Trans")
+ Gui.ActiveDocument.getObject( point_User_Name ).PointColor = (0.0,1.0,0.0)
+ Gui.ActiveDocument.getObject( point_User_Name ).PointSize = 3.00
+ self.visuObjects.append(point_User_Name)
+ if self.m_num_end != 0:
+ for m_i_end in range(self.m_num_end):
+ point_User_Name, point = plot_point(self.end[m_i_end], name= "End", grp="Rot_Trans")
+ Gui.ActiveDocument.getObject( point_User_Name ).PointColor = (1.0,1.0,1.0)
+ Gui.ActiveDocument.getObject( point_User_Name ).PointSize = 10.00
+ self.visuObjects.append(point_User_Name)
+
+ if self.msg != 0:
+ self.info()
+
+
+ def info(self):
+ func.print_msg("translation start = " + str(self.start))
+ func.print_msg("translation end = " + str(self.end))
+
+
+ def select_start(self):
+ """ Selection of Start point of translation by button.
+ """
+ if self.msg != 0:
+ func.print_msg("Selection of Start point of translation by button !")
+
+ error_msg = "Select one point !"
+
+ # Get the selected Objects
+ SelectedObjects = func.get_SelectedObjects()
+ if SelectedObjects == None:
+ func.printError_msg(error_msg)
+ return
+ Number_of_Points = SelectedObjects[0]
+ if Number_of_Points != 1:
+ func.printError_msg(error_msg)
+ return
+ else:
+ Point_List = SelectedObjects[3]
+ self.start = Point_List[0].Point
+ button_text = "Selected !"
+ self.but_start.setText(QtGui.QApplication.translate("Form", button_text, None, QtGui.QApplication.UnicodeUTF8))
+ self.visu()
+
+
+ def start_value(self, *argc):
+ """ Start point of translation by combo box.
+ """
+ if self.msg != 0:
+ func.print_msg("Start point of translation by combo box !")
+
+ # DeActivate select button
+ self.but_start.setEnabled(False)
+ button_text = "Select"
+ self.but_start.setText(QtGui.QApplication.translate("Form", button_text, None, QtGui.QApplication.UnicodeUTF8))
+
+ self.setEnabledStartInput(False)
+ if str(*argc) == "To select":
+ # Activate select button and wait for selection
+ self.but_start.setEnabled(True)
+ self.start = None
+ elif str(*argc) == "To define":
+ # Activate define input boxes and wait for entering values
+ self.setEnabledStartInput(True)
+ self.start = None
+ else:
+ button_text = "Select"
+ self.but_start.setText(QtGui.QApplication.translate("Form", button_text, None, QtGui.QApplication.UnicodeUTF8))
+ self.but_start.setEnabled(False)
+ self.start = getattr(self, str(self.valid_start[str(*argc)]))
+
+ self.visu()
+
+ def end_value(self, *argc):
+ """ End point of translation by combo box.
+ """
+ if self.msg != 0:
+ func.print_msg("End point of translation by combo box !")
+
+ # DeActivate select button
+ self.but_end.setEnabled(False)
+ button_text = "Select"
+ self.but_end.setText(QtGui.QApplication.translate("Form", button_text, None, QtGui.QApplication.UnicodeUTF8))
+
+ self.setEnabledEndInput(False)
+ del self.end[:]
+ self.m_num_end = 0
+ if str(*argc) == "To select":
+ # Activate select button and wait for selection
+ self.but_end.setEnabled(True)
+ elif str(*argc) == "To define":
+ # Activate define input boxes and wait for entering values
+ self.setEnabledEndInput(True)
+ else:
+ button_text = "Select"
+ self.but_end.setText(QtGui.QApplication.translate("Form", button_text, None, QtGui.QApplication.UnicodeUTF8))
+ self.but_end.setEnabled(False)
+ self.end.append(getattr(self, str(self.valid_start[str(*argc)])))
+ self.m_num_end = 1
+
+ self.visu()
+
+ def select_end(self):
+ """ Selection of End point(s) of translation by button.
+ """
+ if self.msg != 0:
+ func.print_msg("Selection of End point(s) of translation by button !")
+
+ error_msg = "Select at least one point !"
+
+ # Get the selected Objects
+ SelectedObjects = func.get_SelectedObjects()
+ if SelectedObjects == None:
+ func.printError_msg(error_msg)
+ return
+ Number_of_Points = SelectedObjects[0]
+ self.m_num_end = Number_of_Points
+ if Number_of_Points == 0:
+ func.printError_msg(error_msg)
+ return
+ else:
+ Point_List = SelectedObjects[3]
+ # For all the end points
+ for m_i_end in range(Number_of_Points):
+ self.end.append(Point_List[m_i_end].Point)
+ if Number_of_Points == 1:
+ button_text = "Selected !"
+ else:
+ button_text = "Multi Sel !"
+ self.but_end.setText(QtGui.QApplication.translate("Form", button_text, None, QtGui.QApplication.UnicodeUTF8))
+ self.visu()
+ self.preview()
+
+
+ def preview(self):
+ """ Preview the placement.
+ """
+ if self.msg != 0:
+ func.print_msg("Preview the placement !")
+
+ if self.selection() == False:
+ return
+
+ if self.start != None:
+ # Possible several end points
+ if len(self.end) != 0:
+ self.cleanDuplication()
+ if self.msg != 0:
+ func.print_msg("Preview the placement of " + str(self.m_num_obj) + " objects !")
+ # loop on the selected objects
+ for m_i_obj in range(self.m_num_obj):
+
+
+ base1 = self.placement1[m_i_obj].Base
+ rot1 = self.placement1[m_i_obj].Rotation
+ # For all the end points
+ if self.msg != 0:
+ func.print_msg("on " + str(self.m_num_end) + " end pointss !")
+ for m_i_end in range(self.m_num_end):
+ m_move = self.end[m_i_end].sub(self.start)
+ if m_i_end == 0:
+ # First end point
+ if self.duplicate:
+ for m_copy in range(self.m_num_cpy):
+ # Let's duplicate the Object
+ m_obj2 = App.activeDocument().copyObject(self.m_objs[m_i_obj])
+ self.m_objs_dup.append(m_obj2)
+ self.m_transp_dup.append(self.transparency[m_i_obj])
+ App.ActiveDocument.getObject("Rot_Trans").addObject(m_obj2)
+ newplace1 = App.Placement(base1.add(m_move), rot1 )
+ m_obj2.Placement = newplace1
+ # Update the move
+ m_move = m_move.add(self.end[m_i_end].sub(self.start))
+ else:
+ newplace1 = App.Placement(base1.add(m_move), rot1 )
+ self.m_objs[m_i_obj].Placement = newplace1
+
+ else:
+ # At least a second end point exists so duplication
+ m_obj3 = App.activeDocument().copyObject(self.m_objs[m_i_obj])
+ self.m_objs_dup.append(m_obj3)
+ self.m_transp_dup.append(self.transparency[m_i_obj])
+ if self.duplicate:
+ for m_copy in range(self.m_num_cpy):
+ # Let's duplicate the Object
+ m_obj4 = App.activeDocument().copyObject(m_obj3)
+ self.m_objs_dup.append(m_obj4)
+ self.m_transp_dup.append(self.transparency[m_i_obj])
+ App.ActiveDocument.getObject("Rot_Trans").addObject(m_obj4)
+ newplace1 = App.Placement(base1.add(m_move), rot1 )
+ m_obj4.Placement = newplace1
+ # Update the move
+ m_move = m_move.add(self.end[m_i_end].sub(self.start))
+ else:
+ newplace2 = App.Placement(base1.add(m_move), rot1 )
+ m_obj3.Placement = newplace2
+ Gui.updateGui()
+ if self.msg != 0:
+ func.print_msg("Number of Object dup : " + str(len(self.m_objs_dup)))
+
+
+ def application(self):
+ """ Application by saving into internal placements list.
+ """
+ if self.msg != 0:
+ func.print_msg("Apply button pressed !")
+
+ if self.selection() == False:
+ if self.msg != 0:
+ func.print_msg("No selection detected !")
+ return
+
+ for m_i in range(self.m_num_obj):
+ if self.msg != 0:
+ self.info()
+ func.print_msg("placement old = " + str(self.placement1[m_i]))
+ func.print_msg("base1 = " + str(self.placement1[m_i].Base))
+ func.print_msg("placement new = " + str(self.m_objs[m_i].Placement))
+ func.print_msg("base2 = " + str(self.m_objs[m_i].Placement.Base))
+ self.placement1[m_i] = self.m_objs[m_i].Placement
+
+ for m_i_dup in range(len(self.m_objs_dup)):
+ Gui.ActiveDocument.getObject(self.m_objs_dup[m_i_dup].Name).Transparency = self.m_transp_dup[m_i_dup]
+
+ del self.m_objs_dup[:]
+ del self.m_transp_dup[:]
+ self.applied = True
+ self.initialize()
+
+ def reset(self):
+ """ Reset to original placement.
+ """
+ if self.msg != 0:
+ func.print_msg("Reset button pressed !")
+
+ if self.selection() == False:
+ if self.msg != 0:
+ func.print_msg("No selection detected !")
+ return
+
+ if self.msg != 0:
+ func.print_msg("Selection detected !")
+
+ for m_i_obj in range(self.m_num_obj):
+ self.m_objs[m_i_obj].Placement = self.placement0[m_i_obj]
+
+ self.cleanDuplication()
+
+#==============================================================================
+# self.duplicate = False
+# self.m_num_cpy = 1
+# self.dup_num.setValue(self.m_num_cpy)
+# self.dup_num.setEnabled(self.duplicate)
+# self.dupli.setCheckState(QtCore.Qt.Unchecked)
+# self.end_value("To select")
+#==============================================================================
+
+
+class Rotation():
+ """ A rotation object
+ """
+ def __init__(self, gui):
+ self.msg = 1
+ self.m_num = None
+ self.m_selEx = None
+ self.m_objs = None
+ self.m_objNames = None
+ # self.placement0 = None Initial Placement
+ # Store a copy of the original placement for each object
+ self.placement0 = []
+ self.placement1 = []
+ self.names = []
+ self.center = None
+ self.base = None
+ self.origin = App.Vector(0,0,0)
+ self.gui = gui
+ #func.print_msg("gui=" + str(self.gui))
+ self.but_select = self.gui.ObjRot_button_select
+ self.but_center = self.gui.ObjRot_button_select_center
+ self.but_axis = self.gui.ObjRot_button_select_axis
+
+ self.but_reset = self.gui.ObjRot_button_reset
+ self.but_apply = self.gui.ObjRot_button_apply
+
+ self.comb_center= self.gui.ObjRot_comboBox_center
+ self.comb_axis = self.gui.ObjRot_comboBox_axis
+
+ self.slider = self.gui.ObjRot_horizontalSlider
+ self.angle_edit = self.gui.ObjRot_lineEdit_angle
+
+ self.internal = False
+
+ self.valid_center = { "Origin" : "origin",
+ "Base Obj." : "base",
+ "Center Obj.(s)" : "center",
+ "To select" : "select",
+ }
+
+ self.valid_axis = { "X" : App.Vector(1,0,0),
+ "Y" : App.Vector(0,1,0),
+ "Z" : App.Vector(0,0,1),
+ "To select" : "select",
+ }
+ self.enable(False)
+ self.visuObjects = []
+
+
+ def enable(self, flag=True):
+ self.but_center.setEnabled(flag)
+ self.but_reset.setEnabled(flag)
+ self.but_apply.setEnabled(flag)
+ self.comb_center.setEnabled(flag)
+ self.comb_axis.setEnabled(flag)
+ self.slider.setEnabled(flag)
+ self.angle_edit.setEnabled(flag)
+
+
+ def selection(self):
+ """ Check if one object at least is selected.
+ """
+ if self.m_num < 1:
+ func.printError_msg("Select at least one object and click on 'Select Object(s)' button!")
+ return False
+ return True
+
+
+ def initialize(self):
+ """ Store a copy of original placements for all selected objects
+ into internal placements list.
+ """
+ if self.msg != 0:
+ func.print_msg("initialize !")
+
+ if not(App.ActiveDocument.getObject("Rot_Trans")):
+ try:
+ App.ActiveDocument.addObject("App::DocumentObjectGroup","Rot_Trans")
+ except:
+ printError_msg("Could not Create 'Rot_Trans' Objects Group!")
+ del self.placement0[:]
+ del self.placement1[:]
+
+ # Mimic behavior of toggle button
+ if self.m_num >= 1:
+ self.set_zero()
+ self.m_num=0
+ button_text = "Select Object(s)"
+ self.but_select.setText(QtGui.QApplication.translate("Form", button_text, None, QtGui.QApplication.UnicodeUTF8))
+ self.enable(False)
+ for m_i in range(len(self.names)):
+ Gui.ActiveDocument.getObject( self.names[m_i]).Transparency = 0
+ self.removeVisu()
+ del self.names[:]
+ return
+
+ # Get the selected Objects
+ self.m_num, self.m_selEx, self.m_objs, self.m_objNames = func.get_InfoObjects()
+ button_text = str(self.m_num) + " Object(s) selected"
+ self.enable(True)
+ xmax, xmin, ymax, ymin, zmax, zmin = minMaxObjectsLimits(self.m_objs,info=0)
+ wides = [xmax - xmin,ymax - ymin,zmax - zmin]
+ self.wide = max(wides)
+
+ if self.m_num < 1:
+ self.set_zero()
+ button_text = "Select Object(s)"
+ self.but_select.setText(QtGui.QApplication.translate("Form", button_text, None, QtGui.QApplication.UnicodeUTF8))
+ self.enable(False)
+ self.removeVisu()
+ return
+
+ self.but_select.setText(QtGui.QApplication.translate("Form", button_text, None, QtGui.QApplication.UnicodeUTF8))
+
+ # Placement [Pos=(0,0,0), Yaw-Pitch-Roll=(0,0,0)]
+ for m_i in range(self.m_num):
+ self.placement0.append(App.Placement(self.m_objs[m_i].Placement))
+ self.placement1.append(App.Placement(self.m_objs[m_i].Placement))
+ self.names.append(self.m_objNames[m_i])
+ Gui.ActiveDocument.getObject( self.names[m_i] ).Transparency = 75
+
+ if self.msg != 0:
+ func.print_msg("self.placement0[" + str(m_i) + "]=" + str(self.placement0[m_i] ))
+ func.print_msg("self.placement0[" + str(m_i) + "].Base=" + str(self.placement0[m_i].Base ))
+ func.print_msg("self.placement0[" + str(m_i) + "].Rotation=" + str(self.placement0[m_i].Rotation ))
+
+ self.base = self.placement0[0].Base
+ self.center = func.centerObjectsPoint(self.m_objs, info=0)
+ self.origin = App.Vector(0,0,0)
+
+ self.rot_center = self.center
+ self.comb_center.setCurrentIndex(2)
+
+ self.rot_axis = App.Vector(1,0,0)
+ self.comb_axis.setCurrentIndex(0)
+
+ self.rot_angle = 0.0
+ self.set_zero()
+ self.visu()
+
+ self.but_center.setEnabled(False)
+ self.but_axis.setEnabled(False)
+ if self.msg != 0:
+ self.info()
+
+ Gui.Selection.clearSelection()
+
+ def removeVisu(self):
+ for i in range(len(self.visuObjects)):
+ App.getDocument(str(App.activeDocument().Name)).removeObject(self.visuObjects[i])
+ del self.visuObjects[:]
+
+
+ def visu(self):
+ m_axis = self.rot_axis
+ m_center = self.rot_center
+ m_base = self.placement0[0].Base
+ pt_A = m_center
+ #pt_B = m_axis.projectToLine(m_center,m_axis).normalize().multiply(10)
+ pt_B = m_center + m_axis.normalize().multiply(self.wide*1.2)
+ #pt_C = m_axis.projectToLine(m_center,m_axis.negative()).normalize().multiply(10)
+ pt_C = m_center - m_axis.normalize().multiply(self.wide*1.2)
+
+
+ self.removeVisu()
+ if pt_A != pt_B:
+ axis_User_Name, axis = plot_axis(pt_A, pt_B , name= "Axis1", grp="Rot_Trans")
+ self.visuObjects.append(axis_User_Name)
+ Gui.ActiveDocument.getObject(axis_User_Name).LineColor = (0.0,0.0,1.0)
+ if pt_A != pt_C:
+ axis_User_Name, axis = plot_axis(pt_A, pt_C , name= "Axis2", grp="Rot_Trans")
+ self.visuObjects.append(axis_User_Name)
+ Gui.ActiveDocument.getObject(axis_User_Name).LineColor = (0.0,0.0,1.0)
+ if m_center != None and m_axis != None:
+ circle_User_Name, circle = plot_circle(self.wide*1.2, m_center, m_axis)
+ self.visuObjects.append(circle_User_Name)
+ Gui.ActiveDocument.getObject(circle_User_Name).LineColor = (0.0,0.0,1.0)
+ if m_center != None:
+ point_User_Name, point = plot_point(m_center, name= "Center", grp="Rot_Trans")
+ Gui.ActiveDocument.getObject( point_User_Name ).PointColor = (0.0,1.0,0.0)
+ Gui.ActiveDocument.getObject( point_User_Name ).PointSize = 3.00
+ self.visuObjects.append(point_User_Name)
+ if m_base != None:
+ point_User_Name, point = plot_point(m_base, name= "Base", grp="Rot_Trans")
+ Gui.ActiveDocument.getObject( point_User_Name ).PointColor = (1.0,0.0,0.0)
+ Gui.ActiveDocument.getObject( point_User_Name ).PointSize = 3.00
+ self.visuObjects.append(point_User_Name)
+ if m_base != m_center:
+ axis_User_Name, axis = plot_axis(m_center, m_base)
+ self.visuObjects.append(axis_User_Name)
+ if m_base != App.Vector(0,0,0):
+ axis_User_Name, axis = plot_axis(App.Vector(0,0,0), m_base)
+ self.visuObjects.append(axis_User_Name)
+ if m_center != App.Vector(0,0,0):
+ axis_User_Name, axis = plot_axis(App.Vector(0,0,0), m_center)
+ self.visuObjects.append(axis_User_Name)
+
+ def info(self):
+ func.print_msg("rotation = " + str(App.Rotation(self.rot_axis,self.rot_angle)))
+ func.print_msg("rotation center = " + str(self.rot_center))
+ func.print_msg("rotation axis = " + str(self.rot_axis))
+ func.print_msg("rotation angle = " + str(self.rot_angle))
+
+
+ def select_center(self):
+ """ Selection of Center of rotation by button.
+ """
+ # Get the selected Objects
+ Selection = func.get_SelectedObjects()
+ error_msg = "Select one point !"
+
+ SelectedObjects = Selection
+ Number_of_Points = SelectedObjects[0]
+ if Number_of_Points < 1:
+ func.printError_msg(error_msg)
+ return
+ else:
+ Point_List = SelectedObjects[3]
+ self.rot_center = Point_List[0].Point
+ button_text = "Selected !"
+ self.but_center.setText(QtGui.QApplication.translate("Form", button_text, None, QtGui.QApplication.UnicodeUTF8))
+
+ self.visu()
+ if self.msg != 0:
+ self.info()
+
+
+ def select_axis(self):
+ """ Selection of Axis of rotation by button.
+ """
+ # Get the selected Objects
+ Selection = func.get_SelectedObjects()
+ error_msg = "Select one axis !"
+
+ SelectedObjects = Selection
+ Number_of_Edges = SelectedObjects[1]
+ if Number_of_Edges != 1:
+ func.printError_msg(error_msg)
+ else:
+ num, selEx, objs, objNames = func.get_InfoObjects()
+ Edge_List = SelectedObjects[4]
+ Point_A = Edge_List[0].valueAt(0.0)
+ Point_B = Edge_List[0].valueAt(Edge_List[0].Length)
+ self.rot_axis = Point_B - Point_A
+
+ button_text = "Selected !"
+ self.but_axis.setText(QtGui.QApplication.translate("Form", button_text, None, QtGui.QApplication.UnicodeUTF8))
+
+ self.visu()
+ if self.msg != 0:
+ self.info()
+
+
+ def set_zero(self):
+ """ Put zero into edit box and on slider.
+ """
+ self.internal = True
+ self.slider.setValue(0.0)
+ self.angle_edit.setText(str(0.0))
+ self.internal = False
+
+
+ def center_value(self, *argc):
+ """ Center of rotation selection by combo box.
+ """
+ #func.print_msg("New center selected : " + str(*argc))
+ # DeActivate select button
+ self.but_center.setEnabled(False)
+ button_text = "Select"
+ self.but_center.setText(QtGui.QApplication.translate("Form", button_text, None, QtGui.QApplication.UnicodeUTF8))
+ # Reset to zero
+ self.set_zero()
+
+ if str(*argc) == "To select":
+ # Activate select button and wait for selection
+ self.but_center.setEnabled(True)
+ self.rot_center = None
+ else:
+ button_text = "Select"
+ self.but_center.setText(QtGui.QApplication.translate("Form", button_text, None, QtGui.QApplication.UnicodeUTF8))
+ self.but_center.setEnabled(False)
+ self.rot_center = getattr(self, str(self.valid_center[str(*argc)]))
+ self.visu()
+
+ if self.msg != 0:
+ self.info()
+
+
+ def axis_value(self, *argc):
+ """ Axis of rotation selection by combo box.
+ """
+ #func.print_msg("New axis selected : " + str(*argc))
+ # DeActivate select button
+ self.but_axis.setEnabled(False)
+ button_text = "Select"
+ self.but_axis.setText(QtGui.QApplication.translate("Form", button_text, None, QtGui.QApplication.UnicodeUTF8))
+ # Reset to zero
+ self.set_zero()
+
+ if str(*argc) == "To select":
+ # Activate select button and wait for selection
+ self.but_axis.setEnabled(True)
+ self.rot_axis = None
+ else:
+ button_text = "Select"
+ self.but_axis.setText(QtGui.QApplication.translate("Form", button_text, None, QtGui.QApplication.UnicodeUTF8))
+ self.but_axis.setEnabled(False)
+ self.rot_axis = self.valid_axis[str(*argc)]
+ self.visu()
+
+ if self.msg != 0:
+ self.info()
+
+
+ def angle_value_changed(self, value):
+ """ Respond to the change in value of a slider, update the text box
+ """
+ # If the value was changed internally, ignore event.
+ if self.internal:
+ return
+
+ self.angle_edit.setText(str(value))
+ self.angle_value_entered()
+
+
+ def angle_value_entered(self):
+ #if self.msg != 0:
+ #func.print_msg("angle_value_entered entered!")
+ try:
+ # First we check if a valid number have been entered
+ self.rot_angle = float(self.angle_edit.text())
+ # Update the slider by internal update
+ self.internal = True
+ self.slider.setValue(self.rot_angle)
+ self.internal = False
+ # Update the view
+ self.preview()
+ except ValueError:
+ func.printError_msg("Angle must be valid number in degrees !")
+
+
+ def preview(self):
+ """ Preview the placement
+ """
+
+ if self.selection() == False:return
+
+ if self.rot_center != None:
+ if self.rot_axis != None:
+ for m_i in range(self.m_num):
+
+ # Resest to original placement
+ self.m_objs[m_i].Placement = self.placement0[m_i]
+
+ Draft.rotate(self.m_objs[m_i],self.rot_angle,self.rot_center,self.rot_axis)
+
+ else:
+ func.printError_msg("Select an axis of rotation first!")
+ else:
+ func.printError_msg("Select a center of rotation first!")
+
+
+ def application(self):
+ """ Application by saving into internal placements list
+ """
+ if self.msg != 0:
+ func.print_msg("Apply button pressed!")
+ if self.selection() == False:return
+
+ for m_i in range(self.m_num):
+ if self.msg != 0:
+ self.info()
+ func.print_msg("placement old = " + str(self.placement1[m_i]))
+ func.print_msg("base1 = " + str(self.placement1[m_i].Base))
+ func.print_msg("rot1 = " + str(self.placement1[m_i].Rotation))
+ func.print_msg("placement new = " + str(self.m_objs[m_i].Placement))
+ func.print_msg("base2 = " + str(self.m_objs[m_i].Placement.Base))
+ func.print_msg("rot2 = " + str(self.m_objs[m_i].Placement.Rotation))
+ self.placement1[m_i].Base = self.m_objs[m_i].Placement.Base
+ self.placement1[m_i].Rotation = self.m_objs[m_i].Placement.Rotation
+ self.set_zero()
+
+
+ def reset(self):
+ if self.selection() == False:return
+
+ if self.msg != 0:
+ func.print_msg("Reset button pressed!")
+ self.set_zero()
+ for m_i in range(self.m_num):
+ self.m_objs[m_i].Placement.Base = self.placement0[m_i].Base
+ self.m_objs[m_i].Placement.Rotation = self.placement0[m_i].Rotation
+
+
+####################################################################################
+try:
+ _fromUtf8 = QtCore.QString.fromUtf8
+except AttributeError:
+ _fromUtf8 = lambda s: s
+
+####################################################################################
+class ObjectRotationTab():
+ def __init__(self):
+ # Get main window
+ self.m_main = self.getMainWindow()
+
+ # Get Tab panel
+ self.m_tab = self.getComboView(self.m_main)
+
+ if self.m_tab.count() == 2:
+ # Create a new fake dialog
+ self.m_fake_dialog = QtGui.QDialog()
+ self.m_tab.addTab(self.m_fake_dialog,"")
+
+ # Create a new dialog for ObjectRotationTab
+ self.m_dialog = QtGui.QDialog()
+ # Add the dialog in a new tab or focus on it if already exists
+ if self.m_tab.count() >= 2:
+ for i in range(2,self.m_tab.count()):
+ #func.print_msg (str(isinstance(self.m_tab.tabText(i), unicode)))
+ #func.print_msg (str(unicode(self.m_tab.tabText(i), 'utf-8')))
+ if "Displacements" == str(_fromUtf8(self.m_tab.tabText(i))):
+ self.m_tab.removeTab(int(i))
+ break
+
+ self.m_tab.addTab(self.m_dialog,"Displacements")
+
+ self.ui = ObjRotGui.Ui_Form()
+ self.ui.setupUi(self.m_dialog)
+ self.m_tab.setCurrentIndex(i+1)
+
+ # Create a Rotation object
+ self.rot = Rotation(self.ui)
+ # Create a Translation object
+ self.trans = Translation(self.ui)
+
+ # Connect to functions
+
+
+ self.connections_for_ObjTrans_button_pressed = {
+ "ObjTrans_button_select" : "initialize",
+ "ObjTrans_button_select_start" : "select_start",
+ "ObjTrans_button_select_end" : "select_end",
+ "ObjTrans_button_reset" : "reset",
+ "ObjTrans_button_apply" : "application",
+ }
+
+ self.connections_for_ObjTrans_combobox_changed = {
+ "ObjTrans_comboBox_start" : "start_value",
+ "ObjTrans_comboBox_end" : "end_value",
+ }
+
+ self.connections_for_ObjTrans_checkbox_toggled = {
+ "ObjTrans_duplicate" : "copyFlag",
+ }
+
+ self.connections_for_ObjTrans_spin_changed = {
+ "ObjTrans_spin" : "numberCopies",
+ }
+
+ self.connections_for_ObjRot_slider_changed = {
+ "ObjRot_horizontalSlider" : "angle_value_changed",
+ }
+
+ self.connections_for_ObjRot_button_pressed = {
+ "ObjRot_button_select" : "initialize",
+ "ObjRot_button_select_center" : "select_center",
+ "ObjRot_button_select_axis" : "select_axis",
+ "ObjRot_button_reset" : "reset",
+ "ObjRot_button_apply" : "application",
+ }
+
+ self.connections_for_ObjRot_combobox_changed = {
+ "ObjRot_comboBox_center" : "center_value",
+ "ObjRot_comboBox_axis" : "axis_value",
+ }
+
+ self.connections_for_ObjRot_return_pressed = {
+ "ObjRot_lineEdit_angle" : "angle_value_entered",
+ }
+
+ self.connections_for_button_clicked = {
+ "button_quit" : "quit_clicked",
+ }
+
+ for m_key, m_val in self.connections_for_button_clicked.items():
+ #print_msg( "Connecting : " + str(m_key) + " and " + str(m_val) )
+ QtCore.QObject.connect(getattr(self.ui, str(m_key)),
+ QtCore.SIGNAL("clicked()"),getattr(self,str(m_val)))
+
+ # Connect to Rotation functions
+ for m_key, m_val in self.connections_for_ObjRot_button_pressed.items():
+ func.print_msg( "Connecting : " + str(getattr(self.ui, str(m_key))) + " and " + str(getattr(self.rot, str(m_val))) )
+ QtCore.QObject.connect(getattr(self.ui, str(m_key)),
+ QtCore.SIGNAL("pressed()"),getattr(self.rot, str(m_val)))
+
+ for m_key, m_val in self.connections_for_ObjRot_combobox_changed.items():
+ print_msg( "Connecting : " + str(getattr(self.ui, str(m_key))) + " and " + str(getattr(self.rot, str(m_val))) )
+ QtCore.QObject.connect(getattr(self.ui, str(m_key)),
+ QtCore.SIGNAL(_fromUtf8("currentIndexChanged(QString)")),getattr(self.rot, str(m_val)))
+
+ for m_key, m_val in self.connections_for_ObjRot_slider_changed.items():
+ func.print_msg( "Connecting : " + str(getattr(self.ui, str(m_key))) + " and " + str(getattr(self.rot, str(m_val))) )
+ QtCore.QObject.connect(getattr(self.ui, str(m_key)),
+ QtCore.SIGNAL("valueChanged(int)"),getattr(self.rot, str(m_val)))
+
+ for m_key, m_val in self.connections_for_ObjRot_return_pressed.items():
+ func.print_msg( "Connecting : " + str(getattr(self.ui, str(m_key))) + " and " + str(getattr(self.rot, str(m_val))) )
+ QtCore.QObject.connect(getattr(self.ui, str(m_key)),
+ QtCore.SIGNAL("returnPressed()"),getattr(self.rot, str(m_val)))
+
+ # Connect to Translation functions
+ for m_key, m_val in self.connections_for_ObjTrans_button_pressed.items():
+ func.print_msg( "Connecting : " + str(getattr(self.ui, str(m_key))) + " and " + str(getattr(self.trans, str(m_val))) )
+ QtCore.QObject.connect(getattr(self.ui, str(m_key)),
+ QtCore.SIGNAL("pressed()"),getattr(self.trans, str(m_val)))
+
+ for m_key, m_val in self.connections_for_ObjTrans_combobox_changed.items():
+ print_msg( "Connecting : " + str(getattr(self.ui, str(m_key))) + " and " + str(getattr(self.trans, str(m_val))) )
+ QtCore.QObject.connect(getattr(self.ui, str(m_key)),
+ QtCore.SIGNAL(_fromUtf8("currentIndexChanged(QString)")),getattr(self.trans, str(m_val)))
+
+ for m_key, m_val in self.connections_for_ObjTrans_checkbox_toggled.items():
+ #print_msg( "Connecting : " + str(m_key) + " and " + str(m_val) )
+ print_msg( "Connecting : " + str(getattr(self.ui, str(m_key))) + " and " + str(getattr(self.trans, str(m_val))) )
+ QtCore.QObject.connect(getattr(self.ui, str(m_key)),
+ QtCore.SIGNAL(_fromUtf8("toggled(bool)")),getattr(self.trans, str(m_val)))
+
+
+ for m_key, m_val in self.connections_for_ObjTrans_spin_changed.items():
+ print_msg( "Connecting : " + str(getattr(self.ui, str(m_key))) + " and " + str(getattr(self.trans, str(m_val))) )
+ QtCore.QObject.connect(getattr(self.ui, str(m_key)),
+ QtCore.SIGNAL("valueChanged(int)"),getattr(self.trans, str(m_val)))
+
+
+ self.m_dialog.show()
+ m_text=str(myRelease)
+ self.ui.label_release.setText(QtGui.QApplication.translate("Form", m_text, None, QtGui.QApplication.UnicodeUTF8))
+
+ def quit_clicked(self): # quit
+ #self.m_dialog.hide()
+ self.m_dialog.close()
+ if self.m_tab.count() >= 2:
+ for i in range(2,self.m_tab.count()):
+ if "Displacements" == str(_fromUtf8(self.m_tab.tabText(i))):
+ self.m_tab.removeTab(int(i))
+ break
+
+ def getMainWindow(self):
+ """ Returns the main window.
+ """
+ # using QtGui.qApp.activeWindow() isn't very reliable because if another
+ # widget than the mainwindow is active (e.g. a dialog) the wrong widget
+ # is returned
+ toplevel = QtGui.qApp.topLevelWidgets()
+ for i in toplevel:
+ if i.metaObject().className() == "Gui::MainWindow":
+ return i
+ raise Exception("No main window found")
+
+
+ def getComboView(self,window):
+ """ Returns the main Tab.
+ """
+ dw=window.findChildren(QtGui.QDockWidget)
+ for i in dw:
+ if str(i.objectName()) == "Combo View":
+ return i.findChild(QtGui.QTabWidget)
+ raise Exception("No tab widget found")
+
+
+if __name__ == '__main__':
+ myDialog = ObjectRotationTab()
+
\ No newline at end of file
diff --git a/WorkFeature/__init__.py b/WorkFeature/__init__.py
index 2854c15..d2d3f55 100644
--- a/WorkFeature/__init__.py
+++ b/WorkFeature/__init__.py
@@ -50,8 +50,9 @@ if not sys.path.__contains__("/usr/lib/freecad/lib"):
sys.path.append("/usr/lib/freecad/lib")
import WFGui_2015 as WFGui
+from WF_ObjRot_2015 import *
global myRelease
-myRelease = "2105_03_15"
+myRelease = "2105_03_31"
import os.path
import math
@@ -86,17 +87,22 @@ myObject = None
global centerOfMass
centerOfMass=True
global verbose
-verbose=0
+verbose=1
global tolerance
tolerance=1e-10
global biColor
biColor=0
+global objCopy
+objCopy=0
m_numberLinePart = 2
m_numberLineCut = 2
m_numberPointCutWire = 2
m_numberAxisCutWire = 2
m_numberCircleCut = 2
+m_numberPlane = 1
+m_numberLine = 1
+m_numberPoint = 1
m_distanceLinePoint = 0.0
m_extensionTwoPointsAxis = 0.0
m_extensionLinePointAxis = 0.0
@@ -105,12 +111,17 @@ m_extensionFaceNormal = 0.0
m_extensionPlanePointPlane = 0.0
m_anglePlaneAxisPlane = 0.0
m_lengthPlane = 10.0
+m_distPlane = 10.0
+m_distLine = 10.0
+m_distPoint = 10.0
m_diameterCylinder = 2.0
m_lengthCylinder = 20.0
m_lengthCube = 2.0
m_widthCube = 2.0
m_heightCube = 20.0
m_widthPlane = 10.0
+m_extensionPlane = 50.0
+m_extensionAxis = 50.0
m_attach_point = "Mid"
m_cut_selectObjects = []
@@ -230,8 +241,8 @@ def verbose_toggled(flag):
if flag == True:
verbose=1
print_msg("verbose flag is : " + str(verbose))
-
-
+
+
def biColor_toggled(flag):
""" Respond to the change of biColor flag.
"""
@@ -245,6 +256,20 @@ def biColor_toggled(flag):
print_msg("biColor flag is : " + str(biColor))
+def copy_toggled(flag):
+ """ Respond to the change of Object copy flag.
+ """
+ global verbose
+ msg=verbose
+ global objCopy
+ objCopy=0
+ if flag == True:
+ objCopy=1
+ if msg != 0:
+ print_msg("Object copy flag is : " + str(objCopy))
+
+
+
def init_min_max():
""" Return min and max values from System.
min_val, max_val = init_min_max
@@ -296,6 +321,35 @@ def createFolders(folder=None):
return
+def get_typefromSelection(objectType="Edge", info=0):
+
+ m_num_obj, m_selEx, m_objs, m_objNames = get_InfoObjects(info=0, printError=False)
+ m_found = False
+ for m_i_o in range(m_num_obj):
+ if m_found:
+ break
+ Sel_i_Object = m_selEx[m_i_o]
+ Obj_i_Object = m_objs[m_i_o]
+ Name_i_Object = m_objNames[m_i_o]
+ if info != 0:
+ print("Sel_i_Object = " + str(Sel_i_Object))
+ print("Obj_i_Object = " + str(Obj_i_Object))
+ print("Name_i_Object = " + str(Name_i_Object ))
+ SubObjects_Inside = Sel_i_Object.SubObjects
+ for n in range(len(SubObjects_Inside)):
+ SubObject = SubObjects_Inside[n]
+ if info != 0:
+ print("SubObject = " + str(SubObject))
+ print("SubObject.ShapeType = " + str(SubObject.ShapeType))
+ if SubObject.ShapeType == "Edge":
+ m_found = True
+ break
+ if m_found:
+ return Sel_i_Object, Obj_i_Object, Name_i_Object
+ else:
+ return None, None, None
+
+
def get_ActiveDocument(info=0):
""" Return the active document
"""
@@ -351,6 +405,58 @@ def get_InfoObjects(info=0, printError=True):
", m_objNames=" + str(m_objNames))
return m_num, m_selEx, m_objs, m_objNames
+def get_SelectedObjectsWithParent(info=0, printError=True):
+ """ Return selected objects as
+ Selection = (Number_of_Points, Number_of_Edges, Number_of_Planes,
+ Selected_Points, Selected_Edges, Selected_Planes)
+ but each subObject is then returned with its parent
+ """
+ m_actDoc=get_ActiveDocument(info=1)
+
+ if m_actDoc.Name:
+ # Return a list of SelectionObjects for a given document name.
+ # "getSelectionEx" Used for selecting subobjects
+ m_selEx = Gui.Selection.getSelectionEx(m_actDoc.Name)
+ m_objs = [selobj.Object for selobj in m_selEx]
+ m_objNames = [selobj.ObjectName for selobj in m_selEx]
+ m_num = len(m_objs)
+ m_num = len(m_selEx)
+ if m_num >= 1:
+ Selected_Points = []
+ Selected_Edges = []
+ Selected_Planes = []
+ for m_i in range(m_num):
+ Sel_i_Object = m_selEx[m_i]
+ Parent = Sel_i_Object.Object
+ SubObjects_Inside = Sel_i_Object.SubObjects
+ for n in range(len(SubObjects_Inside)):
+ SubObject = SubObjects_Inside[n]
+ if info != 0:
+ message = "Processing : " + str(m_objNames[m_i]) + " : " + str(SubObject.ShapeType)
+ print_msg(message)
+ if SubObject.ShapeType == "Vertex":
+ Selected_Points.append({SubObject:Parent})
+ if SubObject.ShapeType == "Edge":
+ Selected_Edges.append({SubObject:Parent})
+ if SubObject.ShapeType == "Face":
+ Selected_Planes.append({SubObject:Parent})
+ Number_of_Points = len(Selected_Points)
+ Number_of_Edges = len(Selected_Edges)
+ Number_of_Planes = len(Selected_Planes)
+ Selection = (Number_of_Points, Number_of_Edges, Number_of_Planes,
+ Selected_Points, Selected_Edges, Selected_Planes)
+ if info != 0:
+ print_msg("Number_of_Points, Number_of_Edges, Number_of_Planes," +
+ "Selected_Points, Selected_Edges, Selected_Planes = " + str(Selection))
+ return Selection
+ else:
+ if printError:
+ printError_msg("Select at least one object !")
+ return None
+ else:
+ printError_msg("No active document !")
+ return
+
def get_SelectedObjects(info=0, printError=True):
""" Return selected objects as
@@ -1219,7 +1325,84 @@ def intersecPlanePlane(Plane_Normal1, Plane_Point1, Plane_Normal2, Plane_Point2,
return U
#==============================================================================
+def properties_point(Point_User_Name):
+ """ Define the properties of a Work feature Point.
+ PointColor
+ PointSize
+ Transparency
+ """
+ try:
+ Gui.ActiveDocument.getObject(Point_User_Name).PointColor = (1.00,0.67,0.00)
+ except:
+ print_msg("Not able to set PointColor !")
+ try:
+ Gui.ActiveDocument.getObject(Point_User_Name).PointSize = 5.00
+ except:
+ print_msg("Not able to set PointSize !")
+ try:
+ Gui.ActiveDocument.getObject(Point_User_Name).Transparency = 0
+ except:
+ print_msg("Not able to set Transparency !")
+
+ return
+
+def properties_line(Line_User_Name):
+ """ Define the properties of a Work feature Line.
+ PointColor
+ LineColor
+ LineWidth
+ PointSize
+ Transparency
+ """
+ try:
+ Gui.ActiveDocument.getObject(Line_User_Name).PointColor = (1.00,0.67,0.00)
+ except:
+ print_msg("Not able to set PointColor !")
+ try:
+ Gui.ActiveDocument.getObject(Line_User_Name).LineColor = (1.00,0.67,0.00)
+ except:
+ print_msg("Not able to set LineColor !")
+ try:
+ Gui.ActiveDocument.getObject(Line_User_Name).LineWidth = 2.00
+ except:
+ print_msg("Not able to set LineWidth !")
+ try:
+ Gui.ActiveDocument.getObject(Line_User_Name).PointSize = 2.00
+ except:
+ print_msg("Not able to set PointSize !")
+ try:
+ Gui.ActiveDocument.getObject(Line_User_Name).Transparency = 0
+ except:
+ print_msg("Not able to set Transparency !")
+
+ return
+
+def properties_plane(Plane_User_Name):
+ """ Define the properties of a Work feature Plane.
+ PointColor
+ LineColor
+ ShapeColor
+ Transparency
+ """
+ try:
+ Gui.ActiveDocument.getObject(Plane_User_Name).PointColor = (1.00,0.67,0.00)
+ except:
+ print_msg("Not able to set PointColor !")
+ try:
+ Gui.ActiveDocument.getObject(Plane_User_Name).LineColor = (1.00,0.67,0.00)
+ except:
+ print_msg("Not able to set LineColor !")
+ try:
+ Gui.ActiveDocument.getObject(Plane_User_Name).ShapeColor = (0.00,0.33,1.00)
+ except:
+ print_msg("Not able to set ShapeColor !")
+ try:
+ Gui.ActiveDocument.getObject(Plane_User_Name).Transparency = 75
+ except:
+ print_msg("Not able to set Transparency !")
+
+ return
def plot_point(Vector_point, part, name, grp="WorkPoints"):
if not(App.ActiveDocument.getObject( grp )):
@@ -1227,9 +1410,8 @@ def plot_point(Vector_point, part, name, grp="WorkPoints"):
point = App.ActiveDocument.addObject( part, name )
point.Shape = Part.Vertex( Vector_point )
App.ActiveDocument.getObject( grp ).addObject(point)
- point_User_Name = point.Label
- Gui.ActiveDocument.getObject( point_User_Name ).PointColor = (1.00,0.67,0.00)
- Gui.ActiveDocument.getObject( point_User_Name ).PointSize = 5.00
+ point_User_Name = point.Label
+ properties_point(point_User_Name)
return point_User_Name
@@ -1240,8 +1422,7 @@ def plot_axis(Vector_A, Vector_B, part, name, grp="WorkAxis"):
axis.Shape = Part.makeLine(Vector_A, Vector_B)
App.ActiveDocument.getObject( grp ).addObject(axis)
axis_User_Name = axis.Label
- Gui.ActiveDocument.getObject(axis_User_Name).LineColor = (1.00,0.67,0.00)
- Gui.ActiveDocument.getObject(axis_User_Name).PointColor = (1.00,0.67,0.00)
+ properties_line(axis_User_Name)
return axis_User_Name, axis
@@ -1317,8 +1498,8 @@ def plot_ellipse(S1, S2, Center, part= "Part::Feature", name= "Ellipse", grp="Ci
ellipse_User_Name = ellipse.Label
Gui.ActiveDocument.getObject(ellipse_User_Name).LineColor = (1.00,0.67,0.00)
return ellipse_User_Name, ellipse
-
-
+
+
def plot_plane(Edge_Length1, Edge_Length2, Plane_Point, Plane_Normal, part, name, grp="WorkPlanes"):
if not(App.ActiveDocument.getObject( grp )):
App.ActiveDocument.addObject("App::DocumentObjectGroup", grp)
@@ -1333,10 +1514,14 @@ def plot_plane(Edge_Length1, Edge_Length2, Plane_Point, Plane_Normal, part, name
App.ActiveDocument.getObject( grp ).addObject( plane )
plane_User_Name = plane.Label
- Gui.ActiveDocument.getObject( plane_User_Name ).PointColor = (1.00,0.67,0.00)
- Gui.ActiveDocument.getObject( plane_User_Name ).LineColor = (1.00,0.67,0.00)
- Gui.ActiveDocument.getObject( plane_User_Name ).ShapeColor = (0.00,0.33,1.00)
- Gui.ActiveDocument.getObject( plane_User_Name ).Transparency = 75
+
+ properties_plane(plane_User_Name)
+#==============================================================================
+# Gui.ActiveDocument.getObject( plane_User_Name ).PointColor = (1.00,0.67,0.00)
+# Gui.ActiveDocument.getObject( plane_User_Name ).LineColor = (1.00,0.67,0.00)
+# Gui.ActiveDocument.getObject( plane_User_Name ).ShapeColor = (0.00,0.33,1.00)
+# Gui.ActiveDocument.getObject( plane_User_Name ).Transparency = 75
+#==============================================================================
return plane_User_Name, plane
@@ -2199,8 +2384,151 @@ def plot_2LinesPoint():
except:
printError_msg(error_msg)
+
+
+def numberPoint(value):
+ """ Respond to the change in number of point from the spin box.
+ """
+ global verbose
+ msg=verbose
+
+ try:
+ # First we check if a valid number have been entered
+ global m_numberPoint
+ if str(value) == '-':
+ return
+ m_numberPoint = int(value)
+ if m_numberPoint == 0:
+ m_numberPoint = 1
+ if msg != 0:
+ print_msg("New number is :" + str(m_numberPoint))
+ except ValueError:
+ printError_msg("Number must be valid !")
+
+
+def distPoint(value):
+ """ Respond to the change in Distance between point value from the text box.
+ """
+ global verbose
+ msg=verbose
+ try:
+ # First we check if a valid number have been entered
+ global m_distPoint
+ if str(value) == '-':
+ return
+ m_distPoint = float(value)
+ if msg != 0:
+ print_msg("New Distance between point is :" + str(m_distPoint))
+ except ValueError:
+ printError_msg("Distance between point must be valid number !")
+
+
+def plot_distPoint():
+ """ Axes=(Axis,Pt,dist)):
+ Create an Axis parallel to a given Axis, Point at a given distance.
+ The Axis is created on the Plane defined by the given Axis and Point.
+ - First select an Axis (or several Axes) and a Point
+ (you can also select several points to define different Planes)
+ NB: The distance to the Axis created can be defined first.
+ Positive number in one direction and negative in the other one.
+ The second number indicates the number of Axes to create.
+
+ If an Edge of a Cube is selected the Cube is duplicate with the corresponding
+ """
+ global verbose
+ global m_numberPoint
+ global m_distPoint
+ msg=verbose
+ createFolders('WorkPoints')
+ error_msg = "Unable to create Point(s) : \nSelect one (or several) Point and one or several Lines"
+ result_msg = " : Point(s) created !"
+
+ Selection = get_SelectedObjectsWithParent(info=msg, printError=False)
+
+ try:
+ SelectedObjects = Selection
+ Number_of_Points = SelectedObjects[0]
+ Number_of_Edges = SelectedObjects[1]
+ if (Number_of_Edges >= 1) and (Number_of_Points >= 1):
+ Edge_List = SelectedObjects[4]
+ Points_List = SelectedObjects[3]
+ if msg !=0:
+ print_msg("Number_of_Points = " + str(Number_of_Points))
+ print_msg("Number_of_Edges = " + str(Number_of_Edges))
+ print_msg("Point List = " + str(Points_List))
+ print_msg("Edge List = " + str(Edge_List))
+
+ # Loop on the Points
+ for Selected_Point_dict in Points_List:
+ if msg != 0:
+ print_msg("Selected_Point_dict = " + str(Selected_Point_dict))
+ for Selected_Point, Parent_Point in Selected_Point_dict.iteritems():
+ if msg != 0:
+ print_msg("Selected_Point = " + str(Selected_Point))
+ print_msg("Parent_Point = " + str(Parent_Point))
+ Point_C = Selected_Point.Point
+ if msg !=0:
+ print_point(Point_C, msg="Point_C : ")
+ Placement1 = Selected_Point.Placement
+ #Placement1 = Parent_Point.Placement
+ base1 = Placement1.Base
+ #base1 = Point_C
+ rot1 = Placement1.Rotation
+ center_Vector = Point_C
+ m_move = Base.Vector(0, 0, 0)
+ Move_Vector = Base.Vector(0, 0, 0)
+ # Loop on the Edges
+ for Selected_Edge_dict in Edge_List:
+ for Selected_Edge, Parent_Edge in Selected_Edge_dict.iteritems():
+ if msg != 0:
+ print_msg("Selected_Edge = " + str(Selected_Edge))
+ print_msg("Parent_Edge = " + str(Parent_Edge))
+
+ Point_A = Selected_Edge.Vertexes[0].Point
+ Point_B = Selected_Edge.Vertexes[-1].Point
+ if msg !=0:
+ print_point(Point_A, msg="Selected_Edge.Vertexes[0] Point_A : ")
+ print_point(Point_B, msg="Selected_Edge.Vertexes[-1] Point_B : ")
+ AB_Vector = Point_B.sub(Point_A)
+ AB_Vector = AB_Vector.normalize()
+ # plot_axis(Base.Vector(0, 0, 0), AB_Vector, "Part::Feature", "AB")
+ Move_Vector = AB_Vector.multiply(m_distPoint)
+ Move_Vector = Move_Vector.add(center_Vector)
+ # plot_axis(Base.Vector(0, 0, 0), Move_Vector, "Part::Feature", "Move_Vector")
+ m_move = Move_Vector.sub(center_Vector)
+
+ if msg != 0:
+ print_point(Move_Vector, msg="Move_Vector = ")
+ print_point(m_move, msg="m_move = ")
+ print_msg("m_numberPoint = " + str(m_numberPoint))
+
+ for m_i in range(m_numberPoint):
+#==============================================================================
+# if objCopy == 1:
+# m_new_point = App.activeDocument().copyObject(Parent_Point)
+# else:
+#==============================================================================
+ m_new_point_shape = Selected_Point.copy()
+ m_new_point = App.ActiveDocument.addObject("Part::Feature", "Point_at_distance")
+ m_new_point.Shape = m_new_point_shape
+ App.ActiveDocument.getObject('WorkPoints').addObject(m_new_point)
+ Point_User_Name = m_new_point.Label
+
+ newplace1 = App.Placement(m_move, rot1 )
+ m_new_point.Placement = newplace1
+ # Update the move
+ m_move = m_move.add(Move_Vector.sub(center_Vector))
+
+ properties_point(Point_User_Name)
+ print_msg(str(Point_User_Name) + result_msg )
+
+ else:
+ printError_msg(error_msg)
+ except:
+ printError_msg(error_msg)
+
def numberPointCutWire(value):
""" Respond to the change in number of cut value from the spin box.
"""
@@ -3266,7 +3594,63 @@ def plot_linePlaneAxis():
printError_msg(error_msg)
except:
printError_msg(error_msg)
-
+
+
+def extensionAxis(value):
+ """ Respond to the change in Axis extension value from the text box.
+ """
+ try:
+ # First we check if a valid number have been entered
+ global m_extensionAxis
+ m_extensionAxis = float(value)
+ print_msg("New Axis extension is :" + str(m_extensionAxis))
+ except ValueError:
+ printError_msg("Axis extension must be valid number 5percentage)!")
+
+
+def plot_extensionAxis():
+ """ Extend an Axis at two extrema
+ """
+ global verbose
+ msg=verbose
+ createFolders('WorkAxis')
+ error_msg = "Unable to create Axis : \nSelect Axis(es) only !"
+ result_msg = " : Axis created !"
+ name = "Axis_extended"
+ part = "Part::Feature"
+ global m_extensionAxis
+ Selection = get_SelectedObjects(info=msg, printError=False)
+ try:
+ SelectedObjects = Selection
+ Number_of_Edges = SelectedObjects[1]
+ if msg !=0:
+ print_msg("Number_of_Edges=" + str(Number_of_Edges) )
+ if Number_of_Edges >= 1:
+ Edge_List = SelectedObjects[4]
+ if msg !=0:
+ print_msg("Edge_List=" + str(Edge_List))
+ for Selected_Edge in Edge_List:
+ if msg !=0:
+ print_msg("Selected_Edge=" + str(Selected_Edge))
+ Point_A = Selected_Edge.Vertexes[0].Point
+ Point_B = Selected_Edge.Vertexes[-1].Point
+ if msg !=0:
+ print_point(Point_A, msg="Selected_Edge.Vertexes[0] Point_A : ")
+ print_point(Point_B, msg="Selected_Edge.Vertexes[-1] Point_B : ")
+ AB_Vector = Point_B.sub(Point_A)
+ demi_add_length = Selected_Edge.Length * ((m_extensionAxis/50))
+ add_Vector = AB_Vector.normalize().multiply(demi_add_length)
+ Point_A = Point_A.sub(add_Vector)
+ Point_B = Point_B.add(add_Vector)
+
+ Axis_User_Name, axis = plot_axis(Point_A, Point_B, part, name)
+
+ print_msg(str(Axis_User_Name) + result_msg )
+ else:
+ printError_msg(error_msg)
+
+ except:
+ printError_msg(error_msg)
def plot_clickForAxis():
""" Plot an axis at location of 2 mouse clicks.
@@ -3290,7 +3674,11 @@ def plot_clickForAxis():
del m_stack[:]
view.removeEventCallback("SoMouseButtonEvent",m_callback)
m_clickForAxis = not m_clickForAxis
-
+
+
+
+
+
def plot_2PlanesAxis():
""" Plot the intersection Axis between two planes.
"""
@@ -3401,7 +3789,157 @@ def plot_2PlanesAxis():
except:
printError_msg(error_msg)
+
+def numberLine(value):
+ """ Respond to the change in number of line from the spin box.
+ """
+ global verbose
+ msg=verbose
+
+ try:
+ # First we check if a valid number have been entered
+ global m_numberLine
+ if str(value) == '-':
+ return
+ m_numberLine = int(value)
+ if m_numberLine == 0:
+ m_numberLine = 1
+ if msg != 0:
+ print_msg("New number is :" + str(m_numberLine))
+ except ValueError:
+ printError_msg("Number must be valid !")
+
+
+def distLine(value):
+ """ Respond to the change in Distance between line value from the text box.
+ """
+ global verbose
+ msg=verbose
+ try:
+ # First we check if a valid number have been entered
+ global m_distLine
+ if str(value) == '-':
+ return
+ m_distLine = float(value)
+ if msg != 0:
+ print_msg("New Distance between lines is :" + str(m_distLine))
+ except ValueError:
+ printError_msg("Distance between plane must be valid number !")
+
+
+def plot_distLine():
+ """ Axes=(Axis,Pt,dist)):
+ Create an Axis parallel to a given Axis, Point at a given distance.
+ The Axis is created on the Plane defined by the given Axis and Point.
+ - First select an Axis (or several Axes) and a Point
+ (you can also select several points to define different Planes)
+
+ NB: The distance to the Axis created can be defined first.
+ Positive number in one direction and negative in the other one.
+ The second number indicates the number of Axes to create.
+
+ If an Edge of a Cube is selected the Cube is duplicate with the corresponding
+ Edge at the defined distance from the original.
+ """
+ global verbose
+ global m_numberLine
+ global m_distLine
+ msg=verbose
+ createFolders('WorkAxis')
+ error_msg = "Unable to create Line(s) : \nSelect one (or several) Line and one or several Points\nwith Point(s) NOT on the Line!"
+ result_msg = " : Line(s) created !"
+
+ Selection = get_SelectedObjectsWithParent(info=msg, printError=False)
+ try:
+ SelectedObjects = Selection
+ Number_of_Points = SelectedObjects[0]
+ Number_of_Edges = SelectedObjects[1]
+
+ if (Number_of_Edges >= 1) and (Number_of_Points >= 1):
+ Edge_List = SelectedObjects[4]
+ Points_List = SelectedObjects[3]
+ if msg !=0:
+ print_msg("Number_of_Points = " + str(Number_of_Points))
+ print_msg("Number_of_Edges = " + str(Number_of_Edges))
+ print_msg("Point List = " + str(Points_List))
+ print_msg("Edge List = " + str(Edge_List))
+
+ # Loop on the Edges
+ for Selected_Edge_dict in Edge_List:
+ if msg != 0:
+ print_msg("Selected_Edge_dict = " + str(Selected_Edge_dict))
+ for Selected_Edge, Parent_Edge in Selected_Edge_dict.iteritems():
+ if msg != 0:
+ print_msg("Selected_Edge = " + str(Selected_Edge))
+ print_msg("Parent_Edge = " + str(Parent_Edge))
+
+ Point_A = Selected_Edge.Vertexes[0].Point
+ Point_B = Selected_Edge.Vertexes[-1].Point
+ if msg !=0:
+ print_point(Point_A, msg="Selected_Edge.Vertexes[0] Point_A : ")
+ print_point(Point_B, msg="Selected_Edge.Vertexes[-1] Point_B : ")
+ Placement1 = Selected_Edge.Placement
+ base1 = Placement1.Base
+ rot1 = Placement1.Rotation
+ AB_Vector = Point_B.sub(Point_A)
+ AB_Vector = AB_Vector.normalize()
+ #plot_axis(Base.Vector(0, 0, 0), AB_Vector, "Part::Feature", "AB")
+ center_Vector = centerLinePoint(Selected_Edge,info=msg)
+
+ # Loop on the Points
+ for Selected_Point_dict in Points_List:
+ if msg != 0:
+ print_msg("Selected_Point_dict = " + str(Selected_Point_dict))
+ for Selected_Point, Parent_Point in Selected_Point_dict.iteritems():
+ Point_C = Selected_Point.Point
+ if msg !=0:
+ print_point(Point_C, msg="Point_C : ")
+
+ AC_Vector = Point_C.sub(Point_A)
+ AC_Vector = AC_Vector.normalize()
+ #plot_axis(Base.Vector(0, 0, 0), AC_Vector, "Part::Feature", "AC")
+ Plane_Normal = AB_Vector.cross( AC_Vector )
+ Plane_Normal = Plane_Normal.normalize()
+ #plot_axis(Base.Vector(0, 0, 0), Plane_Normal, "Part::Feature", "Plane_Normal")
+ Move_Vector = Plane_Normal.cross( AB_Vector )
+ #plot_axis(Base.Vector(0, 0, 0), Move_Vector, "Part::Feature", "Move_Vector")
+ Move_Vector = Move_Vector.normalize().multiply(m_distLine)
+ Move_Vector = Move_Vector.add(center_Vector)
+ #plot_axis(center_Vector, Move_Vector, "Part::Feature", "End_Move_Vector")
+ m_move = Move_Vector.sub(center_Vector)
+ if msg != 0:
+ print_point(Move_Vector, msg="Move_Vector = ")
+ print_point(m_move, msg="m_move = ")
+ print_msg("m_numberLine = " + str(m_numberLine))
+
+ for m_i in range(m_numberLine):
+ if objCopy == 1:
+ m_new_line = App.activeDocument().copyObject(Parent_Edge)
+ else:
+ m_new_line_shape = Selected_Edge.copy()
+ m_new_line = App.ActiveDocument.addObject("Part::Feature", "Line_at_distance")
+ m_new_line.Shape = m_new_line_shape
+ App.ActiveDocument.getObject('WorkAxis').addObject(m_new_line)
+ Line_User_Name = m_new_line.Label
+
+ if msg != 0:
+ print_msg("m_new_line = " + str(m_new_line))
+
+ newplace1 = App.Placement(base1.add(m_move), rot1 )
+ m_new_line.Placement = newplace1
+ # Update the move
+ m_move = m_move.add(Move_Vector.sub(center_Vector))
+
+ properties_line(Line_User_Name)
+ print_msg(str(Line_User_Name) + result_msg )
+ else:
+ printError_msg(error_msg)
+ except:
+ printError_msg(error_msg)
+
+
+
def plot_baseObjectAxes():
msg=0
createFolders('Origin')
@@ -3754,7 +4292,7 @@ def plot_cutCircle():
if not (m_numberCircleCut >= 2 and m_numberCircleCut <= 100) :
m_numberCircleCut = 2
if msg != 0:
- print_msg("Number of cuts=" + str(m_numberCircleCut))
+ print_msg("Number of cuts is:" + str(m_numberCircleCut))
selection = Gui.Selection.getSelection()
if msg != 0:
@@ -3985,7 +4523,7 @@ def plot_axisPointPlane():
global verbose
msg=verbose
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, \nwith the Point NOT on the Line !"
result_msg = " : Plane created !"
name = "WorkPlane"
part = "Part::Feature"
@@ -3995,15 +4533,15 @@ def plot_axisPointPlane():
Number_of_Points = SelectedObjects[0]
Number_of_Edges = SelectedObjects[1]
if msg !=0:
- print_msg("Number_of_Points=" + str(Number_of_Points) + \
- "\nNumber_of_Edges=" + str(Number_of_Edges))
+ print_msg("Number_of_Points = " + str(Number_of_Points) + \
+ "\nNumber_of_Edges = " + str(Number_of_Edges))
points = []
if (Number_of_Points == 1) and (Number_of_Edges == 1):
Points_List = SelectedObjects[3]
Edge_List = SelectedObjects[4]
if msg !=0:
- print_msg(str(Points_List))
- print_msg(str(Edge_List))
+ print_msg("Point list = " + str(Points_List))
+ print_msg("Edge list = " + str(Edge_List))
Point_C = Points_List[0].Point
points.append(Point_C)
Point_A = Edge_List[0].valueAt(0.0)
@@ -4217,6 +4755,125 @@ def plot_planeAxisPlane():
printError_msg(error_msg)
+def numberPlane(value):
+ """ Respond to the change in number of plane from the spin box.
+ """
+ global verbose
+ msg=verbose
+
+ try:
+ # First we check if a valid number have been entered
+ global m_numberPlane
+ if str(value) == '-':
+ return
+ m_numberPlane = int(value)
+ if m_numberPlane == 0:
+ m_numberPlane = 1
+ if msg != 0:
+ print_msg("New number is :" + str(m_numberPlane))
+ except ValueError:
+ printError_msg("Number must be valid !")
+
+
+def distPlane(value):
+ """ Respond to the change in Distance between plane value from the text box.
+ """
+ global verbose
+ msg=verbose
+ try:
+ # First we check if a valid number have been entered
+ global m_distPlane
+ if str(value) == '-':
+ return
+ m_distPlane = float(value)
+ if msg != 0:
+ print_msg("New Distance between plane is :" + str(m_distPlane))
+ except ValueError:
+ printError_msg("Distance between plane must be valid number !")
+
+
+def plot_distPlane():
+ """ Plane=(Plane,dist):
+ Create a Plane parallel to a Plane at a given distance.
+ - First select a plane or several Planes
+
+ NB: The distance to the plane created can be defined first.
+ Positive number in one direction and negative in the other one.
+ The second number indicates the number of planes to create.
+
+ If a Face of a Cube is selected the Cube is duplicate with the corresponding
+ Face at the defined distance from the original.
+ """
+ global verbose
+ global objCopy
+ global m_numberPlane
+ global m_distPlane
+ msg=verbose
+ createFolders('WorkPlanes')
+ error_msg = "Unable to create Plane(s) : \nSelect at least one Plane !"
+ result_msg = " : Plane(s) created !"
+
+ Selection = get_SelectedObjectsWithParent(info=msg, printError=False)
+
+ try:
+ SelectedObjects = Selection
+ Number_of_Planes = SelectedObjects[2]
+
+ if Number_of_Planes >= 1 :
+ Plane_List = SelectedObjects[5]
+ if msg !=0:
+ print_msg("Number_of_Planes = " + str(Number_of_Planes))
+ print_msg("Plane list = " + str(Plane_List))
+
+ for Selected_Plane_dict in Plane_List:
+ if msg != 0:
+ print_msg("Selected_Plane_dict = " + str(Selected_Plane_dict))
+ for Selected_Plane, Parent_Plane in Selected_Plane_dict.iteritems():
+ if msg != 0:
+ print_msg("Selected_Plane = " + str(Selected_Plane))
+ print_msg("Parent = " + str(Parent_Plane))
+ Plane_Point = Selected_Plane.CenterOfMass
+ Plane_Normal = Selected_Plane.normalAt(0,0)
+ if msg != 0:
+ print_point(Plane_Point, msg="Plane_Point = ")
+ print_point(Plane_Normal, msg="Plane_Normal = ")
+ Placement1 = Selected_Plane.Placement
+ base1 = Placement1.Base
+ rot1 = Placement1.Rotation
+ New_Point = Plane_Point + Plane_Normal.normalize().multiply(m_distPlane)
+ m_move = New_Point.sub(Plane_Point)
+ if msg != 0:
+ print_point(New_Point, msg="New_Point = ")
+ print_point(m_move, msg="m_move = ")
+ print_msg("m_numberPlane = " + str(m_numberPlane))
+
+ for m_i in range(m_numberPlane):
+ if objCopy == 1:
+ m_new_plane = App.activeDocument().copyObject(Parent_Plane)
+ else:
+ m_new_plane_shape = Selected_Plane.copy()
+ m_new_plane = App.ActiveDocument.addObject("Part::Feature", "Plane_at_distance")
+ m_new_plane.Shape = m_new_plane_shape
+ App.ActiveDocument.getObject('WorkPlanes').addObject(m_new_plane)
+ Plane_User_Name = m_new_plane.Label
+ if msg != 0:
+ print_msg("m_new_plane = " + str(m_new_plane))
+ print_msg("Plane_User_Name = " + str(Plane_User_Name))
+
+ newplace1 = App.Placement(base1.add(m_move), rot1 )
+ m_new_plane.Placement = newplace1
+ # Update the move
+ m_move = m_move.add(New_Point.sub(Plane_Point))
+
+ properties_plane(Plane_User_Name)
+
+ print_msg(str(Plane_User_Name) + result_msg )
+ else:
+ printError_msg(error_msg)
+ except:
+ printError_msg(error_msg)
+
+
def lengthPlane(value):
""" Respond to the change in Plane length value from the text box.
"""
@@ -4252,7 +4909,7 @@ def plot_faceTangentPlane():
view = Gui.ActiveDocument.ActiveView
m_callback = view.addEventCallback("SoMouseButtonEvent",getClickedTangent)
-
+
def plot_clickForPlane():
""" Create a Plane at location of one mouse click in the view or
onto a clicked object or
@@ -4297,6 +4954,140 @@ def plot_clickForPlane():
#m_callback = view.addEventCallbackPivy(SoMouseButtonEvent.getClassTypeId(),getClickedPlane)
m_callback = view.addEventCallback("SoMouseButtonEvent",getClickedPlane2)
+
+def extensionPlane(value):
+ """ Respond to the change in Plane extension value from the text box.
+ """
+ try:
+ # First we check if a valid number have been entered
+ global m_extensionPlane
+ m_extensionPlane = float(value)
+ print_msg("New Plane extension is :" + str(m_extensionPlane))
+ except ValueError:
+ printError_msg("Plane extension must be valid number 5percentage)!")
+
+
+def plot_extensionPlane():
+ """ Extend a Plane in each dimension, based on a percentage.
+ """
+ global verbose
+ msg=verbose
+ createFolders('WorkPlanes')
+ error_msg = "Unable to create Plane : \nSelect Plane(s) only !"
+ result_msg = " : Plane created !"
+ name = "Plane_extended"
+ part = "Part::Feature"
+ global m_extensionPlane
+ Selection = get_SelectedObjects(info=msg, printError=False)
+ try:
+ SelectedObjects = Selection
+ Number_of_Planes = SelectedObjects[2]
+ if msg !=0:
+ print_msg("Number_of_Planes=" + str(Number_of_Planes))
+ if (Number_of_Planes) >= 1 :
+ Plane_List = SelectedObjects[5]
+ if msg !=0:
+ print_msg("Plane_List=" + str(Plane_List))
+ for Selected_Plane in Plane_List:
+ if msg !=0:
+ print_msg("Selected_Plane=" + str(Selected_Plane))
+ Plane_Normal = Selected_Plane.normalAt(0,0)
+ Plane_Point = Selected_Plane.CenterOfMass
+ max_val, min_val = init_min_max()
+ for edge in Selected_Plane.Edges:
+ if msg !=0:
+ print_msg("edge=" + str(edge))
+ print_msg("edge.Length=" + str(edge.Length))
+ min_val = min(min_val, edge.Length)
+ max_val = max(max_val, edge.Length)
+ if msg !=0:
+ print_msg("min_val=" + str(min_val))
+ print_msg("max_val=" + str(max_val))
+ min_val = min_val * (1 + (m_extensionPlane/50))
+ max_val = max_val * (1 + (m_extensionPlane/50))
+ Plane_User_Name, plane = plot_plane(min_val, max_val, Plane_Point, Plane_Normal, part, name)
+ print_msg(str(Plane_User_Name) + result_msg )
+ except:
+ printError_msg(error_msg)
+
+
+def plot_clickForPlane2():
+ """ A circular plane is created facing the screen to mouse click coordinates
+ on an object.
+ The radius of the plane is equal to the maximum dimension of BoundBox.
+ If no object is selected, the plane is created to 0, 0, 0 coordinates with
+ a radius of 20 mm
+ """
+ global verbose
+ msg=verbose
+
+ m_actDoc = get_ActiveDocument(info=msg)
+ if m_actDoc == None:
+ return None
+ createFolders('WorkPlanes')
+
+ printError_msg(error_msg)
+ return
+ m_radius = 20
+ m_selEx = Gui.Selection.getSelectionEx(m_actDoc.Name)
+ m_objs = [selobj.Object for selobj in m_selEx]
+ if len(objs) >= 1:
+ s = m_objs[0].Shape
+ boundBox_ = s.BoundBox
+ boundBoxLX = boundBox_.XLength
+ boundBoxLY = boundBox_.YLength
+ boundBoxLZ = boundBox_.ZLength
+
+ m_radius = boundBoxLX
+ if m_radius < boundBoxLY:
+ m_radius = boundBoxLY
+ elif m_radius < boundBoxLZ:
+ m_radius = boundBoxLZ
+
+ m_radiusP = m_radius
+ if msg !=0:
+ print_msg("Create plane ("+str(m_radiusP)+" mm)")
+
+ # TODO to complete
+ FcPlane = doc.addObject("App::DocumentObjectGroup","FcPlane")
+ plan = FreeCADGui.ActiveDocument.ActiveView.getCameraOrientation()
+ xP = float(datExtract(plan)[0])
+ yP = float(datExtract(plan)[1])
+ zP = float(datExtract(plan)[2])
+ qP = float(datExtract(plan)[3])
+ pl = FreeCAD.Placement()
+ pl.Rotation.Q = (xP,yP,zP,qP) # rotation of object
+
+ pl.Base = FreeCAD.Vector(positionX,positionY,positionZ) # here coordinates XYZ of plan
+ points=[FreeCAD.Vector(-(radiusP*1.5),0,0),FreeCAD.Vector((radiusP*1.5),0,0)]
+ mire01 = Draft.makeWire(points,closed=False,placement=pl,face=False,support=None)
+ FreeCADGui.ActiveDocument.getObject(App.ActiveDocument.ActiveObject.Name).LineColor = (1.0,0.0,0.0)
+ FcPlane.addObject(mire01) # contener character
+
+ points=[FreeCAD.Vector(0,-(radiusP*1.5),0),FreeCAD.Vector(0,(radiusP*1.5),0)]
+ mire02 = Draft.makeWire(points,closed=False,placement=pl,face=False,support=None)
+ FreeCADGui.ActiveDocument.getObject(App.ActiveDocument.ActiveObject.Name).LineColor = (1.0,0.0,0.0)
+ FcPlane.addObject(mire02) # contener character
+
+ cercle = Draft.makeCircle(radius=radiusP,placement=pl,face=False,support=None)
+ Rnameplane = App.ActiveDocument.ActiveObject.Name
+
+ App.ActiveDocument.ActiveObject.Label = "PlaneC"
+ FreeCAD.ActiveDocument.getObject(Rnameplane).MakeFace = True
+ FreeCADGui.ActiveDocument.getObject(Rnameplane).LineColor = (1.0,0.0,0.0)
+ FreeCADGui.ActiveDocument.getObject(Rnameplane).ShapeColor = (0.0,0.66666669,1.0)
+ FreeCADGui.ActiveDocument.getObject(Rnameplane).Transparency = 80
+ FreeCADGui.ActiveDocument.getObject(Rnameplane).GridSize = '10 mm'
+# FreeCADGui.ActiveDocument.getObject(Rnameplane).GridSnap = True
+ FreeCADGui.ActiveDocument.getObject(Rnameplane).ShowGrid = True
+
+ FcPlane.addObject(cercle) # contener character
+ FreeCAD.ActiveDocument.recompute()
+
+ positionX = 0.0
+ positionY = 0.0
+ positionZ = 0.0
+
def plot_centerObjectPlanes():
""" Create 3 Planes XY, YZ and XZ at center point of all selected objects.
@@ -5791,6 +6582,11 @@ class WorkFeatureTab():
self.ui = WFGui.Ui_Form()
self.ui.setupUi(self.m_dialog)
self.m_tab.setCurrentIndex(3)
+
+ # Create a Rotation object
+ self.rot = Rotation(self.ui)
+ # Create a Translation object
+ self.trans = Translation(self.ui)
### Connect to functions
self.connections_for_checkbox_toggled = {
@@ -5807,14 +6603,16 @@ class WorkFeatureTab():
"button_object_center" : "plot_centerObjectPoint",
"button_Npoints_center" : "plot_NpointsPoint",
"button_line_center" : "plot_centerLinePoint",
- "button_line_extrema" : "plot_extremaLinePoint",
- "button_point_on_line" : "plot_alongLinePoint",
+ "button_line_extrema" : "plot_extremaLinePoint",
"button_circle_center" : "plot_centerCirclePoint",
+ "button_point_on_line" : "plot_alongLinePoint",
"button_face_center" : "plot_centerFacePoint",
"button_line_face_point" : "plot_lineFacePoint",
- "button_point_line_point" : "plot_pointLinePoint",
"button_point_face_point" : "plot_pointFacePoint",
+
"button_twolines_point" : "plot_2LinesPoint",
+ "button_point_line_point" : "plot_pointLinePoint",
+ "button_distPoint" : "plot_distPoint",
"button_cut_wire_point" : "plot_cutWirePoint",
"button_click_for_point" : "plot_clickForPoint",
"button_object_base_point" : "plot_baseObjectPoint",
@@ -5825,14 +6623,17 @@ class WorkFeatureTab():
"button_cylinder_axis" : "plot_cylinderAxis",
"button_plane_axis" : "plot_planeAxis",
"button_face_normal" : "plot_faceNormal",
- "button_twolines_axis" : "plot_2LinesAxis",
- "button_cut_axis" : "plot_cutAxis",
- "button_cut_wire_axis" : "plot_cutWireAxis",
"button_point_line_axis" : "plot_pointLineAxis",
"button_line_point_axis" : "plot_linePointAxis",
- "button_line_plane_axis" : "plot_linePlaneAxis",
+ "button_twolines_axis" : "plot_2LinesAxis",
"button_plane_point_line_axis": "plot_planeLinePointAxis",
+ "button_line_plane_axis" : "plot_linePlaneAxis",
"button_twoplanes_axis" : "plot_2PlanesAxis",
+
+ "button_distLine" : "plot_distLine",
+ "button_cut_axis" : "plot_cutAxis",
+ "button_cut_wire_axis" : "plot_cutWireAxis",
+ "button_extension_axis" : "plot_extensionAxis",
"button_click_for_axis" : "plot_clickForAxis",
"button_object_base_axes" : "plot_baseObjectAxes",
"button_line_to_sketch" : "line_toSketch",
@@ -5848,8 +6649,11 @@ class WorkFeatureTab():
"button_axis_point_plane" : "plot_perpendicularAxisPointPlane",
"button_planeandpoint_plane" : "plot_planePointPlane",
"button_planeandaxis_plane" : "plot_planeAxisPlane",
+ "button_distPlane" : "plot_distPlane",
"button_face_tangent" : "plot_faceTangentPlane",
"button_click_for_plane" : "plot_clickForPlane",
+
+ "button_extension_plane" : "plot_extensionPlane",
"button_object_center_planes" : "plot_centerObjectPlanes",
"button_boundingboxes" : "plot_boundingBoxes",
@@ -5897,6 +6701,11 @@ class WorkFeatureTab():
"width_plane" : "widthPlane",
"length_plane_2" : "lengthPlane",
"width_plane_2" : "widthPlane",
+ "extension_plane" : "extensionPlane",
+ "extension_axis" : "extensionAxis",
+ "dist_plane" : "distPlane",
+ "dist_line" : "distLine",
+ "dist_point" : "distPoint",
}
@@ -5906,11 +6715,15 @@ class WorkFeatureTab():
"spin_wire_cut_point" : "numberPointCutWire",
"spin_wire_cut_axis" : "numberAxisCutWire",
"spin_circle_cut" : "numberCircleCut",
+ "spin_dist_plane" : "numberPlane",
+ "spin_dist_line" : "numberLine",
+ "spin_dist_point" : "numberPoint",
}
self.connections_for_radiobutton_clicked = {
"radioButton_verbose" : "verbose_toggled",
"radioButton_biColor" : "biColor_toggled",
+ "radioButton_copy" : "copy_toggled",
}
self.connections_for_combobox_changed = {
@@ -5958,8 +6771,106 @@ class WorkFeatureTab():
#print_msg( "Connecting : " + str(m_key) + " and " + str(m_val) )
QtCore.QObject.connect(getattr(self.ui, str(m_key)),
QtCore.SIGNAL(_fromUtf8("currentIndexChanged(QString)")),globals()[str(m_val)])
+
+#==============================================================================
+# Define Connections to Translation Object
+#==============================================================================
+ self.connections_for_ObjTrans_button_pressed = {
+ "ObjTrans_button_select" : "initialize",
+ "ObjTrans_button_select_start" : "select_start",
+ "ObjTrans_button_select_end" : "select_end",
+ "ObjTrans_button_reset" : "reset",
+ "ObjTrans_button_apply" : "application",
+ }
+
+ self.connections_for_ObjTrans_combobox_changed = {
+ "ObjTrans_comboBox_start" : "start_value",
+ "ObjTrans_comboBox_end" : "end_value",
+ }
-
+ self.connections_for_ObjTrans_checkbox_toggled = {
+ "ObjTrans_duplicate" : "copyFlag",
+ }
+
+ self.connections_for_ObjTrans_spin_changed = {
+ "ObjTrans_spin" : "numberCopies",
+ }
+#==============================================================================
+# Connect to Translation functions
+#==============================================================================
+ for m_key, m_val in self.connections_for_ObjTrans_button_pressed.items():
+ #func.print_msg( "Connecting : " + str(getattr(self.ui, str(m_key))) + " and " + str(getattr(self.trans, str(m_val))) )
+ QtCore.QObject.connect(getattr(self.ui, str(m_key)),
+ QtCore.SIGNAL("pressed()"),getattr(self.trans, str(m_val)))
+
+ for m_key, m_val in self.connections_for_ObjTrans_combobox_changed.items():
+ #print_msg( "Connecting : " + str(getattr(self.ui, str(m_key))) + " and " + str(getattr(self.trans, str(m_val))) )
+ QtCore.QObject.connect(getattr(self.ui, str(m_key)),
+ QtCore.SIGNAL(_fromUtf8("currentIndexChanged(QString)")),getattr(self.trans, str(m_val)))
+
+ for m_key, m_val in self.connections_for_ObjTrans_checkbox_toggled.items():
+ #print_msg( "Connecting : " + str(m_key) + " and " + str(m_val) )
+ #print_msg( "Connecting : " + str(getattr(self.ui, str(m_key))) + " and " + str(getattr(self.trans, str(m_val))) )
+ QtCore.QObject.connect(getattr(self.ui, str(m_key)),
+ QtCore.SIGNAL(_fromUtf8("toggled(bool)")),getattr(self.trans, str(m_val)))
+
+
+ for m_key, m_val in self.connections_for_ObjTrans_spin_changed.items():
+ #print_msg( "Connecting : " + str(getattr(self.ui, str(m_key))) + " and " + str(getattr(self.trans, str(m_val))) )
+ QtCore.QObject.connect(getattr(self.ui, str(m_key)),
+ QtCore.SIGNAL("valueChanged(int)"),getattr(self.trans, str(m_val)))
+
+#==============================================================================
+# Define Connections to Rotation Object
+#==============================================================================
+ self.connections_for_ObjRot_slider_changed = {
+ "ObjRot_horizontalSlider" : "angle_value_changed",
+ }
+
+ self.connections_for_ObjRot_button_pressed = {
+ "ObjRot_button_select" : "initialize",
+ "ObjRot_button_select_center" : "select_center",
+ "ObjRot_button_select_axis" : "select_axis",
+ "ObjRot_button_reset" : "reset",
+ "ObjRot_button_apply" : "application",
+ }
+
+ self.connections_for_ObjRot_combobox_changed = {
+ "ObjRot_comboBox_center" : "center_value",
+ "ObjRot_comboBox_axis" : "axis_value",
+ }
+
+ self.connections_for_ObjRot_return_pressed = {
+ "ObjRot_lineEdit_angle" : "angle_value_entered",
+ }
+
+#==============================================================================
+# Connect to Rotation functions
+#==============================================================================
+ for m_key, m_val in self.connections_for_ObjRot_button_pressed.items():
+ #func.print_msg( "Connecting : " + str(getattr(self.ui, str(m_key))) + " and " + str(getattr(self.rot, str(m_val))) )
+ QtCore.QObject.connect(getattr(self.ui, str(m_key)),
+ QtCore.SIGNAL("pressed()"),getattr(self.rot, str(m_val)))
+
+ for m_key, m_val in self.connections_for_ObjRot_combobox_changed.items():
+ #print_msg( "Connecting : " + str(getattr(self.ui, str(m_key))) + " and " + str(getattr(self.rot, str(m_val))) )
+ QtCore.QObject.connect(getattr(self.ui, str(m_key)),
+ QtCore.SIGNAL(_fromUtf8("currentIndexChanged(QString)")),getattr(self.rot, str(m_val)))
+
+ for m_key, m_val in self.connections_for_ObjRot_slider_changed.items():
+ #func.print_msg( "Connecting : " + str(getattr(self.ui, str(m_key))) + " and " + str(getattr(self.rot, str(m_val))) )
+ QtCore.QObject.connect(getattr(self.ui, str(m_key)),
+ QtCore.SIGNAL("valueChanged(int)"),getattr(self.rot, str(m_val)))
+
+ for m_key, m_val in self.connections_for_ObjRot_return_pressed.items():
+ #func.print_msg( "Connecting : " + str(getattr(self.ui, str(m_key))) + " and " + str(getattr(self.rot, str(m_val))) )
+ QtCore.QObject.connect(getattr(self.ui, str(m_key)),
+ QtCore.SIGNAL("returnPressed()"),getattr(self.rot, str(m_val)))
+
+
+
+
+
self.m_dialog.show()
m_text=str(myRelease)
self.ui.label_release.setText(QtGui.QApplication.translate("Form", m_text, None, QtGui.QApplication.UnicodeUTF8))