On peut corser un petit peux et ouvrir un post FR dédié à la programmation FreeCAD et Python qu'en penses tu ?flachyjoe wrote: De quoi se simplifier la vie
je lis les API mais pour les utiliser ! et comme je ne suis pas le seul.
je voudrais savoir comment obtenir les coordonbnées d'un point, et les utiliser bien sûr.
merci mario
Bonjour
merci, j' ai su adapter le code pour un point, maintenant, je voudrais travailler avec un ou plusieurs objets sélectionnés comme dans le code http://sourceforge.net/apps/mediawiki/f ... d_Sweep/fr
Code: Select all
App.newDocument()
App.setActiveDocument("Unnamed")
App.ActiveDocument=App.getDocument("Unnamed")
Gui.ActiveDocument=Gui.getDocument("Unnamed")
import Draft
Draft.makePoint(5,5,0)
x=Gui.getDocument("Unnamed").getObject("Point")
x.Object.Shape.BoundBox.Center
v=x.Object.Shape.BoundBox.Center
v.x
v.y
v.z
je pensais plus à un forum fr uniquement dédié à la programmation, les recherches seraient plus facile.flachyjoe wrote: Je pense que c'est beaucoup plus clair si il y a un post par question, par contre on peut prendre l'habitude de faire précéder le titre de ces posts par [PYTHON] pour les repérer facilement.
mario
Bonjour
extraire les coordonnées xyz de 3 points sélectionnés et les utiliser.flachyjoe wrote: Que veut tu faire avec tes points, juste en afficher les coordonnées ?
Code: Select all
# -*- coding: utf-8 -*-
#04/03/2013
# extraire et utiliser les coordonnées de 3 points séléctionnés
import Part, FreeCAD, math, PartGui, FreeCADGui
from FreeCAD import Base
sel = FreeCADGui.Selection.getSelection()
i=0
ta=[0,0,0,0,0,0,0,0,0]
for obj in sel:
x=(obj.Shape.BoundBox.Center)
ta[i+0]=(x.x)
ta[i+1]=(x.y)
ta[i+2]=(x.z)
i=i+3
x_point_1=ta[0]
y_point_1=ta[1]
z_point_1=ta[2]
x_point_2=ta[3]
y_point_2=ta[4]
z_point_2=ta[5]
x_point_3=ta[6]
y_point_3=ta[7]
z_point_3=ta[8]
FreeCAD.Console.PrintMessage(str(x_point_1)+"\r\n")
FreeCAD.Console.PrintMessage(str(y_point_1)+"\r\n")
FreeCAD.Console.PrintMessage(str(z_point_1)+"\r\n")
FreeCAD.Console.PrintMessage(str(x_point_2)+"\r\n")
FreeCAD.Console.PrintMessage(str(y_point_2)+"\r\n")
FreeCAD.Console.PrintMessage(str(z_point_2)+"\r\n")
FreeCAD.Console.PrintMessage(str(x_point_3)+"\r\n")
FreeCAD.Console.PrintMessage(str(y_point_3)+"\r\n")
FreeCAD.Console.PrintMessage(str(z_point_3)+"\r\n")
Code: Select all
# -*- coding: utf-8 -*-
#04/03/2013
# extraire et utiliser les coordonnées de 3 points séléctionnés
import Draft, Part, FreeCAD, math, PartGui, FreeCADGui
from math import sqrt, pi, sin, cos
from FreeCAD import Base
sel = FreeCADGui.Selection.getSelection()
i=0
for obj in sel:
i=i+1
if i==3:
i=0
ta=[0,0,0,0,0,0,0,0,0]
for obj in sel:
x=(obj.Shape.BoundBox.Center)
ta[i+0]=(x.x)
ta[i+1]=(x.y)
ta[i+2]=(x.z)
i=i+3
x_point_1=ta[0]
y_point_1=ta[1]
z_point_1=ta[2]
x_point_2=ta[3]
y_point_2=ta[4]
z_point_2=ta[5]
x_point_3=ta[6]
y_point_3=ta[7]
z_point_3=ta[8]
FreeCAD.Console.PrintMessage(str(x_point_1)+"\r\n")
FreeCAD.Console.PrintMessage(str(y_point_1)+"\r\n")
FreeCAD.Console.PrintMessage(str(z_point_1)+"\r\n")
FreeCAD.Console.PrintMessage(str(x_point_2)+"\r\n")
FreeCAD.Console.PrintMessage(str(y_point_2)+"\r\n")
FreeCAD.Console.PrintMessage(str(z_point_2)+"\r\n")
FreeCAD.Console.PrintMessage(str(x_point_3)+"\r\n")
FreeCAD.Console.PrintMessage(str(y_point_3)+"\r\n")
FreeCAD.Console.PrintMessage(str(z_point_3)+"\r\n")
else:
FreeCAD.Console.PrintError("Sélectionnez 3 objets\r\n")
mario