1. Productos
  2.   CANALLA
  3.   Python
  4.   build123d
 
  

Biblioteca de Python de código abierto para dibujos CAD 2D y 3D

Biblioteca CAD de Python de código abierto para crear y gestionar modelos 2D y 3D. Cree bloques Lego paramétricos y use selectores en aplicaciones Python..

¿Qué es la biblioteca Build123d?

Build123d es un paquete de CAD 3D de código abierto para Python que ayuda a los desarrolladores de software a crear dibujos 2D y 3D dentro de sus propias aplicaciones Python. La biblioteca Build123d utiliza el gestor de contexto estándar de Python y dispone de tres constructores para gestionar los dibujos. El constructor BuildLine se puede utilizar para objetos unidimensionales, el constructor BuildSketch para objetos bidimensionales planos y el constructor BuildPart para objetos tridimensionales. Un constructor utiliza contextos de ubicación para posicionar objetos u operaciones.

La biblioteca incluye compatibilidad con diversas operaciones 2D y 3D, como redondeo, simetría, desplazamiento, escala, división, avellanado, avellanado, extrusión, agujero, loft, revolución, escala, sección, división y muchas más. Además de lo anterior, la biblioteca también incluye varios selectores, operadores de selector, operadores de aristas y alambres, operadores de plano, operadores vectoriales y operadores de vértices.

La biblioteca Build123d es una alternativa útil a la API de Build123d, con muchas ventajas, y la más importante es que habilita todas las herramientas de Python para el diseño de objetos. Su funcionamiento es muy sencillo y permite posicionar y gestionar objetos fácilmente en cualquier lugar.

Previous Next

Introducción a Build123d

La forma más sencilla de instalar la versión estable de Build123d es mediante GitHub. Utilice el siguiente comando para una instalación sin problemas.

Instalar Build123d a través de GitHub

python3 -m pip install git+https://github.com/gumyr/build123d.git#egg=build123d 

Puedes descargar la biblioteca compartida compilada desde el repositorio Github.

Cómo usar selectores mediante la biblioteca de Python

Al usar un sistema CAD basado en interfaz gráfica de usuario, el usuario suele hacer clic en una característica para seleccionarla y realizar alguna operación. Los selectores son procedimientos que muestran cómo separar una característica de un diseño mediante métodos de filtrado y ordenación de Python, generalmente implementados como un conjunto de operaciones personalizadas de Python. Vertices(), Edges(), Wires(), Solids() y Faces() son ejemplos de selectores. Los tipos de operandos son: Axis, SortBy y GeomType. Recuerde que los métodos de lista estándar, como sorted o filtered, son útiles para generar selectores complejos.

Crear un bloque Lego paramétrico con la biblioteca de Python

La biblioteca de código abierto de Python Build123d permite a los desarrolladores de software crear bloques Lego paramétricos dentro de sus propias aplicaciones Python. Primero, es necesario crear el entorno de Build123d y definir las dimensiones del bloque Lego. Ahora, podemos pasar a la parte del constructor y crear la estructura interna de los bloques. Para la estructura, necesitamos dibujar un boceto bidimensional que posteriormente se extruirá en un objeto tridimensional. Después, podemos definir el perímetro del rectángulo, crear las paredes del rectángulo del bloque y crear la cuadrícula interna. Después, necesitamos convertir la cuadrícula interna en crestas, eliminando el centro. Ahora, crea un conjunto de cilindros huecos internos y extruye el boceto en paredes. Una vez completadas las paredes, se debe agregar la parte superior del bloque y, por último, los puntos.

¿Cómo crear dimensiones y cuadrícula interna de un bloque Lego a través de la API de Python?

from build123d import *

pip_count = 6

lego_unit_size = 8
pip_height = 1.8
pip_diameter = 4.8
block_length = lego_unit_size * pip_count
block_width = 16
base_height = 9.6
block_height = base_height + pip_height
support_outer_diameter = 6.5
support_inner_diameter = 4.8
ridge_width = 0.6
ridge_depth = 0.3
wall_thickness = 1.2

// instantiate a BuildPart
with BuildPart() as lego:

//create a sketch builder
with BuildPart() as lego:
    # Draw the bottom of the block
    with BuildSketch() as plan:

//create Perimeter Rectangle
with BuildPart() as lego:
    # Draw the bottom of the block
    with BuildSketch() as plan:
        # Start with a Rectangle the size of the block
        perimeter = Rectangle(width=block_length, height=block_width)
 
 //create the walls of the block
ith BuildPart() as lego:
    # Draw the bottom of the block
    with BuildSketch() as plan:
        # Start with a Rectangle the size of the block
        perimeter = Rectangle(width=block_length, height=block_width)
        # Subtract an offset to create the block walls
        Offset(
            perimeter,
            amount=-wall_thickness,
            kind=Kind.INTERSECTION,
            mode=Mode.SUBTRACT,
        )
//Create Internal Grid
with BuildPart() as lego:
    # Draw the bottom of the block
    with BuildSketch() as plan:
        # Start with a Rectangle the size of the block
        perimeter = Rectangle(width=block_length, height=block_width)
        # Subtract an offset to create the block walls
        Offset(
            perimeter,
            amount=-wall_thickness,
            kind=Kind.INTERSECTION,
            mode=Mode.SUBTRACT,
        )
        # Add a grid of lengthwise and widthwise bars
        with GridLocations(x_spacing=0, y_spacing=lego_unit_size, x_count=1, y_count=2):
            Rectangle(width=block_length, height=ridge_width)
        with GridLocations(lego_unit_size, 0, pip_count, 1):
            Rectangle(width=ridge_width, height=block_width)
 
 
 Español