Macro FCSpring Helix Variable
File:FCSpring Helix Variable Macro FCSpring Helix Variable |
Description |
---|
Creates a spring with helix variable. Author: Mario52 |
Author |
Mario52 |
Download |
None |
Links |
Macros recipes How to install macros How to customize toolbars |
Macro Version |
1.0 |
Date last modified |
None |
FreeCAD Version(s) |
None |
Default shortcut |
None |
See also |
None |
Description
This macro creates a spring with customizable, any turn may change the spring configuration can be saved in a file with the extension .FCSpring
Use
This section is used to configuration the spring
Schematic detail of spring configuration
Gui
First section, spring configuration
- Number of coil : Total of coil to spring. Default = 10
- Radius of spring : Radius of spring. Default = 20.0
- Pitch of spring : Pitch of spring general. Default = 15.0
- Precision of turn : Precision of turn the precision correspond the number of point for 1 turn the coil and is calculate : precision (number points) = (pitch / (360/precision)). Default = 5 (72 points)
- Spring conical : Give the large diameter of the cone that dimension will always be greater than the radius
- Begin : Begin angle of the spring first coil.
- End : End angle of the spring last coil.
- Ch. : Check box choice for activate the function Begin and End angle of the coil unchecked by default.
If the function is checked The accuracy is automatically set to 1 (360 points per turn 1 point = 1 degrees)
Second section, type line
- BSpline : Type line BSpline.
- Wire : Type line Wire.
- Points : Check box point if the check box is activate one point is create of on each point.
- Reverse : Check box reverse if the check box is activate the spring changes direction
Third section, coil special length
- Numbering of coil : Numbering of coil to modify. (Defaut : none)
- Smoothing This checkBox discover one spinBox for determine the grade of smoothing the maximum value is the precision value -1 (this option is still at the prototype stage and the result can be satisfying or completely wrong)
- Pitch of coil : Pitch of coil to modify. (Defaut : none)
- 15 : If the button is pressed the value of the "Pitch of string" is affected of the "Pitch of coil" (This value is automatically aligned of the value Pitch of string)
- Radius of coil : Radius of coil to modify. (Defaut : none)
- 20 : If the button is pressed the value of the "Radius of string" is affected of the "Radius of coil" (This value is automatically aligned of the value Radius of string)
- Accept the value modified : Button to accept the modification after select the numbering of coil and modify the pitch of coil.
- Text edit : This window displayed all coil modified.
Commands
- Load : The Read button open a dialogue box to read a file .FCSpring.
- Save : The Save button open a dialogue box to save a file .FCSpring with configuration spring modify or not.
- Load Coordinates : Open a dialogue box to read a file .FCSpringCoor (all coordinates of points of the spring).
- Save Coordinates : Open a dialogue box to save a file .FCSpringCoor (all coordinates of points of the spring).
- Quit : Quit the macro.
- Reset : Reset the macro to default configuration.
- Launch : Launch the macro and create the spring configured.
Report view
The window report view displayed all value modified.
Example spring
Example to spring modified
Example Report view
When the macro is launched full list of turns is displayed in tabular form.
Here the data of the spring above and displayed in the Report view
Icon
Download the file image and copy in your macro repertory.
Click the image, in the new window position the mouse over the image, click the right mouse and do "Save target as ..."
ToolBar button
Macro icons
Script
Macro_FCSpring_Helix_Variable.FCMacro
Download the macro to Gist Macro_FCSpring_Helix_Variable
Examples
-
Valves Assembly IN EX with permit and created by r.tec see Inlet & Exhaust Valves Assembly and Spiralfeder thanks r.tec
Links
The forum discussion Try to do a Spring
Project
soften fittings
modify diameter to any coil :done
Version
16/03/2016: ver 01.08 : correct and add "int()" to debutAngle and finAngle (read file)
02/03/2016: ver 01.07 : add option reverse spring
08/02/2016: ver 01.06 : correct bug angle cause "modifyAngle = int(file.readline().rstrip('\n\r')) # 9" modifyAngle is int() not char
07/01/2015: ver 01.05 : adding "Try ...Except" (data cone) for compatibility with old version
07/01/2015: ver 01.04 : adding spring conical and modify the path to "UserAppData" and adding the icone.
07/12/2014: ver 01.03 : new version with radius coil adjustable
17/11/2014: ver 1.02 : new version with GUI and modification any coil and save or load the data to disk.
10/11/2014: (23h20) correction of the modification
ligne.Placement = App.Placement(App.Vector(0.0,0.0,0.0), App.Rotation(App.Vector(0,0,1),angleTr), App.Vector(0,0,0))
10/11/2014: modify line 44 :
a = FreeCAD.ActiveDocument.Line.Placement=App.Placement(App.Vector(0.0,0.0,0.0), App.Rotation(App.Vector(0,0,1),angleTr), App.Vector(0,0,0))
to
ligne = FreeCAD.ActiveDocument.Line.Placement=App.Placement(App.Vector(0.0,0.0,0.0), App.Rotation(App.Vector(0,0,1),angleTr), App.Vector(0,0,0))
6/11/2014 : adding "makeBSpline" and configuration
Limitations
During sweep tests here are the mistakes I have obtained !
-
ACCESS VIOLATION
-
TCollection_IndexedDataMap
-
Wrong usage of punctual sections