| Beschreibung |
|---|
| Mehrfach Kopieren ermöglicht das Duplizieren (Kopieren und Einfügen) mehrerer FreeCAD-Objekte, die sequenziell und individuell beschriftet werden können. Versionsmakro : 1.0.1 Datum der letzten Änderung : 2021-03-18 FreeCAD version : 0.17 und neuer Herunterladen : Werkzeugleisten-Symbol Autor: Melwyncarlo |
| Autor |
| Melwyncarlo |
| Herunterladen |
| Werkzeugleisten-Symbol |
| Links |
| MultiCopy.zip Personal Github - MultiCopy FC Github - MultiCopy FC Forum - MultiCopy Makros Rezepte Wie man Makros installiert Symbolleisten anpassen |
| Macro-Version |
| 1.0.1 |
| Datum der letzten Änderung |
| 2021-03-18 |
| FreeCAD-Version(s) |
| 0.17 und neuer |
| Standardverknüpfung |
| None |
| Siehe auch |
| None |
'Mehrfach Kopieren' ist ein vom Benutzer erstelltes Makro, das innerhalb der FreeCAD-Anwendung verwendet werden kann. Mehrfach Kopieren ermöglicht das Duplizieren (Kopieren und Einfügen) mehrerer FreeCAD-Objekte, die sequenziell und nach Belieben beschriftet werden können.
Dies ist das Symbol des Makros Mehrfach Kopieren.
Das Makro Mehrfach Kopieren kann über den integrierten AddonManager innerhalb der FreeCAD-Software heruntergeladen werden.
Makro Mehrfach-Kopie Hauptdialog
Mehrfach Kopieren kann manuell installiert werden, ähnlich wie bei einer Windows-Installation, oder mithilfe des Befehlsterminals und den entsprechenden Befehlen, wie in der Datei INSTALL.
Standardmäßig kann das Linux-Befehlsterminal durch gleichzeitiges Drücken der folgenden Tasten gestartet werden:
Control + Alt + T
Mehrfach Kopieren kann mit Hilfe der folgenden zwei Schritte installiert werden :-
Standardmäßig sollte sich das FreeCAD-Benutzer-Makroverzeichnis unter folgendem Pfad befinden:
C:/Users/User_Name/AppData/Roaming/FreeCAD/Macro
Mehrfach-Kopie kann durch Ausführen der folgenden Schritte geladen werden: -
Bevor das Mehrfach Kopieren-Makro geladen wird, zunächst ein oder mehrere Objekte aus dem aktiven FreeCAD-Dokument auswählen und dann das Makro laden. Anschließend die Anweisungen im Dialogfeld befolgen, die erforderlichen Eingaben eingeben und auf die Schaltfläche Einfügen klicken. Im Falle eines Fehlers oder einer Warnung wird man automatisch benachrichtigt. Sollte ein unerwarteter Fehler auftreten, uns diesen bitte mitteilen, indem die FreeCAD-Version angegeben wird, die durchgeführten Schritte beschrieben werden und angeben wird, ob (und in welchem Umfang) eine Ausgabe erzeugt wurde.
Bevor der Mehrfach Kopieren-Vorgang ausführt wird, zunächst ein oder mehrere Objekte aus dem aktiven FreeCAD-Dokument auswählen.
import MultiCopy
MultiCopy.Launch()
Der Befehl Mehrfach Kopieren lautet wie folgt:
Run (paste_code, copy_type=True, delete_selection=False, paste_document_label=None)
The MultiCopy command's parameters are as follows :
1. Name : paste_code
Type : String
Is Optional : False
Description : The paste code commands string.
For indentations, use \'\\t\'.
For line breaks, use \'\\n\'.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
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
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
3. Name : delete_selection
Type : Boolean
Is Optional : True
Description : If true, the selected objects are
deleted after the MultiCopy operation.
Default Value : False
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
4. Name : paste_document_label
Type : String or FreeCAD.Document
Is Optional : True
Description : The label of the document to paste to,
or the document object itself.
Default Value : FreeCAD.ActiveDocument
Die ausgewählten Objekte als Standardkopie in das aktuell aktive Dokument einfügen und die Auswahl nach dem Vorgang nicht löschen.
import MultiCopy
some_paste_code_commands = 'from 1 to 2 :\n\t[1] = SomeName_{n#}'
MultiCopy.Run(some_paste_code_commands)
Die ausgewählten Objekte als einfache Kopie in ein anderes Dokument einfügen und die Auswahl nach dem Vorgang löschen.
import MultiCopy
some_paste_code_commands = 'from 1 to 2 :\n\t[1] = SomeName_{n#}'
MultiCopy.Run(some_paste_code_commands, True, True, 'SomeDocumentLabel')
Makro Mehrfach-Kopie 'Code einfügen-Befehls'-Liste
Die beiden wiederkehrenden Befehle in ihrer generischen Form lauten wie folgt:
from ... to ... :[...] = ...While inputting the Paste Code Commands in the relevant input text box, there are three signals in the form of coloured strips located at the bottom of the text box:
from 1 to 3 :
[1] = {1}-Something_{n#}
The 1 and 3 values represent the duplication range where both the values are INCLUSIVE. The first (from) value must always be LESS THAN OR EQUAL TO the second (to) value. The values (together) can take the form of one of the five numbering types (check 'Key Features').
[1] represents the first object from an assumed list of user-selected objects.
{1} represents the label name of the first object.
{n#} represents a numbering label of the type 'Ordinary Numerals'. (more on that, later)
HINWEIS die korrekten Tab-Einrückungen sind für die Befehle sehr wichtig; sie können nicht durch Leerzeichen ersetzt werden.
Brackets are only used for commands of the second generic type. The square brackets [ and ] always lie on the left-hand side of the command; whereas, the curly brackets { and } always lie on the right-hand side of the command.
Nehmen wir an, der ursprüngliche Name des ersten Objekts lautet Body. Dann würden die oben genannten Befehle eine Reihe von duplizierten Objekten (des ersten Objekts) ausgeben, die jeweils wie folgt benannt sind:
Body-Something_1 Body-Something_2 Body-Something_3
Let i be an arbitrary i-th object from an assumed list of user-selected objects.
[i] represents the i-th object without dependencies (by default)
[i|0] represents the i-th object without dependencies (another form)
[i|1] represents the i-th object WITH dependencies included
{n#} or {N#} are of the type 'Ordinary Numerals'
{R#} or {ru#} or {RU#} are of the type 'Upper-case Roman Numerals'
{r#} or {rl#} or {RL#} are of the type 'Lower-case Roman Numerals'
{A#} or {au#} or {AU#} are of the type 'Upper-case Alphabet'
{a#} or {al#} or {AL#} are of the type 'Lower-case Alphabet'
Eine Nummerierungsbeschriftung kann zwei zusätzliche Optionen haben:
{n#X} Auffüllen (mit 'X' Stellen){n#X|i1} Verschachtelte Schleifen-Ebenen-Zuweisung (zu einer Schleife mit dem Tag „i1”)Im Fall einer verschachtelten Schleifenebenenzuweisung OHNE Einrückung, mache:
{n#0|i1} ODER{n#|i1}
from 1 to 2 : i1 :
from a to b : i2 :
[1|1] = Pasted-{1}-{n#3|i1}-{AU#0|i2}
Hier werden die Objekte zusammen mit den Abhängigkeiten eingefügt. Die Beschriftung 'Ordinary Numeral' hat einen Abstand von '3' und die Beschriftung 'Upper-case Alphabet' hat einen Abstand von '0'.
HINWEIS wie die 'von-bis'-Schleife Kleinbuchstaben verwendet; die Beschriftung wird jedoch in Großbuchstaben ausgegeben.
Die obigen Befehle würden eine Reihe doppelter Objekte (des ersten Objekts) ausgeben, die jeweils wie folgt beschriftet sind:
Pasted-Body-001-A Pasted-Body-001-B Pasted-Body-002-A Pasted-Body-002-B
| (1) | There are a few inevitable from-to naming clashes between roman numerals and alphabetic characters. E.g.: c, v, i, x, etc. |
| (2) | By design, roman numerals take precedence over alphabetic characters. |
| (3) | Dependencies only apply to 'Standard Copy'; its application on 'Simple Copy' will automatically be ignored. |
__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-Verzeichnis
[2] FreeCAD Macros GitHub-Verzeichnis - MultiCopy
[3] FreeCAD-Forum Disksussionsseite - MultiCopy