Valeur x,y et z des vertex d'un objet importé

Forum destiné aux questions et discussions en français
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
Post Reply
COCO1111
Posts: 5
Joined: Fri Dec 09, 2016 11:15 am

Valeur x,y et z des vertex d'un objet importé

Post by COCO1111 »

Bonjour,

Je suis à la recherche d'une solution pour permettre de récupérer les valeurs des Vertex dans un objet Part.
Le but est de réutiliser ces valeurs afin de déterminer l'épaisseur d'un objet 3D.
J'ai utilisé la commande App.ActvieDocument.NomObjet.Shape.Vertex mais je ne trouve pas de commande pour récupérer les coordonnées du point.
Je ne sais d'ailleurs pas si elles existent dans la fonction d'import.

Merci d'avance pour votre réponse




OS: Windows 7
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.16.6706 (Git)
Build type: Release
Branch: releases/FreeCAD-0-16
Hash: f86a4e411ff7848dea98d7242f43b7774bee8fa0
Python version: 2.7.8
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 6.8.0.oce-0.17
mario52
Veteran
Posts: 4673
Joined: Wed May 16, 2012 2:13 pm

Re: Valeur x,y et z des vertex d'un objet importé

Post by mario52 »

Bonjour
tiré de cette page code snippets qui peut faire votre bonheur

sélectionnez votre objet et lancez la macro

Code: Select all

sel = FreeCADGui.Selection.getSelection()                                 # select object with getSelection()
i = 0
for j in enumerate(sel[0].Shape.Edges):                                   # list all Edges
    i += 1
    App.Console.PrintMessage("Edges n : "+str(i)+"\n")
    a = sel[0].Shape.Edges[j[0]].Vertexes[0]
    App.Console.PrintMessage("X1             : "+str(a.Point.x)+"\n")     # coordinate XYZ first point
    App.Console.PrintMessage("Y1             : "+str(a.Point.y)+"\n")
    App.Console.PrintMessage("Z1             : "+str(a.Point.z)+"\n")
    try:
        a = sel[0].Shape.Edges[j[0]].Vertexes[1]
        App.Console.PrintMessage("X2             : "+str(a.Point.x)+"\n") # coordinate XYZ second point
        App.Console.PrintMessage("Y2             : "+str(a.Point.y)+"\n")
        App.Console.PrintMessage("Z2             : "+str(a.Point.z)+"\n")
    except:
        App.Console.PrintMessage("Oups"+"\n")    
App.Console.PrintMessage("\n")    
et ici Macros_recipes des macros dont vous pouvez extraire le code.

mario
Maybe you need a special feature, go into Macros_recipes and Code_snippets, Topological_data_scripting.
My macros on Gist.github here complete macros Wiki and forum.
COCO1111
Posts: 5
Joined: Fri Dec 09, 2016 11:15 am

Re: Valeur x,y et z des vertex d'un objet importé

Post by COCO1111 »

Parfait

Un grand merci à vous
Post Reply