animare una molla da orologio

Forum per le domande e le discussioni in Italiano
Forum rules
regole del forum e le informazioni utili

Importante: PRIMA di chiedere aiuto leggete qui!
1rob1
Posts: 27
Joined: Sat Mar 21, 2020 2:13 pm

animare una molla da orologio

Post by 1rob1 »

Salve a tutti
vorrei realizzare e animare una molla da orologio,
la molla a spirale del tourbillon
che si avvolge e svolge mossa dal bilanciere,
come quella che si vede nella immagine.

Si può fare con frecad?

una volta realizzata in frecad

si può aprire il file in blender
per fare un filmato renderizzato con cycles?
Grazie a tutti per l'aiuto.
Attachments
molla-spirale.png
molla-spirale.png (207.27 KiB) Viewed 2162 times
User avatar
onekk
Veteran
Posts: 6205
Joined: Sat Jan 17, 2015 7:48 am
Contact:

Re: animare una molla da orologio

Post by onekk »

La vedo dura, per ogni posizione dovresti disegnare una spirale con dimensioni leggermente diverse, e se vuoi dovresti farne almeno 16 o 24 diverse e poi cmabiarle al punto giusto come in una pellicola cinematografica.

Un conto è muovere un oggetto "rigido" cioè con la forma che non cambia, il movimento di una molla è più una cosa da FEM che da CAD.

Anche perché una molla in genere è un "filo" avvolto e non viene disegnato per "essere costruito".

Però non è il mio campo, l'animazione comunque dovrebbe essere possibile qualcuno ci riesce anche con FreeCAD.

disegnare la spirale probabilmente è possibile a mente mi pare di ricordare che esiste una primitiva spirale da qualche parte controllo e ti faccio sapere.

Saluti

Carlo D.
GitHub page: https://github.com/onekk/freecad-doc.
- In deep articles on FreeCAD.
- Learning how to model with scripting.
- Various other stuffs.

Blog: https://okkmkblog.wordpress.com/
User avatar
onekk
Veteran
Posts: 6205
Joined: Sat Jan 17, 2015 7:48 am
Contact:

Re: animare una molla da orologio

Post by onekk »

Code: Select all

"""

Test file copyright 2021 Dormeletti Carlo

This file is an example and could not be used in a 
commercial product without expplicit consent


"""

import FreeCAD
from FreeCAD import Base, Vector, Rotation

import Draft

import math 

DOC_NAME = "test"

def clear_doc():
    """
    Clear the active document deleting all the objects
    """
    for obj in DOC.Objects:
        DOC.removeObject(obj.Name)

def setview():
    """Rearrange View"""

    FreeCAD.Gui.activeDocument().activeView().viewAxometric()
    FreeCAD.Gui.activeDocument().activeView().setAxisCross(True)
    DOC.recompute()
    FreeCAD.Gui.SendMsgToActiveView("ViewFit")

if DOC is None:
    FreeCAD.newDocument(DOC_NAME)
    FreeCAD.setActiveDocument(DOC_NAME)
    DOC = FreeCAD.activeDocument()

else:

    clear_doc()


# EPS= tolerance to uset to cut the parts
EPS = 0.10
EPS_C = EPS * -0.5
VZOR = Vector(0,0,0)


def calc_polygon(n_side, s_length, gc, offset):
    """Calculate the vertex of a regular polygon"""

    ang_dist = math.pi / n_side

    # angle of rotation to align the polygon to the X axis
    theta = 3 * math.pi / 2 - ang_dist

    Cp = [Vector(0,0,0) for x in range(n_side + 1)]
    
    # outer radius given side length
    r = s_length / (2.0 * math.sin(ang_dist))
    ric = r * math.cos(ang_dist)

    if gc is True:
        # use the offset supplied as center
        center = Vector(offset.x, offset.y, offset.z)
    else:
        # recalculate the offset and return as center
        center = Vector(offset.x + r, offset.x + ric)

    for n in range(n_side):
        px = r * math.cos((2.0 * math.pi * n / n_side) + theta) + center.x
        py = r * math.sin((2.0 * math.pi * n / n_side) + theta) + center.y
        Cp[n] = Vector(px, py, 0.0)

    Cp[n_side] = Cp[0]

    return (Cp, center)


Pp, center = calc_polygon(5, 30, False, Vector(0,0,0))

gen_form = DOC.addObject("Part::Feature", "section")
gen_form.Shape = Part.Face(Part.makePolygon(Pp))
gen_form.Placement= FreeCAD.Placement(VZOR, Rotation(0,0,90))


spiral = DOC.addObject("Part::Spiral", "Spiral")
spiral.Growth = 200
spiral.Radius = 100
spiral.Rotations = 4
spiral.Visibility = False


obj = DOC.addObject('Part::Sweep',"molla")
obj.Sections = gen_form
obj.Spine = spiral
obj.Solid = True
obj.Frenet = False
obj.Transition = u"Transformed"  # (u"Right corner", u"Round corner", u"Transformed")


DOC.recompute()
Viene così, ovviamente ho usato del codice esistente per cui il poligono era solo comodo da usare perché era già nel codice
spiral_solid.png
spiral_solid.png (38.74 KiB) Viewed 2137 times

Saluti

Carlo D.
GitHub page: https://github.com/onekk/freecad-doc.
- In deep articles on FreeCAD.
- Learning how to model with scripting.
- Various other stuffs.

Blog: https://okkmkblog.wordpress.com/
1rob1
Posts: 27
Joined: Sat Mar 21, 2020 2:13 pm

Re: animare una molla da orologio

Post by 1rob1 »

grazie per i consigli
User avatar
onekk
Veteran
Posts: 6205
Joined: Sat Jan 17, 2015 7:48 am
Contact:

Re: animare una molla da orologio

Post by onekk »

In una discussione diversa un utente mi confermava che in blender è possibile creare delle animazioni.

La frase è corta ed non è entrato in maggiori particolari, per cui aspetta ancora un pochino, probabilmente qualcuno interverrà qui, (spero).

Non è assolutamente un campo che conosco, per cui a parte il pezzo di codiec che leggermente modificato ti permette di creare la molla nei sui vari stati di compressione, non posso essere di maggiore aiuto.

Nel caso, puoi postare sul forum inglese, ovviamente se conosci la lingua e ti sai destreggiare quel minimo che basta per una conversazione "tra stranieri".

Nel caso tu voglia imparare come usare lo scripting:

https://github.com/onekk/freecad-doc

Saluti

Carlo D.
GitHub page: https://github.com/onekk/freecad-doc.
- In deep articles on FreeCAD.
- Learning how to model with scripting.
- Various other stuffs.

Blog: https://okkmkblog.wordpress.com/
mario52
Veteran
Posts: 4692
Joined: Wed May 16, 2012 2:13 pm

Re: animare una molla da orologio

Post by mario52 »

Saluti

una prova con una spire (per più realista bisogna calcolare tute le spire meno 1x giro)

montaggio con multi spire e differente ragie

Image

ressort_Horloge_Anime.FCStd

mario
Maybe you need a special feature, go into Macros_recipes and Code_snippets, Topological_data_scripting.
My macros on Gist.github here complete macros Wiki and forum.
domad
Veteran
Posts: 2094
Joined: Mon Jun 22, 2020 12:16 pm

Re: animare una molla da orologio

Post by domad »

1rob1 wrote: Thu Mar 11, 2021 7:21 am Salve a tutti
vorrei realizzare e animare una molla da orologio,
la molla a spirale del tourbillon
che si avvolge e svolge mossa dal bilanciere,
come quella che si vede nella immagine.
Si può fare con frecad?
.......
onekk wrote: Thu Mar 11, 2021 8:39 am ...........
Un conto è muovere un oggetto "rigido" cioè con la forma che non cambia, il movimento di una molla è più una cosa da FEM che da CAD.
.......
Saluti
Carlo D.
Un saluto alla Comunità! Ciao 1rob1,

Ho provato con il FEM, come consigliato da onekk, che saluto, ecco il risultato della sollecitazione su una molla ottenuta con spirale di Archimede, se interessa posso postare il file (è di circa 2,5 Mb).
Attachments
oscillazione.gif
oscillazione.gif (162.38 KiB) Viewed 1970 times
User avatar
onekk
Veteran
Posts: 6205
Joined: Sat Jan 17, 2015 7:48 am
Contact:

Re: animare una molla da orologio

Post by onekk »

domad wrote: Fri Mar 12, 2021 2:23 pm
onekk wrote: Thu Mar 11, 2021 8:39 am ...........
Un conto è muovere un oggetto "rigido" cioè con la forma che non cambia, il movimento di una molla è più una cosa da FEM che da CAD.
.......
Saluti
Carlo D.
Un saluto alla Comunità! Ciao 1rob1,

Ho provato con il FEM, come consigliato da onekk, che saluto, ecco il risultato della sollecitazione su una molla ottenuta con spirale di Archimede, se interessa posso postare il file (è di circa 2,5 Mb).

Beh io non sapevo nemmeno che si potesse fare con la FEM, a proposito che è la FEM (Ok Finite Element qualcosa), ma da buon ragioniere, conosco la fam ma non la fem (a meno che non sia la breviazione di fem mina).

Saluti e scusate l'ironia, ma in questo periodo di pandemia o si diventa matti, oppure ... "si fa dimentare matti" sostiene la mia fem... ehm moglie.

Carlo D.
GitHub page: https://github.com/onekk/freecad-doc.
- In deep articles on FreeCAD.
- Learning how to model with scripting.
- Various other stuffs.

Blog: https://okkmkblog.wordpress.com/
domad
Veteran
Posts: 2094
Joined: Mon Jun 22, 2020 12:16 pm

Re: animare una molla da orologio

Post by domad »

onekk wrote: Fri Mar 12, 2021 3:02 pm
Beh io non sapevo nemmeno che si potesse fare con la FEM, a proposito che è la FEM (Ok Finite Element qualcosa), ma da buon ragioniere, conosco la fam ma non la fem (a meno che non sia la breviazione di fem mina).

Saluti e scusate l'ironia, ma in questo periodo di pandemia o si diventa matti, oppure ... "si fa dimentare matti" sostiene la mia fem... ehm moglie.

Carlo D.
Ciao Carlo!!

….. beh non v'è dubbio alcuno che in questo “mare” pandemico ognuno di noi annaspando “dimenta” spesso ….. rischiando di “perder senno”, pertanto inserisco al posto di quel …. “qualcosa” = Method….. sperando, ironicamente parlando, d’aver fatto opera gradita… e confermando che nulla ha a che fare con la FAM e la FEM MINA …… che pure c’è fanno rischià de perder senno e sonno! :lol:

Un saluto
1rob1
Posts: 27
Joined: Sat Mar 21, 2020 2:13 pm

Re: animare una molla da orologio

Post by 1rob1 »

Ciao Domad.

innanzitutto auguri di buona pasqua.

molto interessante la molla che si muove con la FEM.

E' una cosa che vorrei imparare a realizzare anche io,

ma la FEM mi sembra complesso come argomento,

se potresti darmi indicazioni su come fare step by step te ne sarei molto grato
Post Reply