| Descrizione |
|---|
| MultiCopy consente la duplicazione (copia e incolla) di più oggetti FreeCAD che possono essere etichettati in sequenza e in modo personalizzato. Versione macro: 1.0.1 Ultima modifica: 18-03-2021 Versione FreeCAD: 0.17 and above Download: ToolBar Icon Autore: Melwyncarlo |
| Autore |
| Melwyncarlo |
| Download |
| ToolBar Icon |
| Link |
| MultiCopy.zip Personal Github - MultiCopy FC Github - MultiCopy FC Forum - MultiCopy Raccolta di macro Come installare le macro Personalizzare la toolbar |
| Versione macro |
| 1.0.1 |
| Data ultima modifica |
| 18-03-2021 |
| Versioni di FreeCAD |
| 0.17 and above |
| Scorciatoia |
| Nessuna |
| Vedere anche |
| Nessuno |
'MultiCopy' è una macro utente da utilizzare all'interno dell'applicazione FreeCAD. MultiCopy consente di duplicare (copia e incolla) più oggetti FreeCAD, che possono essere etichettati in sequenza e in modo personalizzato.
Questa è l'icona di MultiCopy Macro.
La macro MultiCopy può essere scaricata utilizzando il gestore di componenti aggiuntivi integrato Addon Manager nel software FreeCAD.
Finestra di dialogo principale di MultiCopy Macro
MultiCopy può essere installato manualmente, in modo simile all'installazione su Windows, oppure tramite il terminale e i relativi comandi, come indicato nel file INSTALL.
Di default, il terminale dei comandi Linux può essere avviato premendo contemporaneamente i seguenti tasti della tastiera:
Control + Alt + T
MultiCopy può essere installato seguendo questi due passaggi:
Per impostazione predefinita, la cartella delle macro utente di FreeCAD dovrebbe trovarsi in:
C:/Users/User_Name/AppData/Roaming/FreeCAD/Macro
MultiCopy può essere caricato seguendo questi passaggi:
Prima di caricare la macro MultiCopy, selezionare uno o più oggetti dal documento FreeCAD attivo, quindi caricare la macro. Successivamente, seguire le istruzioni nella finestra di dialogo, inserire i dati richiesti e fare clic sul pulsante "Paste". In caso di errore o avviso, si verrà automaticamente informati. Qualora si verificasse un errore imprevisto, segnalarlo indicando la versione di FreeCAD, descrivendo i passaggi eseguiti e specificando se (e in che misura) è stato generato un output.
Prima di avviare l'operazione MultiCopy, selezionare uno o più oggetti dal documento FreeCAD attivo.
import MultiCopy
MultiCopy.Launch()
Il comando MultiCopy è il seguente:
Run (paste_code, copy_type=True, delete_selection=False, paste_document_label=None)
I parametri del comando MultiCopy sono i seguenti:
1. Name : paste_code
Type : String
Is Optional : False
Description : The paste code commands string.
For indentations, use \'\\t\'.
For line breaks, use \'\\n\'.
2. Name : copy_type
Type : Boolean or String or Integer
Is Optional : True
Description : The copy operation mode.
Acceptable Values : 'Standard', 'Simple',
True, False,
1, 2
Default Value : True
3. Name : delete_selection
Type : Boolean
Is Optional : True
Description : Se impostato su true, gli oggetti selezionati vengono eliminati dopo l'operazione MultiCopy.
Default Value : False
4. Name : paste_document_label
Type : String or FreeCAD.Document
Is Optional : True
Description : L'etichetta del documento in cui incollare, oppure l'oggetto documento stesso.
Default Value : FreeCAD.ActiveDocument
Per incollare gli oggetti selezionati nel documento attualmente attivo come copia standard e per non eliminare le selezioni al termine dell'operazione.
import MultiCopy
some_paste_code_commands = 'from 1 to 2 :\n\t[1] = SomeName_{n#}'
MultiCopy.Run(some_paste_code_commands)
Per incollare gli oggetti selezionati in un altro documento come una semplice copia e per eliminare le selezioni al termine dell'operazione.
import MultiCopy
some_paste_code_commands = 'from 1 to 2 :\n\t[1] = SomeName_{n#}'
MultiCopy.Run(some_paste_code_commands, True, True, 'SomeDocumentLabel')
MultiCopy Macro lista 'Paste Code Commands'
I due comandi ricorrenti nella loro forma generica sono i seguenti:
from ... to ... :[...] = ...Durante l'inserimento dei comandi di incolla del codice nell'apposita casella di testo, nella parte inferiore della casella sono presenti tre indicatori luminosi colorati:
Il rosso indica che la casella di testo non è attiva e che i comandi inseriti dall'utente sono sintatticamente errati. Il verde indica che la casella di testo non è attiva e che i comandi inseriti dall'utente sono sintatticamente corretti.
from 1 to 3 :
[1] = {1}-Something_{n#}
I valori 1 e 3 rappresentano l'intervallo di duplicazione in cui entrambi i valori sono INCLUSIVI. Il primo valore (da) deve essere sempre MINORE O UGUALE al secondo valore (a). I valori (insieme) possono assumere la forma di uno dei cinque tipi di numerazione (check 'Key Features').
[1] rappresenta il primo oggetto' da un elenco presumibilmente selezionato dall'utente.
{1} rappresenta il nome dell'etichetta del primo oggetto.
{n#} rappresenta unetichetta di numerazione del tipo 'Numeri ordinari. (maggiori dettagli in seguito)
NOTA che la corretta indentazione delle tabulazioni è fondamentale per i comandi; non può essere sostituita con spazi.
Le parentesi quadre vengono utilizzate solo per i comandi del secondo tipo generico. Le parentesi quadre [ e ] si trovano sempre a sinistra del comando; mentre le parentesi graffe { e } si trovano sempre a destra del comando.
Supponiamo che il nome dell'etichetta originale del primo oggetto sia Body. Quindi, i comandi precedenti genererebbero un insieme di oggetti duplicati (del primo oggetto), ciascuno etichettato come segue:
Body-Something_1 Body-Something_2 Body-Something_3
Sia i un oggetto arbitrario, l'i-esimo, da un elenco predefinito di oggetti scelti dall'utente.
[i] rappresenta l'i-esimo oggetto senza dipendenze (impostazione predefinita)
[i|0] rappresenta l'i-esimo oggetto senza dipendenze (un'altra forma)
[i|1] rappresenta l'i-esimo oggetto CON dipendenze incluse
{n#} o {N#} sono del tipo 'Numeri ordinari'
{R#} o {ru#} o {RU#} sono del tipo 'Numeri romani maiuscoli'
{r#} o {rl#} o {RL#} sono del tipo 'Numeri romani minuscoli'
{A#} o {au#} o {AU#} sono del tipo 'Alfabeto maiuscolo'
{a#} o {al#} o {AL#} sono del tipo 'Alfabeto minuscolo'
Un'etichetta di numerazione può avere due opzioni aggiuntive:
{n#X} Riempimento (di 'X' cifre){n#X|i1} Assegnazione del livello del ciclo annidato (a un ciclo contrassegnato come 'i1')In caso di assegnazione di livelli di ciclo annidati SENZA riempimento, procedere come segue:
{n#0|i1} OPPURE{n#|i1}
from 1 to 2 : i1 :
from a to b : i2 :
[1|1] = Pasted-{1}-{n#3|i1}-{AU#0|i2}
Qui gli oggetti vengono incollati insieme alle relative dipendenze. L'etichetta 'Numeri ordinari' ha un padding di '3', mentre l'etichetta 'Alfabeto maiuscolo' ha un padding di '0'.
NOTARE come il ciclo 'da-a' utilizzi l'alfabeto minuscolo; tuttavia, l'etichetta verrà visualizzata in maiuscolo.
I comandi sopra riportati genereranno un insieme di oggetti duplicati (del primo oggetto), ciascuno etichettato come segue:
Pasted-Body-001-A Pasted-Body-001-B Pasted-Body-002-A Pasted-Body-002-B
MultiCopy Macro 'Comandi Paste Code'
Segnale di INPUT
MultiCopy Macro 'Comandi Paste Code'
Segnale SCORRETTO
MultiCopy Macro 'Comandi Paste Code Commands'
Segnale CORRETTO
| (1) | Esistono alcune inevitabili contraddizioni nella nomenclatura tra numeri romani e caratteri alfabetici. Ad esempio: c, v, i, x, ecc. |
| (2) | Per impostazione predefinita, i numeri romani hanno la precedenza sui caratteri alfabetici. |
| (3) | Le dipendenze si applicano solo alla "Copia standard"; la loro applicazione alla "Copia semplice" verrà automaticamente ignorata. |
__Title__ = "MultiCopy"
__Author__ = "Melwyncarlo"
__Version__ = "1.0.1"
__Date__ = "2021-03-18"
__Comment__ = "MultiCopy allows the duplication (copy and paste) of "\
"multiple FreeCAD objects that can be labelled sequentially "\
"and in a custom manner."
__Web__ = "https://github.com/melwyncarlo/MultiCopy"
__Wiki__ = "https://wiki.freecad.org/index.php?title=Macro_MultiCopy"
__Icon__ = "MultiCopy_UI_Files/MultiCopy.svg"
__Help__ = "Select one or more FreeCAD objects, then click on the "\
"MultiCopy button/macro, and follow the instructions in the dialog box."
__Status__ = "stable"
__Requires__ = "Freecad >= v0.17"
__Communication__ = "https://github.com/melwyncarlo/MultiCopy/issues"
__Files__ = "MultiCopy_UI_Files/MultiCopy_Main_Dialog.ui, "\
"MultiCopy_UI_Files/MultiCopy_Commands_Dialog.ui, "\
"MultiCopy_UI_Files/mc_d_imgs.gif, "\
"MultiCopy_UI_Files/MultiCopy.svg"
# OS: Ubuntu 18.04.5 LTS
# Word size of OS: 64-bit
# Word size of FreeCAD: 64-bit
# Version: 0.18.4.
# Build type: Release
# Python version: 3.6.8
# Qt version: 5.9.5
# Coin version: 4.0.0a
# OCC version: 7.3.0
# Locale: English/UnitedKingdom (en_GB)
# OS: Ubuntu 18.04.5 LTS (LXDE/Lubuntu)
# Word size of OS : 64-bit
# Word size of FreeCAD: 64-bit
# Version: 0.19
# Build type: Release
# Branch: unknown
# Hash: 32200b604d421c4dad527fe587a7d047cf953b4f
# Python version: 3.6.9
# Qt version: 5.9.5
# Coin versio: 4.0.0a
# OCC version: 7.3.0
# Locale: English/UnitedKingdom (en_GB)
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/melwyncarlo/MultiCopy/main/MultiCopy.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/melwyncarlo/MultiCopy/main/MultiCopy.FCMacro")
[1] MultiCopy Github Repository
[2] FreeCAD Macros Github Repository - MultiCopy
[3] FreeCAD Forum Discussion Page - MultiCopy