1. Produkter
  2.   3D
  3.   Python
  4.   PythonOCC-Core
 
  

Open source Python-bibliotek til 3D-modellering & dataudveksling

Gratis Python-bibliotek til 3D-modellering og dataudveksling. Det gør det muligt at arbejde med 3D CAD, BIM, PLM og CAM filformater via Python API online.

Hvad er PythonOCC-Core-biblioteket?

PythonOCC-Core er et gratis 3D-modellerings- og CAD-automatiseringsbibliotek. Det bruger Python, et udbredt programmeringssprog, oven på OpenCASCADE Technology (OCCT) kernen. Denne kombination giver et solidt grundlag for at skabe, ændre og studere indviklede 3D-former. Ved at kombinere Pythons brugervenlighed med OCCT's kraftfulde modelleringsværktøjer får du et alsidigt og effektivt værktøj til rådighed. Med sin intuitive Python-grænseflade og omfattende funktionssæt leverer biblioteket en problemfri oplevelse for både begyndere og erfarne udviklere inden for området. Det giver arkitekter og ingeniører som dig mulighed for at udforme parametriske modeller, producere bygningsplaner og udføre strukturanalyse. Dette værktøj forbedrer designarbejdsprocessen, så præcis visualisering og effektivt teamwork bliver muligt. Det er populært på tværs af forskellige sektorer såsom bilindustrien, luftfart og produktdesign til udvikling og forfinelse af indviklede 3D-modeller. Med dette bibliotek kan du fremskynde prototyping, simuleringer og designanalyse, hvilket forenkler produktudviklingsprocessen.

PythonOCC-Core's visualiseringsfunktioner er perfekte til at skabe spil og virtual reality-oplevelser. Med dette værktøj kan du bygge engagerende miljøer, livagtige simulationer og interaktive eventyr. Ud over dette tilbyder biblioteket væsentlige funktioner som arbejde med medicinsk billedbehandling, manipulation af 3D-geometri, import og eksport af CAD-data, kørsel af avancerede simulationer på 3D-modeller, visualisering af 3D-indhold i webbrowsere og fremvisning af 3D-visualer gennem populære Python-GUI'er. Biblioteket spiller også en vigtig rolle inden for videnskabelig forskning som beregningsfysik, materialvidenskab og biomedicinsk ingeniørkunst. Mange softwareprofessionelle og udviklere i forskellige industrier finder PythonOCC-Core tiltalende, fordi det kombinerer Pythons enkelhed med OCCT's styrke. Med PythonOCC-Core kan du øge din kreativitet og strømline komplekse CAD-processer. Dette åbner nye muligheder for innovation og produktivitet inden for 3D-modellering og design.

Previous Next

Kom i gang med PythonOCC-Core

Den nemmeste måde at installere PythonOCC-Core stabile version på er ved at bruge pip. Brug venligst følgende kommando for en problemfri installation.

Installer PythonOCC-Core via pip

pip install pythonocc-core

Installer PythonOCC-Core via Conda

conda install -c conda-forge pythonocc-core

Du kan også installere PythonOCC-Core via Conda ved at bruge følgende kommando.

conda install -c 1adrianb face_alignment

Du kan downloade det kompilerede delte bibliotek fra Github arkiv.

Opret & håndter 3D-geometrier via Python

Det open source PythonOCC-Core bibliotek har inkluderet fuld support til at oprette og håndtere 3D-modeller i Python-applikationer. Desuden tilbyder biblioteket et omfattende sæt værktøjer til at skabe og manipulere 3D-geometriske former, herunder punkter, kurver, overflader og faste legemer. Det leverer et bredt udvalg af algoritmer til at konstruere og modificere komplekse objekter, såsom booleske operationer, afrunding og affasning. Følgende eksempel viser, hvordan softwareudviklere kan oprette kernegeometri-begrænsningsbokse ved hjælp af python-kommandoer.

Hvordan beregner og viser man begrænsningsbokse i Python‑apps?

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 hjælp af Python API

Det open source PythonOCC-Core-bibliotek har leveret meget nyttige funktioner til håndtering af forskellige opgaver relateret til CAD-diagrammer. Biblioteket understøtter forskellige filformater, der almindeligt bruges i CAD, herunder STEP, IGES, STL og BREP. Biblioteket gør det muligt for udviklere at automatisere gentagne CAD-opgaver, såsom at generere parametriske designs, udføre geometriske transformationer og udføre geometrisk analyse. Det leverer et højniveau-API, der forenkler implementeringen af CAD-arbejdsgange, hvilket gør det til et ideelt valg til at bygge CAD-automatiseringsværktøjer.

Hvordan opretter man en form og eksporterer 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")
 
 Dansk