1. מוצרים
  2.   תלת מימד
  3.   Python
  4.   PythonOCC-Core
 
  

ספריית פייתון קוד פתוח למידול תלת‑ממדי וחילופי נתונים

ספריית פייתון חינמית למידול תלת‑מדי וטיפול בחילופי נתונים. מאפשרת עבודה עם פורמטי קבצים של 3D CAD, BIM, PLM ו‑CAM דרך ממשק פייתון API באופן מקוון.

מהי ספריית PythonOCC-Core ?

PythonOCC-Core היא ספרייה חינמית למידול תלת‑ממדי ואוטומציה של CAD. היא משתמשת ב‑Python, שפת תכנות נפוצה, על גבי ליבת OpenCASCADE Technology (OCCT). שילוב זה מציע בסיס חזק ליצירה, שינוי ולימוד של צורות תלת‑ממד מורכבות. על‑ידי שילוב הפשטות של Python עם כלי המידול החזקים של OCCT, אתה מקבל כלי רב‑גוני ויעיל לשימושך. עם ממשק Python האינטואיטיבי שלו ומערך רחב של פונקציות, הספרייה מספקת חוויה חלקה הן למתחילים והן למפתחים מנוסים בתחום. היא מאפשרת לאדריכלים ומהנדסים כמוך ליצור מודלים פרמטריים, לייצר תכניות בנייה ולבצע ניתוח מבני. כלי זה משפר את זרימת העבודה בתכנון, מאפשר ויזואליזציה מדויקת ושיתוף פעולה יעיל. הוא פופולרי במגזרים שונים כגון רכב, תעופה ועיצוב מוצר לפיתוח ולשיפור מודלים תלת‑ממדיים מורכבים. עם ספרייה זו, אתה יכול לזרז פרוטוטייפינג, סימולציות וניתוח תכנון, ובכך לפשט את תהליך פיתוח המוצר.

מאפייני ההדמיה של PythonOCC-Core מושלמים ליצירת משחקים וחוויות מציאות מדומה. עם כלי זה, ניתן לבנות סביבות מרתקות, סימולציות מציאותיות והרפתקאות אינטראקטיביות. בנוסף, הספרייה מציעה פונקציות חיוניות כגון עבודה עם הדמיית רפואית, מניפולציה של גאומטריה תלת‑ממדית, ייבוא וייצוא של נתוני CAD, הרצת סימולציות מתקדמות על מודלים תלת‑ממדיים, הצגת תוכן תלת‑ממדי בדפדפנים והצגת ויזואליות תלת‑ממדיות דרך ממשקי משתמש פופולריים של Python. הספרייה גם ממלאת תפקיד מרכזי בתחומי מחקר מדעי כגון פיזיקה חישובית, מדעי החומרים והנדסה ביורפואית. רבים מהמקצוענים והמתכנתים בתעשיות שונות מוצאים את PythonOCC-Core מושכת מכיוון שהיא משלבת את הפשטות של פייתון עם העוצמה של OCCT. עם PythonOCC-Core, ניתן להגביר את היצירתיות ולייעל תהליכי CAD מורכבים. זה פותח אפשרויות חדשות לחדשנות ולפרודוקטיביות במידול ועיצוב תלת‑ממדי.

Previous Next

התחלה עם PythonOCC-Core

הדרך הקלה ביותר להתקנת גרסה יציבה של PythonOCC-Core היא באמצעות pip. אנא השתמשו בפקודה הבאה להתקנה חלקה.

התקנת PythonOCC-Core באמצעות pip

pip install pythonocc-core

התקנת PythonOCC-Core באמצעות Conda

conda install -c conda-forge pythonocc-core

אתה יכול גם להתקין את PythonOCC-Core דרך Conda באמצעות הפקודה הבאה.

conda install -c 1adrianb face_alignment

אתה יכול להוריד את הספרייה המשותפת המורכבת מ-Github מאגר.

יצירת וניהול גיאומטריות תלת‑ממדיות באמצעות Python

הספרייה הקודפת מקור של PythonOCC-Core כוללת תמיכה מלאה ביצירת וניהול מודלים תלת‑ממדיים בתוך יישומי Python. בנוסף, הספרייה מציעה סט רחב של כלים ליצירה ולשינוי של צורות גיאומטריות תלת‑ממדיות, כולל נקודות, עקומות, משטחים וגופים. היא מספקת מגוון רחב של אלגוריתמים לבנייה ולשינוי של עצמים מורכבים, כגון פעולות בוליאניות, filleting, ו‑chamfering. הדוגמה הבאה מראה כיצד מפתחים יכולים ליצור תיבות גבול גיאומטריות ליבה באמצעות פקודות Python.

איך לחשב ולהציג תיבות גבול בתוך אפליקציות 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)

 

אוטומציה של CAD באמצעות API של Python

ספריית הקוד הפתוח PythonOCC-Core סיפקה תכונות מאוד שימושיות לטיפול במשימות שונות הקשורות לדיאגרמות CAD. הספרייה תומכת בפורמטים שונים של קבצים המשמשים בדרך כלל ב‑CAD, כולל STEP, IGES, STL ו‑BREP. הספרייה מאפשרת למפתחים לאוטומט משימות CAD חוזרות, כגון יצירת עיצובים פרמטריים, ביצוע טרנספורמציות גאומטריות וביצוע ניתוח גאומטרי. היא מספקת API ברמה גבוהה שמפשטת את יישום זרימות העבודה של CAD, מה שהופך אותה לבחירה אידיאלית לבניית כלי אוטומציה ל‑CAD.

איך ליצור צורה ולייצא אותה לפורמט קובץ CAD STEP דרך 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")
 
 עִברִית