
יומיים לפני מועד הגשת תוכניות עבודה, סקריפט אוטומציה של מספור דלתות ובדיקת דירוגי אש מפסיק לעבוד. על המסך נמתחת רשת של שבעים צמתים גרפיים שמחוברים בחוטים מפותלים, ושגיאה פנימית באחת מחבילות ההרחבה החיצוניות עוצרת את התהליך כולו. במצב כזה, איתור התקלה בתוך סבך החיבורים גוזל שעות יקרות של עבודה משרדית דחופה.
הפתרון המעשי למבוי הסתום הזה נמצא במעבר לצומת קוד ייעודי בתוך סביבת האוטומציה. כתיבת פקודות בשפת פייתון מחליפה עשרות צמתים ויזואליים בשורות בודדות של לוגיקה חדה, ומאפשרת גישה ישירה אל מאגר הנתונים של התוכנה.
במשרדי תכנון רבים, שימוש ברכיבים גרפיים מובנים בלבד מגיע לתקרת זכוכית ברגע שהפרויקטים גדלים. כדי לעבור את התקרה הזו צריך לדעת לפתח סקריפטים יציבים, לטפל נכון בפרמטרים ולא לפגוע במודלים פעילים.
900+
בוגרי האקדמיה
50+
משרדים שהכשרנו
15+
שנות הדרכה
מרכז הדרכה מורשה של Autodesk
עיקרי הדברים
- צומת קוד פייתון מחליף עשרות צמתים גרפיים בשורות בודדות של לוגיקה, ומאפשר גישה ישירה אל מאגר הנתונים של הפרויקט.
- משנים פרמטרים במודל פעיל רק בתוך טרנזקציה מנוהלת, עם הבחנה בין פרמטר מופע לפרמטר טיפוס ועם המרת יחידות מידה.
- סקריפט משרדי יציב כולל בדיקות קלט, לכידת שגיאות ותיעוד, בניגוד לקוד נקודתי שנשבר במעבר בין מודלים.
- לא נדרש רקע במדעי המחשב אלא שליטה עצמאית במשתנים, בתנאים, בלולאות וברשימות.
תוכן העניינים
- איך מתחילים לעבוד עם Python Dynamo רוויט?
- מה זה Dynamo Python Node ואיך מעבירים נתונים?
- ההבדל בין סקריפט נקודתי לאוטומציה משרדית רחבה
- מה מונע פגיעה במודל בזמן שינוי פרמטרים דרך Python Dynamo רוויט?
- האם תכנות פייתון ברוויט מחייב רקע קודם במדעי המחשב?
- למה סקריפט נכשל בתוך Dynamo Python Node ואיך מאתרים תקלה?
- איך שולטים במבנה רשימות ב-Python Dynamo רוויט?
- אילו תרגילים פרקטיים מפתחים שליטה ב-Python Script Dynamo?
- עקרונות לכתיבת קוד יציב שמתאים לצוות תכנון
איך מתחילים לעבוד עם Python Dynamo רוויט?
כדי להתחיל לעבוד עם Python Dynamo רוויט פותחים את ממשק Dynamo מתוך לשונית הניהול בפרויקט, מניחים על משטח העבודה צומת מסוג Dynamo Python Node, ופותחים את עורך הטקסט בלחיצה כפולה. בתוך העורך מופיע שלד קוד ראשוני שמייבא את ספריות הליבה של RevitServices ושל מנוע התוכנה. לפני שמפתחים תהליכים מורכבים, מומלץ להכיר היטב את העבודה עם Dynamo למתחילים כדי להבין את מבנה הנתונים הכללי.
כדי לבדוק את הצומת, מחברים מחרוזת טקסט או ערך מספרי אל ערוץ הקלט הראשון ומעבירים אותו ישירות אל משתנה היציאה. בדיקה זו מאמתת שמנוע הפייתון מגיב ומחזיר נתונים ללא שגיאות תחביר. אבל כשדרישות המידול כוללות סינון רב-תנאי של אלמנטים או לולאות מורכבות, צמתים גרפיים רגילים יוצרים עומס ויזואלי שמקשה על תחזוקת הקובץ. קוד כתוב מאפשר לאחד עשרות פעולות שרשור לוגיות לתוך תהליך רציף אחד.
מה זה Dynamo Python Node ואיך מעבירים נתונים?
צומת מסוג Dynamo Python Node מתפקד כמתאם שמריץ קוד פייתון ישירות בתוך הגרף החזותי, מקבל את נתוני הכניסה דרך רשימת קלט ייעודית ומחזיר את התוצאה המעובדת לרשת דרך משתנה פלט מרכזי. כל חיבור פיזי של חוט אל פסי הפלוס של הצומת מקבל אינדקס מספרי עוקב ברשימת הקלט. משתנה הפלט מחזיר אלמנט בודד, רשימה שטוחה או מילון נתונים להמשך שימוש בשרשרת המידול.
זיהוי מדויק של מבנה המידע הנכנס מונע את מרבית תקלות הריצה. אם הקלט מכיל רשימה מקוננת של אלמנטים בעוד שהקוד מצפה לאובייקט בודד, התהליך יקרוס מיד בהרצה. לכן בודקים את סוג המשתנה בראשית הקוד, פורקים את האיברים בזהירות ומבצעים את הפעולה בלולאה מסודרת. כך הנתונים עוברים עיבוד עקבי לפני שהם חוזרים לגרף.
ההבדל בין סקריפט נקודתי לאוטומציה משרדית רחבה
סקריפט נקודתי נכתב כדי לפתור צורך רגעי של עובד בודד בקובץ ספציפי, בעוד שאוטומציה משרדית מהווה תשתית עבודה יציבה שמשרתת את כלל הצוות ומתאימה לטמפלט המשרדי. קוד מהיר ללא בדיקות הגנה נשבר לעיתים קרובות כשמעבירים אותו למודל אחר. שינוי קל בשם של פרמטר משותף, קטגוריה חסרה או אלמנט נעול עלולים לעצור את התהליך כולו.
כדי לבנות כלי עבודה אמין למחלקה שלמה, מכניסים לקוד בדיקות מוקדמות שמוודאות שהשדות הנדרשים קיימים ומחזירות הודעות הסבר ברורות במקום שהמערכת תקרוס. משרדים שמבקשים לגבש סטנדרט עבודה אחיד ולהטמיע תהליכי אוטומציה סדורים בצוותי המידול מסתייעים במסגרת של הכשרת רוויט למשרדי תכנון. אחידות זו בשדות המידע ובפרמטרים הכרחית לעמידה בדרישות תיאום תכנון, כפי שמופיע בפרק 81 של המפרט הכללי ל-BIM.
| מאפיין העבודה | סקריפט נקודתי למשתמש יחיד | כלי אוטומציה משרדי מוטמע |
|---|---|---|
| אימות שמות פרמטרים | מניח שמות קבועים מראש וללא בדיקה מקדימה | בודק קיום פרמטרים במודל לפני ביצוע פעולות כתיבה |
| התמודדות עם שגיאות | עוצר את הריצה ומציג חלון שגיאה כללי | מבודד אלמנטים בעייתיים ומפיק דוח שגיאות מפורט לצוות |
| תאימות לטמפלט | מותאם לקובץ מקומי יחיד | נשען על שדות מידע אחידים בהתאם לסטנדרט המשרדי |
| תחזוקה ושדרוג גרסאות | תלוי בידע אישי של כותב הקוד המקורי | מתועד ומנוהל כחלק מנהלי העבודה השוטפים במשרד |
מה מונע פגיעה במודל בזמן שינוי פרמטרים דרך Python Dynamo רוויט?

כדי לשנות פרמטרים בעזרת Python Dynamo רוויט בלי לפגוע במודל, מבצעים את השינויים רק בתוך טרנזקציה מנוהלת ומאובטחת דרך מנהל הטרנזקציות הפנימי. רוויט אינה מאפשרת שינוי ישיר של נתונים במסד המודל ללא פתיחה וסגירה מפורשת של טרנזקציה. אם הקוד רץ מחוץ למסגרת זו, השינוי לא יישמר בזיכרון הפרויקט.
צריך גם להבדיל בין שינוי של פרמטר מופע לבין עריכת פרמטר טיפוס. עדכון שגוי של ערך טיפוס עלול להשפיע על מאות אלמנטים ברחבי הבניין במקום על הרכיב שנבחר. סוגיה נוספת נוגעת להמרת יחידות מידה פנימיות. התוכנה מנהלת ערכי אורך, שטח ונפח ביחידות תקניות פנימיות, ולכן חובה להמיר את המספרים בהתאם ליחידות הפרויקט לפני הזנתם.
בדיקות בטיחות הכרחיות לפני כתיבה למודל פעיל
אימות קלט מסודר מונע השחתת נתונים בגיליונות ההגשה. לפני פתיחת הטרנזקציה בודקים שרשימת הקלט אינה מכילה ערכים ריקים שעלולים לעצור את הלולאה. מוודאים גם שהאלמנט אינו משתייך למודל מקושר שנעול לעריכה, שכן ניסיון כתיבה לקובץ כזה מוביל לשגיאת הרשאה מיידית.
שלב קריטי נוסף הוא בדיקה שהפרמטר אינו מוגדר לקריאה בלבד לפני הפעלת פקודת העדכון. מומלץ לתכנן מצב הרצה מקדים שמחזיר את רשימת השינויים הצפויים אל משתנה היציאה, כדי שהמתכנן יוכל לסקור את הערכים בטבלה לפני החלתם על מסד הנתונים של הפרויקט.
האם תכנות פייתון ברוויט מחייב רקע קודם במדעי המחשב?
כדי לכתוב סקריפטים שימושיים ברוויט לא צריך תואר במדעי המחשב אלא שליטה בפועל במשתנים, בתנאים לוגיים ובלולאות ויכולת לכתוב פונקציות פשוטות ולעבוד עם רשימות ומילונים. קוד המיועד לתחום התכנון והבנייה אינו עוסק בפיתוח מערכות רשת או אלגוריתמים תאורטיים. המטרה המרכזית היא שליטה במאפיינים של אלמנטים הנדסיים ואדריכליים.
עיקר העבודה השוטפת מתמקד באיטרציה על פני אוספי אלמנטים, ובסינון רכיבים לפי תנאים פיזיים ומרחביים. תרחיש נפוץ הוא איתור כל הקירות שגובהם חורג מגובה שנקבע מראש וחילוץ המזהה הייחודי שלהם לצורך סימון בתוכניות. לכן הבנת המבנה של ישויות הבניין חשובה יותר משינון עיוור של פקודות תכנות כלליות.
אפשר להתחיל לפני שמחליטים.
השיעור הראשון של כל קורס הוא חינם, לקוח מתוך הקורס המלא, ולא צריך כרטיס אשראי כדי לצפות בו.
למה סקריפט נכשל בתוך Dynamo Python Node ואיך מאתרים תקלה?
סקריפטים נכשלים לעיתים קרובות בגלל חוסר התאמה בין אובייקט מעטפת של דיינמו לבין אובייקט תוכנה מקורי, קבלת ערכים ריקים במהלך איטרציה, או הבדלי תחביר בין מנועי הפייתון השונים. כשצומת מקבל אלמנט מהגרף הוויזואלי, מדובר באובייקט עטוף. כדי לגשת למאפיינים ולמתודות המקוריות של רוויט, פורקים את המעטפת בעזרת פקודת החילוץ הייעודית.
שינוי מנוע הריצה בגרסאות התוכנה העדכניות, מגרסת פייתון היסטורית למנוע פייתון 3 המודרני, דורש התאמות קלות באופן הטיפול במחרוזות ובספריות חיצוניות. לאיתור תקלה יעיל משתמשים במבנה מבוקר של לכידת שגיאות. מנגנון זה מבודד את האלמנט הפגום, מונע את קריסת התהליך כולו ומחזיר ללוח הבקרה פירוט מסודר של התקלה.
איך שולטים במבנה רשימות ב-Python Dynamo רוויט?
עבודה נכונה עם רשימות מורכבות מחייבת הגדרה מוקדמת של רמת ההיררכיה הרצויה בנתונים, לצד כתיבת לוגיקה שמטפלת באופן אחיד בפריט בודד וברשימת פריטים מרובה. בצמתים גרפיים רגילים, ניהול רמות רשימה וחיבורים מוצלבים גורם לטעויות בלתי צפויות. כתיבת לולאה מפורשת בקוד מעניקה שליטה מוחלטת על מעבר בין קומות, חללים ואלמנטים מוכלים.
החזרת מבנה נתונים שגוי למשתנה הפלט עלולה לשבור את הצמתים הבאים בגרף. אם צומת המשך מצפה לקבל רשימה שטוחה של דלתות אך מקבל רשימה רב-שכבתית המחולקת לפי חדרים, יצירת הגיליונות תיכשל. תכנון היררכיה נכונה שומר על רציפות המידע ומייצב את העבודה.
נרמול קלטים כדי למנוע קריסת גרף
נרמול קלטים מונע שגיאות הנובעות משינויים באופן בחירת האלמנטים במודל. תחילה בודקים אם הנתון הנכנס הוא רשימה של איברים או פריט יחיד שנבחר בעזרת העכבר. אם מדובר בפריט בודד, עוטפים אותו באופן אוטומטי בתוך רשימה בעלת איבר אחד.
מהלך זה מאפשר להריץ את אותה לולאת עיבוד עבור כל סוגי הקלט מבלי לכתוב תנאים מפוצלים. במקביל מסננים איברים ריקים מתוך הרשימה לפני שליחתה לפקודות העריכה, ובכך מונעים עצירה פתאומית של תהליך החישוב.
אילו תרגילים פרקטיים מפתחים שליטה ב-Python Script Dynamo?

שליטה מקצועית בעבודה עם Python Script Dynamo מתפתחת דרך תרגול משימות שמדמות שגרת משרד אמיתית, כמו חילוץ נתוני הגנה מאש, עדכון אוטומטי של תיאורי חדרים ובקרת איכות על שיוך אלמנטים לקומות. פתרון משימות אלו מייצר בסיס מוצק עבור ייעול תהליכים באוטומציה ברוויט ברמת הפרויקט המלא. האקדמיה לרוויט, מרכז הדרכה מורשה של Autodesk, בונה את ההדרכה סביב הגישה הזו. כל תרגיל נבדק אישית בידי מתרגל וחוזר עם הערות, וכל לומד מקבל לו”ז אישי ל-3 חודשים שמותאם לקצב ההתקדמות שלו.
| שלב תרגול | משימה תכנונית במודל | מנגנון הפייתון המרכזי | תוצר סופי בפרויקט |
|---|---|---|---|
| איסוף מידע וסינון | שליפת דלתות וחילוץ פרמטרי עמידות באש | איטרציה על אלמנטים ובדיקת ערכי מחרוזת | טבלת נתונים מסוננת לבדיקת תאימות לתקן |
| עדכון תנאי מבוקר | הזנת הערה לחדרים ששטחם קטן מתקן מוגדר | מבנה תנאי לוגי והשמת ערך בטרנזקציה | הערה תכנונית אוטומטית בתוכנית הקומה |
| בקרת איכות מודל | איתור רכיבים ללא שיוך מפלס תקין | זיהוי ערכים ריקים וחילוץ מזהה ייחודי | דוח ליקויים עם מספרי מזהה לבדיקת הצוות |
| מספור וסימון גיאומטרי | מספור רציף של אלמנטים לפי מיקום במרחב | מיון רשימות לפי ערכי קואורדינטות | תגי סימון עקביים על גבי גיליונות ההגשה |
עקרונות לכתיבת קוד יציב שמתאים לצוות תכנון
כתיבת קוד יציב דורשת שימוש בשמות משתנים בעלי משמעות הנדסית ברורה, פירוק התהליך לפונקציות קצרות וייעודיות, והימנעות מקריאות מיותרות למסד הנתונים של הפרויקט. משתנים הנושאים שמות עמומים מקשים על מתכננים אחרים להבין את הלוגיקה ולתחזק את הכלי לאורך זמן. לעומת זאת, שמות המגדירים במפורש את סוג האלמנט ואת פעולת הסינון מאפשרים קריאה שוטפת ותיקון מהיר בעת הצורך.
כדי שהסקריפט ירוץ מהר, משתמשים במסננים מובנים כבר בשלב שליפת הנתונים, במקום למשוך את כל אלמנטי הפרויקט אל זיכרון המחשב ולסנן אותם בלולאות איטיות. לפני שמשחררים סקריפט חדש לשימוש רחב בכלל עמדות המחשב במשרד, בודקים את יציבותו על גבי קובץ בדיקה נפרד שאינו קשור למודל המרכזי הפעיל. בדיקה זו מאמתת שהקוד פועל כהלכה גם על מודלים עתירי מידע מבלי לגרום להאטה בעבודה השוטפת.
מי שמעוניין לבחון את התאמת הכלים לסביבת העבודה שלו יכול להתנסות דרך השיעור הראשון בחינם, או לפנות לצוות שלנו לבירור מקצועי בטלפון 09-306-2849 בימים ראשון עד חמישי בין השעות תשע בבוקר לחמש אחר הצהריים.
לא רק ללמוד רוויט. לעבור לעבוד ברוויט.
לא בטוחים איזה קורס או מסלול מתאים לכם? אפשר לדבר איתנו בטלפון 09-306-2849 או להשאיר פרטים ונחזור אליכם.
מה אומרים הבוגרים שלנו
“קורס מעולה! לא נתקלתי עוד בקורס מפורט כזה לאדריכלי נוף. בנוי ללמידה הדרגתית, סרטונים מוסברים היטב, ותרגילים שאפשר לתרגל לבד בבית. ממליצה!”
“ממליץ מאוד ללמוד REVIT אצל דרור — מקצוען אמיתי שיודע להעביר את החומר בצורה מקצועית ומדויקת עם אינספור דוגמאות, המון סבלנות וירידה לפרטים. תוך חודש וחצי למדתי כלי עבודה מוביל בשוק ה-BIM וקיבלתי הרבה עבודות בזכות הידע. בטוח אקח עוד קורסים.”
“לאחרונה סיימתי קורס רוויט למעצבי פנים אצל דרור. הקורס היה יסודי, מעמיק וברור, והיה תמיד מענה ממנו ומהצוות לתמיכה טכנית ושאלות. ממליצה מאוד!”
שאלות נפוצות
האם השיעור הראשון בחינם הוא שיעור אמיתי מתוך הקורס?
כן. השיעור הראשון של כל קורס נלקח מתוך הקורס המלא, ולא צריך להשאיר כרטיס אשראי כדי לצפות בו. כך אפשר לבדוק את רמת ההדרכה ואת אופן העבודה בפורטל לפני שמחליטים.
כמה זמן לוקח לקבל מענה על שאלה שעולה במהלך שיעור?
שאלה שנשאלת מתוך שיעור בפורטל מקבלת מענה בתוך יום עסקים אחד. מתקיימים גם מפגשים מקוונים קבועים שבהם אפשר להעלות שאלות ולראות פתרונות על מסך.
מתי נקבע הלו”ז האישי ומה הוא כולל?
הלו”ז נקבע בפורטל ביום הקנייה, למשך שלושה חודשים, עם תאריך לכל שיעור ולכל תרגיל. הוא מותאם לקצב ההתקדמות של כל לומד, כך שברור בכל שלב מה צריך להגיש.
באיזה מסלול כדאי לבחור מי שרוצה ליווי צמוד?
כל קורס אפשר לקחת באחד משלושה מסלולים, בקצב שלי, עם מלווה אישי או עם כל הכלים. מי שרוצה ליווי אישי צמוד לאורך הלימודים בוחר במסלול עם מלווה אישי, ומי שמעדיף להתקדם לבד בזמנו שלו מתחיל במסלול בקצב שלי. אפשר להשוות בין האפשרויות בעמוד מסלולי הלימוד.
האם מכשירים גם צוותים שלמים במשרדים או סטודנטים במכללות?
כן. מכשירים צוותים שלמים במשרדי תכנון כך שהעבודה השוטפת של המשרד ממשיכה להתנהל, ועובדים גם עם מכללות. יש גם ליווי פרויקט וטמפלטים לרוויט למי שצריך תשתית עבודה מוכנה.
פייתון בתוך Dynamo לא נועד להחליף את הגרף החזותי אלא לייצב אותו, לקצר אותו ולהפוך אותו לכלי שכל המשרד יכול להריץ בלי לחשוש לשלום המודל. הדרך לשם עוברת בתרגול על משימות אמיתיות, בבדיקות בטיחות לפני כל כתיבה למסד הנתונים ובקוד קריא שאחרים יוכלו לתחזק. אפשר להתחיל מהשיעור הראשון בחינם, לבדוק את ההתאמה ולהמשיך משם.
צפו בסרטון הקורס
על האקדמיה לרוויט
את האקדמיה לרוויט הקים דרור וונגר, הנדסאי אדריכלות ומדריך מוסמך מטעם Autodesk. דרור מלמד רוויט כבר מעל 15 שנה, והדריך במהלכן מאות תלמידים ועשרות משרדים.



