Skip to content

Commit

Permalink
PypeBranch2 using AttachExtensionPython + other
Browse files Browse the repository at this point in the history
  • Loading branch information
oddtopus committed Jul 1, 2018
1 parent 8f4a0a9 commit 3948fac
Show file tree
Hide file tree
Showing 8 changed files with 290 additions and 145 deletions.
4 changes: 3 additions & 1 deletion CommandsPipe.py
Expand Up @@ -204,7 +204,9 @@ def GetResources(self):
class insertValve:
def Activated (self):
import pipeForms
FreeCADGui.Control.showDialog(pipeForms.insertValveForm()) #pipeFormObj=pipeForms.insertValveForm()
#pipeFormObj=pipeForms.insertValveForm()
#FreeCADGui.Control.showDialog(pipeForms.insertValveForm())
pipeFormObj=pipeForms.insertValveForm()
def GetResources(self):
return{'Pixmap':os.path.join(os.path.dirname(os.path.abspath(__file__)),"icons","valve.svg"),'MenuText':'Insert a valve','ToolTip':'Insert a valve'}

Expand Down
161 changes: 67 additions & 94 deletions dialogs/beamshift.ui
Expand Up @@ -20,93 +20,71 @@
<property name="bottomMargin">
<number>0</number>
</property>
<item row="7" column="0" colspan="2">
<widget class="Line" name="line">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="baseSize">
<size>
<width>50</width>
<height>0</height>
</size>
</property>
<item row="2" column="1">
<widget class="QLineEdit" name="edit3">
<property name="text">
<string> X - mm: </string>
<string>0</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
<property name="buddy">
<cstring>edit1</cstring>
</property>
</widget>
</item>
<item row="8" column="0" colspan="2">
<widget class="QPushButton" name="btn1">
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<item row="9" column="1">
<widget class="QLineEdit" name="edit4">
<property name="text">
<string>(S)et displacement</string>
<string>1</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QRadioButton" name="radio2">
<item row="4" column="0">
<widget class="QRadioButton" name="radio1">
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="text">
<string>copy</string>
<string>move</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_2">
<property name="baseSize">
<size>
<width>50</width>
<height>0</height>
</size>
</property>
<item row="0" column="1">
<widget class="QLineEdit" name="edit1">
<property name="text">
<string> Y - mm: </string>
<string>0</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
<property name="buddy">
<cstring>edit2</cstring>
</property>
</widget>
</item>
<item row="10" column="1">
<widget class="QLineEdit" name="edit5">
<item row="9" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>1</string>
<string> Multiple: </string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
<property name="buddy">
<cstring>edit4</cstring>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="edit1">
<property name="text">
<string>0</string>
<item row="4" column="1">
<widget class="QRadioButton" name="radio2">
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
<property name="text">
<string>copy</string>
</property>
</widget>
</item>
<item row="9" column="1">
<widget class="QLineEdit" name="edit4">
<item row="10" column="1">
<widget class="QLineEdit" name="edit5">
<property name="text">
<string>1</string>
</property>
Expand All @@ -115,8 +93,8 @@
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLineEdit" name="edit3">
<item row="1" column="1">
<widget class="QLineEdit" name="edit2">
<property name="text">
<string>0</string>
</property>
Expand All @@ -125,75 +103,70 @@
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_3">
<property name="baseSize">
<size>
<width>50</width>
<height>0</height>
</size>
</property>
<item row="11" column="0" colspan="2">
<widget class="QLabel" name="label_6">
<property name="text">
<string> Z - mm: </string>
<string>OK or RETURN to move</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
<property name="buddy">
<cstring>edit3</cstring>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="edit2">
<property name="text">
<string>0</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
<item row="7" column="0" colspan="2">
<widget class="Line" name="line">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QRadioButton" name="radio1">
<item row="8" column="0" colspan="2">
<widget class="QPushButton" name="btn1">
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="text">
<string>move</string>
</property>
<property name="checked">
<bool>true</bool>
<string>(S)et displacement</string>
</property>
</widget>
</item>
<item row="9" column="0">
<widget class="QLabel" name="label_4">
<item row="10" column="0">
<widget class="QLabel" name="label_5">
<property name="text">
<string> Multiple: </string>
<string> Steps: </string>
</property>
<property name="buddy">
<cstring>edit4</cstring>
<cstring>edit5</cstring>
</property>
</widget>
</item>
<item row="10" column="0">
<widget class="QLabel" name="label_5">
<item row="0" column="0">
<widget class="QCheckBox" name="cbX">
<property name="text">
<string> Steps: </string>
<string> X:</string>
</property>
<property name="buddy">
<cstring>edit5</cstring>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="11" column="0" colspan="2">
<widget class="QLabel" name="label_6">
<item row="1" column="0">
<widget class="QCheckBox" name="cbY">
<property name="text">
<string>OK or RETURN to move</string>
<string> Y:</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QCheckBox" name="cbZ">
<property name="text">
<string> Z:</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
Expand Down
2 changes: 1 addition & 1 deletion frameFeatures.py
Expand Up @@ -15,7 +15,7 @@

################ DIALOGS #############################

class frameLineForm(QWidget):
class frameLineForm(QDialog):
'''
Dialog for frameFeatures management.
From this you can:
Expand Down
27 changes: 17 additions & 10 deletions frameForms.py
Expand Up @@ -99,6 +99,7 @@ def reject(self):
'CAN be redefined to remove other attributes, such as arrow()s or label()s'
try: self.view.removeEventCallback('SoEvent',self.call)
except: pass
if FreeCAD.ActiveDocument: FreeCAD.ActiveDocument.recompute()
FreeCADGui.Control.closeDialog()

class fillForm(prototypeDialog):
Expand Down Expand Up @@ -217,11 +218,13 @@ def accept(self): # stretch
FreeCAD.activeDocument().recompute()
FreeCAD.activeDocument().commitTransaction()
def reject(self): # redefined to remove label from the scene
try: self.view.removeEventCallback('SoEvent',self.call)
except: pass
if self.labTail:
self.labTail.removeLabel()
FreeCADGui.Control.closeDialog()
#try: self.view.removeEventCallback('SoEvent',self.call)
#except: pass
#if FreeCAD.ActiveDocument: FreeCAD.ActiveDocument.recompute()
#FreeCADGui.Control.closeDialog()
super(stretchForm,self).reject()

class translateForm(prototypeDialog):
'dialog for moving blocks'
Expand Down Expand Up @@ -303,7 +306,7 @@ def selectAction(self):
def accept(self): # translate
self.deleteArrow()
scale=float(self.form.edit4.text())/float(self.form.edit5.text())
disp=FreeCAD.Vector(float(self.form.edit1.text()),float(self.form.edit2.text()),float(self.form.edit3.text())).scale(scale,scale,scale)
disp=FreeCAD.Vector(float(self.form.edit1.text())*self.form.cbX.isChecked(),float(self.form.edit2.text())*self.form.cbY.isChecked(),float(self.form.edit3.text())*self.form.cbZ.isChecked()).scale(scale,scale,scale)
FreeCAD.activeDocument().openTransaction('Translate')
if self.form.radio2.isChecked():
for o in set(FreeCADGui.Selection.getSelection()):
Expand All @@ -316,10 +319,12 @@ def deleteArrow(self):
if self.arrow: self.arrow.closeArrow() #FreeCADGui.ActiveDocument.ActiveView.getSceneGraph().removeChild(self.arrow.node)
self.arrow=None
def reject(self): # redefined to remove arrow from scene
try: self.view.removeEventCallback('SoEvent',self.call)
except: pass
self.deleteArrow()
FreeCADGui.Control.closeDialog()
#try: self.view.removeEventCallback('SoEvent',self.call)
#except: pass
#if FreeCAD.ActiveDocument: FreeCAD.ActiveDocument.recompute()
#FreeCADGui.Control.closeDialog()
super(translateForm,self).reject()

class alignForm(prototypeDialog):
'dialog to flush faces'
Expand Down Expand Up @@ -430,7 +435,9 @@ def deleteArrow(self):
if self.arrow: self.arrow.closeArrow()
self.arrow=None
def reject(self): # redefined to remove arrow from scene
try: self.view.removeEventCallback('SoEvent',self.call)
except: pass
self.deleteArrow()
FreeCADGui.Control.closeDialog()
#try: self.view.removeEventCallback('SoEvent',self.call)
#except: pass
#if FreeCAD.ActiveDocument: FreeCAD.ActiveDocument.recompute()
#FreeCADGui.Control.closeDialog()
super(rotateAroundForm,self).reject()
12 changes: 8 additions & 4 deletions pipeCmd.py
Expand Up @@ -430,7 +430,7 @@ def makeBranch(base=None, DN="DN50",PRating="SCH-STD",OD=60.3,thk=3,BR=None, lab
base=path
if base:
a=FreeCAD.ActiveDocument.addObject("Part::FeaturePython",lab)
pipeFeatures.PypeBranch(a,base,DN,PRating,OD,thk,BR)
pipeFeatures.PypeBranch2(a,base,DN,PRating,OD,thk,BR)
pipeFeatures.ViewProviderPypeBranch(a.ViewObject)
return a
else:
Expand Down Expand Up @@ -610,9 +610,13 @@ def placeThePype(pypeObject, port=0, target=None, targetPort=0):
pos=portsPos(target)[targetPort]
Z=portsDir(target)[targetPort]
else: # find target
selex=FreeCADGui.Selection.getSelectionEx()
target=selex[0].Object
so=selex[0].SubObjects[0]
try:
selex=FreeCADGui.Selection.getSelectionEx()
target=selex[0].Object
so=selex[0].SubObjects[0]
except:
FreeCAD.Console.PrintError('No geometry selected\n')
return
if type(so)==Part.Vertex: pick=so.Point
else: pick=so.CenterOfMass
if hasattr(target,'PType') and hasattr(target,'Ports'): # ...selection is another pype-object
Expand Down

0 comments on commit 3948fac

Please sign in to comment.