Macro Extract Wires from Mesh/it: Difference between revisions

From FreeCAD Documentation
(Created page with "{{Macro/it|Icon=Text-x-python|Name=Macro Extract Wires from Mesh|Name/it=Macro Estrai Wire da Mesh|Description=Estrae i bordi wire dai mesh selezionate|Author=Yorik|Version=1}}")
 
(Updating to match new version of source page)
(13 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<languages/>
{{Macro/it
|Name=Macro Extract Wires from Mesh
|Icon=Macro_Extract_Wires_from_Mesh.png
|Translate=Wire da Mesh
|Description=Estrae i bordi wire dai mesh selezionati
|Author=Yorik
|Version=1
|Date=2016-12-17
|FCVersion=All
|Download=[https://www.freecadweb.org/wiki/images/2/28/Macro_Extract_Wires_from_Mesh.png ToolBar Icon]
}}


==Descrizione==
{{Macro/it|Icon=Text-x-python|Name=Macro Extract Wires from Mesh|Name/it=Macro Estrai Wire da Mesh|Description=Estrae i bordi wire dai mesh selezionate|Author=Yorik|Version=1}}

==Description==


Finds boundary wires in selected mesh objects. Boundary wires are formed from all the edges found in the mesh that are shared by only one face, that is, they are "border" edges. The found wires get added to the document (one compound per mesh object), while the mesh itself gets hidden.
Trova i contorni di wire negli oggetti mesh selezionati. I contorni wire sono formati da tutti i bordi trovati nell'oggetto mesh che sono condivisi da una sola faccia, cioè, che sono spigoli "confine". I wire trovati vengono aggiunti al documento (un composto per oggetto mesh), mentre la mesh stessa viene nascosta.


==Script==
==Script==

{{Code|code=#!/usr/bin/python
ToolBar Icon [[Image:Macro_Extract_Wires_from_Mesh.png]]

'''Macro_Extract_Wires_from_Mesh.FCMacro'''

{{MacroCode|code=
#!/usr/bin/python


# This macro will extract wires from selected meshes
# This macro will extract wires from selected meshes
Line 33: Line 49:
obj.ViewObject.hide()
obj.ViewObject.hide()
}}
}}

<languages/>

Revision as of 10:18, 23 May 2020

Other languages:

Wire da Mesh

Descrizione
Estrae i bordi wire dai mesh selezionati

Versione macro: 1
Ultima modifica: 2016-12-17
Versione FreeCAD: All
Download: ToolBar Icon
Autore: Yorik
Autore
Yorik
Download
ToolBar Icon
Link
Versione macro
1
Data ultima modifica
2016-12-17
Versioni di FreeCAD
All
Scorciatoia
Nessuna
Vedere anche
Nessuno

Descrizione

Trova i contorni di wire negli oggetti mesh selezionati. I contorni wire sono formati da tutti i bordi trovati nell'oggetto mesh che sono condivisi da una sola faccia, cioè, che sono spigoli "confine". I wire trovati vengono aggiunti al documento (un composto per oggetto mesh), mentre la mesh stessa viene nascosta.

Script

ToolBar Icon

Macro_Extract_Wires_from_Mesh.FCMacro

#!/usr/bin/python

# This macro will extract wires from selected meshes
# The result is a new Part Compound containing wires, one per original mesh object
# The selected meshes will be hidden but still selected after the operation.
# Warning, it takes a bit of time...

import FreeCAD,FreeCADGui,Part,Draft,DraftGeomUtils,Mesh
for obj in FreeCADGui.Selection.getSelection():
    if obj.isDerivedFrom("Mesh::Feature"):
        shape = Part.Shape()
        shape.makeShapeFromMesh(obj.Mesh.Topology,0.1)
        edges = []
        lut = {}
        for f in shape.Faces:
            for e in f.Edges:
                lut.setdefault(e.hashCode(),[]).append(e)
        for k,v in lut.items():
            if len(v) == 1:
                edges.extend(v)
        if edges:
            wires = DraftGeomUtils.findWires(edges)
            if wires:
                Part.show(Part.makeCompound(wires))
                obj.ViewObject.hide()