1. Produse
  2.   CAD
  3.   Python
  4.   build123d
 
  

Bibliotecă Python open source pentru desene CAD 2D și 3D

Bibliotecă CAD Python open source pentru crearea și gestionarea modelelor 2D și 3D. Creați blocuri Lego parametrice și utilizați selectori în aplicațiile Python..

Ce este biblioteca Build123d?

Build123d este un pachet CAD 3D Python open source care ajută dezvoltatorii de software să creeze desene 2D și 3D în propriile aplicații Python. Biblioteca Build123d utilizează managerul de context standard Python și sunt disponibili trei constructori pentru gestionarea desenelor. Constructorul BuildLine poate fi utilizat pentru obiecte unidimensionale, constructorul BuildSketch pentru obiecte bidimensionale planare și constructorul BuildPart pentru obiecte tridimensionale. Un constructor utilizează Contexte de Locație pentru poziționarea obiectelor sau operațiunilor.

Biblioteca a inclus suport pentru diverse operații 2D și 3D, cum ar fi filetare, oglindire, offset, scalare, divizare, CounterBoreHole, CounterSinkHole, Extrudare, Hole, Loft, Revolve, Scale, Section, Split și multe altele. Pe lângă cele de mai sus, biblioteca include și mai mulți selectori, operatori de selecție, operatori de muchii și fire, operatori de plan, operatori vectoriali și operatori de vârfuri.

Biblioteca Build123d este o alternativă utilă la API-ul Build123d, având multe avantaje față de aceasta, iar cel mai important este că build123d permite utilizarea completă a instrumentelor Python la proiectarea obiectelor. Biblioteca este foarte simplu de utilizat și se pot poziționa și gestiona cu ușurință obiectele oriunde.

Previous Next

Noțiuni introductive despre Build123d

Cel mai simplu mod de a instala versiunea stabilă Build123d este utilizând GitHub. Vă rugăm să utilizați următoarea comandă pentru o instalare fără probleme

Instalați Build123d prin GitHub

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

Puteți descărca biblioteca partajată compilată din depozitul Github.

Cum se utilizează selectorii prin intermediul bibliotecii Python

Atunci când se utilizează un sistem CAD bazat pe interfață grafică, utilizatorul va face adesea clic pe o caracteristică pentru a o selecta pentru o anumită operațiune. Selectorii sunt proceduri care arată cum utilizatorii pot separa o caracteristică de un design folosind filtre Python și metode de sortare, implementate de obicei ca un set de operații Python personalizate. vertex(),edges(), wires(), solids() și faces() sunt câteva exemple de selectori. Tipurile de operanzi sunt: Axis, SortBy și GeomType. Rețineți că metodele standard de tip listă, cum ar fi sortate sau filtered, sunt utile în generarea de selectori complecși.

Creați un bloc Lego parametric prin intermediul bibliotecii Python

Biblioteca open source Python Build123d permite dezvoltatorilor de software să creeze blocuri Lego parametrice în propriile aplicații Python. Mai întâi trebuie să importați mediul build123d și să definiți dimensiunile blocului Lego. Acum putem trece la partea de constructor și trebuie să creăm structura internă a blocurilor. Pentru structură trebuie să desenăm o schiță bidimensională care va fi ulterior extrudată într-un obiect tridimensional. După aceea, putem defini dreptunghiul perimetral și crea pereții dreptunghiului blocului și crea o grilă internă. După aceea, trebuie să convertim grila internă în creste, centrul trebuie eliminat. Acum creați un set de cilindri interni goi și extrudați schița în pereți. După finalizarea pereților, trebuie adăugată partea superioară a blocului, iar pasul final este adăugarea punctelor.

Cum se creează dimensiuni și o grilă internă pentru un bloc Lego prin intermediul API-ului 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)
 
 
 Română