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 MultiCopy

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

Descrizione

'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.

Caratteristiche principali

  • Due metodi di input: tramite mouse o tastiera (comandi di incolla codice)
  • Supporto per i metodi di copia standard e copia semplice
  • Duplicazione tra due documenti diversi
  • Eliminazione degli oggetti selezionati dopo la duplicazione
  • Duplicazione con o senza dipendenze
  • Aggiunta di separatori di etichette personalizzati
  • Aggiunta di numerazione con spaziatura alle etichette
  • Tipi di numerazione: numeri comuni, numeri romani maiuscoli/minuscoli e caratteri alfabetici maiuscoli/minuscoli
  • Comandi di incolla codice unici che consentono la duplicazione multipla in modo procedurale e in cicli annidati
  • Disponibili sia metodi CUI che GUI

Finestra di dialogo principale di MultiCopy Macro

Installazione

Linux

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

Windows

MultiCopy può essere installato seguendo questi due passaggi:

  1. Scaricare il file MultiCopy.zip.
  2. Estrarre il contenuto del file ZIP nella cartella delle macro utente di FreeCAD.

Per impostazione predefinita, la cartella delle macro utente di FreeCAD dovrebbe trovarsi in:

C:/Users/User_Name/AppData/Roaming/FreeCAD/Macro

Utilizzo - Metodo GUI

MultiCopy può essere caricato seguendo questi passaggi:

  1. Avviare l'applicazione FreeCAD.
  2. Andare a Macro → Macro ....
  3. Fare clic sulla scheda Macro utente nella finestra di dialogo a comparsa.
  4. Selezionare MultiCopy.FCMacro.
  5. Fare clic su Execute.

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.

Utilizzo - Metodo CUI (console Python)

Prima di avviare l'operazione MultiCopy, selezionare uno o più oggetti dal documento FreeCAD attivo.

Per avviare la finestra di dialogo GUI:

import MultiCopy

MultiCopy.Launch()

Per eseguire l'operazione tramite terminale:

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

Esempio 1 :

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)

Esempio 2 :

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

Incollare i comandi del codice

MultiCopy Macro lista 'Paste Code Commands'

I due comandi ricorrenti nella loro forma generica sono i seguenti:

  1. from ... to ... :
  2. [...] = ...

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:

  1. Il nero indica che la casella di testo è attiva e che l'utente sta inserendo i comandi di incolla del codice.

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.

Esempio 1

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

Rappresentazione dell'oggetto

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

Etichette di numerazione

{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:

  1. {n#X} Riempimento (di 'X' cifre)
  2. {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:

  1. {n#0|i1} OPPURE
  2. {n#|i1}

Esempio 2

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

Note

(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.

Script

__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")
<class="rawcodeurl"><a href="https://raw.githubusercontent.com/melwyncarlo/MultiCopy/main/MultiCopy.FCMacro">raw code</a>


Link

[1] MultiCopy Github Repository
[2] FreeCAD Macros Github Repository - MultiCopy
[3] FreeCAD Forum Discussion Page - MultiCopy

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

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