All: Reformat according to new standard
This commit is contained in:
committed by
Kacper Donat
parent
ef997f2259
commit
9fe130cd73
@@ -1,51 +1,61 @@
|
||||
#! python
|
||||
# (c) 2011 Adrian Przekwas LGPL
|
||||
|
||||
from __future__ import division # allows floating point division from integers
|
||||
from __future__ import division # allows floating point division from integers
|
||||
import FreeCAD, Part
|
||||
from FreeCAD import Base
|
||||
|
||||
|
||||
class MySpring:
|
||||
def __init__(self, obj):
|
||||
''' Add the properties: Pitch, Diameter, Height, BarDiameter '''
|
||||
obj.addProperty("App::PropertyLength", "Pitch", "MySpring", "Pitch of the helix", locked=True).Pitch = 5.0
|
||||
obj.addProperty("App::PropertyLength", "Diameter", "MySpring", "Diameter of the helix", locked=True).Diameter = 6.0
|
||||
obj.addProperty("App::PropertyLength", "Height", "MySpring", "Height of the helix", locked=True).Height = 30.0
|
||||
obj.addProperty("App::PropertyLength", "BarDiameter", "MySpring", "Diameter of the bar", locked=True).BarDiameter = 3.0
|
||||
obj.Proxy = self
|
||||
def __init__(self, obj):
|
||||
"""Add the properties: Pitch, Diameter, Height, BarDiameter"""
|
||||
obj.addProperty(
|
||||
"App::PropertyLength", "Pitch", "MySpring", "Pitch of the helix", locked=True
|
||||
).Pitch = 5.0
|
||||
obj.addProperty(
|
||||
"App::PropertyLength", "Diameter", "MySpring", "Diameter of the helix", locked=True
|
||||
).Diameter = 6.0
|
||||
obj.addProperty(
|
||||
"App::PropertyLength", "Height", "MySpring", "Height of the helix", locked=True
|
||||
).Height = 30.0
|
||||
obj.addProperty(
|
||||
"App::PropertyLength", "BarDiameter", "MySpring", "Diameter of the bar", locked=True
|
||||
).BarDiameter = 3.0
|
||||
obj.Proxy = self
|
||||
|
||||
def onChanged(self, fp, prop):
|
||||
if prop == "Pitch" or prop == "Diameter" or prop == "Height" or prop == "BarDiameter":
|
||||
self.execute(fp)
|
||||
def onChanged(self, fp, prop):
|
||||
if prop == "Pitch" or prop == "Diameter" or prop == "Height" or prop == "BarDiameter":
|
||||
self.execute(fp)
|
||||
|
||||
def execute(self, fp):
|
||||
pitch = fp.Pitch
|
||||
radius = fp.Diameter / 2
|
||||
height = fp.Height
|
||||
barradius = fp.BarDiameter / 2
|
||||
myhelix = Part.makeHelix(pitch, height, radius)
|
||||
g = myhelix.Edges[0].Curve
|
||||
c = Part.Circle()
|
||||
c.Center = g.value(0) # start point of the helix
|
||||
c.Axis = (0, 1, 0)
|
||||
c.Radius = barradius
|
||||
p = c.toShape()
|
||||
section = Part.Wire([p])
|
||||
makeSolid = True
|
||||
isFrenet = True
|
||||
myspring = Part.Wire(myhelix).makePipeShell([section], makeSolid, isFrenet)
|
||||
fp.Shape = myspring
|
||||
|
||||
def execute(self, fp):
|
||||
pitch = fp.Pitch
|
||||
radius = fp.Diameter/2
|
||||
height = fp.Height
|
||||
barradius = fp.BarDiameter/2
|
||||
myhelix = Part.makeHelix(pitch, height, radius)
|
||||
g = myhelix.Edges[0].Curve
|
||||
c = Part.Circle()
|
||||
c.Center = g.value(0) # start point of the helix
|
||||
c.Axis = (0, 1, 0)
|
||||
c.Radius = barradius
|
||||
p = c.toShape()
|
||||
section = Part.Wire([p])
|
||||
makeSolid = True
|
||||
isFrenet = True
|
||||
myspring = Part.Wire(myhelix).makePipeShell([section], makeSolid, isFrenet)
|
||||
fp.Shape = myspring
|
||||
|
||||
def makeMySpring():
|
||||
doc = FreeCAD.activeDocument()
|
||||
if doc is None:
|
||||
doc = FreeCAD.newDocument()
|
||||
spring = doc.addObject("Part::FeaturePython", "My_Spring")
|
||||
spring.Label = "My Spring"
|
||||
MySpring(spring)
|
||||
spring.ViewObject.Proxy = 0
|
||||
doc.recompute()
|
||||
doc = FreeCAD.activeDocument()
|
||||
if doc is None:
|
||||
doc = FreeCAD.newDocument()
|
||||
spring = doc.addObject("Part::FeaturePython", "My_Spring")
|
||||
spring.Label = "My Spring"
|
||||
MySpring(spring)
|
||||
spring.ViewObject.Proxy = 0
|
||||
doc.recompute()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
makeMySpring()
|
||||
makeMySpring()
|
||||
|
||||
Reference in New Issue
Block a user