1. Táirgí
  2.   3d
  3.   Python
  4.   PythonOCC-Core
 
  

Leabharlann Python Foinse Oscailte le haghaidh Modáil 3D & Malartú Sonraí

Leabharlann Python saor in aisce le haghaidh modáil 3D agus láimhseáil malartú sonraí. Ligeann sé oibriú le formáidí comhad 3D CAD, BIM, PLM agus CAM trí API Python ar líne.

Cad é Leabharlann PythonOCC-Core ?

Is leabharlann saor in aisce í PythonOCC-Core le haghaidh modáil 3D agus uathoibriú CAD. Úsáideann sé Python, teanga ríomhchlárúcháin forleathan, ar bharr eithne OpenCASCADE Technology (OCCT). Soláthraíonn an teaglaim seo bunús láidir le haghaidh cruthú, athrú, agus staidéar ar chruthanna casta 3D. Trí éascaíocht Python a mheascadh le huirlisí cumhachtacha modála OCCT, faigheann tú uirlis ilúsáideach agus éifeachtach ar do láimh. Le comhéadan intuítíve Python agus le raon leathan feidhmeanna, cuireann an leabharlann taithí gan uaim ar fáil do thosaitheoirí agus d'fhorbróirí a bhfuil taithí acu sa réimse. Cuireann sé cumhacht ar ailtireacha agus innealtóirí mar tusa chun samhlacha paraiméadaracha a chruthú, leaganacha foirgnimh a tháirgeadh, agus anailís struchtúir a dhéanamh. Feabhsaíonn an uirlis seo sreabhadh oibre dearaidh, ag tabhairt deis d'íomháú cruinn agus oibriú foirne éifeachtach. Tá sé coitianta i réimsí éagsúla mar fheithicilt, aerspáis, agus dearadh táirgí chun samhlacha casta 3D a fhorbairt agus a fheabhsú. Leis an leabharlann seo, is féidir leat prótotípáil, insamhlú, agus anailís dearadh a luathú, agus mar sin an próiseas forbartha táirgí a shimpliú.

Tá gnéithe amharcaithe PythonOCC-Core foirfe chun cluichí agus taithí réaltachta fíorúil a chruthú. Leis an uirlis seo, is féidir leat timpeallachtaí spreagúla, insamhlacha beo, agus eachtraí idirghníomhacha a thógáil. Seachas sin, soláthraíonn an leabharlann feidhmeanna riachtacha cosúil le hoibriú le híomháíocht Leighis, láimhseáil geoiméadracht 3D, iompórtáil agus easpórtáil Sonraí CAD, rith insamhlacha casta ar mhúnlaí 3D, amharc ar ábhar 3D i mbrabhsálaithe gréasáin, agus taispeántas amhairc 3D trí GUIanna Python coitianta. Tá ról tábhachtach ag an leabharlann freisin i réimsí taighde eolaíochta mar fhisic ríomhchláraithe, eolaíocht ábhair, agus innealtóireacht bhitheolaíoch. Aimsíonn go leor gairmithe bogearraí agus forbróirí i dtionscail éagsúla PythonOCC-Core mar gheall ar a chomhcheangal idir éascaíocht Python agus neart OCCT. Le PythonOCC-Core, is féidir leat do chruthaitheacht a mhéadú agus na próisis CAD casta a shimpliú. Oscraíonn sé sin deiseanna nua le haghaidh nuálaíochta agus táirgiúlachta i ndéantú 3D agus dearadh.

Previous Next

Ag Tosú le PythonOCC-Core

Is é an bealach is éasca chun leagan cobhsaí PythonOCC-Core a shuiteáil ná trí pip. Úsáid an t-ordú seo a leanas le haghaidh suiteála réidh.

Suiteáil PythonOCC-Core trí pip

pip install pythonocc-core

Suiteáil PythonOCC-Core trí Conda

conda install -c conda-forge pythonocc-core

Is féidir leat PythonOCC-Core a shuiteáil freisin trí Conda ag baint úsáide as an t-ordú seo a leanas.

conda install -c 1adrianb face_alignment

Is féidir leat an leabharlann roinnte tiomsaithe a íoslódáil ón stór Github.

Cruthaigh & Bainistigh Geamatrúin 3D trí Python

Tá tacaíocht iomlán le haghaidh cruthú agus bainistíochta samhlacha 3D laistigh de fheidhmchláir Python curtha san leabharlann foinse oscailte PythonOCC-Core. Ina theannta sin, cuireann an leabharlann tacair leathan uirlisí ar fáil chun cruthanna geoiméadrach 3D a chruthú agus a láimhseáil, lena n-áirítear pointí, lúbanna, dromchlaí, agus solad. Soláthraíonn sé raon leathan algartaim chun rudaí casta a thógáil agus a mhionathrú, mar shampla oibríochtaí Boole, filíochtú, agus camfhéachaint. Taispeánann an sampla thíos conas is féidir le forbróirí bogearraí boscaí teorainneacha geoiméadrach a chruthú ag baint úsáide as orduithe Python.

Conas Boscaí Teorann a ríomh agus a thaispeáint i d'Aipeanna Python?

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)

 

Uathoibriú CAD ag baint úsáide as API Python

Tá leabharlann foinse oscailte PythonOCC-Core soláthair gnéithe an-úsáideacha chun déileáil le tascanna éagsúla a bhaineann le léaráidí CAD. Tacaíonn an leabharlann le formáidí comhaid éagsúla a úsáidtear go coitianta i CAD, lena n-áirítear STEP, IGES, STL, agus BREP. Cuireann an leabharlann ar chumas forbróirí tascanna CAD athchleachtacha a uathoibriú, mar shampla dearadh paraiméadarach a ghiniúint, claochlú geomatrach a dhéanamh, agus anailís ghéomatrach a chur i bhfeidhm. Soláthraíonn sé API ar leibhéal ard a shimpliúann cur i bhfeidhm sreabhanna oibre CAD, rud a fhágann go bhfuil sé ina rogha iontach chun uirlisí uathoibrithe CAD a thógáil.

Conas Cruth a chruthú agus é a easpórtáil go formáid comhaid CAD STEP trí API Python?

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")
 
 Gaeilge