connaître la surface d'un maillage stl

Forum destiné aux questions et discussions en français
Forum rules
Règles du forum et informations utiles.

VEUILLEZ LIRE CECI AVANT DE DEMANDER DE L'AIDE
seiga01
Posts: 2
Joined: Thu Sep 26, 2013 5:54 pm

connaître la surface d'un maillage stl

Postby seiga01 » Tue Oct 01, 2013 3:55 pm

Bonjour à tous,

Est-il possible avec FreeCAD de connaitre la surface totale d'un maillage STL ?
En fait, avec un plugin du logiciel ImageJ, j'obtiens des fichiers STL et une option me permet de connaitre directement leur volume. Par contre rien pour la surface. Je me demandais donc si cela était possible avec FreeCAD (ou avec d'autres soft, je suis ouvert !)

Merci d'avance.
Seiga
mario52
Posts: 2553
Joined: Wed May 16, 2012 2:13 pm

Re: connaître la surface d'un maillage stl

Postby mario52 » Wed Oct 02, 2013 4:28 pm

Bonjour et bienvenue

voici un petit code pris sur les exemples du wiki et les liens relatifs aux maillages
la dernière section, pour un objet sélectionné retournera 0, dans l'Api je vois "A mesh object cannot be added to an existing document directly. Therefore the document must create an object with a property class that supports meshes" donc je crois que vous devez créer vos mailles dans FreeCAD pour les exploiter

Code: Select all

# -*- coding: utf-8 -*-
# http://www.freecadweb.org/wiki/index.php?title=Mesh_API
# http://www.freecadweb.org/wiki/index.php?title=Mesh_Scripting/fr
# http://free-cad.svn.sourceforge.net/viewvc/free-cad/trunk/src/Mod/Mesh/App/MeshTestsApp.py?view=markup

import Mesh, BuildRegularGeoms

sphere = Mesh.Mesh( BuildRegularGeoms.Sphere(5.0, 50) )                      # crée une sphère 
cylinder = Mesh.Mesh( BuildRegularGeoms.Cylinder(2.0, 10.0, True, 1.0, 50) ) # crée une cylindre 
diff = sphere
diff.difference(cylinder)                                                    # crée la différence entre sph et cyl
d = FreeCAD.newDocument()                                                    # crée un nouveau document
d.addObject("Mesh::Feature","Diff_Sphere_Cylinder").Mesh=diff                # ajoute l'objet différence
d.recompute()                                                                # affiche le résultat

print "Surface de la sphère ",sphere.Area
print "Volume de la sphère  ",sphere.Volume
print "Surface du cylindre  ",cylinder.Area
print "Volume du cylindre   ",cylinder.Volume
print "Sphère ", sphere

print "Cylindre ",cylinder

#sel = FreeCADGui.Selection.getSelection()   # objet sélectionné
#atest = Mesh.Mesh( sel )
#print "Surface de la sélection ",atest.Area
#print atest

mario
Maybe you need a special feature, go into Macros_recipes and Code_snippets, Dialog creation. My macros on Gist.github.
User avatar
NormandC
Posts: 18534
Joined: Sat Feb 06, 2010 9:52 pm
Location: Québec, Canada

Re: connaître la surface d'un maillage stl

Postby NormandC » Thu Oct 03, 2013 12:31 am

Tu pourrais peut-être convertir le maillage en forme (menu Pièce --> Créer la forme à partir du maillage) puis en solide (menu Pièce --> Convertir en solide) puis utiliser l'atelier Info (un module supplémentaire) pour obtenir cette information.

Sinon, le logiciel Netfabb Studio Basic (commercial, mais gratuit) permet de savoir directement l'aire d'un modèle STL.
Lien anglais : http://www.shapeways.com/tutorials/how_ ... nd_netfabb
seiga01
Posts: 2
Joined: Thu Sep 26, 2013 5:54 pm

Re: connaître la surface d'un maillage stl

Postby seiga01 » Thu Oct 03, 2013 6:52 pm

Bonsoir,

Merci normandc. J'ai utilisé netfabb et c'était direct !

A bientôt.