Diferencia entre revisiones de «Obijuan:Notas sobre programación en python en Freecad»
De WikiRobotics
(→Hito 0: Leer) |
(→Hito 1: programa "hola mundo") |
||
Línea 17: | Línea 17: | ||
== Hito 1: programa "hola mundo" == | == Hito 1: programa "hola mundo" == | ||
+ | |||
+ | Visualizar un cilindro genérico (el mismo que cuando se le da al botón de cilindro en el workbench part) | ||
+ | |||
+ | import FreeCAD | ||
+ | import Part | ||
+ | |||
+ | doc = App.ActiveDocument | ||
+ | cyl = doc.addObject("Part::Cylinder","Cylinder") | ||
+ | cyl.Label = "Cylinder" | ||
+ | doc.recompute() | ||
+ | |||
+ | Otro ejemplo, con la función cilindro definida, donde se le pasan los parámetros de altura y diámetro | ||
+ | |||
+ | import FreeCAD | ||
+ | import Part | ||
+ | |||
+ | def cylinder(h = 8, d = 56): | ||
+ | doc = App.ActiveDocument | ||
+ | cyl = doc.addObject("Part::Cylinder","Cylinder") | ||
+ | cyl.Label = "Cylinder" | ||
+ | cyl.Height = h | ||
+ | cyl.Radius = d / 2.0 <br> | ||
+ | cylinder() | ||
+ | cylinder(h = 20, d =10) | ||
+ | App.ActiveDocument.recompute() |
Revisión del 10:07 28 ago 2014
Introducción
Quiero aprender a programar piezas en Freecad, al estilo openscad, para poder hacer piezas paramétricas.
Empezaremos con ruedas paramétricas para printbots
Roadmap
- Hello world: programar un cilindro simple, con los parámetros h (grosor) y diámetro (d)
- Script que permita cambiar los parámetros desde una GUI en freecad
- Programar la rueda del miniskybot, pero con esos mismos parametros variables
- Incluir 2 coronas: pequeña y grande y permitir que se puedan seleccionar una u otra para la rueda
- ¿Como crear un boton que al pulsarlo se abra el menú y permita meter una rueda definiendo sus parametros?
- ¿Cómo programar un workbench de printbots? que incluya botones con piezas: ruedas, portapilas, chásis...
Hito 0: Leer
Hito 1: programa "hola mundo"
Visualizar un cilindro genérico (el mismo que cuando se le da al botón de cilindro en el workbench part)
import FreeCAD import Part doc = App.ActiveDocument cyl = doc.addObject("Part::Cylinder","Cylinder") cyl.Label = "Cylinder" doc.recompute()
Otro ejemplo, con la función cilindro definida, donde se le pasan los parámetros de altura y diámetro
import FreeCAD import Part def cylinder(h = 8, d = 56): doc = App.ActiveDocument cyl = doc.addObject("Part::Cylinder","Cylinder") cyl.Label = "Cylinder" cyl.Height = h cyl.Radius = d / 2.0
cylinder() cylinder(h = 20, d =10) App.ActiveDocument.recompute()