Åpen kildekode Python-bibliotek for 3D-modellering og datautveksling
Gratis Python-bibliotek for 3D-modellering og datautvekslingshåndtering. Det gjør det mulig å arbeide med 3D CAD, BIM, PLM og CAM-filformater via Python API på nett.
Hva er PythonOCC-Core-biblioteket?
PythonOCC-Core er et gratis 3D-modellerings- og CAD-automatiseringsbibliotek. Det bruker Python, et mye brukt programmeringsspråk, på toppen av OpenCASCADE Technology (OCCT) kjernen. Denne kombinasjonen gir et sterkt grunnlag for å lage, endre og studere intrikate 3D-former. Ved å kombinere Pythons enkelhet med OCCTs kraftige modelleringsverktøy får du et allsidig og effektivt verktøy til din disposisjon. Med sitt intuitive Python-grensesnitt og omfattende sett av funksjonaliteter gir biblioteket en sømløs opplevelse både for nybegynnere og erfarne utviklere innen feltet. Det gir arkitekter og ingeniører som deg mulighet til å lage parametriske modeller, produsere bygningstegninger og utføre strukturanalyse. Dette verktøyet forbedrer designarbeidsflyten, og muliggjør presis visualisering og effektivt samarbeid. Det er populært på tvers av ulike sektorer som bilindustri, luftfart og produktdesign for utvikling og finjustering av intrikate 3D-modeller. Med dette biblioteket kan du fremskynde prototyping, simuleringer og designanalyse, og dermed forenkle produktutviklingsprosessen.
PythonOCC-Core sine visualiseringsfunksjoner er perfekte for å lage spill og virtuell virkelighet. Med dette verktøyet kan du bygge engasjerende miljøer, livaktige simuleringer og interaktive eventyr. I tillegg tilbyr biblioteket essensielle funksjoner som arbeid med medisinsk bildediagnostikk, manipulering av 3D-geometri, import og eksport av CAD-data, kjøring av avanserte simuleringer på 3D-modeller, visualisering av 3D-innhold i nettlesere, og fremvisning av 3D-grafikk gjennom populære Python-GUIer. Biblioteket spiller også en viktig rolle i vitenskapelig forskning som beregningsfysikk, materialvitenskap og biomedisinsk ingeniørkunst. Mange programvareprofesjonelle og utviklere i ulike bransjer finner PythonOCC-Core tiltalende fordi det kombinerer Pythons enkelhet med OCCTs styrke. Med PythonOCC-Core kan du øke kreativiteten din og strømlinjeforme komplekse CAD-prosesser. Dette åpner for nye muligheter for innovasjon og produktivitet innen 3D-modellering og design.
Kom i gang med PythonOCC-Core
Den enkleste måten å installere PythonOCC-Core stabil versjon på er å bruke pip. Vennligst bruk følgende kommando for en smidig installasjon.
Installer PythonOCC-Core via pip
pip install pythonocc-coreInstaller PythonOCC-Core via Conda
conda install -c conda-forge pythonocc-coreDu kan også installere PythonOCC-Core via Conda ved å bruke følgende kommando.
conda install -c 1adrianb face_alignmentDu kan laste ned det kompilerte delte biblioteket fra Github-repoet.
Opprett og administrer 3D-geometrier via Python
Det åpne kildekodebiblioteket PythonOCC-Core har inkludert full støtte for å lage og håndtere 3D-modeller i Python-applikasjoner. I tillegg tilbyr biblioteket et omfattende sett med verktøy for å opprette og manipulere 3D-geometriske former, inkludert punkter, kurver, overflater og faste legemer. Det gir et bredt spekter av algoritmer for å konstruere og endre komplekse objekter, som boolske operasjoner, avrunding og avfasing. Følgende eksempel viser hvordan programvareutviklere kan lage kjernegeometri‑bounding‑bokser ved hjelp av python‑kommandoer.
Hvordan beregne og vise avgrensningsbokser i Python‑apper?
def get_boundingbox(shape, tol=1e-6, use_mesh=True):
bbox = Bnd_Box()
bbox.SetGap(tol)
if use_mesh:
mesh = BRepMesh_IncrementalMesh()
mesh.SetParallelDefault(True)
mesh.SetShape(shape)
mesh.Perform()
if not mesh.IsDone():
raise AssertionError("Mesh not done.")
brepbndlib_Add(shape, bbox, use_mesh)
xmin, ymin, zmin, xmax, ymax, zmax = bbox.Get()
return xmin, ymin, zmin, xmax, ymax, zmax, xmax - xmin, ymax - ymin, zmax - zmin
print("Box bounding box computation")
box_shape = BRepPrimAPI_MakeBox(10.0, 20.0, 30.0).Shape()
bb1 = get_boundingbox(box_shape)
print(bb1)
print("Cylinder bounding box computation")
cyl_shape = BRepPrimAPI_MakeCylinder(10.0, 20.0).Shape()
bb2 = get_boundingbox(cyl_shape)
print(bb2)
print("Torus bounding box computation")
torus_shape = BRepPrimAPI_MakeCylinder(15.0, 5.0).Shape()
bb3 = get_boundingbox(torus_shape)
print(bb3)
CAD-automatisering ved hjelp av Python API
Det åpne kildekodebiblioteket PythonOCC-Core har levert svært nyttige funksjoner for håndtering av ulike oppgaver knyttet til CAD-diagrammer. Biblioteket støtter ulike filformater som ofte brukes i CAD, inkludert STEP, IGES, STL og BREP. Biblioteket gjør det mulig for utviklere å automatisere repeterende CAD-oppgaver, som å generere parametriske design, utføre geometriske transformasjoner og utføre geometrisk analyse. Det tilbyr et høynivå-API som forenkler implementeringen av CAD-arbeidsflyter, og gjør det til et ideelt valg for å bygge CAD-automatiseringsverktøy.
Hvordan lage en form & eksportere den til CAD STEP‑filformat via Python‑API?
from __future__ import print_function
from OCC.Core.BRepPrimAPI import BRepPrimAPI_MakeBox
from OCC.Core.STEPControl import STEPControl_Writer, STEPControl_AsIs
from OCC.Core.Interface import Interface_Static_SetCVal
from OCC.Core.IFSelect import IFSelect_RetDone
# creates a basic shape
box_s = BRepPrimAPI_MakeBox(10, 20, 30).Shape()
# initialize the STEP exporter
step_writer = STEPControl_Writer()
dd = step_writer.WS().TransferWriter().FinderProcess()
print(dd)
Interface_Static_SetCVal("write.step.schema", "AP203")
# transfer shapes and write file
step_writer.Transfer(box_s, STEPControl_AsIs)
status = step_writer.Write("box.stp")
if status != IFSelect_RetDone:
raise AssertionError("load failed")