1. Produkty
  2.   CHAM
  3.   Python
  4.   build123d
 
  

Biblioteka Open Source Pythona do rysunków CAD 2D i 3D

Biblioteka CAD Pythona o otwartym kodzie źródłowym do tworzenia i zarządzania modelami 2D i 3D. Twórz parametryczne klocki Lego i używaj selektorów w aplikacjach Pythona.

Czym jest biblioteka Build123d?

Build123d to pakiet CAD 3D w Pythonie o otwartym kodzie źródłowym, który pomaga programistom tworzyć rysunki 2D i 3D we własnych aplikacjach Python. Biblioteka Build123d wykorzystuje standardowy menedżer kontekstów Pythona, a do obsługi rysunków dostępne są trzy konstruktory. Konstruktor BuildLine może być używany do obiektów jednowymiarowych, konstruktor BuildSketch do płaskich obiektów dwuwymiarowych, a konstruktor BuildPart do obiektów trójwymiarowych. Konstruktor wykorzystuje konteksty lokalizacji do pozycjonowania obiektów lub operacji.

Biblioteka obsługuje różne operacje 2D i 3D, takie jak zaokrąglenie, odbicie lustrzane, odsunięcie, skalowanie, podział, otwór pogłębiony, otwór pogłębiony, wyciągnięcie, otwór po pochyłości, obrót, skalowanie, przekrój, podział i wiele innych. Oprócz powyższych, biblioteka zawiera również kilka selektorów, operatorów selektorów, operatorów krawędzi i drutu, operatorów płaszczyzn, operatorów wektorowych i operatorów wierzchołków.

Biblioteka Build123d to użyteczna alternatywa dla API Build123d, mająca nad nim wiele zalet, a najważniejszą z nich jest to, że build123d udostępnia pełen zestaw narzędzi Pythona podczas projektowania obiektów. Biblioteka jest bardzo prosta w obsłudze i umożliwia łatwe pozycjonowanie i zarządzanie obiektami w dowolnym miejscu.

Previous Next

Rozpoczęcie pracy z Build123d

Najprostszym sposobem instalacji stabilnej wersji Build123d jest skorzystanie z GitHuba. Aby instalacja przebiegła bezproblemowo, użyj poniższego polecenia.

Zainstaluj Build123d przez GitHub

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

Skompilowaną bibliotekę współdzieloną możesz pobrać z repozytorium Github.

Jak używać selektorów za pomocą biblioteki Pythona

Korzystając z systemu CAD opartego na graficznym interfejsie użytkownika, użytkownik często klika element, aby wybrać go do wykonania operacji. Selektory to procedury, które pokazują, jak użytkownicy mogą oddzielić element od projektu za pomocą filtrów i metod sortowania języka Python, zazwyczaj implementowanych jako zestaw niestandardowych operacji języka Python. Przykładami selektorów są vertices(), edge(), wires(), solids() i faces(). Typy operandów to: Axis, SortBy i GeomType. Należy pamiętać, że standardowe metody list, takie jak sorted czy filtered, są pomocne w generowaniu złożonych selektorów.

Tworzenie parametrycznych bloków Lego za pomocą biblioteki Pythona

Biblioteka Pythona o otwartym kodzie źródłowym Build123d umożliwia programistom tworzenie parametrycznych bloków Lego w ich własnych aplikacjach Python. Najpierw należy uruchomić środowisko Build123d i zdefiniować wymiary bloku Lego. Teraz możemy przejść do części budowniczej i stworzyć wewnętrzną strukturę bloków. Aby utworzyć strukturę, musimy narysować dwuwymiarowy szkic, który następnie zostanie wytłoczony w obiekt trójwymiarowy. Następnie możemy zdefiniować prostokąt obwodu i utworzyć ściany prostokąta bloku oraz utworzyć wewnętrzną siatkę. Następnie musimy przekształcić wewnętrzną siatkę w grzbiety, usuwając środek. Teraz utwórz zestaw wewnętrznych pustych cylindrów i wytłocz szkic w ściany. Po zakończeniu ścian należy dodać górną część bloku, a ostatnim krokiem jest dodanie wypustek.

Jak utworzyć wymiary i wewnętrzną siatkę klocków Lego za pomocą interfejsu API Pythona?

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)
 
 
 Polski