FreeCAD Logo FreeCAD 1.0
  • English Afrikaans Arabo Bielorusso Catalano Czech German Greek Spanish Spanish Basco Finnish Filippino Français Galiziano Croatian Hungarian Indonesiano Italiano Japanese Kabyle Coreano Lituano Dutch Norvegese Bokmal Polish Portuguese Portuguese Romanian Russian Slovak Slovenian Serbo Swedish Turkish Ukrainian Valenziano Vietnamita Cinese Cinese
  • Funzioni
  • Download
  • Blog
  • Documentazione
    Indice di documentazione Per iniziare Documentazione utenti Il manuale FreeCAD Documentazione degli ambienti di lavoro Documentazione di scripting Python Documentazione codice C++ Tutorial Domande frequenti Politica sulla Privacy Informazioni Su FreeCAD
  • Contribuire
    Come aiutare Sponsor Segnala un bug Fai una richiesta Opportunità di lavoro e ricompense Linee guida per contribuire Manuale degli sviluppatori Traduzioni
  • Comunità
    Codice di condotta Forum The FPA GitHub GitLab Codeberg Mastodon Matrix IRC IRC via Webchat Gitter Discord Reddit Twitter Facebook LinkedIn Calendario
  • ♥ Donate

Donate

$
Informazioni SEPA
Si prega di intestare il bonifico SEPA a:
Beneficiary: The FreeCAD project association
IBAN: BE04 0019 2896 4531
BIC/SWIFT: GEBABEBBXXX
Agenzia bancaria: BNP Paribas Fortis
Indirizzo: Rue de la Station 64, 1360 Perwez, Belgium

While Stripe doesn't support monthly donations, you can still become a sponsor! Simply make a one-time donation equivalent to 12 months of support, and you'll gain access to the corresponding sponsoring tier. It's an easy and flexible way to contribute.

If you are not sure or not able to commit to a regular donation, but still want to help the project, you can do a one-time donation, of any amount.

Choose freely the amount you wish to donate one time only.

You can support FreeCAD by sponsoring it as an individual or organization through various platforms. Sponsorship provides a steady income for developers, allowing the FPA to plan ahead and enabling greater investment in FreeCAD. To encourage sponsorship, we offer different tiers, and unless you choose to remain anonymous, your name or company logo will be featured on our website accordingly.

from 1 USD / 1 EUR per month. You will not have your name displayed here, but you will have helped the project a lot anyway. Together, normal sponsors maintain the project on its feet as much as the bigger sponsors.

from 25 USD / 25 EUR per month. Your name or company name is displayed on this page.

from 100 USD / 100 EUR per month. Your name or company name is displayed on this page, with a link to your website, and a one-line description text.

from 200 USD / 200 EUR per month. Your name or company name and logo displayed on this page, with a link to your website and a custom description text. Companies that have helped FreeCAD early on also appear under Gold sponsors.

Instead of donating each month, you might find it more comfortable to make a one-time donation that, when divided by twelve, would give you right to enter a sponsoring tier. Don't hesitate to do so!

Choose freely the amount you wish to donate each month.

Please inform your forum name or twitter handle as a notein your transfer, or reach to us, so we can give you proper credits!

Molla a spirale variabile

Descrizione
Questa macro crea una molla personalizzabile, la configurazione della molla può essere salvata in un file con estensione .FCSpring o coordinate .FCSpringCoor.
Vengono rilevati: Superficie (Direzione della faccia), Cilindro (raggio), Ellisse (raggio minore), Sfera (raggio), Toroide (raggio1), Piano (direzione), Linea (seguire la direzione), Punto (posizione vertice XYZ)
Se non viene rilevato alcun oggetto (non selezione) la molla viene creata nel punto XYZ 0., 0., 0.
Vedere esempi

Versione macro: 01.18c
Ultima modifica: 2023/09/01
Versione FreeCAD: 0.19 e successive
Download: Download the the Icons in .zip file
Autore: Mario52
Autore
Mario52
Download
Download the the Icons in .zip file
Link
Raccolta di macro
Come installare le macro
Personalizzare la toolbar
Versione macro
01.18c
Data ultima modifica
2023/09/01
Versioni di FreeCAD
0.19 e successive
Scorciatoia
Nessuna
Vedere anche
Nessuno

Descrizione

Questa macro crea una molla con una configurazione altamente personalizzabile. Qualsiasi modifica che cambi la configurazione della molla può essere salvata in un file con estensione .FCSpring o coordinate .FCSpringCoor
Vengono rilevati: superficie (direzione faccia), cilindro (raggio), ellisse (raggio minore), sfera (raggio), toroide (raggio1), piano (direzione), linea (seguire la direzione), punto (posizione vertice XYZ)
Se non viene rilevato alcun oggetto (non selezione) la molla viene creata nel punto XYZ 0., 0., 0.
Si possono creare diverse configurazioni di molle, secondo le proprie esigenze, e poi salvarle in un file con estensione .FCSpring

Temporary code for external macro link. Do not use this code. This code is used exclusively by Addon Manager. Link for optional manual installation: Macro


# This code is copied instead of the original macro code
# to guide the user to the online download page.
# Use it if the code of the macro is larger than 64 KB and cannot be included in the wiki
# or if the RAW code URL is somewhere else in the wiki.

from PySide import QtGui, QtCore

diag = QtGui.QMessageBox(QtGui.QMessageBox.Information,
    "Information",
    "This macro must be downloaded from this link\n"
    "\n"
    "https://gist.githubusercontent.com/mario52a/68c81c32a0727a693d3a/raw/91cbf54580d8af331f9b371f4951a40b9ef506f3/Macro_FCSpring_Helix_Variable.FCMacro" + "\n"
    "\n"
    "Quit this window to access the download page")

diag.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint)
diag.setWindowModality(QtCore.Qt.ApplicationModal)
diag.exec_()

import webbrowser 
webbrowser.open("https://gist.githubusercontent.com/mario52a/68c81c32a0727a693d3a/raw/91cbf54580d8af331f9b371f4951a40b9ef506f3/Macro_FCSpring_Helix_Variable.FCMacro")
<class="rawcodeurl"><a href="https://gist.githubusercontent.com/mario52a/68c81c32a0727a693d3a/raw/91cbf54580d8af331f9b371f4951a40b9ef506f3/Macro_FCSpring_Helix_Variable.FCMacro">raw code</a>


FCSpring Helix Variable

Utilizzo

Questa sezione è utilizzata per configurare la molla

Schema di configurazione della molla

Gui

Configurazione

  • 10 coils Number of coil : Numero di spire. Default = 10
  • 20,000 mm Radius of spring : Raggio della molla. Default = 20.0
  • 15,000 mm Pitch of spring : Passo principale. Default = 15.0
  • 5 ( 72 points ) Precision of turn : Precisione della curvatura, la precisione corrisponde al numero di punti per spira ed è calcolata * 5 ( 72 points )  : precision (numero di punti) = (passo / (360/precisione)). Default = 5 (72 punti)
  • 20,000 mm Spring conical : Diametro maggiore del cono, questa dimensione deve essere maggiore o uguale al raggio
  • Spring conical : Dai al diametro grande del cono che la dimensione sarà sempre maggiore del raggio
  • Angles : Casella di scelta per attivare la funzione angolo iniziale e angolo finale della molla, deselezionata per impostazione predefinita.
    Se questa funzione è selezionata, la precisione viene impostata automaticamente a 1 (360 punti per spira, 1 punto = 1 grado)
  • 0 deg Begin : Angolo iniziale della prima spira della molla.
  • 360 deg End : Angolo finale dell'ultima spira della molla.

Tipo linea

  • Bspline BSpline : Linea di tipo BSpline.
  • Wire Wire : Linea di tipo Wire.
  • Points Points : Casella di controllo dei punti, se è attivata viene creato un punto in ogni punto.
  • Reverse Reverse : Casella di controllo per invertire la direzione della molla

Opzioni

Questa sezione viene visualizzata se è selezionato l'oggetto. Il tipo di oggetto viene visualizzato in Text Editor

L'oggetto può essere una linea, 2 punti, un cerchio, un contorno ... un asse, la lunghezza della molla viene creata automaticamente

Detection : Cylinder (radius), Sphere (radius), Toroid (radius) , Cone (little radius), Circle (radius), Arc (radius), Ellipse (little radius)

  • Normal: Se è selezionato un cerchio, Normal non modifica il raggio del cerchio (impostazione predefinita)
    • Adapt Rad.: Se si preme il pulsante Normal, il pulsante cambia in Adapt Rad., la molla viene adattata al raggio rilevato (se viene rilevato un raggio)
  • Point Mouse: Se il mouse è su una faccia, la molla viene creata su questo punto (impostazione predefinita)
    • Center Face: Se si preme il pulsante Point Mouse, il pulsante cambia in Center Face, la molla viene creata sulla faccia centrale selezionata
  • Position Position: Se sono selezionati due oggetti (primo asse, secondo asse, molla (o altro oggetto)), questa casella di controllo è abilitata ed è possibile modificare il posizionamento dell'oggetto 2 (molla) lungo l'oggetto 1 (asse), se questa casella di controllo Position è selezionata, l'opzione "Position" è abilitata per l'uso.
  • Circle: se vengono selezionati tre punti con il mouse, il pulsante Circle è abilitato e consente di creare un cerchio che può fungere da base per una molla.

Posizione (0)(xx)

(0)(xx) : Numero di selezioni, lunghezza in mm dell'asse creato x 10, numero uguale di punti per spostare la molla dell'asse

  • Begin/End : Posizione della base della molla su l'asso, inizia, meta, fine del asso
  • Reverse Spr. : Riversa la molla sopra l'asso
  • 0,1 mm  : posizione della molla con una precinzione di spostamento di (0.1 mm) a longo l'asso
  • Reverse Count. : Riversa il contatore ex: Begin 0 to 10.. or End 0 to 10..
  • Slider : Posizione rapida della molla a longo l'asso

Spire di lunghezza speciale

  • Num: 2 Numbering of coil : Numero di spire da modificare. (Defaut : nessuna)
  • Smoothing Smoothing Questa casella apre una casella numerica per determinare il grado di lisciatura. Il valore massimo è il valore di precisione -1 (questa opzione è ancora allo stadio di prototipo e il risultato può essere soddisfacente o completamente sbagliato)
  • 0,000 mm Pitch of coil : Passo delle spire da modificare. (Defaut : nessuna)
  • 15.0 mm : Se viene premuto questo pulsante il valore di "Pitch of string" influenza "Pitch of coil" (Questo valore viene allineato automaticamente al valore di Pitch of string)
  • 0,000 mm Radius of coil : Raggio della spira da modificare. (Defaut : nessuno)
  • 20.0 mm : Se viene premuto questo pulsante il valore di "Radius of string" influenza "Radius of coil" (Questo valore viene allineato automaticamente al valore di Radius of string)
  • Accept the value modified : Pulsante da premere per confermare le modifiche definite prima.
  • Text edit : Questa finestra mostra tutte le spire modificate.
  • Clear : Ripulisce l'editor
  • Zoom : Pulsante "Zoom" ingrandisce la finestra di modifica del testo

Comando

  • Load : Il pulsante apre una finestra di dialogo per leggere un file .FCSpring.
  • Save : Apre una finestra di dialogo per salvare un file .FCSpring .
  • Load Coordinates : Apre una finestra di dialogo per leggere un file .FCSpringCoor (tutte le coordinate dei punti di una molla).
  • Save Coordinates : Apre una finestra di dialogo per salvare un file .FCSpringCoor (tutte le coordinate dei punti di una molla).
  • Quit : Esce dalla macro.
  • Reset : Ripristina la configurazione iniziale della macro.
  • Launch : Avvia la macro per creare una molla configurata.
  • Help : Questo pulsante visualizza la pagina wiki nel browser FreeCAD.

Vista report

La vista Report visualizzata tutti i valori modificati.

Molla di esempio

Esempio di molla modificata

Esempio di vista report

All'avvio della macro viene visualizzato l'elenco completo delle spire sotto forma di tabella.

Questi sono i dati della molla precedente visualizzati nella vista Report

Icona

Scaricare l'immagine del file e copiarla nel repertorio delle macro.

Cliccare sull'immagine con il tasto destro del mouse e salvarla nella nuova posizione selezionando "Salva oggetto con nome ..."

Pulsante barra degli strumenti

Button
Button

Icone macro

Script

Macro_FCSpring_Helix_Variable.FCMacro

Scaricare la macro da Gist Macro_FCSpring_Helix_Variable

Installazione

Il file sopra è una macro sotto forma di codice GitHub. Scaricare il file Zip da GitHub, quindi seguire le istruzioni di installazione delle macro mostrate in installazione delle macro di FreeCAD in Ubuntu.

Esempi

  • Valves Assembly IN EX with permit and created by r.tec see Inlet & Exhaust Valves Assembly and Spiralfeder thanks r.tec
    Valves Assembly IN EX with permit and created by r.tec see Inlet & Exhaust Valves Assembly and Spiralfeder thanks r.tec






  • Example polygonal Spiral by 3 points
    Example polygonal Spiral by 3 points
  • Example polygonal Spiral by 4 points
    Example polygonal Spiral by 4 points


  • Difference between Smooth (here 71 with precision 5 (72 points)) and normal
    Difference between Smooth (here 71 with precision 5 (72 points)) and normal


  • Example
    Example


  • Example create conical spring
    Example create conical spring



  • Esempio creare la molla sul cerchio
    Esempio creare la molla sul cerchio
  • Muovimenti lungo l'asse
    Muovimenti lungo l'asse


Link

Links

La discussione nel forum: Try to do a Spring

In progetto

molla troncata

ammorbidire i raccordi: fatto

modificare il diametro di qualsiasi spira: fatto

Versione

11/07/2024 versione 01.19 eliminato "import WebGui" sostituito da "import webbrowser" e ottimizzato il filtro per OS Linux Mint

01/09/2023 Versione 0.18c aggiunto FreeCAD.activeDocument().recompute(None,True,True)Text in italics "bug" corretto da Syres grazie How to draw polygonal spirals in Freecad?

01/09/2023 Versione 0.18b corretto (adattato) il codice:

self.PB_Adapt_Radius.setStyleSheet("background-color: QPalette.Base")

to

self.PB_Adapt_Radius.setStyleSheet("QPushButton {background-color: QPalette.Base}")

16/03/2022 Versione 0.18 : aggiunto barra di scorrimento, possibilità di ancoraggio a sinistra o a destra, ripristino del cronometro (time.time()), memorizzazione dell'ultimo FilePath

####chrono################
import time
global depart ; depart  = 0.0
global arrivee; arrivee = 0.0
def chrono(switch):    # 0=depart autre=stop
#time.strftime('%X %x %Z')#'15:44:07 12/14/19 Paris, Madrid'
    global depart
    global arrivee
    try:
        if switch == 0:
            depart = time.time()#time.clock()
            App.Console.PrintMessage("Chrono begin   : "+str(time.strftime('%X'))+"\n")
        else:
            arrivee = time.time()#time.clock()
            App.Console.PrintMessage("Chrono end     : "+str(time.strftime('%X'))+"\n")
            parcouru = ((arrivee - depart)/60.0)
            App.Console.PrintError("Time execution : "+str("%.3f" % parcouru)+" min"+"\n\n")
        return parcouru
        FreeCADGui.updateGui()    
    except Exception: None
####chrono################

12/11/2020 Versione=01.17 : soppresso il timer cronometro!!

15/10/2020 Ver 00.16b : soppresso il test sulla riga 56 di FC 18, soppresso il timer cronometro e attesa

01/05/2020 Ver 00.16: corretto file di errore di (salvataggio e caricamento) causa soppressione di "label_11_Name"...

11/04/2020 Ver 01.15: layout e un po' di presentazione

2019/05/03 Ver 01.14: compatibile FreeCAD 0.19.16523 (Git)

2019/04/08 Ver 01.13: compatible FreeCAD 0.18.16093 (Git) /Python version: 3.6.6 /Qt version: 5.6.2

03/04/2017: ver 01.12: correction bug line 2314 add "global ui"

11/12/2016: ver 01.11: Aggiunto Posizione della molla sopra l'oggetto selezionato

10/09/2016: ver 01.10: Adding Button "Zoom" enlarge the textedit window

04/09/2016: ver 01.09: add smoothing

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 : nuova versione con interfaccia grafica e con la possibilità di modificare qualsiasi spira e salvare o caricare i dati su disco.

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

con

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 : aggiunto "makeBSpline" e configurazione

Limitazioni

Durante i test di sweep son stati ottenuti i seguenti errori!

  • For the moment the macro is not adapted for the square, rectangle... Only circle work well
    For the moment the macro is not adapted for the square, rectangle...
    Only circle work well


  • ACCESS VIOLATION
    ACCESS VIOLATION
  • TCollection_IndexedDataMap
    TCollection_IndexedDataMap


  • Wrong usage of punctual sections
    Wrong usage of punctual sections


Questa pagina è recuperata da https://wiki.freecad.org/Macro_FCSpring_Helix_Variable

Tieniti aggiornato!
Forum GitHub Mastodon Matrix IRC Gitter.im Discord Reddit Twitter Facebook LinkedIn

© The FreeCAD Team. Homepage image credits (top to bottom): ppemawm, r-frank, epileftric, regis, rider_mortagnais, bejant.

Questo progetto è supportato da: , KiCad Services Corp. e altri sponsor

GitHubMigliora questa pagina su GitHub