Macro MeshResetOrigin/de

Macro MeshResetOrigin

Beschreibung
Konsolidiert Mesh-Transformationen, indem der Ursprung jedes ausgewählten Meshes auf den Dokumentursprung (Weltursprung) zurückgesetzt wird, ohne die Geometrie zu verschieben. Ideal nach der Verwendung eines Ausrichtungswerkzeugs (z. B. Mesh Ausrichten), um die Ausrichtung in die Scheitelpunktkoordinaten einzubetten, anstatt sich auf einen Platzierungsversatz oder einen übergeordneten Container zu verlassen.

Versionsmakro : 0.2
Datum der letzten Änderung : 2026-06-09
FreeCAD version : 1.1.1 (<1.0 sollte funktionieren, wurde aber nicht getestet)
Herunterladen : Werkzeugleistensymbol
Autor: de-seingalt
Autor
de-seingalt
Herunterladen
Werkzeugleistensymbol
Links
Macro-Version
0.2
Datum der letzten Änderung
2026-06-09
FreeCAD-Version(s)
1.1.1 (<1.0 sollte funktionieren, wurde aber nicht getestet)
Standardverknüpfung
None
Siehe auch
None

Beschreibung

Makro MeshResetOrigin ist ein Makro, das Mesh-Transformationen konsolidiert, indem es den Ursprung jedes ausgewählten Meshes auf den Dokument- (Welt-)Ursprung zurücksetzt, ohne die Geometrie zu verschieben. Diese Funktion ist für die Verwendung nach einem Ausrichtungsvorgang vorgesehen (z. B. „Bearbeiten → Ausrichten auf…“ bei Mesh-Objekten), um die resultierende Ausrichtung in die Mesh-Koordinaten einzubacken, anstatt sie als Platzierungs-Versatz beizubehalten oder auf einen übergeordneten Container zurückzugreifen.

Jedes ausgewählte Mesh::Feature wird wie folgt verarbeitet:

  1. Die aktuelle Platzierung auslesen (die Transformation, die das Objekt in der Welt positioniert).
  2. Diese Platzierungsmatrix auf eine Kopie des Meshes anwenden, sodass jeder Scheitelpunkt an die Position verschoben wird, die er derzeit im Weltraum einnimmt.
  3. Das transformierte Mesh neu zuweisen und die Eigenschaft Placement auf die Identitätsmatrix (0,0,0 / 0°) zurücksetzen.

Das Netz bewegt sich auf dem Bildschirm nicht; lediglich sein Ursprung stimmt nun mit dem Weltursprung überein, da die Transformation nun in der Netz-Geometrie statt in der Eigenschaft Placement gespeichert ist. Der gesamte Vorgang ist in einer einzigen Rückgängig-Transaktion zusammengefasst, sodass ein einziger Klick auf Undo (Rückgängig) alles rückgängig macht.

Objekte, die keine Netze sind, sowie Netze, die sich in einem übergeordneten Container befinden (z. B. App::Part), werden übersprungen, wobei eine Warnung im Ausgabefenster ausgegeben wird. Netze, die sich bereits am Ursprung befinden, bleiben unberührt.

Ort

Arbeitsbereich Mesh (extern/optionales Makro).

Anwendung

  1. Ein oder mehrere Mesh-Objekte in der Baumansicht oder der 3D-Ansicht auswählen.
  2. Das Makro ausführen.
  3. Der Ursprung jedes Meshes wird auf den Weltursprung zurückgesetzt; die Geometrie verschiebt sich nicht.
  4. Die Berichtsansicht auf eine Zusammenfassung pro Mesh (zurückgesetzt / bereits am Ursprung / übersprungen) überprüfen.

Befindet sich ein Mesh innerhalb eines App::Part-Objekts, zieht man es zunächst aus dem Container heraus und führt dann das Makro aus.

Beispiel

Ein typischer Arbeitsablauf besteht darin, ein 3D-Scan-Netz an den Weltkoordinatenachsen auszurichten, um die Bearbeitung zu vereinfachen:

  1. Ein 3D-Scan-Netz importieren.
  2. Eine Referenzgeometrie erstellen (oder verwenden), an der das Netz ausgerichtet werden soll, beispielsweise eine Ebene.
  3. Sowohl das Referenzobjekt als auch das Netz auswählen und dann zu „Bearbeiten → Ausrichten auf…“ gehen.
  4. Mindestens drei Punkte auf der zu glättenden Fläche des Netzes auswählen, dann mindestens drei Punkte auf der Referenzfläche auswählen, an der das Netz ausgerichtet werden soll, und anschließend auf „Ausrichten“ klicken.
  5. Das Netz ist nun ausgerichtet, aber die Platzierung/Transformation ist nicht mehr ohne Weiteres zu bearbeiten.
  6. „MeshResetOrigin“ auf dem Netz ausführen: Es verschiebt sich nicht, aber sein Ursprung ist nun auf die Weltkoordinaten ausgerichtet.
  7. Diesen Vorgang nach Bedarf wiederholen, um die Ausrichtung zu verfeinern – besonders nützlich bei der Arbeit mit 3D-Scan-Netzen oder STL-Dateien aus dem 3D-Drucker.

Eine illustrierte Schritt-für-Schritt-Anleitung ist im GitHub-Repository zu finden.

Hinweise

Lizenz

Lizenziert unter LGPL v2.

Herunterladen


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/de-seingalt/MeshResetOrigin/main/MeshResetOrigin.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/de-seingalt/MeshResetOrigin/main/MeshResetOrigin.FCMacro")