
openscad
מודל CAD תלת‑ממד קוד פתוח לתכנתים
צור מודלים תלת‑ממדיים מוצקים באמצעות CSG, יציקה ופרמטרים ניתנים להגדרה דרך API חינמי וקוד פתוח ב‑Python.
מהו OpenSCAD?
OpenSCAD הוא כלי מודלינג תלת‑ממדי CAD חינמי וקוד פתוח, שנועד במיוחד לתכנתנים ומהנדסים. בניגוד למודלים תלת‑ממדיים אינטראקטיביים, OpenSCAD משתמש בגישה מבוססת סקריפטים כדי להגדיר אובייקטים תלת‑ממדיים מוצקים באמצעות גאומטריה מוצקה קונסטרוקטיבית (CSG) וטכניקות חילוץ. זה מאפשר מודלינג מדויק, ניתן לשחזור ופרמטרי, אידיאלי לחלקים מכניים, אבטיפוסים ועיצובים טכניים. הכלי תומך ב‑Linux, Windows ו‑macOS, ומשתלב היטב עם זרימות עבודה מבוססות Python לאוטומציה וכתיבת סקריפטים.
OpenSCAD קורא קבצי סקריפט המתארים את האובייקט ומציג את המודל התלת‑ממדי בהתאם, מה שמעניק למעצבים שליטה מלאה בתהליך המודלינג. הוא תומך בפעולות כגון איחוד, חיתוך, חיסור, וכן במרות כמו תזוזה, סיבוב וקנה מידה. ניתן לייבא נתונים מקבצי DXF ולייצא ל‑STL, OFF ותבניות אחרות. הארכיטקטורה הפתוחה והקהילה הפעילה שלו הופכות אותו לבחירה חזקה עבור מפתחים המחפשים יכולות מודלינג תלת‑ממדיות פרוגרמטיות ללא תלות באינטראקציות GUI.
התחלת עבודה עם OpenSCAD
OpenSCAD זמין כבינריים מוכנים מראש עבור Linux, macOS, ו‑Windows מהאתר הרשמי שלו. למפתחים, קוד המקור מתארח ב‑GitHub, וניתן לבנות אותו מהמקור באמצעות CMake והסקריפטים לבנייה שסופקו. המאגר הרשמי [GitHub של openscad](https://github.com/openscad/openscad) כולל הוראות בנייה מפורטות לכל הפלטפורמות המרכזיות. כדי להתחיל במהירות, הורידו את הגרסה האחרונה, התקינו אותה, ופתחו את העורך כדי לכתוב את סקריפט ה‑SCAD הראשון שלכם.
התקנת OpenSCAD דרך מנהלי חבילות
# Ubuntu/Debian
sudo apt install openscad
# macOS (Homebrew)
brew install --cask openscad
# Windows (Chocolatey)
choco install openscad
גאומטריה מוצקה קונסטרוקטיבית (CSG)
עוצמת הליבה של OpenSCAD נובעת מתמיכתה בגיאומטריה מוצקה קונסטרוקטיבית (CSG), המאפשרת לשלב פרימיטיבים תלת‑ממדיים בסיסיים באמצעות פעולות בוליאניות כגון איחוד, חיתוך והפרש. גישה זו מבטיחה מודל מדויק, בטוח מבחינת אי‑מניפולציה, המתאים להנדסה וייצור. לדוגמה, ניתן ליצור גליל עם חור על‑ידי חיסור גליל קטן יותר מגליל גדול יותר. פעולות CSG מוגדרות באופן דקלרטיבי בסקריפט, מה שמאפשר פרמטריזציה קלה וגרסאות חוזרות. זה עושה את OpenSCAD אידיאלי לתכנון חלקים מכניים, אריזות, ואבות‑טיפוס פונקציונליים שבהם דיוק ושחזור הם קריטיים.
איך ליצור גליל עם חור באמצעות CSG ב‑OpenSCAD?
difference() {
cylinder(h = 20, r = 10);
cylinder(h = 25, r = 4, center = true);
}
הוצאת קו מתאר דו-ממדי
OpenSCAD תומך בחילוץ קווי מתאר דו-ממדיים מיובאים מקבצי DXF או מוגדרים ישירות בקוד SCAD. טכניקה זו חיונית ליצירת צורות תלת-ממדיות מורכבות מפרופילים דו-ממדיים, כגון גלגלי שיניים, תושבות או ארגזים מותאמים אישית. ניתן לחלץ מסלולים באופן ליניארי או לסובב אותם סביב ציר (באמצעות סיבוב). תהליך החילוץ מכבד את סדר הקודקודים ותומך גם בפוליגונים דו-ממדיים וגם במסלולים עם חורים. בשילוב עם טרנספורמציות ומודולים, זה מאפשר יצירה פרמטרית של חלקים כגון צינורות, מסגרות או אלמנטים ארכיטקטוניים, מה שהופך את OpenSCAD לכלי חזק לעיצוב טכני ותהליכי ייצור.
איך להרחיב פוליגון דו‑ממדי לאובייקט תלת‑מימדי?
linear_extrude(height = 10, center = true, convexity = 10)
polygon(points = [[0,0], [10,0], [5,10]]);
מודלינג פרמטרי והגדרה
OpenSCAD מצטיין במידול פרמטרי, שבו ממדים וצורות מוגדרים באמצעות משתנים ופונקציות. זה מאפשר להתאים בקלות עיצובים על ידי שינוי כמה פרמטרים, מה שהופך אותו לאידיאלי עבור יצירת אבטיפוס איטרטיבית והתאמה אישית. לדוגמה, ניתן להגדיר מודול שמקבל פרמטרים לרוחב, גובה ועובי, ואז להשתמש בו מחדש במספר עיצובים. ניתן גם להניע פרמטרים על ידי נתונים חיצוניים, כגון ערכים מקובץ CSV או DXF, מה שמאפשר אינטגרציה עם צינורות נתונים מבוססי פייתון. יכולת זו תומכת בעיצוב גנרטיבי, שבו מודלים מתאימים אוטומטית לדרישות או מגבלות משתנות.
איך להגדיר מודול פרמטרי שניתן לשימוש חוזר?
module box(width, height, thickness) {
difference() {
cube([width, height, thickness]);
translate([thickness, thickness, -1])
cube([width - 2*thickness, height - 2*thickness, thickness + 2]);
}
}
box(50, 30, 3);
שילוב ייבוא וייצוא נתונים
OpenSCAD מספק תמיכה חזקה בייבוא קבצי DXF דו‑ממדיים וייצוא מודלים תלת‑ממדיים ל‑STL, OFF, ולפורמטים אחרים. זה מקל על אינטגרציה עם כלי CAD/CAM, מדפסות תלת‑ממד ותוכנות סימולציה. ייבוא DXF יכול לכלול נתיבים לחילוץ, בעוד שהייצוא תומך ב‑STL בינארי ו‑ASCII להדפסת תלת‑ממד. בנוסף, OpenSCAD יכול לקרוא פרמטרי עיצוב מקבצי DXF, מה שמאפשר זרימות עבודה היברידיות שבהן הגאומטריה מוגדרת בכלים חיצוניים אך משופרת תכנותית. אינטרופרטיביות זו, יחד עם האופי המבוסס‑סקריפט, מאפשרת למפתחים לאוטומט יצירת מודלים ועיבוד אצווה באמצעות Python או סקריפטים של shell, ומייעלת תהליכי ייצור.
איך לייבא קובץ DXF ולהרחיב אותו לתלת‑מימד?
linear_extrude(height = 5) {
import(file = "profile.dxf", layer = "outer");
}
