Table of Contents
הבנה של דינמיות עבור Revit
בניית מודלים של מידע (BIM) גלגולים ב- Revit כרוכים לעתים קרובות במשימות חוזרות ונשנות, ידניות אשר מאטות את משלוח הפרויקט ולהגדיל את הסיכון של טעות אנושית. אדריכלים, מהנדסים ומנהלי BIM מוצאים עצמם לעתים קרובות הצבת אינספור אלמנטים, עדכון פרמטרים על פני מאות משפחות, או יצוא נתונים לדיווח. פעולות אלה לאכול לתוך זמן שניתן להשקיע על תכנון, פתרון בעיות או תקשורת.
Enter Dynamo - סביבת תכנות חזותית המשלבת ישירות עם Revit כדי להתאים את התהליכים המסוכנים הללו.Dynmo מאפשר למשתמשים ליצור תסריטים - הנקראים "גרפים" - תוך שימוש בממשק מבוסס צומת במקום לכתוב קוד מאפס, אתה גרר, יורד ומחבר נודים המייצגים אלמנטים רזוויים, פעולות גיאומטריה, לוגיקה מתמטית או נתונים.זה הופך גישה גמישה לאנשי מקצוע שלא יכולים להיות תכנות, בעודם, עדיין מציעים רקע מתקדם עבור משתמשים מתקדמים.
מה זה DIS?
דינמו היא פלטפורמת תכנות חזותית בקוד פתוח שפותחה על ידי Autodesk.It פועל כתוספת של Revit (וכלים אחרים Autodesk) ומספק סביבת ההוצאה להורג שלו. A Dynamo גרפן הוא למעשה סט של נודים מחווטים יחד כדי להגדיר רצף של פעולות.כל אחד לאד מקבל קלטות, תהליכים אותם, ותוצאות הגרפים משמאל, ואת התוצאות ניתן לדחוף בחזרה לתוך מודל, יצירת נתונים, ליצור מחדש, ליצור מסד נתונים, ליצור.
הפלטפורמה תומכת במערכת אקולוגית גדולה של חבילות קהילתיות, המרחיבות את יכולותיה.חבילות אלה מכילות בלוטות מוכנות למשימות כמו מניפולציה מתקדמת של רשימה, אלגוריתמי אופטימיזציה, או שילוב עם Excel וכלים חיצוניים אחרים. דינמו כולל גם צומת תסריט Python, נותן לך גישה מלאה ל- API Revit כאשר אתה צריך לוגיקה מעבר לחסימות הבנייה החזותית.
כיצד דינמימו אינפורטגרטס עם Revit
דינמו רץ בתוך אותו תהליך כמו Revit, כלומר זה יכול לקרוא ולשנות את מסמך Revit פעיל.כאשר אתה פותח דינמימו מן הכרטיסיה "ניהול" או "Add-ins", חלון נפרד מופיע מעל ממשק Revit.הגרף שאתה בונה יכול להתייחס לכל אלמנט במודל הנוכחי על ידי קטגוריה, משפחה, סוג או פרמטר.אתה יכול גם להשתמש ב- nodes כדי לבחור באופן ידני אלמנטים מנקודת מבט ראווה.
שילוב הדוק זה אומר שכל שינוי שנעשה על ידי דינמו הוא מיד משתקף במודל Revit – בדיוק כמו אם ביצעת את השינוי באופן ידני.You יכול ליצור, למחוק או לשנות אלמנטים, להגדיר ערכים פרמטרים, ולבחון מחדש את התיאום והאזהרות החלים לערוך ידניים חלים גם על שינויים מהונדסים, כך שלמות המודל שלך נשארת שלם.
תכנות חזותי Paradigm
תכנות חזותי עם דינמו שונה מתסריט מסורתי במקום לכתוב שורות קוד, אתה בונה זרמת של פעולות.כל אחד לאד יש שם (למשל, "Wall.ByLocationcation andHeight") ומוכרז בבירור יציאות קלט ופלט.You מחבר חוטים בין נמלים להעביר נתונים.
גישה חזותית זו מקלה להבין את ההיגיון במבט לאחור.זה גם מעודד ניסויים: אתה יכול לשנות במהירות את הקלט של Node או החלפת צומת עבור אחר ללא קוד כתב מחדש.עבור שיתוף פעולה צוות, גרפים ניתן לשתף כמו קבצי .dyn ושימוש מחדש על פני פרויקטים.
היתרונות העיקריים של DAMO
אימוץ דינמימו לאוטומציה חוזרת מניב שיפורים משמעותיים במספר ממדים. להלן היתרונות העיקריים עם דוגמאות קונקרטיות.
- (FLT:0) חיסכון בזמן דרמטי: FLT:1cio משימות הדורשות שעות כאשר נעשה באופן ידני ניתן להשלים בתוך שניות עם גרף כתוב היטב.לדוגמה, הצבת 500 לוחות קומה ייחודיים עם מקטעים שונים ופרמטרים עשויים לקחת יום באופן ידני; גרף דינמו יכול לסיים בתוך דקה.
- (FLT:0) Unwaveing עקביות: FLT:1 תהליכי ידני הם נוטים פיקוח - מרכיב כאן עם פרמטר לא נכון, קיר שלא תואמים לרשת.Dנמו חל את אותם כללים בכל פעם, ביטול ריקנות.זה קריטי עבור בקרת איכות בפרויקטים גדולים שבו חברי צוות מרובים לתרום לאותה מודל.
- (FLT:0) גיאומטריה המורכבת עשה קל:FLT:1 כמה חקרי עיצוב - כגון חזיתות מטאמטריות, צורות גג אורגניות, או תבניות הרצפה המונעות על ידי נתונים - הם לא מעשיים למודל על ידי יד.
- (FLT:0) ניהול נתונים של נתונים:FirLT:1 , לחלץ מידע ממודל Revit לדיווח, הערכת עלויות או תיאום הוא לעתים קרובות מייגע.עם דינמו, אתה יכול לייצא לוחות זמנים, תכונות אלמנט וערכים פרמטר ישירות ל- Excel או ל- CSV קבצים.conversely, אתה יכול לקרוא נתונים ממקורות חיצוניים (למשל, גיליון של דרישות החדר להפיץ באופן אוטומטי) ולהשתמש בו באופן אוטומטי כדי לעדכן את המודל.
- (FLT:0) אחריות וכדאיות: ההרחבה 1 (ב) ברגע שאתה יוצר גרף, אתה יכול להשתמש בו מחדש על כל פרויקט עם שינוי מינימלי.חברות רבות לבנות ספריות סטנדרטיות עבור משימות נפוצות - כמו הגדרת תבניות תצוגה, יצירת סדינים, או ניקוי קבצים מיובאים.
להתחיל עם התסריט הראשון שלך
כדי להתחיל לבצע משימות ב-Revit עם דינמו, בצע את השלבים הבאים.התהליך הוא זהה אם אתה משתמש ב-Revit 2021 או בשחרור האחרון.
התקנה והגדרה
גרסאות אחרונות של Revit (2019 ואילך) כוללות את דינמו עבור Revit כ- מובנה-in להוסיף-in.You יכול לשגר אותו ישירות מהכרטיסיה "ניהול" תחת "תוכנית וירטואלית" וgt; "Dynamo" אם אתה משתמש בגרסה ישנה יותר או צריך את המהדורה האחרונה של דינמו, להוריד את ההתקנה של אתר האינטרנט הרשמי של LT:0 רשמי של דינמו, מתקין את ה- 1 ל-אשר מגיע גם עם העורך הראשי של ה-Dynamos, אשר מאפשר לך רק כדי להפעיל את העורך הראשי של הגרף, אשר מאפשר לך רק כדי להפעיל את הגרף ה-DLT.
ניווט ב-Dymo Interface
כאשר אתה פותח את דינמו, אתה רואה בד חלל עבודה, פאנל ספריה משמאל, ואת סרגל הכלים בחלק העליון של הספרייה מקטטט את כל הנקודות הזמינות על ידי ספרייה (למשל, "Geometry", "Revit", "מידע", "מידע", "דיסקפלספליי") אתה יכול לחפש צמתים על ידי שם.הכלי כולל כפתורים עבור הפעלת הגרף (autotomatic אומטי), ידני, שמירה על החבילה.
הבד הוא המקום שבו אתה בונה את הגרף שלך.לחץ על הבד כדי להוסיף במהירות נקודות, ליצור בלוקים קוד (עבור קיצור Python או DesignScript ביטויים), או לנהל קבוצות.פרקטיקה יעילה היא לחלקים הקשורים לגרף שלך עם טקסט overlay (a "קבוצה" node) כדי לתעד את מטרתו.
לבנות גרף פשוט
תסריט קלאסי: מקום שנבחר לרמות עם לוחות הרצפה, בואו נסביר את השלבים:
- הוסף "Categories" Node ובחר "Floors" ו "הההלבות" מהירידה.
- השתמש "כל האלמנטים של קטגוריה" כדי לקבל את כל האלמנטים ברמת המודל.
- יש צורך ב"התעלה" של כל רמה עם "הלב" (ויקרא י"ד).
- צור עקומה מלבנית בכל רמה באמצעות "Rectangle.ByWidthLength" Connect The Ascension כדי לקבוע את גובה המטוס.
- השתמש ב-"Floor.ByOutlineType andLevel" כדי ליצור סלאב הרצפה לכל רמה.ספק סוג קומה (למשל, "Generic 12") על ידי בחירתו מ"סוגים Floor".
- הפעל את הגרף דינמו יניח קומה בכל רמה במודל.
גרף פשוט זה מציג את זרימת הנתונים הבסיסית: לקבל אלמנטים תמציתיים של תכונות ליצור גיאומטריה - לדחוף תוצאות בחזרה כדי להחיות.
בדיקות ווויכוח
לפני יישום גרף לפרויקט חי, לבדוק אותו על עותק של המודל או מדגם קטן.דינמו מספק כמה עזרי פיזור: צפה nodes להראות את הנתונים העוברים דרך חוט; להקפיא צמתים זמנית להשעות את ביצוע; ו "Is" nodes Check תנאים. השתמש "Watch 3D" חלונות תצוגה מקדימה כדי לאמת גיאומטריה לפני שהוא נוצר ב Revit.תמיד לשמור את המודל לפני הפעלת כל גרף כי אם זה משנה.
טכניקות אוטומציה מתקדמות
ברגע שאתה נוח עם גרפים בסיסיים, אתה יכול לפתוח אוטומציה חזקה יותר על ידי שילוב של תסריט, חבילות צד שלישי, ושיחות API ישירות.
צילום: Python Script Nodes
דינמו כולל "Py Script" node המאפשר לך לכתוב קוד Python עם גישה מלאה ל- Revit API.זה שימושי עבור לוגיקה כי יהיה מחוספס או בלתי אפשרי עם צמתים חזותיים לבד - כגון סניף מורכב תנאי, לולאות על רשימות של אלמנטים עם פעולות מותאמות אישית, או חישובים חושיים.סביבת פייתון כולל את הספריות סטנדרטיות (למשל מתמטיקה, JavaScript, , ייבוא) ו-JAPI.
לדוגמה, כדי לנבא את פרמטר "ההגדרות" על כל הדלתות עם מצב מסוים, כמה שורות של Python בתוך צומת תסריט יכול להיות יותר אמין מאשר סבך של רשימה.Fiter וקוד חסום צומת.
עקבו אחרי Dudmo Pack Manager
מנהל החבילה של ההרחבה של ההרחבה (FLT:0) Dynamo Software Manager: The Hundred of Community-מפותח את יכולותיה של דינמו.
- (ב) ⁇ :0) ⁇ (ב) , ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- (ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- (ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- (ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
כדי להתקין חבילה, ללכת ל-Dudmo Toolbar ובחר "Packages" > "חיפוש אחר חבילה" סוג השם (למשל, "Clockwork"), לחץ על ההתקנה, והפעלה מחדש של דינמו.
עבודה עם Revit API באמצעות דינמו
דינמו חושף חלק גדול של ממשק API Revit, אך לא כל שיטה זמינה כצומת חזותי.טיון תסריט נודס נותן לך גישה מלאה API.You יכול להשתמש בעסקאות כדי ליצור, למחוק או לשנות אלמנטים; להירשם לאירועים UI; או אפילו להפעיל תהליכים חיצוניים.לדוגמה, אתה יכול להשתמש ב- Revit API כדי לשכפל תצוגות עם הגדרות ספציפיות, לייצא קבצים באמצעות אפשרויות צומת מותאם אישית, או לנתח אלמנטים.
תסריט Python טיפוסי ב- Dynamo מתחיל על ידי קבלת ההתייחסות של מסמך Revit:
(ב) .
לאחר מכן אתה יכול להשתמש בשיטות API סטנדרטיות במסגרת העסקה של דינמו (הפצה של הקוד שלך בעסקה) הפלט של הצומת Python נשלח בחזרה כאובייקט דינמי.
שימוש ב-Information
דוגמאות בעולם האמיתי הבאות מראות מה דינמו יכול לעשות בעבודה יומיומית.
קומה אוטומטית וקיר מקום
השתמש בקוביות מקרה יוצר חדרים ורצפות: משמות של Excel, אזורים ורמות, דינמו יכול לקרוא את הנתונים, ליצור חדרים במודל, ולהקצות הרצפה מסתיימת לכל חדר בהתבסס על סוג השימוש.
עדכון Batch Parameter
תרחיש נפוץ: יצרן משחרר קו מוצר חדש, ומשפחות Revit המקבילות זקוקות ל"מספר הדל" שלהן, "Cost", ו"URL" פרמטרים מעודכנים.במקום לפתוח כל משפחה ופרמטרים של עריכה ידנית, באפשרותך לכתוב גרף דינמימו כי הוא מתעד בכל המקרים של סוג משפחה זה בפרויקט ולהגדיר את הערכים החדשים.
מידע על Excel
עבור דיווח ועלויות הערכה, לחלץ נתונים אלמנטיים - לוחות זמנים עם ממדים, חומרים, דירוגי אש, ו ערכות חומרה - ל- Excel.D. Dynamo 'Data.ExportCSV' או חבילת Excel יכול לכתוב לתוך גליון מבוזר מעוצב.You יכול גם למשוך נתונים מ- Excel לתוך דינמו כדי לנהוג גיאומטריה, יצירת אלמנטים של איסוף נתונים כמו דיאגרמות או תוכניות צבעוניות על בסיס חדרים על בסיס פרמטרים.
מודל ניקוי ואידיוליט
מודלים גדולים של Revit לעתים קרובות לצבור שכבות, קבוצות, או אלמנטים משוכפלים. דינמו יכול לסרוק את המודל לתנאים כמו קירות חופפים, אלמנטים ללא סיווג, או קבוצות לא מטוהרות.זה יכול אז למחוק אותם או לדגל אותם עם פרמטר משותף.זה שימושי במיוחד עבור תאימות BIM לפני הגשת מודל ללקוח או מודל מוזן.
Best Practices for הפקה תסריטים
כדי להבטיח כי גרפים ה-Dudmo שלך אמינים, שמירה, וביצוע, לעקוב אחר ההנחיות האלה.
בקרת גרסאות ותיעוד
התייחסו לקבצים של .dyn כקוד: לאחסן אותם במערכת בקרת גרסאות (למשל, Git) כדי לעקוב אחר שינויים ולשתף פעולה. השתמש בשמות קבוצתיים תיאוריים והודעות על הבד כדי להסביר את מטרת הגרף ואת קלטות.בתוך פייתון נודס, להוסיף docstrings והערות. Libraries of גרמים צריך לכלול קובץ מוכן עם הוראות לשימוש וגירסאות צפויות.
טעות
הנחות קשיחות (למשל, מצפה אלמנט מסוים להתקיים) יכול לגרום גרף להיכשל. השתמש בבלוטות כמו "Object.IsNull" ו "List.Fiter ByBoolMask" כדי לטפל בנתונים החסרים בחסד.עבור תסריטי פייתון, עוטפים חלקים קריטיים ב- Try-blocks והחזרת הודעות שגיאה כמו פלטים.
אופטימיזציה
מודלים רזים יכולים להיות גדולים, כך גרפים לא יעילים יכולים להאט באופן דרמטי.לדוגמה, להימנע משימוש ב"כל האלמנטים של קטגוריה" בתוך לולאה אם רק צריך תת-קבוצה. במקום, לאסוף את כל האלמנטים פעם ולאחר מכן לסנן. השתמש "List.Map" ו "List.combine" במקום לולאות מקונן.
מסקנה
משימות רזוויאט עם דינמו אינן רק פריצה פריון – זהו שינוי יסודי כיצד אנשי מקצוע BIM ניגשים לעבודה שלהם.על ידי החלפת תהליכים ידניים, שגיאות-פרון עם זרימות עבודה חוזרות ונשנות, אתה משחרר אנרגיה נפשית לחדשנות עיצוב ותיאום הפרויקט. עקומת הלמידה הראשונית משלמת דיבידנדים במהירות: אפילו גרף פשוט שמחסוך 30 דקות ביום מוסיף עד 120 שעות.
החל משימה אחת חוזרת שאתה עושה לעתים קרובות - אולי הצבת רשתות או לייצא לוחות זמנים - ולבנות גרף כי שותפים זה לזה, כמו הביטחון שלך גדל, לחקור את מנהל החבילה, לצלול לתוך פייתון, ולשתף את הגרפים שלך עם הצוות שלך.הקהילה סביב דינמו הוא תוסס ועוזר; משאבים כמו FLT:0Dynamo PrimerLTFir 1 ו-Fillo:2Dynm:
אוטומציה BIM כבר אינה אופציונלית בתעשייה תחרותית.עם דינמו, יש לך את הכלים לעבוד חכם יותר, לא קשה יותר, ולספק מודלים איכותיים יותר בפחות זמן.