1. Ürün:% s
  2.   3 boyutlu
  3.   Python
  4.   PythonOCC-Core
 
  

3D Modelleme ve Veri Değişimi için Açık Kaynak Python Kütüphanesi

3D modelleme ve veri değişimi yönetimi için ücretsiz Python kütüphanesi. Python API aracılığıyla çevrimiçi olarak 3D CAD, BIM, PLM ve CAM dosya formatlarıyla çalışmayı sağlar.

PythonOCC-Core Kütüphanesi Nedir?

PythonOCC-Core, ücretsiz bir 3D modelleme ve CAD otomasyon kütüphanesidir. Geniş çapta kullanılan bir programlama dili olan Python'u, OpenCASCADE Technology (OCCT) çekirdeği üzerine inşa eder. Bu kombinasyon, karmaşık 3D şekilleri oluşturmak, değiştirmek ve incelemek için sağlam bir temel sunar. Python'un kolaylığını OCCT'nin güçlü modelleme araçlarıyla birleştirerek, elinizde çok yönlü ve etkili bir araç elde edersiniz. Sezgisel Python arayüzü ve kapsamlı işlevsellik seti sayesinde, kütüphane alandaki hem yeni başlayanlar hem de deneyimli geliştiriciler için sorunsuz bir deneyim sağlar. Mimarlara ve mühendisler gibi sizlere parametrik modeller oluşturma, bina düzenleri üretme ve yapısal analiz yapma imkanı verir. Bu araç, tasarım iş akışını iyileştirir, hassas görselleştirme ve etkili ekip çalışmasına olanak tanır. Otomotiv, havacılık ve ürün tasarımı gibi çeşitli sektörlerde, karmaşık 3D modellerin geliştirilmesi ve iyileştirilmesi için popülerdir. Bu kütüphane ile prototipleme, simülasyon ve tasarım analizlerini hızlandırabilir, böylece ürün geliştirme sürecini basitleştirebilirsiniz.

PythonOCC-Core'un görselleştirme özellikleri, oyunlar ve sanal gerçeklik deneyimleri oluşturmak için mükemmeldir. Bu araçla, etkileyici ortamlar, gerçekçi simülasyonlar ve etkileşimli maceralar inşa edebilirsiniz. Bunun ötesinde, kütüphane Medikal Görüntüleme ile çalışma, 3B geometriyi manipüle etme, CAD verilerini içe ve dışa aktarma, 3B modeller üzerinde gelişmiş simülasyonlar yürütme, web tarayıcılarında 3B içeriği görselleştirme ve popüler Python GUI'leri aracılığıyla 3B görselleri sergileme gibi temel işlevler sunar. Kütüphane ayrıca hesaplamalı fizik, malzeme bilimi ve biyomedikal mühendislik gibi bilimsel araştırma alanlarında hayati bir rol oynar. Farklı sektörlerdeki birçok yazılım profesyoneli ve geliştirici, PythonOCC-Core'un Python'un kolaylığını ve OCCT'nin gücünü birleştirmesinden dolayı çekici buluyor. PythonOCC-Core ile yaratıcılığınızı artırabilir ve karmaşık CAD süreçlerini kolaylaştırabilirsiniz. Bu, 3B modelleme ve tasarımda yenilik ve verimlilik için yeni olasılıklar açar.

Previous Next

PythonOCC-Core ile Başlarken

PythonOCC-Core kararlı sürümünü kurmanın en kolay yolu pip kullanmaktır. Sorunsuz bir kurulum için lütfen aşağıdaki komutu kullanın.

PythonOCC-Core'u pip ile Kurun

pip install pythonocc-core

PythonOCC-Core'u Conda ile Kurun

conda install -c conda-forge pythonocc-core

Aşağıdaki komutu kullanarak PythonOCC-Core'u Conda üzerinden de kurabilirsiniz.

conda install -c 1adrianb face_alignment

Derlenmiş paylaşımlı kütüphaneyi Github deposundan indirebilirsiniz.

Python ile 3B Geometrileri Oluşturun ve Yönetin

Açık kaynaklı PythonOCC-Core kütüphanesi, Python uygulamaları içinde 3B modeller oluşturma ve yönetme konusunda tam destek içerir. Ayrıca, kütüphane noktalar, eğriler, yüzeyler ve katı cisimler dahil olmak üzere 3B geometrik şekiller oluşturma ve manipüle etme için kapsamlı bir araç seti sunar. Boolean işlemleri, yuvarlatma ve konik kesme gibi karmaşık nesneleri inşa etme ve değiştirme için geniş bir algoritma yelpazesi sağlar. Aşağıdaki örnek, yazılım geliştiricilerin python komutlarıyla temel geometri sınırlama kutuları oluşturabileceğini gösterir.

Python uygulamaları içinde sınırlayıcı kutuları nasıl hesaplar ve gösterirsiniz?

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 kullanarak CAD Otomasyonu

PythonOCC-Core açık kaynak kütüphanesi, CAD diyagramlarıyla ilgili çeşitli görevleri yönetmek için çok faydalı özellikler sunmaktadır. Kütüphane, STEP, IGES, STL ve BREP dahil olmak üzere CAD'de yaygın olarak kullanılan çeşitli dosya formatlarını destekler. Kütüphane, geliştiricilerin parametrik tasarımlar oluşturma, geometrik dönüşümler gerçekleştirme ve geometrik analiz yapma gibi tekrarlayan CAD görevlerini otomatikleştirmesini sağlar. Yüksek seviyeli bir API sunarak CAD iş akışlarının uygulanmasını basitleştirir ve CAD otomasyon araçları geliştirmek için ideal bir seçim olur.

Python API'si aracılığıyla şekil nasıl oluşturulur ve CAD STEP dosya formatına nasıl dışa aktarılır?

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")
 
 Türkçe