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

Atvērtā koda Python bibliotēka 2D un 3D CAD rasējumiem

Atvērtā koda Python CAD bibliotēka 2D un 3D modeļu izveidei un pārvaldībai. Izveidojiet parametriskus Lego klucīšus un izmantojiet selektorus Python lietotnēs.

Kas ir Build123d bibliotēka?

Build123d ir atvērtā koda Python 3D CAD pakotne, kas palīdz programmatūras izstrādātājiem izveidot 2D un 3D rasējumus savās Python lietojumprogrammās. Build123d bibliotēka izmanto standarta Python konteksta pārvaldnieku, un rasējumu apstrādei ir pieejami trīs veidotāji. BuildLine veidotāju var izmantot viendimensiju objektiem, BuildSketch veidotāju plakaniem divdimensiju objektiem un BuildPart veidotāju trīsdimensiju objektiem. Veidotājs izmanto atrašanās vietas kontekstus objektu pozicionēšanai vai darbībām.

Bibliotēka ir iekļāvusi atbalstu dažādām 2D un 3D darbībām, piemēram, noapaļošanai, spoguļošanai, nobīdei, mērogošanai, sadalīšanai, preturbšanas caurumam, pretizspiešanas caurumam, ekstrudēšanai, caurumam, bēniņiem, pagriešanai, mērogošanai, griezumam, sadalīšanai un daudzām citām. Papildus iepriekšminētajam, bibliotēkā ir iekļauti arī vairāki selektori, selektoru operatori, malu un vadu operatori, plaknes operatori, vektoru operatori un virsotņu operatori.

Build123d bibliotēka ir noderīga alternatīva Build123d API, un tai ir daudz priekšrocību salīdzinājumā ar to, un vissvarīgākā no tām ir tā, ka build123d nodrošina pilnu Python rīku komplektu objektu projektēšanā. Bibliotēku ir ļoti vienkārši lietot, un objektus var viegli novietot un pārvaldīt jebkur.

Previous Next

Darba sākšana ar Build123d

Vienkāršākais veids, kā instalēt Build123d stabilo versiju, ir izmantot GitHub. Lūdzu, izmantojiet šo komandu, lai instalēšana noritētu gludi

Instalējiet Build123d, izmantojot GitHub

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

Kompilēto koplietojamo bibliotēku varat lejupielādēt no Github krātuves.

Kā lietot selektorus, izmantojot Python bibliotēku

Izmantojot uz GUI balstītu CAD sistēmu, lietotājs bieži noklikšķina uz elementa, lai to atlasītu kādai darbībai. Selektori ir procedūras, kas parāda, kā lietotāji var atdalīt elementu no projekta, izmantojot Python filtru un kārtošanas metodes, kas parasti tiek ieviestas kā pielāgotu Python darbību kopa. Daži selektoru piemēri ir vertices(), edges(), wires(), solids() un faces(). Operandu tipi ir: Axis, SortBy un GeomType. Lūdzu, atcerieties, ka standarta sarakstu metodes, piemēram, sorted vai filtered, ir noderīgas sarežģītu selektoru ģenerēšanā.

Parametriska Lego bloka izveide, izmantojot Python bibliotēku

Atvērtā pirmkoda Python bibliotēka Build123d ļauj programmatūras izstrādātājiem izveidot parametriskus Lego blokus savās Python lietojumprogrammās. Vispirms ir jāatver build123d vide un jādefinē Lego bloka izmēri. Tagad varam pāriet uz veidotāja daļu un izveidot bloku iekšējo struktūru. Struktūrai mums ir jāuzzīmē divdimensiju skice, kas vēlāk tiks ekstrudēta trīsdimensiju objektā. Pēc tam varam definēt perimetra taisnstūri un izveidot bloka taisnstūra sienas un izveidot iekšējo režģi. Pēc tam iekšējais režģis ir jāpārveido par izciļņiem, jānoņem centrs. Tagad izveidojiet iekšējo dobo cilindru komplektu un ekstrudējiet skici sienās. Pēc sienu pabeigšanas jāpievieno bloka augšdaļa, un pēdējais solis ir pievienot punktus.

Kā izveidot Lego klucīša izmērus un iekšējo režģi, izmantojot Python API?

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