Dessiner un ressort ?

  • Auteur de la discussion wika58
  • Date de début
wika58
wika58
Compagnon
17 Déc 2006
13 077
FR-54560 Lorraine
  • Auteur de la discussion
  • #1
Bonjour à tous,

Tout est dans le titre... :roll:
Je voudrais dessiner un ressort de compression.
J'ai bien trouvé dans l'aide les ressorts en simulation mais il ne se dessine pas... :cry:
D'avance merci. :wink:
 
J
j.f.
Compagnon
22 Déc 2007
6 443
19
Bonjour,

il y a un tuto avec des explications très claires et détaillées ici :wink: :
http://fr.youtube.com/watch?v=i5gPj8iTGR0&NR=1

il raccorde des hélices de pas différent aux extrémités...



Il y a plus logique : créer la courbe hélicoïdale de balayageen "pas variable". Définition pour chaque partie :
- du nombre de spires
- son diamètre
- son pas
- etc; (selon mode de définition : voir liste déroulante)

En gros

dessiner un cercle
utiliser ce cercle pour définir l'hélice
paramétrer l'hélice (pas constant ou variable)
pour faire les extrémités "écrasées", il faut définir au moins 3 régions, et resserrer le pas des régions 0 et 2 de façon à ce qu'il soit égal au diamètre de fil
définir un plan de référence normal à la courbe (l'hélice en l'occurence)
dessiner dans ce plan la section du fil
faire un bossage/base balayé avec comme section le cercle défini dans le plan normal, et comme trajectoire l'hélice
pour finir, enlèvement extrudé pour "meuler" les extrémités

Vit'fait sul'gaz (incomplet) :

ressort2.JPG


ressort3.JPG
en faisant joujou avec régions, pas, diamètres

ressort4.JPG
 
wika58
wika58
Compagnon
17 Déc 2006
13 077
FR-54560 Lorraine
  • Auteur de la discussion
  • #3
Merci JF pour la réponse rapide, j'essaie tout à l'heure... :wink:
Comment fait-on les extrémités du ressort ??? :roll:
 
J
j.f.
Compagnon
22 Déc 2007
6 443
19
Ben tu crées 3 sections
- la centrale avec le pas voulu
- les extrémités avec un pas "égal ou presque égal" au diamètre de fil (il me semble que ça ne passe pas si le pas est exactement égal au diamètre de fil - à vérifier)
- puis dans le plan passant par l'axe du fais un rectangle pour sectionner et obtenir des extrémités planes par extrusion enlèvement de matière de part et d'autre du plan, et en inversant le (les) côté(s).

Bon pour être honnête, c'est comme d'hab.
Une question = un exercice.
Donc je découvre au fur et à mesure. :roll:
Mais c'est vraiment intuitif.

Là faut que j'aille bosser.
Ce soir j'en dessine un beau, genre ressort de suspatte.
Après le film.
 
N
nektarfl
Compagnon
19 Nov 2007
916
POMMEUSE (77)
Ce sujet m'interesse grandement car depuis le temps que je cherche la possibilité, à partir de mon programme de calcul de ressorts de définir le dessin SW du ressort calculé par l'utilisateur.

Mon problème principale est simple, je n'ai pas solid works, et de plus, je travaille sur mac (ce qui veut dire que la moindre version de solidorks ne peut pas y tourner directement)

Je suppose qu'on doit pouvoir créer un fichier de genre script pour définir un ressort qui pourrait être intégré par la suite dans le dessin en cours.

Ensuite, quid des déformations acceptables par le ressort?

j'espère que certains d'entre vous m'aideront sur toute ma problématique.
 
A
armaris
Compagnon
16 Jan 2008
750
@nektarfl :

Il y a une possibilité (je vais causer informatique, n'hésite pas à poser des questions si ce n'est pas clair) :

- sur Mac, tu installes VMWare Fusion et une machine virtuelle Windows XP.
- sur cette machine, tu installes Solidworks (j'ai testé avec SW2007 sous linux, ça fonctionne, il faut désactiver realview, compiz, ...).
- ensuite 2 options, SW permet de définir des familles de pièces paramétrées à l'aide d'une feuille Excel.
Si l'option Hélice/spirale supporte le paramétrage, c'est le plus simple.
- sinon, développement en VBscript, un peu lourd.

Voilà en gros l'architecture.

Autre solution, tu achètes une petite boite PC (type Eeebox @ 230€) qui fait tourner XP et SW et tu la relie à ton serveur WEB par un script.
 
Turbo
Turbo
Compagnon
3 Sept 2008
702
RP
jf : tu peux pas faire un pas variable croissant puis decroissant dans la meme fonction...il ne peut etre que croissant
pour créer un ressort à pas/rayon variable du genre d'un ressort de suspension, il va falloir creer les differentes courbes independantes avec chaque nouvelle courbe basée sur un plan defini par l'extremité de la précedente, ça prend 5 courbes (bas, transition, milieu, transition, haut)
ensuite il faut faire une courbe composite avec ces 5 segments
et enfin on peut balayer
ouf.
il y a une petite tricherie que je vous livre c'est de charger un modéle approchant depuis ce site :
http://www.solidcomponents.com/company/default.asp?SCCC=sccig82bo&Lang=44&ClickLog=logo
et le modifier pour arriver à ce qu'on veut
malheuresement, le module de génération est bridé au dimensions disponibles chez ce fabricant, ça serait trop simple...

ntkfrl : ça depend de ce que te sors ton programme de calcul et le format de sortie
aprés, bien sur ça peut etre automatisé en utilisant le VB/VBA (çàd soit en interne avec une macro VBA soit en "externe" avec un programme en VB)
à chaque forme de ressort un programme différent bien sur
pour un pas/rayon constant c'est facile, pour un progressif c'est une autre histoire !
au final, pour analyser les déformation, c'est à faire en Cosmos mais là encore c'est pas une mince affaire.
je pense que ça dépasse le partage de forum, c'est un dossier professionnel assez conséquent !

springx7.jpg
 
N
nektarfl
Compagnon
19 Nov 2007
916
POMMEUSE (77)
armaris a dit:
@nektarfl :

Il y a une possibilité (je vais causer informatique, n'hésite pas à poser des questions si ce n'est pas clair) :

- sur Mac, tu installes VMWare Fusion et une machine virtuelle Windows XP.
- sur cette machine, tu installes Solidworks (j'ai testé avec SW2007 sous linux, ça fonctionne, il faut désactiver realview, compiz, ...).
- ensuite 2 options, SW permet de définir des familles de pièces paramétrées à l'aide d'une feuille Excel.
Si l'option Hélice/spirale supporte le paramétrage, c'est le plus simple.
- sinon, développement en VBscript, un peu lourd.

Voilà en gros l'architecture.

Autre solution, tu achètes une petite boite PC (type Eeebox @ 230€) qui fait tourner XP et SW et tu la relie à ton serveur WEB par un script.
Sur mon porable, j'ai un programme de machine virtuelle et un win XP pro officiel, émuler un PC n'est pas un problème pour moi (c'est plus de la mauvaise volonté car je trouve que malgré les très gros efforts de windows, c'est pas encore au point)
Le réel problème, c'est SolidWorks, c'est un logiciel du commerce, et comme je n'en ai personnellement pas l'utilisation, il n'est pas question de l'acheter, et pourtant, pour faire mes essais (pour les utilisateurs de mon programme de calcul) j'ai besoin de l'utiliser.
J'ai trouvé un lecteur mac pour les fichiers SW, donc pas de soucis.

Turbo a dit:
ntkfrl : ça depend de ce que te sors ton programme de calcul et le format de sortie
aprés, bien sur ça peut etre automatisé en utilisant le VB/VBA (çàd soit en interne avec une macro VBA soit en "externe" avec un programme en VB)
à chaque forme de ressort un programme différent bien sur
pour un pas/rayon constant c'est facile, pour un progressif c'est une autre histoire !
au final, pour analyser les déformation, c'est à faire en Cosmos mais là encore c'est pas une mince affaire.
je pense que ça dépasse le partage de forum, c'est un dossier professionnel assez conséquent !
Justement, mon intention, c'est de pouvoir fournir à l'utilisateur un fichier SW utilisable directement sans bidouille à faire. Le format des données n'est pas un problème, mais le problème, c'est de connaître quelle forme doivent avoir les données en sortie. C'est moi qui ai écrit le calcul de ressorts, alors je peux extraire ce que je veux.

merci pour vos réponses. Je sais que mon besoin est bizarre, mais quand on contacte les revendeurs de SW, ils disent qu'avant de pouvoir faire quoi que ce soit, il faut ACHETER. alors que je ne veux créer que des fichiers pour les utilisateurs de SW.
 
Turbo
Turbo
Compagnon
3 Sept 2008
702
RP
en fait la question c'est : est il possible de generer un fichier SW sans l'avoir sur la machine ?
je ne suis pas sur de ça...
à priori, un projet VB>SW "attaque" toujours l'application SW...c'est le systéme de base des API (interface de programmation pour applications)
maintenant quand on regarde par exemple ce systéme de generation de modéles de ressorts en ligne, ça m'étonnerait que leur module lance des application SW pour chaque generation, ça serait bien trop lourd pour le serveur...à moins qu'ils ne soient allé un cran plus loin et qu'ils attaquent directement la génération d'un fichier sans utiliser l'API de SW...? hum !

sinon pour revenir à la question de départ, j'ai trouvé ici
http://www.solidworks.com/sw/support/APIDownloads.html
une macro qui crée des ressorts simple directement sans se prendre la tête, je reposte la version ici car l'original avait un petit bug !

test.jpg
Voir la pièce jointe springapi.zip
 
N
nektarfl
Compagnon
19 Nov 2007
916
POMMEUSE (77)
Quel que soit le type de fichier, si le format est suffisamment renseigné, on devrait pouvoir créer un fichier sans avoir le programme.
Un fichier reste un fichier, et c'est le format de stockage qui fait tout.
j'ai aussi téléchargé un ressort sur le site mis en lien, mais j'attends de récupérer mon portable pour me pencher plus avant dans le décryptage du fichier (si tenté qu'on arrive à décrypter quelque chose.)
 
J
j.f.
Compagnon
22 Déc 2007
6 443
19
Turbo, si, on peut...

Je m'y remets ce soir

PS : c'est sur SW2009
et bientôt une vraie Quadro :7dance:

Pour Nektarfl, il y a ça.
Je n'en suis pas sûr, mais je crois que ça sort du fichier SW directement.

http://www.mitcalc.com/en/pr_sprcomp.htm

ressort5.JPG


ressort6.JPG
 
Turbo
Turbo
Compagnon
3 Sept 2008
702
RP
et bien de deux choses l'une...soit le format de fichier est ouvert et documenté, là tout va bien...à ma connaissance, ce n'est pas le cas !
par contre si tu attaque un format non documenté, alors là, bonne chance...
plus le programme qui crée les fichiers est complexe, plus le format de fichier l'est, c'est logique - dans le cas de SW...ayayaye !
j'en ai fait pas mal du reverse-engineering de formats de fichier et à mon avis, les chances d'arriver à quelque chose dans ce cas de figure sont faibles !
pour moi, c'est pas la bonne direction...

une autre solution globale est de partir dans l'idée de créer non pas un fichier SW natif mais un parasolide qui sera exploitable dans X applis de 3D, là c'est beaucoup plus "facile"
 
J
j.f.
Compagnon
22 Déc 2007
6 443
19
Un ressort un peu plus réaliste, avec les extrémités dressées.

Tel quel, ça ne permet pas de le faire "jouer" dans un assemblage. Je suis tombé sur un forum avec 2 méthodes pour arriver à cà, mais j'ai perdu le lien.

Le programme Mitcalc sur les ressorts est téléchargeable en démo sur le site de l'éditeur. Je suis incapable d'utiliser une usine à gaz pareille (c'est pour les spécialistes) et donc de faire le moindre essai.
C'est un fait une application Excel. La documentation indique que ça sort du DXF.
Il ne semble pas exister de moulinette permettant de transformer du DXF en SLDPRT. Il faut passer par SW.


Wika, je suppose que tu voudrais des ressorts qui changent de longueur dans un assemblage ?

Je viens de trouver un truc sur un site : définir le ressort par des morceaux de 180° articulés entre eux ; ensuite placer les contraintes d'assemblage qui vont bien. rusé !

A télécharger ici :

http://www.cosug.com/Downloads.html

rubrique "Articulated spring for quick animation", faire "Download file"

mais le ressort est alors défini comme un assemblage et non une pièce. Or, en principe, il n'est aps possible de faire bouger un sous assemblage dans un assemblage.

Donc, c'est mort.

Sinon, un tuto clair sur le dessin de ressorts hélicoïdaux

Sinon, un tuto clair sur le dessin de ressorts hélicoïdaux

Il y est exliqué comment gérer des configurations. C'est plus détaillé à ce chapitre

On dirait qu'il est possible de créer automatiquement autant de longeurs comprimées que l'on veut...

ressort8.JPG
 
Turbo
Turbo
Compagnon
3 Sept 2008
702
RP
j.f. a dit:
mais le ressort est alors défini comme un assemblage et non une pièce. Or, en principe, il n'est aps possible de faire bouger un sous assemblage dans un assemblage
errr, jf, si, on peut ! :wink:

dans les propriétés du sous assemblage, cocher "résoudre en tant que" > "flexible"
 
J
j.f.
Compagnon
22 Déc 2007
6 443
19
Youpi ! Je vais alors pouvoir faire bouger tous les chariots de mon tour !

Je regarde les liens vers "The Solidworks Geek". Les "configurations de pièces". pour les ressorts.

[EDIT] ça y est, il marche (presuque...), mon tour virtuel :smt038
Mais le comportement des pièces est étrange. Je suppose que les différentes origines ne sont pas correctement définies...
 
Turbo
Turbo
Compagnon
3 Sept 2008
702
RP
fais voir ! (dans un nouveau sujet)
qu'entend tu par "comportement étrange" ?
en tout cas merci pour le lien vers le "colorado sw users group", j'y ai trouvé un truc que je cherchais depuis un bon moment !
 
J
j.f.
Compagnon
22 Déc 2007
6 443
19
Comportement étrange : si je fais tourner la ase tournante du petit chariot, le petit chariot se promène tout seul en translation sans qu'on le lui demande !

A propos des modélisations de ressorts vues jusqu'à présent, il y a un problème : seul un travail purement axial est modélisé. Les extrémités doivent rester parallèles. Juste la variation de longueur. Ce n'est pas la vraie vie.

Or, un ressort peut très bien fléchir (suspension automobile par exemple).

Je vais essayer de modéliser le ressort par concaténation de segments de 90° au lieu de 180°. Sous la forme d'un assemblage. Ca peut peut-être résoudre ce problème. Je ne sais pas si c'est clair... pour pouvoir le tordre et le déformer en lui imposant des plans non parallèles aux extrémités. Ca risque d'être coton pour les contraintes d'assemblage ! Je ne me fais pas trop d'illusions, il parait presque évident qu'il faut passer par les API...
 
Turbo
Turbo
Compagnon
3 Sept 2008
702
RP
_ si la base tournante est sur le chariot, c'est "normal" qu'en faisant tourner la base, tu améne le chariot à se translater
si le chariot est sur la base tournante, c'est bizarre mais y'a surement une bonne raison !
poste ou MP une image de ton assemblage que je me fasse une idée ?

_ les ressorts modélisés avec des demis ou quarts de spires sont quand meme un peu un gimmick...
j'ai creusé, j'ai trouvé deux méthodes "clean":
une que j'ai fait marcher en sw7 c'est de fixer la hauteur du ressort à ses ancrages par une equation
ça marche mais le ressort ne se redessine qu'à la reconstruction, pas si on déplace l'assemblage en mode "lego technic"
une que j'ai pas réussi à faire marcher car je l'ai eu qu'en sw9 mais c'est p.e possible en sw7...j'ai tenté la procédure décrite mais pas réussi à le faire, procédure trop succinte.
l'idée c'est de créer le ressort en contrainte "sur place" dans l'assemblage
soi disant on obtient bien un ressort dynamique en mode lego
j'ai attaché les deux versions

_ ressorts qui se courbe latéralement...je séche !

_ l'API n'y change rien...ce qui peut etre fait en code peut forcément etre fait à la main, le code ne fait qu'automatiser donc faut déja pouvoir le faire à la main Voir la pièce jointe springtest_sw7.zip Voir la pièce jointe Active Spring - sweep_sw9.zip
 
J
j.f.
Compagnon
22 Déc 2007
6 443
19
Bonjour,

hier j'ai un peu regardé comment étaient contraints ces ressorts "segmentés". Tous les plans, y compris les "plans moyens" de chaque demi-spire.
Donc impossible de courber un ressort.

J'imaginais qu'on pouvait coder une pièce "dynamique", dont la forme pouvait alors être définie en fonction de paramètre extérieurs, ou bien coder une déformation (transformation en langage mathématique - non homothétique en l'occurence). Genre spline dont on remue les points de contrôle (ça, j'ai travaillé dessus, mais en 2D seulement, à partir du bouquin de Bézier - Courbes et Surfaces).

Très honnêtement, ça n'est aps très utile. J'aurais juste voulu pouvoir faire travailler une suspension avec la souris. Mais il n'est pas indispensable que les ressorts soient en place pour que ça marche.

Je vais regarder les fichiers que tu proposes.

Pour mon histoire de charuit, je regarde ça aussi, mais j'aimerais d'abord essayer de comprendre par moi-même !
 
J
j.f.
Compagnon
22 Déc 2007
6 443
19
J'ai, regardé les fichiers que tu proposes.

En effet, c'est gênant, il faut reconstruire pour voir la modification prendre effet.

J'ai d'ailleurs trouvé un tuto vidéo sur ce sujet ; voir le fichier avi à télécharger :

http://forum.solidworks.fr/forum/index.php?showtopic=73


Moi non plus je n'arrive pas à faire fonctionner le Active Sweep. J'ai bien créé deux blocs avec un point en leur centre, contraint ce point avec celui indiqué sur l'esquisse, mais cette contrainte ne semble plus prise en compte losqu'on cherche à imposer une distance entre les deux blocs pplacés aux extrémités... -> surcontrainte et une contrainte sur l'extrémité ne pouvant être satisfaite.

Il semble manquer quelque chose : il n'y a aucune fonction là dedans
 
J
j.f.
Compagnon
22 Déc 2007
6 443
19
J'ai trouvé iune solution !!!!!!!!!!!!!!!!!


C'est con comme la lune !!!!!!!!!!!!!!!!!

Insertion / Fonction / Flexion ; choisir flexion

Reste à savoir si on peut contrôler cette flexion à partir d'un assemblage... Ca devrait pouvoir se faire en suivant les angles des plans d'appui des extrémités du ressort. Je ne sais pas faire.

Ca doit marcher aussi pour l'étirer et le comprimer : voir l'option traction.
Je m'y remets ce soir.

[EDIT] ca marche aussi pour le comprimer et l'étirer !!!!!

torsion.JPG
 
Turbo
Turbo
Compagnon
3 Sept 2008
702
RP
j'ai bidouillé ça pendant un bon moment, OK, j'arrive à lier hauteur et courbure du ressort à la distance et l'angle entre les deux supports grace aux equations (l'astuce c'était le clic droit sur "annotations" et "afficher les cotes des fonctions") mais il reste que ça ne fonctionne qu'à la reconstruction
ça fonctionne même en liant la cote de la fonction spirale non pas à une cote de contrainte entre les deux supports mais à une cote pilotée ce qui autorise le déplacement à la main du support mobile (sans passer par saisir la cote)
maintenant la même chose qui fonctionne en mode "lego technic" en utilisant les contraintes "sur place"...une autre paire de manche !
 
J
j.f.
Compagnon
22 Déc 2007
6 443
19
C'est une chose qui me surprends...

Pourquoi faut-il reconstruire tout l'assemblage ?

Lorsque tu écris "ça fonctionne même en liant la cote de la fonction spirale non pas à une cote de contrainte entre les deux supports mais à une cote pilotée", est-ce que ça veut dire que tu places dans ton assemblage des cotes pilotées donnant distance et angles(dans un ou dans les deux plans), et que tu places ces cotes à doite dans les équations ?

Tu définis deux déformations, une de torsion, et une de traction ?

Je suis un peu perdu avec les équations. Je suis dérouté par la façon dont elles sont nommées. Il faut dire que je n'ai pas beaucoup cherché non plus.
 
Turbo
Turbo
Compagnon
3 Sept 2008
702
RP
les equations ne sont résolues qu'à la reconstruction...
seules les contraintes sont résolues en mode lego
les equations tu peux bien les lier entre tes cotes de fonctions et des cotes piloter (pas obligé de mettre des contraintes distance/angle entre les supports)
si tu fais par la méthode helice+balayage, une seule déformation, la flexion, la hauteur tu la change avec la hauteur de la fonction hélice...
j'ai réussi à faire l'autre méthode ou le ressort est fait en balayage surfacique, ça marche aussi mais pareil, que à la reconstruction... et en plus on perd les options d'hélice qui permettent de faire un ressort à pas variable...par contre c'est bien plus facile de positionner le ressort correctement...
j'ai encore d'autres idées à tester !
les cotes dans les equations tu les récupére automatiquement en cliquant dessus, l'astuce c'est qu'elle soient visible...
 
Turbo
Turbo
Compagnon
3 Sept 2008
702
RP
vues de la version en systéme balayage surfacique :
la courbure du ressort est asservie à l'angle entre les supports par une equation, la hauteur par contrainte d'esquisse (le balayage surfacique est fait sur une spline cotée, les extremités de la spline sont contraintes sur des points sur les faces des supports)
petit avantage de cette méthode : comme la spline forme la "trajectoire" du ressort, on peut facilement mesurer la deflection...
autre petit inconvénient : le ressort est creux donc pas exploitable pour des tests de deformation en cosmos

test5.jpg


test5b.jpg


test5a.jpg
 
J
j.f.
Compagnon
22 Déc 2007
6 443
19
Problème : avec le ressort progressif aux extrémités vu plus haut (spires resserrées + extrémités dressées), SW plante sur les fonctions de flexion. (manifestement : boucle infinie)

[EDIT] non, il ne plante pas ! il lui faut juste un paquet de temps pour recalculer la pièce. Une bonne minute.

Donc, inutilisable.

Avec ma vieille GeForce 5200 moddée en Quadro FX500, ça semblait planter.

Je viens juste d'installer une NVidia Quadro FX2000 ; le ventilo fait un de ces boxons quand il tourne ! Genre turbine d'avion au décollage. Heureusement, il ne se met en marche que pour OpenGL...


Le calcul de la torsion ci-dessous prend 4 minutes !!!
P4 3.2 GHz (hyperthreading), 4Go de mémoire vive, NVidia Quadro FX2000, occupation processeur 68% :shock:

4 minutes avec RealView activé, 5 minutes désativé (!) Bien sûr dans la fenêtre de travail, et non en passant par PhotoWorks.

4mn.JPG
 
Haut