איך לגרום לקוד ה-MATLAB שלכם לרוץ מהר יותר?

בין היתר נעבור על נושאים כגון:

  • כיצד להעריך את ביצועי הקוד?
  • שיטות ששווה לאמץ על מנת לכתוב בצורה יעילה יותר קוד טורי
  • עבודה בגישה של OOP ושימוש ב-System Objects
  • מינוף משאבי החומרה שבידנו, ויישום עיבוד מקבילי על CPUs ו-GPUs
  • ייצור קוד  C

הערכת ביצועי הקוד

לפני שבכלל נבצע שינויים בקוד, קודם עלינו לקבוע היכן למקד את מירב המאמצים.
שני כלים קריטיים לתמיכה בתהליך זה הם ה-Code Analyzer ו-MATLAB Profiler.
ה-Code Analyzer נמצא על גבי ה-MATLAB Editor, והוא מבצע בדיקות על הקוד בצורה דינאמית תוך כדי שהקוד נכתב. הוא מנתח את הקוד, מזהה בעיות פוטנציאליות, ובהתאם ממליץ על שינויים כדי למקסם את הביצועים ואת תחזוקת הקוד.
ניתן להריץ דוחות וניתוחים של ה-Code Analyzer על גבי תיקיות שלמות, מה שמאפשר להציג את כל המסקנות של ה-Code Analyzer עבור קבצים רבים, תחת מסמך אחד.

בעזרת MATLAB Profiler, ניתן לגלות בצורה אינטרקטיבית, נוחה וגרפית את זמני הביצועים של הקוד, מה שעוזר לנו לחקור את הקוד ולראות היכן טמונים צווארי הבקבוק בקוד – ובהתאם, לשנות את אותם המקטעים הבעייתיים.

הכלי מפיק דוח שמסכם את ביצועי הקוד, כולל רשימה של כל הפונקציות שבוצעו אליהן קריאות, מספר הפעמים שכל פונקציה נקראה, והזמן הכולל שהוקדש לכל פונקציה.

כמו כן הכלי מספק גם מידע על התזמון הפנימי בכל כל פונקציה, כגון אילו שורות קוד דורשות את זמן העיבוד הרב ביותר.  

אחרי שהצלחנו לזהות את צווארי הבקבוק, נוכל להתמקד בשיטות לשיפור הביצועים של מקטעים ספציפיים אלו בקוד. לאחר שניישם את השיפורים שלנו, ה-Profiler יוכל לעזור לנו למדוד כמותית את השיפור בזמנים.

אימוץ שיטות לכתיבה יעילה של קוד טורי

לפני שניגש לשיטות מתקדמות להאצת ביצועים של הקוד שלנו, כדאי שראשית ניישם שיטות שונות לאיפטום הקוד, כך שירוץ בצורה המהירה ביותר באופן טורי.

שתי טכניקות תכנות יכולות תכנות יעילות לשם כך הן ווקטוריזציה (Vectorization) ופרה-אלוקציה (Pre-allocation).

פרה-אלוקציה הכוונה לאתחול המערך באמצעות הקצאה של הגודל הסופי הנדרש עבור אותו מערך. יישום הקצאת הזכרון מראש עוזרת להימנע משינוי דינמי של גודל מערכים, במיוחד כאשר הקוד מכיל לולאות for ו-while.
מכיוון שמערכים ב-MATLAB מוחזקים בגושי זיכרון רציפים, שינוי גודלם של מערכים לעתים קרובות מחייב את MATLAB לבזבז זמן בחיפוש אחר בלוקים רציפים גדולים יותר של זיכרון ואז להעביר את המערך לאותם בלוקים. על ידי ביצוע הקצאה מראש של מערכים, ניתן להימנע מפעולות זיכרון מיותרות אלו ולהביא לשיפור בזמן הביצוע הכולל.

ווקטוריזציה הוא תהליך המרת הקוד משימוש בלולאות לשימוש במטריצות ובפעולות ווקטוריות.
MATLAB הינה שפה שנוצרה במקור לחישוב בעיות של אלגברה לינארית, והיא אופטימלית לחישובים וביצוע מניפולציות שונות על מטריצות ווקטורים.
לכן, לעיתים קרובות ניתן לשפר את הביצועים של הקוד על ידי ביצוע ווקטוריזציה של הקוד.

ניקח בחשבון שחישובים הכוללים ווקטורים גדולים ומערכי ענק יכולים להיות מועמדים טובים להאצה באמצעות GPU. במקרים בהם לא ניתן לעשות ווקטוריזציה של לולאות for, לעתים קרובות נוכל להחליף את לולאת ה-for בלולאת for מקבילית (parfor), וכן נוכל גם להחליף את מקטעי קוד ה-MATLAB בקוד C, בכדי להאיץ את האלגוריתם.
תוכלו לעיין בסעיפים על מחשוב מקבילי ויצירת קוד C מ-MATLAB לפרטים נוספים על טכניקות אלו.

עבודה בגישה של OOP ושימוש ב-System Objects

ניתן להשתמש ב-System Objects כדי להאיץ את הקוד שלנו.
System Objects הם אובייקטים שנכתבו ב-MATLAB בגישת Object-Oriented Programming (OOP). למעשה מדובר בקלאסים (Classes) שעל ידי שימוש בהם ניתן לבצע את האלגוריתמים בצורה מהירה יותר. הם מתוכננים במיוחד להטמעה ולריצה בסימולציות במערכות דינאמיות עם קלטים שמשתנים לאורך הזמן.

אובייקטים אלו אידאליים עבור חישובים איטרטיביים אשר מעבדים כמויות גדולות של דאטה, וכן בעלי היכולת לעבד נתונים שמגיעים באופן רציף ((Streaming. היתרון המובהק שמתקיים עקב עובדות אלו, הוא שלא צריך להחזיק כמויות גדולות של נתונים בזיכרון כלל, בכל שלב על גבי שולחן העבודה שלנו.

בנוסף ל-System Objects שמגיעים ביחיד עם הכלים השונים של MATLAB ו-Simulink, ניתן ליצור System Objects חדשים משלנו.  

מינוף משאבי החומרה שבידנו, ויישום עיבוד מקבילי על CPUs ו-GPUs
עד כה תיארנו דרכים לאפטם את הקוד שלנו בצורה טורית. ניתן גם להשיג האצה בביצועים על ידי ניצול כל המשאבים ולמנף את היכולות של החומרה שבידנו באופן מקסימלי.
באמצעות MATLAB וSimulink- ניתן לבצע חישובים בקנה מידה גדול, לבצע סימולציות ולפתור בעיות עתירות נתונים זאת על ידי שימוש במעבדים מרובי ליבות (Multi-core), מעבדים גרפיים (GPUs) וכן על גבי קלאסטרים (Clusters) של מחשבים.

באמצעות Parallel Computing Toolbox ניתן לשלוט על CPUs GPUs מרובי ליבות לוקליים על מנת להאיץ את עבודתנו. באמצעות יכולת זו, ניתן לנצל את כוח העיבוד המלא של משאבי המחשוב הלוקליים שברשותנו, תוך כדי דאגה לביזור היישומים שיופעלו מ-MATLAB על גבי Workers – בשפה של MathWorks, הכוונה ל MATLAB computational engines-שרצים לוקלית במחשב שלנו במקביל.

הידע שנדרש לשם כך הוא מינימלי – אין צורך בידע מקדים בכתיבת קוד CUDA או תכנות ב-MPI לצורך ביצוע המיקבול על גבי ה-MATLAB או להריץ סימולציות שונות של Simulink במקביל.

MATLAB Parallel Server מאפשר ביצוע scaling up ליישומים שנבנו ב- MATLABולסימולציות בSimulink- לקלאסטרים מרוחקים ולענן.
באמצעות יכולת זו, ניתן לבנות אבטיפוס של היישומים והסימולציות הקיימים על גבי שולחן העבודה, ולאחר מכן לבצע scaling up לקלאסטרים ולענן – עם שינוי קוד מינימלי בלבד.  

למעשה, כלי זה דואג להריץ את התוכניות והסימולציות הקיימות כיישומים מתוזמנים מבלי שנצטרך לדאוג מהבדלים במערכות ההפעלה, סביבות שונות ובמתזמנים.
הכלי משתמש לשם כך במתזמן המאופטם של MATLAB  (Job Scheduler)שמסופק על ידי הכלי, או שניתן גם לבחור במתזמן משלכם.

ייצור קוד C

ישנם מקרים בהם ווקטוריזציה אינה אפשרית, או שתיקח זמן רב. במקרים כאלה, ייצור קוד C בצורה אוטומטית והחלפת מקטעים מקוד ה-MATLAB יכולה להביא להאצת מהירות הביצוע של הקוד.

באמצעות כלי ה-MATLAB Coder, ניתן ליצור קוד C קריא ונייד, לאחר מכן ניתן לקמפל אותו לפונקציית MEX אשר מחליפה את החלק המקביל באלגוריתם ה-MATLAB. קוד MEX הוא למעשה קוד C אשר עטוף במעטפת המאפשרת להאיץ את הקוד ישירות מ-MATLAB.

לסיכום, בכל אחת מהשיטות השונות קיים פוטנציאל לעזור לנו להשיג האצה בזמני הריצה של הקוד, ובמקרים רבים גם נוכל לנקוט בשילוב בין השיטות השונות שפורטו לעיל על מנת להאיץ באופן משמעותי יותר את הקוד שברשותנו.

בקרוב המחסנים הרובוטים שפיתח הסטארטאפ 1MRobotics בעזרת SOLIDWORKS יקצרו לכולנו את זמני המשלוח

הסטארט-אפ 1MRobotics שעד לפני מספר חודשים עבד מתחת לרדאר, גייס כבר 25 מיליון דולר והם לא מתכננים לעצור בקרוב. הפתרונות האוטומטיים שיצרו מותאמים לגודל של מכולה סטנדרטית, כלומר קטנים מאוד ועל כן ניתנים לפריסה בתוך הערים הגדולות, ומתפקדים כמוצרי מדף שאפשר פשוט לפרוס ולחבר לחשמל כדי להתחיל לעבוד.

מייסדי החברה, אייל יאיר ורועי תובל גייסו לשורותיהם יוצאי יחידות עילית של צה"ל על מנת להצליח לפתח מאפס מוצר עובד, בתוך פחות משנה. 

הרעיון המקורי היה לאפשר קרבה פיזית אל הלקוחות וכפועל יוצא שילוח מהיר ככל הניתן במייל האחרון (Last mile). מלבד היתרון הברור לצרכני הקצה שיקבלו את ההזמנה שלהם במהירות המירבית, 1MRobotics נותנת מענה לעלויות הגבוהות בתחום השילוח המהיר. מבחינת החברות המשמעות היא הוזלה משמעותית של עלויות הנדל"ן וכוח האדם, צריכת החשמל וה-CO2, וייעול עצום של האופרציה התפעולית.

לאחר שהחלו לעבוד עם לקוחות מסקטורים שונים (משקאות, קפה, אלקטרוניקה, חנויות נוחות ו-Q-commerce), הבינו שהפתרון יכול לשרת גם סקטורים נוספים וכיום עובדים על פיתוחים פורצי דרך למגזר התעשייתי. כיום יש לחברה חנות רובוטית לחלוטין בשיתוף עם מותג D2C גדול הממוקמת בלב תל אביב. במהלך 2023 צפויות להיפרס חנויות נוספות במספר מיקומים ברחבי העולם.

גם 1MRobotics  מצטרף לקהילת הסטרטאפים  הישראלית שבחרה לפתח את מוצריה החדשניים עם פתרונות SOLIDWORKS.

החל מעיצוב של בורג קטן וכלה בפיצ'רים גדולים למוצרים, SOLIDWORKS סייעה רבות לצוות הפיתוח ביצירת מידול והוצאה לפועל של רעיונות חדשים.

האם אפשר לעשות AI מבלי לכתוב קוד כלל?

כתוצאה מכך המון שעות עבודה מתבזבזות על תיקונים ושיפורים שונים במודל שלנו – ואחוזי הדיוק אמנם משתפרים, אך רק עד גבול מסוים.

תחום שצובר תאוצה בקרב קהילת מפתחי ה-AI הוא מעבר מגישת Model-centric AI לגישת Data-centric AI.

נמצא כי בגישת Model-centric AI, לפיה המודל הוא המרכז – ניתן לנקוט באמצעים שונים לשיפור המודל כמו איפטום של ההיפרפרמטרים למשל, אבל בהחלט קיים גבול עליון לאחוזים בשיפור ביצועי המודל, או במילים אחרות : "That can only get you so far"

לעומת זאת, גישת Data-centric AI, אשר מושכת אליה הרבה מקהילת המפתחים לאחרונה, דוגלת במתן טיפול הרבה יותר מעמיק על הדאטה עצמו –הרבה יותר פוקוס ודגש ניתן לדאטה עצמו, בין אם מדובר על ההכנה שלו, פעולות Preprocessing שונות, דיוק ואחידות התיוג, דגימת ה- Training data בדרכים מתוחכמות יותר, בחירת Min batch size באופן מחוכם יותר, ועוד…

וכן נמצא כי דווקא בדאטה טמון המפתח לשיפור מודלי ה-AI שאנו מפתחים בצורה דרמטית!

יש המון משפיענים בתחום שדוגלים במעבר בין הגישות, ואני ממליצה לכם מאוד לשמוע את ההרצאה המעולה של פרופ' אנדרו אנג בנושא – From Model-centric to Data-centric AI.

ו..בשביל מה יש את MATLAB אם לא בדיוק את זה? היכולות והפתרונות השונים המוצעים בפלטפורמה של MATLAB מתאימים בדיוק לנקיטה בגישה של Data-centric AI.

יש המון פונקציות ואפליקציות שונות אשר יושבים בקנה אחד עם הצורך בעיבוד ובניתוח של דאטה בקנה מידה גדול – זו אחת החוזקות העיקריות של MATLAB.

למשל, בגרסת R2022a יצאה אפליקציית Data Cleaner, כלי אינטראקטיבי לביצוע פעולות Preprocessing, טיפול וניקוי הדאטה. גם אפליקציה זו מאפשרת עבודה בגישה שמאוד מתאימה לטיפול בדאטה לפי גישת Data-centric AI.

ואם כבר מדברים על אפליקציות, חשוב לי לספר לכם על היכולת לעשות AI – גם אם אנחנו ממש חדשים לתחום, מבלי הצורך לקודד כלל (או לקודד ממש קצת).

קודם כל, מהם MATLAB Apps?

בגלל ש-AI הוא טרנד כל כך חשוב ומרכזי, אשר מסוגל לפתור בעיות עולם אמיתי רבות ומגוונות – יש צורך גדול להנגיש את התחום לקהל מפתחים רחב ככל הניתן, גם אם הנושא חדש להם ואינם מכירים את כל נבחי וסודות ה-AI.

בעזרת נקיטה בגישת Low Code/ No Code AI, ניתן להרחיב את קהל המפתחים שיוכל להתעסק ב-AI בחזית הטכנולוגיה.

המטרה ב- Low Code/No Code AI היא לאפשר גם למפתחים עם יכולות תכנות בסיסיות יותר, או למפתחים שפשוט לא מעוניינים לתכנת – לעבוד על פרויקטי AI מורכבים ולפתור בעיות מתקדמות.
ובאמצעות גישות אלו ניתן לפתח פרויקטים שלמים עם כתיבת קוד מינימלית/ ללא כתיבת קוד כלל.
כל זה תוך כדי כך שאין התחייבות לשפת פיתוח אחת מסוימת, ובעיקר – תוך כדי היכולת להתרכז במה שחשוב באמת : בעיית ה-AI שאנחנו מחפשים לפתור.

דוגמא לכלי שמאפשר לנו לפתח בגישה זו הוא אפליקציית Classification Learner. באמצעותה ניתן לפתור בעיות Machine Learning על ידי אימון של מודלי קלאסיפיקציה, בחירה ודירוג של פיצ'רים, חלוקת הדאטה לסט וולידציה בדרכים שונות, וכן ביצוע בחינה של הביצועים של מודלים שונים לפי קריטריוני הערכה מתאימים בעזרת כמה לחיצות עכבר בלבד.

אפליקציה זו מאוד שימושית למציאת מודל AI  יוכל לתאר בצורה טובה את הדאטה שלנו, ולהצליח למפות את הקשר בין הקלט לפלט עם אחוזי דיוק מספקים.

מעבר לאפליקציה זו, יש ב-MATLAB עוד אפליקציות נוספות אשר עוזרות לפיתוח מוצר מבוסס AI בצורה אינטראקטיבית ולפי גישת Low Code/No Code– כמו למשל Regression Learner, Deep Network Desginer, Experiment Manager App, ועוד…

נקודה עיקרית בה מתרכזים בצוותי הפיתוח של MathWorks היא הכנסת יותר ויותר תקשורת בין האפליקציות עצמן – כך שתתקיים תקשורת מלאה ביניהן, ולא נצטרך לקודד כלל.

היום, האפליקציות השונות של MATLAB נותנות כיסוי מלא לכל שלבי פיתוח מבוסס AI, החל מהכנת הדאטה, התיוג, הבנייה ואימון המודל ועד לאפליקציות המיועדות להטמעת המודל על הטרגט הסופי (כולל ביצוע קוונטיזציה). כך שניתן מענה מלא לפיתוח מוצרי AI ב-MATLAB – גם אם אתם חדשים לתחום, או פחות מתחברים לתכנות עצמו – ומעוניינים להתרכז בעיקר – המוצר עצמו.

ניהול קבצים פשוט בתכנת SOLIDWORKS באמצעות File Utilities

התקנת ה- File utilities היא חובה במידה ונרצה לבצע פעולות ללא פתיחת הקבצים ב SOLIDWORKS . לדוגמא, נוכל לשנות את שם הקובץ, את מיקומו או מגוון פעולות נוספות ללא פתיחת הקובץ. נציין, כי פעולות אלה נכונות עבור חלקים, הרכבות ושרטוטים. הפעולות המגיעות עם התוסף הן :

השימוש ב File utilities מותנה בהתקנה והוא פתוח לכל משתמשי התכנה על המחשב.
אפשר לוודא שהמוצר מותקן על המחשב על ידי כניסה ל Modify של ההתקנה.

ניתן לראות כיצד לבצע Modify בקישור הבא :
עריכת ההתקנה, שינוי מספר סיריאלי ופעולות נוספות בהתקנה של SOLIDWORKS

לעיתים (לאחר התקנה חדשה) בהגיענו לקובץ מסויים, נראה כאילו אין אופציה להשתמש ב File utilities , לרוב בעיה זו תתלווה בהיעלמות של האייקונים והתצוגה המקדימה של הקובץ.

יש לוודא שקבצי ה SOLIDWORKS נפתחים באמצעות ה "SOLIDWORKS Launcher" ולא שום דבר אחר.

לחיצה על  Open with תיקח אותנו לחלון הבחירה של אפליקציית הפתיחה.

כעת ללחוץ על ה SOLIDWORKS Launcher ולסמן את הצ'קבוקס לפתיחה בשימוש באפליקציה זו כברירת מחדל, לסיום ללחוץ OK.

חשוב לזכור!
בטיפול בתופעה זו יש לשנות את ה"Open with" עבור כל אחד מסוגי הקבצים באופן פרטני (Part, Assembly, Drawings).

לאחר מעבר על כל אחד מסוגי הקבצים יחזרו האיקונים והתצוגה המקדימה של קובץ.


במידה והפתרון המוצג כאן אינו מסייע בפתירת הבעיה ניתן לעשות הסרה והתקנה מחדש של התוכנה. חשוב לציין שאת ההסרה וההתקנה יש לעשות עם הרשאות של אדמיניסטרטור.

בתקלות ובעיות נוספות ניתן לפתוח קריאת שירות באתר בקישור הבא : קריאת שירות

Schematics Parameter Manager in Altium Designer

ככלל כל מי שמבצע תכנון סכמטי של מעגלים מודפסים נתקל בקושי או בצורך הזה.

אם אתם משתמשי Altium Designer אז יש לנו את הכלי המושלם עבור המשימה הזו, והוא נקרא Parameter Manager. הגישה אליו היא מהסביבה הסכמטית תחת תפריט TOOLS.

עבור כל פרוייקט או מסמך סכמטי ניתן לקבל טבלה של הפרמטרים הבאים:

  1. כלל הרכיבים שמרכיבים את הפרויקט
  2. Nets + Parameters Sets (Schematic Constrains)
  3. סימבולים
  4. Symbols Pins
  5. מודלים
  6. פורטים (Off-Sheets)
  7. מסמכי הפרויקט (Title Block)

לא רק שנוכל לקבל את הטבלה עבור כל אותם פרמטרים אלא גם הטבלה ניתנת לעריכה,

להלן סוגי השינויים שניתן לבצע לטבלת הפרמטרים:

  1. הוספת פרמטר בודד לרכיב
  2. שינוי פרמטר בודד לרכיב
  3. מחיקת פרמטר בודד לרכיב
  4. אותו הדבר כמו בשלושת הסעיפים רק לכל הרכיבים ייחד
  5. שינוי קבוצת פרמטרים ייחד
  6. מיון לפי כל סוג

חוץ משינוי ועריכת כלל הפרמטרים של הפרויקט ניתן להעתיק מחלון זה רשימת פרמטרים ולהדביק בכל מקום אחר (מייל אקסל וכו'.)

כל שינוי בחלון זה מתבצע על ידי ECO וניתן לתעד כל שינוי רוחבי כזה.

נשמח לענות לכם על שאלות במידה ויש, מוזמנים להגיב לנו כאן למטה או לפנות אליי אישית,

תודה רבה ונתראה בבלוג הבא,

בן מימון

עריכת ההתקנה, שינוי מספר סיריאלי ופעולות נוספות בהתקנה של SOLIDWORKS

על מנת להגיע ל-Modify יש לעקוב אחרי השלבים הבאים:

1. נכנס להגדרות של המחשב, ושם לניהול אפליקציות.

2. ברשימה שתפתח, נחפש את תוכנת ה-SOLIDWORKS, ונלחץ "Modify"
יש לעשות Modify בתור Administrator או מראש להכנס למחשב עם הרשאות אדמיניסטרציה לפני ביצוע עריכת ההתקנה.

3. בחלון שנפתח נסמן modify ונקיש Next

4. במידה ואנחנו מעוניינים להתקין תוסף הדורש מספר סריאלי נוסף נוכל לעשות זאת בחלון זה על ידי סימון של התוסף והזנת המספר.
בנוסף ניתן גם לשנות את המספר הסריאלי של המשתמש בחלון זה על ידי מחיקה של המספר הישן והזנה של המספר החדש בשורה הראשונה בה כתוב SOLIDWORKS .

5. במידה וישנן הערות הנוגעות להתקנה של רכיבים מסויימים (נובע לפעמים מהתקנות קודמות של התכנה הקיימות על המחשב) הן יופיעו במסך הבא:

            יש לקרוא את הודעות המערכת בעיון ולפעול בהתאם.

6. בחלון הבא נוכל לערוך, להוסיף או להסיר רכיבים שונים בהתקנה בהתאם לרמת הרישיון (standard, professional, premium):

7. במסך האחרון נראה סיכום  (Summery)של הפעולות שעשינו עד כה, ניתן ללחוץ על Back על מנת לחזור לכל אחד מהשלבים שראינו או לחילופין על עריכה של אחת מהאופציות הפתוחות לנו במצב זה:

אופציות העריכה בעמוד זה :

לאחר שעברנו על כל הסעיפים יש לוודא שהקוביה של אישור התנאים מסומנת וניתן לבצע עריכה על ידי לחיצה על הכפתור Modify Now .

בתקלות ובעיות נוספות ניתן לפתוח קריאת שירות באתר בקישור הבא : קריאת שירות

חדש! תכנון חלקים קלי משקל ב-SOLIDWORKS & 3DEXPERIENCE

אחד החידושים האחרונים שהצטרפו למשפחה זו הוא ה-Lattice Designer כלי מונחה פרמטרים לתכנון, אנליזה ואופטימיזציה של מבנה כוורת.

הפתרון מצטרף למשפחה המפוארת הקיימת כבר של פתרונות נוספים בתחום זה, עליהם כבר יצא לנו לדבר בעבר, כמו פתרון ה-Generative Design לפי אנליזות חוזק ואנליזות זרימה.

ולפתרון הנוסף הוא ה-Composite Designer שמאפשר לתכנן חלקים והרכבות מחומרים מרוכבים, לבצע עליהם אנליזה ואופטימיזציה לכל שכבה ושכבה של החומר.

ה-LATTICE DESIGNER הוא כלי היושב בפלטפורמת ה 3DEXPERIENCE . כל משתמשי SOLIDWORKS יכולים לרכוש אותו ולהשתמש בו. הכלי מאפשר לתכנן מבנה חומר "חזרתי" העשוי מקורות תלת-מימדיות. הקורות הן גליליות עם רדיוס קבוע (נכון להיום). אותו מבנה משוכפל בכל הכיוונים וממלא את כל המודל או נפח מוגדר בתוכו.

בדומה לכלי ה-Generative Design, גם כאן אנחנו מקבלים את כל התהליך בסביבה אחת. מתחילים מתכנון חלק הבסיס ב SOLIDWORKS ומשם ממשיכים לעקוב אחר  ה- WIZARD שבפלטפורמת ה- 3DEXPERIENCE שמנחה אותנו שלב שלב -החל מבחירת אזורי ה LATTICE , סוג ה LATTICE ,ביצוע אנליזה לפי תנאי השפה והעומסים שקובעים ועד יצירת גאומטריה חלקה שבה המבנה מתחבר עם FILLETS לגוף המקורי . התהליך ממשיך להכנה להדפסה. מכיוון שהתהליך מקצה לקצה נעשה באותה סביבה פרמטרית ניתן בכל שלב לחזור אחורה לבצע שינויים ולעדכן – החל מחלק הבסיס שבנינו ב SOLIDWORKS . ככה זה נראה:

ניתן לבחור מתוך ספרייה את סוג ה- LATTICE הנדרש, מימדים שונים ומערכות קואורדינטות שונות. בסופו של דבר, ניתן להשוות ביניהם ולבחור לא רק צורה מתאימה אלא את הצורה האופטימלית ביותר.

טכנולוגיות אלו אין לא חלק מהעתיד, הן כבר כאן מזמן רק שעכשיו הפכו לפשוטות יותר ונגישות לכולם. למי זה מתאים? חברות שחשוב להן לצמצם משקל, שמשתמשות בהדפסת תלת-מיימד ורוצות להוזיל עלויות הדפסה, לבזבז פחות חומר ולהיות יותר ירוקות ועוד.

SOLIDWORKS and Altium Designer Collaboration – 2023 New Features

מי שלא מכיר, מדובר בממשק שפותח ע"י חברת Altium ויוצר מעיין שפה משותפת ועבודה על אותם קבצי עריכה בין המהנדס המכאני למהנדס האלקטרוני.

למי שרוצה להעמיק יותר, ניתן לצפות בוובינר בנושא עבודה משולבת של מכאניקה ואלקטרוניקה.

החידוש הראשון והדיי חשוב הוא תמיכה ואינטגרציה של Altium Co-Designer  עם תוכנת הניהול SOLIDWORKS PDM, דבר אשר ממצב את הממשק הזה גבוה מאוד בכל מה שקשור במערכת אחודה אשר יכולה לספק ECAD-MCAD BOM ובכך לקבל את הBOM המלא של המוצר שלכם.

החידוש השני הוא חידוש שהמון לקוחות ציפו לו זמן רב והוא היכולת לבצע כיפוף ויישור של מעגל מסוג גמיש – קשיח. בעבר מעגלים מסוג זה היו צריכים להגיע אל המהנדס המכני בצורתם המוגמרת ולמהנדס המכני לא היתה בהם שום נגיעה. אם היה רוצה לשנות את מאפייני המעגל הגמיש היה עליו לערוך SHEET METAL והדבר לא היה סימפטי.

כעת, ניתן להעביר מעגל גמיש קשיח למהנדס המכאני ובפאנל CoDesigner שבתוכנת SOLIDWORKS יופיע לחצן מסוג – UNFOLD/FOLD.

החידוש השלישי הוא היכלות לראות את היסטוריית הפרויקט המנוהל ישירות בתוכנת SOLIDWORKS.

כידוע כאשר פרויקט עובר דרך ממשק CoDesigner הוא בהכרח ינוהל ב-Altium 365 ולכן כל שינוי מכני כזה או אחר יופיע בהיסטוריית הפרויקט כאשר כיום ניתן לראות את ההיסטוריה ישירות דרך הממשק המכני.

החידוש הרביעי הוא היכולת לממשק אל תוך SOLIDWORKS הרכבה של מעגלים ישירות דרך Altium Designer . נשתמש ביכולת זו כאשר המוצר שלנו מורכב מכמה מעגלים ואם וכאשר נבנה אותם כך בתוכנת Altium Designer נוכל להעבירם דרך הממשק המכני כך שהמהנדס המכני יוכל למקם אותם בהרכבה שלו ולבדוק התנגשויות.

נשמח לענות לכם על שאלות במידה ויש, מוזמנים להגיב לנו כאן למטה או לפנות אליי אישית,

תודה רבה ונתראה בבלוג הבא,

בן מימון