Macro Creating faces from a DXF file

From FreeCAD Documentation
Jump to navigation Jump to search
This page is a translated version of the page Macro Creating faces from a DXF file and the translation is 100% complete.
Other languages:
English • ‎français • ‎italiano

Macro Creating faces from a DXF file.png Creating faces from a DXF file

Description
Cette macro crée des faces à partir d'objets d'un fichier DXF.

Version macro : 1.0
Date dernière modification : 2014-10-29
Version FreeCAD : Toutes versions
Téléchargement : Icône pour votre barre d'outils
Auteur
shoogen
Téléchargement
Icône pour votre barre d'outils
Liens
Version Macro
1.0
Dernière modification
2014-10-29
Version(s) FreeCAD
Toutes versions
Raccourci clavier
None
Voir aussi
None


Description

Cette macro crée des faces à partir des dessins extraits d' un fichier au format DXF, les Layer sont reconnus séparés et traités comme des groupes.

Il faut que le fichier dispose de groupes pour que la macro fonctionne.

Utilisation

Lancer la macro tous les objets sont analysés et transformés en face(s).

Note : un objet non fermé retourne une erreur.

Script

ToolBar Icon Macro Creating faces from a DXF file.png

Macro_Creating_faces_from_a_DXF_file.FCMacro

import FreeCAD,Part,OpenSCAD2Dgeom
doc = App.ActiveDocument
for group in doc.findObjects('App::DocumentObjectGroup'):
    try:
        edges=sum((obj.Shape.Edges for obj in group.Group \
                if hasattr(obj,'Shape')),[])
        face = OpenSCAD2Dgeom.edgestofaces(edges)
        faceobj = doc.addObject('Part::Feature','face_%s' % group.Name)
        faceobj.Label = 'face_%s' % group.Label
        faceobj.Shape = face
    except Part.OCCError: # Exception: # 
        FreeCAD.Console.PrintError('Error in Group %s (%s)' % (group.Name,group.Label)+"\n")

Liens

La discussion sur le forum Creating faces from a DXF file

Ici un exemple d'utilisation de transformation d'une feuille 2D en objet 3D Generate 3D solid from intersection of three imported 2D