Macro FCBmpImport/de

FCBmpImport

Beschreibung
Importiert BMP-Monochrom- und Graustufenbilder als Skizzen, Volumenkörper, Drahtmodelle, Flächen oder Lithophanen in FreeCAD.

Versionsmakro : 0.2021.09.23
Datum der letzten Änderung : 2021-09-23
FreeCAD version : 0.18 oder später
Herunterladen : Werkzeugleisten-Symbol
Autor: TheMarkster
Autor
TheMarkster
Herunterladen
Werkzeugleisten-Symbol
Links
Macro-Version
0.2021.09.23
Datum der letzten Änderung
2021-09-23
FreeCAD-Version(s)
0.18 oder später
Standardverknüpfung
None
Siehe auch

Beschreibung

Dieses Makro wird verwendet, um BMP-Bilder als FreeCAD-Objekte in FreeCAD zu importieren. Optionen für monochrome Bilder mit 1 Bit pro Pixel umfassen den Import als Skizzen, Volumenkörper, Drahtmodelle, Flächen oder Punkte. Ein Graustufen-BMP-Bild kann auch als Lithophane importiert werden.

Verwendung: Klicken Sie auf die Schaltfläche „Bild öffnen“ und wählen Sie Ihr Bild im Datei-Dialogfeld aus. Es werden nur BMP-Bildtypen unterstützt. Diese müssen monochrom mit 1 Bit pro Pixel sein, es sei denn, sie werden als Lithophane importiert. In diesem Fall werden Graustufen-BMP-Dateien unterstützt. Sie können ein farbiges BMP-Bild für Lithophane verwenden, es wird jedoch beim Import intern als Graustufenbild interpretiert. Nach dem Öffnen wird das Bild im Vorschaubereich angezeigt. Das rote und blaue Kreuz zeigt an, wo sich der Ursprung relativ zum importierten Objekt befindet. Sie können negative Werte in die Felder „X-Versatz“ und „Y-Versatz“ eingeben, um den Ursprung vor dem Import zu verschieben. Auf dem folgenden Screenshot ist zu sehen, wie das Kreuz verschoben wurde. Unterhalb der Schaltfläche „Bild öffnen“ befinden sich Schaltflächen für den Import. Einige dieser Schaltflächen öffnen Dialogfelder mit zusätzlichen Optionen. Beispielsweise bietet „Solid“ die Option „Lithophane“. Bei „Wires“-Importen können Sie auswählen, ob die Flächen aus den Drähten erstellt werden sollen. Bei „Points“ können Sie auswählen, ob eine neue Skizze mit den Punkten als Verknüpfungen zu externer Geometrie erstellt werden soll.

Es sei darauf hingewiesen, dass es bessere Möglichkeiten gibt, Bilder in FreeCAD zu importieren. In den meisten Fällen ist es am besten, sie in SVG zu konvertieren und als Geometrie zu importieren. Hochauflösende Bilder sollten vermieden werden. Diese erzeugen in der Regel zu viele Objekte, als dass FreeCAD sie verarbeiten könnte. Es kann sogar zu einem Speicherengpass und zum Absturz von FreeCAD oder sogar des gesamten Computers kommen. Speichern Sie daher unbedingt alle wichtigen Daten, an denen Sie gerade arbeiten. Der Vorgang kann je nach Auflösung und Komplexität des Bildes recht langsam sein. Es gibt eine Abbruchschaltfläche, die Sie verwenden können. Wenn Sie Fehlermeldungen sehen, brechen Sie den Import ab. Betrachten Sie den Fall eines Bildes mit einer relativ niedrigen Auflösung von 120 x 120. Das sind immer noch 14.400 Pixel! Der Algorithmus geht Rasterzeile für Rasterzeile vor, es wären also 120 Zeilen. Wenn die benachbarten Pixel einer Zeile alle dieselbe Farbe haben, werden sie zu einem einzigen Objekt zusammengefasst. Beim Importieren als ein einziges verschmolzenes Objekt werden diese weiter kombiniert, wenn neue Zeilen hinzugefügt werden. Der Fortschrittsbalken funktioniert, solange das Makro ausgeführt wird. Wenn das Makro jedoch abgeschlossen ist und das Objekt an FreeCAD übergibt, kann es manchmal lange dauern, bis FreeCAD es verarbeitet und rendert, und es kann den Anschein haben, als würde es nicht reagieren. Haben Sie bitte etwas Geduld.

Die besten Bilder sind solche mit sauberen 90-Grad-Winkeln, die alle horizontal und vertikal sind, ohne Diagonalen und ohne Kurven. Solche Bilder können als Skizzen importiert und in der Part-Workbench extrudiert werden. Bilder mit Kurven und Diagonalen neigen dazu, stark verpixelt zu sein. Das liegt in der Natur des BMP-Formats. Selbst hochauflösende Bilder werden verpixelt, wenn Sie sie weit genug vergrößern. Einige der Importe werden, offen gesagt, ziemlich hässlich sein. Dies ist der Hauptgrund, warum SVG-Importe bevorzugt werden.

Das Makro bietet auch einige andere Tools für die Bearbeitung von Verbindungen. Diese dienen hauptsächlich der Bearbeitung importierter Verbindungen, bei denen es sich um Verbindungen aus der Draft-Workbench handelt. Die Punkte in diesen Objekten können mit dem Makro bearbeitet werden. Weitere Informationen finden Sie in der Dokumentation auf GitHub.

Die Schaltfläche „Objekte auswählen“ dient zum Auswählen von Unterobjekten, die dieselben Begrenzungsrahmenbegrenzungen auf einer der Achsen haben. Wenn Sie beispielsweise alle Flächen mit derselben Z-Koordinate auf der XY-Ebene auswählen möchten, wählen Sie eine der Flächen aus, klicken Sie auf die Schaltfläche „Objekte auswählen“, wählen Sie im Dialogfeld „Z“ aus und warten Sie, bis alle Flächen im Objekt, die diesen Kriterien entsprechen, zum FreeCAD-Auswahlmechanismus hinzugefügt wurden. Dies funktioniert auch für Kanten und Eckpunkte. Diese Funktion wurde hinzugefügt, um in der Path-Workbench die Auswahl aller Flächen für eine 3D-Tasche zu vereinfachen, kann aber auch für andere Zwecke nützlich sein.

Die vollständige Dokumentation findet man auf GitHub: FCBmpImport.

Bildschirmaufnahme von FCBmpImport

Legende

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/mwganson/ea7aa4dcb79d7492caa24e8970967174/raw/1fe247b5b93e5084866a69754854d9caedca1f09/FCBmpImport.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/mwganson/ea7aa4dcb79d7492caa24e8970967174/raw/1fe247b5b93e5084866a69754854d9caedca1f09/FCBmpImport.FCMacro")
<class="rawcodeurl"><a href="https://gist.githubusercontent.com/mwganson/ea7aa4dcb79d7492caa24e8970967174/raw/1fe247b5b93e5084866a69754854d9caedca1f09/FCBmpImport.FCMacro">raw code</a>


Werkzeugleisten-Symbol

Skript

Macro FCBmpImport.FCMacro