Macro FCSpring Helix Variable

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



First section, spring configuration
If the function is checked The accuracy is automatically set to 1 (360 points per turn 1 point = 1 degrees)
 * 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.



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)
 * : 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)
 * : 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)
 * : 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

 * : The Read button open a dialogue box to read a file .FCSpring.
 * : The Save button open a dialogue box to save a file .FCSpring with configuration spring modify or not.
 * : Open a dialogue box to read a file .FCSpringCoor (all coordinates of points of the spring).
 * : Open a dialogue box to save a file .FCSpringCoor (all coordinates of points of the spring).
 * : Quit the macro.
 * : Reset the macro to default configuration.
 * : 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

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

10/11/2014: modify line 44 :

to

6/11/2014 : adding "makeBSpline" and configuration

Limitations
During sweep tests here are the mistakes I have obtained !