Macro MeshResetOrigin/it

Macro MeshResetOrigin

Description
Consolida le trasformazioni della mesh reimpostando l'origine di ciascuna mesh selezionata sull'origine del documento (o globale), senza spostare la geometria. È ideale dopo l'uso di uno strumento di allineamento (ad es. Mesh Alignment), per incorporare l'allineamento direttamente nelle coordinate dei vertici anziché affidarsi a un offset di posizionamento o a un contenitore genitore.

Macro version: 0.2
Last modified: 09-06-2026
FreeCAD version: 1.1.1 (<1.0 Dovrebbe funzionare, ma non è stata testata.)
Download: ToolBar icon
Author: de-seingalt
Author
de-seingalt
Download
ToolBar icon
Links
Macro Version
0.2
Date last modified
09-06-2026
FreeCAD Version(s)
1.1.1 (<1.0 Dovrebbe funzionare, ma non è stata testata.)
Default shortcut
None
See also
None

Descrizione

Macro MeshResetOrigin è una macro che consolida le trasformazioni della mesh reimpostando l'origine di ciascuna mesh selezionata sull'origine del documento (origine globale), senza spostare la geometria. È pensata per essere utilizzata dopo un'operazione di allineamento (ad es. Modifica → Allinea a… sugli oggetti Mesh), per incorporare l'allineamento ottenuto direttamente nelle coordinate della mesh, anziché mantenerlo come offset di Posizionamento o dipendere da un contenitore genitore.

Ogni Mesh::Feature selezionata viene elaborata come segue:

  1. Legge la sua posizione attuale (la trasformazione che la posiziona nello spazio).
  2. Applica la matrice di posizionamento a una copia della mesh, in modo che ogni vertice si sposti nella posizione che occupa attualmente nello spazio.
  3. Riassegna la mesh trasformata e reimposta la proprietà Posizionamento su identità (0,0,0 / 0°).

La mesh non si sposta sullo schermo; semplicemente la sua origine ora coincide con l'origine globale, dato che la trasformazione è incorporata nella geometria della mesh anziché nella proprietà Placement. L'intera operazione è racchiusa in un'unica transazione di annullamento, pertanto un singolo comando Annulla ripristina la situazione precedente.

Gli oggetti che non sono mesh e le mesh contenute in un contenitore genitore (ad es. App::Part) vengono ignorati, con la visualizzazione di un avviso nella Vista Report. Le mesh che si trovano già nell'origine rimangono invariate.

Posizione

Ambiente Mesh (macro esterna/opzionale).

Utilizzo

  1. Selezionare uno o più oggetti Mesh nella vista ad albero o nella vista 3D.
  2. Eseguire la macro.
  3. L'origine di ogni mesh viene reimpostata sull'origine globale; la geometria non si sposta.
  4. Controllare la vista Report per visualizzare il riepilogo per ogni mesh (reimpostata / già all'origine / saltata).

Se una mesh si trova all'interno di un App::Part, trascinarla fuori dal contenitore prima di eseguire la macro.

Esempio

Un flusso di lavoro tipico consiste nell'allineare la mesh di una scansione 3D agli assi globali per facilitarne la lavorazione:

  1. Importare una mesh da scansione 3D.
  2. Creare (o riutilizzare) una geometria di riferimento per allineare la mesh, ad esempio un piano.
  3. Selezionare sia l'oggetto di riferimento che la mesh, quindi andare su "Modifica → Allinea a…".
  4. Selezionare almeno 3 punti sulla faccia della mesh da appiattire, quindi almeno 3 punti sulla faccia di riferimento con cui allineare, infine fare clic su "Align".
  5. La mesh è ora allineata, ma il posizionamento/la trasformazione non sono più facili da gestire.
  6. Eseguire "MeshResetOrigin" sulla mesh: non si sposta, ma la sua origine è ora allineata globalmente.
  7. Ripetere l'operazione secondo necessità per perfezionare l'allineamento: particolarmente utile quando si lavora con mesh da scansione 3D o file STL per stampanti 3D.

Una guida passo-passo illustrata è disponibile sul repository GitHub.

Note

Licenza

Distribuito sotto licenza LGPL v2.

Download


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