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!

Macro Sketch Constraint From Spreadsheet

Descrizione
Macro che, con un semplice clic su una cella del foglio di calcolo, aggiunge un vincolo di lunghezza a una linea, un cerchio o tra due punti utilizzando un alias o un indirizzo di cella del foglio di calcolo (es. C2). Le modifiche future al foglio di calcolo aggiorneranno il vincolo. La macro può creare l'alias autonomamente.
Basta selezionare una linea, due punti o un vincolo, fare clic su una cella del foglio di calcolo ed eseguire la macro. È possibile selezionare linee, punti alle estremità di una linea, punti, cerchi o archi di cerchio.


Versione macro: 02.03
Ultima modifica: 27/10/2025/
Versione FreeCAD: All
Download: ToolBar icon
Autore: 2cv001
Autore
2cv001
Download
ToolBar icon
Link
Raccolta di macro
Come installare le macro
Personalizzare la toolbar
Versione macro
02.03
Data ultima modifica
27/10/2025/
Versioni di FreeCAD
All
Scorciatoia
Nessuna
Vedere anche
Nessuno

Descrizione

Contattarmi sul forum di FreeCAD in caso di problemi.'

Macro che, con un semplice clic su una cella di un foglio di calcolo, aggiunge un vincolo di lunghezza a una linea o tra due punti utilizzando un alias o un indirizzo di cella (ad esempio C2). Le modifiche future al foglio di calcolo aggiorneranno il vincolo. La macro può creare l'alias autonomamente.

È sufficiente selezionare una linea, due punti o un vincolo, fare clic su una cella del foglio di calcolo ed eseguire la macro. È possibile selezionare linee, punti alle estremità di una linea, punti, cerchi o archi di cerchio.

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://raw.githubusercontent.com/2cv001/FreeCAD-macros/master/Spreadsheet/Sketch_Constraint_From_Spreadsheet.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://raw.githubusercontent.com/2cv001/FreeCAD-macros/master/Spreadsheet/Sketch_Constraint_From_Spreadsheet.FCMacro")
<class="rawcodeurl"><a href="https://raw.githubusercontent.com/2cv001/FreeCAD-macros/master/Spreadsheet/Sketch_Constraint_From_Spreadsheet.FCMacro">raw code</a>


Utilizzo

Creazione automatica di oggetti

Se si esegue la macro e non si ha ancora creato un foglio di calcolo, un corpo o uno schizzo, la macro suggerisce di crearne uno e poi apre lo schizzo in modalità di modifica e il foglio di calcolo in modo che si possa iniziare a compilarlo.

Creazione automatica di alias

Non è obbligatorio, ma è consigliabile utilizzare gli alias nel foglio di calcolo. La macro può creare alias a partire dal testo presente nelle celle.
Due modalità:

  • una modalità manuale in cui si selezionano manualmente le celle contenenti il ​​testo da utilizzare come alias.
  • una modalità automatica:

Modalità automatica

Nella modalità automatica gli alias vengono creati automaticamente utilizzando un'area di testo definita da una cella. L'area include la cella stessa e quelle sottostanti. Questi testi corrispondono al nome dell'alias. L'alias viene creato a destra del relativo testo. La cella designata (in questo caso A3) è modificabile nelle seguenti finestre di dialogo:

Alias automatic creation

Alias automatic creation Alias automatic creation

Modalità manuale

Per utilizzare la modalità manuale, non selezionare l'opzione "Automatic alias".

Alias creation

Alias creation

Creazione dei vincoli

1) Selezionare:

  • una linea,
  • due punti (estremità di una linea, centro di un cerchio, ecc.)
  • oppure un vincolo di lunghezza.

2) Fare clic su una cella del foglio di calcolo, con o senza alias, che contenga un valore numerico:

3) Eseguire la macro.

4) Selezionare il tipo di vincolo desiderato:

Se la cella ha un alias, la proprietà lunghezza del vincolo sarà qualcosa del tipo 'Spreadsheet.alias'. Altrimenti, qualcosa del tipo 'Spreadsheet.D4'.

5) Se il vincolo causa un conflitto nello schizzo e la casella "rilevamento conflitti" è selezionata, la macro proporrà di eliminare il nuovo vincolo:

Selezionando un vincolo esistente, è possibile modificarne il valore con un valore presente in un foglio di calcolo:

La macro può anche gestire geometrie esterne provenienti da un altro schizzo:

Per rendere il tutto ancora più preciso, se, ad esempio, una linea è orizzontale anziché verticale, all'apertura della finestra di dialogo il focus si sposterà sul pulsante per applicare un vincolo orizzontale. Se la linea è verticale anziché orizzontale, il focus si sposterà sul pulsante per applicare un vincolo verticale. In entrambi i casi, è sufficiente premere il tasto Invio se si è soddisfatti della scelta.

La macro funziona anche per le proprietà degli oggetti. Se, ad esempio, si fa clic sulla proprietà Lunghezza di un Pad e poi su una cella con il valore desiderato, la proprietà Lunghezza del Pad viene modificata automaticamente.

Si possono usare le formule

Principio: La macro trasforma l'alias prima di inserirlo nell'espressione del parametro o della dimensione. Sostituisce le parole chiave con operazioni per tutto ciò che segue la stringa di caratteri f (f per funzione).

Esempio di utilizzo:

Se l'alias è: radius_f__mul_2_plu_1
L'espressione sarà:
<<datas>>.radius_f__mul_2_plu_1 * 2 + 1
Quindi, se ad esempio c'è il valore 5 nella cella, il parametro o la dimensione assumerà il valore 5 * 2 + 1, che è uguale a 11.

Uno snippet di codice che mostra le possibili operazioni e formule da utilizzare:

formulaSeparator = '_f_'
dicoFormula = {
    '_div_':'/',
    '_mul_':'*',
    '_plu_':'+',
    '_mor_':'+',
    '_les_':'-',
    '_moi_':'-',
    '_pg_':'(',
    '_lp_':'(',
    '_pd_': ')',
    '_rp_': ')',
}

Raggio → diametro

Una casella di controllo consente di dividere il valore per 2 direttamente nella formula. Questo è molto utile, ad esempio, quando si desidera inserire un diametro che verrà convertito in un raggio. Un caso tipico è una linea in uno schizzo utilizzata come profilo per una rivoluzione.

Link

  • Forum discussion (French)
  • Forum discussion (English)
  • Macro
  • Come installare le macro
  • Come personalizzare le barre degli strumenti

Ringraziamenti

Grazie a openBrain, mario52 e onekk per il loro aiuto con il codice!
Grazie a Syres per i test, le revisioni e l'aiuto con il codice.
Grazie a Roy043 e David69 per le varie revisioni e i miglioramenti apportati alla wiki.
Grazie a L'ami René per i test e le idee.

Script

Icona barra degli strumenti

Codice

ver 02.03 2025/10/27 by 2cv001 Macro_Sketch_Constraint_From_Spreadsheet.FCMacro

Download

Download latest version of the macro

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

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