FreeCAD et les imprimantes 3D

Forum destiné aux questions et discussions en français
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
gdo35
Posts: 189
Joined: Wed Jan 25, 2012 7:25 pm

Re: DAO pour les nuls, un bon lien ? (Tuto Freecad débutant)

Post by gdo35 »

Salut normandc.

Ok j'ai compris ce que tu voulais faire. Enfin je crois. :mrgreen:

Pour récupérer la liste des objets du document courant il faut faire cela dans la console Python :

Code: Select all

>>> App.activeDocument().Objects
[<Sketcher::SketchObject>, <Part::PartFeature>, <Sketcher::SketchObject>, <Part::PartFeature>, <Sketcher::SketchObject>, <Part::PartFeature>, <Sketcher::SketchObject>, <Sketcher::SketchObject>, <Part::PartFeature>, <Part::PartFeature>, <Part::PartFeature>, <Part::PartFeature>, <Part::PartFeature>, <Sketcher::SketchObject>, <Part::PartFeature>, <Sketcher::SketchObject>, <Part::PartFeature>, <Sketcher::SketchObject>, <Part::PartFeature>, <Sketcher::SketchObject>, <Part::PartFeature>, <Sketcher::SketchObject>, <Part::PartFeature>, <Sketcher::SketchObject>, <Part::PartFeature>, <Part::PartFeature>, <Part::PartFeature>, <Part::PartFeature>, <Sketcher::SketchObject>, <Part::PartFeature>, <Part::PartFeature>, <Part::PartFeature>, <Part::PartFeature>, <Sketcher::SketchObject>, <Part::PartFeature>, <Part::PartFeature>, <Part::PartFeature>, <Part::PartFeature>, <Sketcher::SketchObject>, <Part::PartFeature>, <Part::PartFeature>, <Part::PartFeature>, <Part::PartFeature>, <Sketcher::SketchObject>, <Part::PartFeature>, <Part::PartFeature>, <Part::PartFeature>, <Part::PartFeature>, <Sketcher::SketchObject>, <Part::PartFeature>, <Part::PartFeature>, <Sketcher::SketchObject>, <Part::PartFeature>, <Part::PartFeature>, <Part::PartFeature>]
>>> 
Sachant cela et que c'est une liste python, les nouveaux objets (au sens python) sont ajoutés à la liste les uns à la suite des autres.

Donc pour récupérer le dernier objet de ta liste il faut faire :

Code: Select all

>>> App.activeDocument().Objects[-1]
<Part::PartFeature>
>>> 
ou mieux passer par un accesseur, en l'occurence :

Code: Select all

App.activeDocument().findObjects()[-1]
<Part::PartFeature>
>>> 
Pour vérifier que c'est le bon, affichons le label de l'objet :

Code: Select all

>>> App.activeDocument().findObjects()[-1].Label
u'PartRefine'
>>> 
Ca a fonctionné pour 4-5 de tes fichiers chez moi, pas tester les autres mais ca devrait être pareil. Tiens moi au jus.

++
gdo
gdo35
Posts: 189
Joined: Wed Jan 25, 2012 7:25 pm

Re: DAO pour les nuls, un bon lien ? (Tuto Freecad débutant)

Post by gdo35 »

Si tu veux, je peux te faire le script d'export des fichiers Freecad d'un repertoire vers des fichiers STEP dans un autre répertoire.
gdo35
Posts: 189
Joined: Wed Jan 25, 2012 7:25 pm

Re: DAO pour les nuls, un bon lien ? (Tuto Freecad débutant)

Post by gdo35 »

Salut,

Voilà le script en espérant que ce soit ce que tu voulais faire :

Code: Select all

import os, sys
FREECADPATH = '/usr/lib/freecad/lib/'
sys.path.append(FREECADPATH)
import FreeCAD
import Part
import glob

# Project path
path = os.path.realpath(__file__)

# Set FCStd subdirectory for importing parts from
fcstd_path = os.path.dirname(path)
fcstd_path = os.path.join(fcstd_path, "FCStd")

# Set STEP subdirectory for exporting parts to
step_path = os.path.dirname(path)
step_path = os.path.join(step_path, "STEP")

# Parse all FreeCAD project files
fcstd_files = glob.glob(fcstd_path + "/*.fcstd")
for f in fcstd_files:
    # Open project
    fc_project = FreeCAD.open(f)
    # Get last feature/object
    obj = fc_project.findObjects()[-1]
    # Export it to STEP file
    Part.export([obj], (step_path + "/" + os.path.splitext(os.path.basename(f))[0] + ".stp"))
    # Close project
    FreeCAD.closeDocument(os.path.splitext(os.path.basename(f))[0].replace('-', '_'))
Tu peux lancer le script en le copiant au même niveau que ton script TK0_Assembly.py.
Il fonctionne directement en console sans FreeCAD (sous Ubuntu 12.10 64 bits) ou alors avec le gestionnaire de macros.
Une remarque concernant l'appel a la fonction replace dans la fermeture du projet, ton fichier "Y_Bearing-4mmoffset.fcstd" contient un tiret '-' dans son nom et FreeCAD le remplace par un '_' dans le nom du projet.

Bon faudrait rajouter quelques try/except mais bon la base est là.

Si t'as un soucis n'hésite pas !

++
gdo
User avatar
NormandC
Veteran
Posts: 18589
Joined: Sat Feb 06, 2010 9:52 pm
Location: Québec, Canada

Re: DAO pour les nuls, un bon lien ? (Tuto Freecad débutant)

Post by NormandC »

Merci de ton aide gdo,

Pour l'instant je n'ai pas le temps de tester... J'apprends à utiliser mon nouveau jouet ! 8-)

Image
gdo35
Posts: 189
Joined: Wed Jan 25, 2012 7:25 pm

Re: DAO pour les nuls, un bon lien ? (Tuto Freecad débutant)

Post by gdo35 »

Waouh la classe ! :ugeek:

C'est fait maison ou tu l'as acheté ?
User avatar
NormandC
Veteran
Posts: 18589
Joined: Sat Feb 06, 2010 9:52 pm
Location: Québec, Canada

Re: DAO pour les nuls, un bon lien ? (Tuto Freecad débutant)

Post by NormandC »

Ni l'un ni l'autre.

On me l'a donnée en remerciement du travail fait sur le projet d'imprimante 3D en développement (dont j'ai parlé ici). :D

J'ai payé les frais d'expédition, et m'attends à défrayer des frais de douane.

C'est une AO-100 de Lulzbot. Elle n'est plus vendue, elle a été remplacée en décembre par la AO-101, une évolution.
gdo35
Posts: 189
Joined: Wed Jan 25, 2012 7:25 pm

Re: DAO pour les nuls, un bon lien ? (Tuto Freecad débutant)

Post by gdo35 »

Ah c'est cool ca !

Et c'est quoi la différence entre tous ces modèles ?

++
mario52
Veteran
Posts: 4692
Joined: Wed May 16, 2012 2:13 pm

Re: DAO pour les nuls, un bon lien ? (Tuto Freecad débutant)

Post by mario52 »

Bonjour
Nokia et l'impression 3D

http://www.clubic.com/smartphone/actual ... oques.html

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.
myf4
Posts: 1
Joined: Fri Jan 18, 2013 5:04 pm

Re: DAO pour les nuls, un bon lien ? (Tuto Freecad débutant)

Post by myf4 »

Bonjour à tous d'un explorateur (de mécanique et de free-cad)

Je découvre la CAO par la pratique car je suis tenté par l'étude et le montage d'une petite machine cnc de loisirs.
Pour le moment j'ai suivi quelques tutoriels de freecad et je peux coller entre eux cubes, sphères et cylindres, mais je suis un peu perdu pour tout le reste !

Les dessins du projet de normandc m'impressionnent et j'étudie une cnc qui sera construite sur le même principe. J'ai téléchargé l'archive mais ne sais pas trop quoi en faire. Je vois simplement qu'il doit être possible de faire avec freecad ce que je cherche : des plans et des vues avec des profilés rainurés en aluminium. J'utilise freecad 0.12 sur ubuntu LTS.

La mécanique n'est pas mon métier, et voila les premières questions que je me pose :

Je pense assembler des tubes profilés en aluminum. Comment dessiner un modèle de tube ? j'hésite déjà entre les choix du menu Affichage/Atelier/...
Peut-il y avoir une bibliothèque de tubes prédéfinis ? Que faire après avoir dessiné un modèle ?

Ensuite je ne vois pas quelle démarche suivre pour assembler ces profilés rainurés en aluminium.
Je sais comment coller deux objets entre eux, existe-t-il une autre méthode pour assembler deux pièces ?
Par exemple comment représenter 2 tubes à angle droit ? Faut-il placer aussi 1 équerre et 2 vis ? Comment les lier entre eux ?

Dois-je installer une version suivante 0.13 ou 0.14 ?

Peut-on modifier la taille de toutes les pièces à la fois pour changer largeur, hauteur ou longueur de l'ensemble ?
Je vois comment avoir les propriétés d'un objet, mais ne comprend pas trop les assemblages.

Sinon est-il possible aussi de découper des puzzles 3d avec free-cad et tester un assemblage avec "tenon et mortaise" à la bonne taille au bon endroit.
et ensuite comment le démonter virtuellement ? retrouver le plan de chaque face, etc.

Vous voyez donc la profondeur de mon ignorance ! quel est le point de départ le plus raisonnable pour dompter free-cad ?

Bien cordialement.

F. curieux...
gdo35
Posts: 189
Joined: Wed Jan 25, 2012 7:25 pm

Re: FreeCAD et les imprimantes 3D

Post by gdo35 »

normandc,

Je peux imprimer en 3D la liste des pièces de la TK-0.
Je récupère les STL depuis Freecad ou depuis ce site directement : http://devel.lulzbot.com/TK-0/

Mais ce que je n'arrive pas à savoir c'est ce qu'il va me manquer après !
J'aimerais trouver une liste exhaustive des pièces nécessaires à l'obtention d'une TK-0 complète.
Quand je vais sur le catalogue de lulzbot, je suis perdu : http://www.lulzbot.com/catalog

On y parle de Mendel, MendelMax, Vitamins, etc... J'arrive pas à savoir qu'est-ce qui va sur quelle machine !
Tu peux m'aider ?

Merci,
++
gdo
Post Reply