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

Åpen kildekode Python-bibliotek for 2D- og 3D CAD-tegninger

Åpen kildekode Python CAD-bibliotek for å lage og administrere 2D- og 3D-modeller. Lag parametriske Lego-klosser og bruk selektorer i Python-apper.

Hva er Build123d-biblioteket?

Build123d er en åpen kildekode-pakke for Python 3D CAD som hjelper programvareutviklere med å lage 2D- og 3D-tegninger i sine egne Python-applikasjoner. Build123d-biblioteket bruker standard Python-kontekstbehandler, og tre byggere er tilgjengelige for håndtering av tegninger. BuildLine-byggeren kan brukes for endimensjonale objekter, BuildSketch-byggeren for plane todimensjonale objekter og BuildPart-byggeren for tredimensjonale objekter. En bygger bruker plasseringskontekster for å plassere objekter eller operasjoner.

Biblioteket har inkludert støtte for ulike 2D- og 3D-operasjoner, for eksempel avrunding, speiling, forskyvning, skalering, deling, CounterBoreHole, CounterSinkHole, ekstrudering, hull, loft, rotasjon, skalering, seksjon, deling og mange flere. Bortsett fra det ovennevnte, er det flere selektorer, selektoroperatorer, kant- og ledningsoperatorer, planoperatorer, vektoroperatorer og hjørneoperatorer som også er en del av biblioteket.

Build123d-biblioteket er et nyttig alternativ til Build123d API-et, og har mange fordeler, og den viktigste er at build123d muliggjør hele Python-verktøykassen når man designer objekter. Biblioteket er veldig enkelt å bruke, og man kan enkelt plassere og administrere objekter hvor som helst.

Previous Next

Komme i gang med Build123d

Den enkleste måten å installere den stabile versjonen av Build123d på er å bruke GitHub. Bruk følgende kommando for en problemfri installasjon.

Installer Build123d via GitHub

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

Du kan laste ned det kompilerte delte biblioteket fra Github-repositoriet.

Slik bruker du selektorer via Python-biblioteket

Når brukeren bruker et GUI-basert CAD-system, klikker brukeren ofte på en funksjon for å velge den for en operasjon. Selektorer er prosedyrer som viser hvordan brukere kan skille en funksjon fra et design ved hjelp av Python-filter og sorteringsmetoder, vanligvis implementert som et sett med tilpassede Python-operasjoner. vertices(), edges(), wires(), solids() og faces() er noen eksempler på selektorer. Operandtypene er: Axis, SortBy og GeomType. Husk at standard listemetoder som sorted eller filtered er nyttige for å generere komplekse selektorer.

Lag parametrisk Lego-kloss via Python-biblioteket

Det åpne Python-biblioteket Build123d lar programvareutviklere lage parametriske Lego-klosser i sine egne Python-applikasjoner. Først må du konfigurere build123d-miljøet og definere dimensjonene til Lego-klossen. Nå kan vi gå videre til byggedelen og lage den interne strukturen til klossene. For strukturen må vi tegne en todimensjonal skisse som senere skal ekstruderes til et tredimensjonalt objekt. Deretter kan vi definere omkretsrektangelet og lage vegger av blokkrektangelet og lage et internt rutenett. Deretter må vi konvertere det interne rutenettet til rygger, midten må fjernes. Lag nå et sett med interne hule sylindere og ekstruder skissen til vegger. Etter at veggene er ferdige, må toppen av klossen legges til, og det siste trinnet er å legge til punktene.

Hvordan lage dimensjoner og internt rutenett av Lego-klosser via 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)
 
 
 Norsk