CPLspringSpiral

by Tim C. Lueth, SG-Lib Toolbox: SolidGeometry 5.6 - CPL/Closed Polygon Lists
Introduced first in SolidGeometry 5.4, Creation date: 2024-06-04, Last change: 2025-09-15

creates just the pathe and basic contour for a windup motor spring spiral

Description

ATTENTION - THIS IS NOT THE BEST SPRING LOAD VERSION! The best spring is a simple spiral spring as an involute with a constant space between the tracks as with a PLevolute. If such a spring is inserted into a smaller housing already preloaded, the tracks are closer together on the outside. The spring has a more constant torque output. However, as a plastic spring shows material creep after just 24 hours, such a spring will relax. It would make more sense to use a thicker involute coil, perhaps with several arms. (See examples using SGspringSpiral)

This function create a spring contour that is different to a PLevolvente spring. It looks more like a commercial feather steel spring (see SGspringSpiralbolt).
This function is used in SGspringSpiral

See Also: PLevolvente , PLgrowline , SGspringSpiral , SGspringSpiralbolt

Example Illustration

 missing image of CPLspringSpiral(RP,d,D,CPLC,cc)

Syntax

[CPLN,PLN]=CPLspringSpiral([RP,d,D,CPLC,cc])

Input Parameter

RP: [radius distance]; default is [30 0]. Outer radius of the spring; In case of D(1)>1 this is the distance to the axis
d: Thickness of the spring contour; default is 1.2
D: Diameter and circular angle for the end; default is [0 1.7]
CPLC: Optinal middle contour to be integrated for shaft
cc: [Outer-spring-rounds Inner=Spring-Round; default is [2 3]

Output Parameter

CPLN: Contour of the spring for SGofCPLz
PLN: Point list for the path

Examples


CPLspringSpiral(30,2); % 2mm spring contour 30mm
CPLspringSpiral(30,2,4); % 2mm spring contour for 4mm axis in 30mm

CPLspringSpiral(30,2,4,[PLcircle(5);nan nan; PLwrench(6.4,6)]); % turn by a 1/4 inch shaft
CPLspringSpiral([30 40],2,4,[PLcircle(5);nan nan; PLwrench(6.4,6)]); % turn by a 1/4 inch shaft in 40mm

SGspringSpiral('simple'); A=ans; SGrotate(A,'z',pi);B=ans % 2 arm spring coil
SGspringSpiral('simple'); A=ans; SGrotate(A,'z',2*pi/3);B=ans; SGrotate(B,'z',2*pi/3); C=ans; SGplotalpha(A); % 3 arm coil




Copyright 2024-2025 Tim C. Lueth. All rights reserved. The code is the property of Tim C. Lueth and may not be redistributed or modified without explicit written permission. This software may be used free of charge for academic research and teaching purposes only. Commercial use, redistribution, modification, or reverse engineering is strictly prohibited. Access to source code is restricted and granted only under specific agreements. For licensing inquiries or commercial use, please contact: Tim C. Lueth

Last html export of this page out of FM database by TL: 2025-09-21