3D Modelləşdirmə və Dataexchange üçün Açıq Mənbəli Python Kitabxanası
3D modelləşdirmə və Dataexchange idarəetməsi üçün pulsuz Python kitabxanası. Python API vasitəsilə onlayn 3D CAD, BIM, PLM və CAM fayl formatları ilə işləməyə imkan verir.
PythonOCC-Core Kitabxanası nədir?
PythonOCC-Core pulsuz 3D modelləşdirmə və CAD avtomatlaşdırma kitabxanasıdır. O, geniş istifadə olunan proqramlaşdırma dili Python‑u OpenCASCADE Technology (OCCT) nüvəsi üzərində istifadə edir. Bu kombinasiya mürəkkəb 3D formaların yaradılması, dəyişdirilməsi və öyrənilməsi üçün güclü təməl təqdim edir. Python‑un asanlığını OCCT‑nin güclü modelləşdirmə alətləri ilə birləşdirərək, əlinizdə çoxistiqamətli və effektiv bir vasitə əldə edirsiniz. İntuitiv Python interfeysi və geniş funksionallıq dəsti ilə kitabxana həm yeni başlayanlar, həm də sahədə təcrübəli inkişafçılar üçün problemsiz təcrübə təmin edir. O, memarlar və mühəndislər kimi sizə parametrik modellər yaratmaq, bina planları hazırlamaq və struktur analizləri aparmaq imkanı verir. Bu vasitə dizayn iş axınını təkmilləşdirir, dəqiq vizuallaşdırma və effektiv komanda işini təmin edir. Avtomobil, aerokosmik və məhsul dizaynı kimi müxtəlif sahələrdə mürəkkəb 3D modellərin hazırlanması və təkmilləşdirilməsi üçün populyardır. Bu kitabxana ilə prototipləşdirmə, simulyasiyalar və dizayn analizlərini sürətləndirə, beləliklə məhsulun inkişaf prosesini sadələşdirə bilərsiniz.
PythonOCC-Core-un vizualizasiya xüsusiyyətləri oyunlar və virtual reallıq təcrübələri yaratmaq üçün mükəmməldir. Bu alətlə, cəlbedici mühitlər, realistik simulasiya və interaktiv macəralar qura bilərsiniz. Bundan əlavə, kitabxana Tibb Görüntüləmə ilə işləmək, 3D həndəsəni idarə etmək, CAD məlumatlarını idxal və ixrac etmək, 3D modellərdə qabaqcıl simulasiya aparmaq, veb brauzerlərdə 3D məzmunu vizuallaşdırmaq və populyar Python GUI-ləri vasitəsilə 3D vizuallar təqdim etmək kimi vacib funksiyalar təklif edir. Kitabxana həmçinin hesablama fiziki, material elmi və biotibbi mühəndislik kimi elmi tədqiqat sahələrində vacib rol oynayır. Müxtəlif sənayelərdəki bir çox proqram təminatı mütəxəssisi və inkişaf etdiricilər PythonOCC-Core-u cəlbedici hesab edirlər, çünki o, Python-un asanlığını və OCCT-nin gücünü birləşdirir. PythonOCC-Core ilə yaradıcılığınızı artırıb mürəkkəb CAD proseslərini sadələşdirə bilərsiniz. Bu, 3D modelləşdirmə və dizaynda yenilik və məhsuldarlıq üçün yeni imkanlar açır.
PythonOCC-Core ilə Başlamaq
PythonOCC-Core sabit buraxılışını quraşdırmağın ən asan yolu pip istifadə etməkdir. Sorunsuz quraşdırma üçün aşağıdakı əmri istifadə edin.
PythonOCC-Core-u pip vasitəsilə quraşdırın
pip install pythonocc-corePythonOCC-Core-u Conda vasitəsilə quraşdırın
conda install -c conda-forge pythonocc-coreAşağıdakı əmri istifadə edərək PythonOCC-Core-u Conda vasitəsilə də quraşdıra bilərsiniz.
conda install -c 1adrianb face_alignmentSiz tərtib olunmuş paylaşılan kitabxananı Github deposundan yükləyə bilərsiniz.
Python vasitəsilə 3D Geometriyaları Yaratmaq və İdarə Etmək
Açıq mənbəli PythonOCC-Core kitabxanası Python tətbiqlərində 3D modellərin yaradılması və idarə olunması üçün tam dəstəyi özündə birləşdirir. Bundan əlavə, kitabxana nöqtələr, əyrilər, səthlər və bərk cisimlər daxil olmaqla 3D həndəsi formaların yaradılması və manipulyasiyası üçün geniş alətlər dəsti təqdim edir. O, Boolean əməliyyatları, yuvarlaqlama və künc kəsilməsi kimi mürəkkəb obyektlərin qurulması və dəyişdirilməsi üçün geniş alqoritmlər təklif edir. Aşağıdakı nümunə proqramçılara python əmrləri ilə əsas həndəsi hədd qutularını necə yaratmaq olar göstərir.
Python tətbiqlərində sərhəd qutularını necə hesablamaq və göstərmək olar?
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)
Python API ilə CAD Avtomatlaşdırması
Açıq mənbəli PythonOCC-Core kitabxanası CAD diaqramları ilə bağlı müxtəlif vəzifələri idarə etmək üçün çox faydalı xüsusiyyətlər təqdim edir. Kitabxana CAD-də geniş istifadə olunan STEP, IGES, STL və BREP daxil olmaqla müxtəlif fayl formatlarını dəstəkləyir. Kitabxana, parametrik dizaynların yaradılması, həndəsi transformasiyaların həyata keçirilməsi və həndəsi təhlilin aparılması kimi təkrarlanan CAD vəzifələrini avtomatlaşdırmağa imkan verir. O, CAD iş axınlarının tətbiqini sadələşdirən yüksək səviyyəli API təmin edir və CAD avtomatlaşdırma alətləri yaratmaq üçün ideal seçimdir.
Şəkil yaratmaq və onu Python API vasitəsilə CAD STEP fayl formatına necə ixrac etmək?
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")