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

Avoimen lähdekoodin Python-kirjasto 2D- ja 3D-CAD-piirustuksiin

Avoimen lähdekoodin Python CAD -kirjasto 2D- ja 3D-mallien luomiseen ja hallintaan. Luo parametrisia Lego-palikoita ja käytä valitsimia Python-sovelluksissa.

Mikä on Build123d-kirjasto?

Build123d on avoimen lähdekoodin Python 3D CAD -paketti, joka auttaa ohjelmistokehittäjiä luomaan 2D- ja 3D-piirustuksia omissa Python-sovelluksissaan. Build123d-kirjasto käyttää Pythonin vakiokontekstinhallintaa, ja piirustusten käsittelyyn on saatavilla kolme rakentajaa. BuildLine-rakentajaa voidaan käyttää yksiulotteisille objekteille, BuildSketch-rakentajaa tasomaisille kaksiulotteisille objekteille ja BuildPart-rakentajaa kolmiulotteisille objekteille. Rakentaja käyttää sijaintikonteksteja objektien tai toimintojen sijoittamiseen.

Kirjasto tukee erilaisia ​​2D- ja 3D-toimintoja, kuten pyöristystä, peilikuvaa, siirtymää, skaalausta, jakoa, vastareikää, vastaupotusreikää, pursotusta, reikää, loft-leikkausta, pyöritystä, skaalausta, leikkausta, jakoa ja monia muita. Yllä mainittujen lisäksi kirjastoon kuuluu useita valitsimia, valitsinoperaattoreita, reuna- ja lankaoperaattoreita, tasooperaattoreita, vektorioperaattoreita ja kärkioperaattoreita.

Build123d-kirjasto on hyödyllinen vaihtoehto Build123d-rajapinnalle, ja sillä on monia etuja siihen verrattuna. Tärkein niistä on, että build123d mahdollistaa koko Python-työkalupakin käytön objektien suunnittelussa. Kirjastoa on erittäin helppo käyttää, ja objekteja voi helposti sijoittaa ja hallita missä tahansa.

Previous Next

Build123d:n käytön aloittaminen

Helpoin tapa asentaa Build123d:n vakaa versio on GitHubin avulla. Käytä seuraavaa komentoa sujuvan asennuksen varmistamiseksi

Asenna Build123d GitHubin kautta

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

Voit ladata käännetyn jaetun kirjaston Github-arkistosta.

Valitsimien käyttö Python-kirjaston kautta

Kun käytössä on graafinen CAD-järjestelmä, käyttäjä usein napsauttaa ominaisuutta valitakseen sen jotakin toimintoa varten. Valitsimet ovat proseduureja, jotka osoittavat, kuinka käyttäjät voivat erottaa ominaisuuden suunnitelmasta käyttämällä Python-suodatusta ja lajittelumenetelmiä, jotka tyypillisesti toteutetaan mukautettuina Python-operaatioina. vertices(), edges(), wires(), solids() ja faces() ovat esimerkkejä valitsimista. Operandityypit ovat: Axis, SortBy ja GeomType. Muista, että standardilistausmenetelmät, kuten sorted tai filtered, ovat hyödyllisiä monimutkaisten valitsimet luotaessa.

Luo parametrinen Lego-palikka Python-kirjaston kautta

Avoimen lähdekoodin Python-kirjasto Build123d antaa ohjelmistokehittäjille mahdollisuuden luoda parametrisia Lego-palikoita omissa Python-sovelluksissaan. Ensin sinun on luotava build123d-ympäristö ja määriteltävä Lego-palikan mitat. Nyt voimme siirtyä rakentajaosaan ja luoda palikoiden sisäisen rakenteen. Rakennetta varten meidän on piirrettävä kaksiulotteinen luonnos, joka myöhemmin pursotetaan kolmiulotteiseksi objektiksi. Sen jälkeen voimme määritellä kehäsuorakulmion ja luoda palasuorakulmion seinät ja luoda sisäisen ruudukon. Sen jälkeen meidän on muunnettava sisäinen ruudukko harjanteiksi, keskipiste on poistettava. Seuraavaksi luo joukko sisäisiä onttoja sylintereitä ja pursota luonnos seiniksi. Seinien valmistuttua lisätään palikan yläosa ja viimeinen vaihe on lisätä pisteet.

Kuinka luoda Lego-palikan mitat ja sisäinen ruudukko Python API:n avulla?

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