ARCHICAD: גילוי GDL: תכנות לאתגרים הייחודיים של האדריכל

ARCHICAD: גילוי GDL: תכנות לאתגרים הייחודיים של האדריכל
ARCHICAD: גילוי GDL: תכנות לאתגרים הייחודיים של האדריכל

וִידֵאוֹ: ARCHICAD: גילוי GDL: תכנות לאתגרים הייחודיים של האדריכל

וִידֵאוֹ: ARCHICAD: גילוי GDL: תכנות לאתגרים הייחודיים של האדריכל
וִידֵאוֹ: Кирилл Пернаткин, DUTCH. Автоматизация проектирования в ARCHICAD: Grasshopper+GDL, 2024, אַפּרִיל
Anonim

חומר מומחה זה ממשיך את סדרת המאמרים "ARCHICAD: גילוי מחדש", שהחלה בדצמבר 2016 במאמר של ולדימיר סביצקי "יצירת מבנים וחילוץ רישומי עבודה מדגם", ואז המשיך בפרסומי סבטלנה קרבצ'נקו "ARCHICAD: גילוי מחדש. ויזואליזציה - הזדמנויות חדשות לאדריכל "ואלכסנדר אנישצ'נקו" צוות עבודה: עבודת צוות יעילה שלב אחר שלב ". המחזור נועד לעזור למשתמשים למצות את מלוא הפוטנציאל של ARCHICAD®… ביקשנו מהאדריכלים לשתף את החוויה האישית שלהם בשימוש בתוכנית תוך שימוש בגישות לא סטנדרטיות, בפונקציות לא נחקרות ותכונות חדשות שמשתמשים רבים אולי אפילו לא מודעים להן. כמפתחי אפליקציית ARCHICAD, אנו בטוחים שרק ידע מעמיק במוצר יכול לחשוף את מלוא ערכו ולהשפיע באופן מכריע על התוצאות, המהירות ואיכות עבודת המעצב. האם אתה מעדיף גם "נתיבים שלא נקראו"? האם יש לך ניסיון בשימוש בגישות לא סטנדרטיות בעבודה עם ARCHICAD, האם אתה משתמש באופן קבוע בתכונות המפורסמות ביותר של היישום? נשמח להזמין מחברים חדשים לשיתוף פעולה: [email protected]. סבטלנה קרבצ'נקו, אדריכלית בפועל, מדווחת:

זום
זום

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

נתחיל מהיסודות GDL (שפת תיאור גיאומטרי) היא שפת תכנות דמוית BASIC המיועדת לעבוד בסביבת ARCHICAD. הוא מתאר גופים מוצקים תלת-ממדיים (כגון דלתות, חלונות, רהיטים) וסמלים דו-ממדיים בחלון התכנון. אובייקטים אלה נקראים תכונות הספרייה.

למי שלפחות מכיר מעט תכנות, שליטה בשפה זו לא תהיה קשה. עם זאת, מתוך רצון מספיק, המחקר של GDL יהיה די בכוחו של אדם רחוק מסביבה זו. כל אדריכל למד גיאומטריה וגיאומטריה תיאורית בזמנו, בעל חשיבה נפחית מעולה, וזה כבר חצי מההצלחה. אינך צריך לנסות מיד לכתוב אובייקטים מורכבים, כדאי להתחיל בצורות הגיאומטריות הבסיסיות; ניתן ללקט מידע רב על ידי בחינת התסריטים של פריטי ספרייה אחרים. ובכן, מקור המידע העיקרי הוא מדריך ההתייחסות של GDL, אליו ניתן לגשת דרך תפריט העזרה בארכיקד עצמה. אז מדוע אדריכל יכול להרוויח מהידע של GDL? לדוגמא, בניגוד לגראסהופר, שבעזרתו ניתן ליצור מבנים מורכבים, GDL פשוט הכרחי לכתיבת סמנים והסברים שונים, כמו גם ליצירת רכיבים מיוחדים לתכונות או כלים אחרים בספריה. אחד היישומים הראשונים שלי של GDL בעבודתי היה יצירת עלה דלת לוח מיוחד, שכאשר לא הוחלף גודל, לא התרחב לכל הכיוונים, אלא רק שינה את מידות הפאנל. עובי המסגרת המתולתלת ורוחב הרתמה נותרו ללא שינוי. כמו כן, אדריכלים רוצים לעתים קרובות להוסיף כמה פונקציות פשוטות לאובייקטים קיימים של הספריות הסטנדרטיות - וזו הסיבה העיקרית לכך שהם מתחילים להתעמק ב- GDL. כמובן, הידע ב- GDL אינו חיוני, ורבים ממשימות אלה ניתנות לביצוע בעזרת כלים סטנדרטיים. לדוגמא, ניתן לבנות מילויים עם לוחות ולשמור אותם כעלה מיוחד לדלת.אם יש לך רק כמה מהדלתות הלא סטנדרטיות האלה, זה יהיה מהיר עוד יותר. אבל אם בפרויקט שלך יש הרבה דלתות דומות בגדלים שונים והרוחב שלהן משתנה בתהליך העבודה, אז כתיבת פאנל מיוחד ב- GDL תאיץ מאוד ותפשט את העבודה. תיאור גיאומטרי מרמז כי ניתן לכתוב כל אחת מהצורות האפשריות בטקסט על פי מידות או קואורדינטות. עבור סקריפט תלת ממדי, ישנו גוש פקודות לצורות מרחביות בסיסיות, כגון: - חסום ו לְבֵנָה - מקבילית בנויה בשלושה ממדים עם המקור בנקודה 0 של מערכת הקואורדינטות חסום a, b, c לבנה a, b, c

זום
זום

- CYLIND - גליל לאורך ציר Z, עם גובה h ורדיוס r CYLIND h, r

כדור - כדור שמרכזו במקור וברדיוס r כדור r

זום
זום

אליפסה וקונוס מתוארים באופן דומה. גוש הדמויות הבא כבר מסובך יותר - אלה מנסרות שונות. הם מתוארים על ידי קבוצה של קואורדינטות נקודה. המנסרה הפשוטה ביותר נקבעת על ידי מספר הנקודות (n), הגובה (h) ומפרט את הקואורדינטות של כל הנקודות לפי הסדר. PRISM n, h, x1, y1, … xn, yn

ישנם סוגים רבים של פריזמה. הנוף הבא, פּרִיזמָה_, מאפשר לך לציין קודי סטטוס לקואורדינטות הנקודות, הקובעות את נראות הפנים והקצוות, וכן מאפשרים לך ליצור מנסרות ומנסרות מעוקלות עם חורים (ראה סעיף קודי סטטוס בספר העיון). סוג אחר, BPRISM_, יוצר מנסרה המעוותת סביב ציר Y. FPRISM_ בונה פריזמה עם צדפה או פילה בצד העליון.

זום
זום

ישנן כמה פקודות המתארות צורות מורכבות יותר המבוססות על פוליליין: EXTRUDE, PYRAMID, REVOLVE, RULED, SWEEP, TUBE, COONS, MASS. את התיאור שלהם עם דוגמאות ניתן למצוא בהפניה. עבור סקריפט דו-ממדי, צורות מתוארות על ידי פקודות אחרות: קו, עיגול, מלבן, פולי-קו, קו-קו. אבל אתה יכול גם לרשום פקודה לבניית הקרנה מתסריט תלת ממדי.

יצירת צורות דו-ממדיות או תלת-ממדיות היא רק חלק מהפונקציונליות של GDL. אם אתה רק צריך שולחן, קל יותר לבנות אותו בעזרת הכלים של ARCHICAD עצמה. אובייקט נכתב במקרה בו נדרשת פרמטריה כלשהי: היכולת לבחור סוגים שונים של רגלי שולחן, מספר הרגליים, לשנות את גודל הטבלה תוך שמירה על הממדים הנותרים, לחשב את העץ לייצורו, משקלו ועלותו. האובייקט לא יכול להכיל כלל גיאומטריה, אלא רק לבצע חישובים. לשם כך נעשה שימוש גם בסעיפי בקרה (מפעילי בקרה), כגון לולאות, הצהרות על תנאי, בהתייחס למקום ספציפי בקוד (תת-דרך). עדיף להכיר את המחזורים והתנאים כבר בהתחלה - הם משמשים לעתים קרובות. לכן, לכל הדוגמאות שלהלן יש אמירות מותנות. דוגמה מס '1 - סיבוב אובייקטים מעצבים לעתים קרובות רוצים להפוך אובייקט לסיבוב. בעזרת דוגמה פשוטה זו, נבחן את מבנה פריט הספרייה, כמו גם את החלונות הראשיים של עורך האובייקטים GDL. כדי לפתוח כל אובייקט שנמצא במרחב הפרויקט (אם היזם לא שם עליו סיסמה), עליך לבחור בו וללחוץ על צירוף המקשים Ctrl + Shift + O. דרך נוספת היא להשתמש בתפריט קובץ> ספריות ואובייקטים> פתח אובייקט. אם ברגע זה לא נבחר אובייקט, ייפתח חלון לבחירת אובייקט. בואו נוסיף פרמטרים של סיבוב, למשל, לסורג תריסים (איור 1).

זום
זום

אז פתחנו את חלון עורך האובייקטים של GDL (איור 2). בצד שמאל למעלה, יש חלון לצפייה בתצוגות שונות, כמו בחלון הרגיל של פרמטרי האובייקט; אפילו משמאל ישנם כפתורים לבחירת תצוגה - תוכנית, גובה, חלון תלת ממדי ותצוגה מקדימה. להלן ישנם כפתורים לפתיחת טבלאות פרמטרים, רשימות נתונים וסקריפטים. ניתן לפתוח סקריפטים בשתי דרכים: לחץ על הכפתור עם שם התסריט - פתח באותו חלון, לחץ על הכפתור מימין עם סמל החלון - הסקריפט ייפתח בחלון נפרד. זה יכול להיות שימושי כדי לראות סקריפטים שונים בו זמנית (איור 3).

זום
זום

בחלק העליון של החלון של כל סקריפט יש לחצן בדיקה הכרחי מאוד: כשתלחץ עליו, העורך יבקש ממך אם יש שגיאות בתסריט. ההודעה תכיל את הסיבה לשגיאה ואת מספר השורה בו נמצאה השגיאה. בקטע "פרטים" תוכלו לבחור סוג משנה של אובייקט: עלה דלת מותאם אישית, ידית הדלת, מסגרת קיר וילון וכן הלאה.אז, אובייקטים מיוחדים (עט, בד, מסגרת) יופיעו בחלון המתאים לבחירת אלמנטים אלה. כאשר נבחר סוג דו-ממדי, לאובייקט לא יהיו חלונות לגיאומטריה תלת-ממדית. שם תוכלו גם לבחור סוגים לסמנים שונים - צומת, קטעים, כיתובי מנהיג, אזורים; הם יופיעו גם בכלים שלהם. בחלק זה תוכלו למלא תיאור של האובייקט ולבחור סיסמה. בהמשך - "פרמטרים", כאשר כל הנתונים המשמשים באובייקט זה ואשר ניתן לשנותם תוך כדי עבודה על הפרויקט מוצגים בצורה של טבלה. כאן עלינו להוסיף פרמטרים לפניות, בהן נשתמש בהמשך.

זום
זום

לחץ על הלחצן חדש הממוקם מעל הטבלה (איור 4). תופיע שורה חדשה בה עליך למלא את העמודות. הראשון בעמודות אלה הוא משתנה. כאן אנו כותבים את שם המשתנה, שישמש בתסריטים, בלטינית וללא רווחים. עליכם למנות אותו כך שיהיה קל לזכור ובאותו זמן קל להבין על מה המשתנה הזה אחראי. במקרה שלנו, עלינו ליצור שני משתנים לערך זוויות הסיבוב לאורך צירי X ו- Y (האובייקט יכול להיות מסובב סביב ציר Z בכל מקרה ממש בתכנית). החלטתי למנות אותם בזווית_קס וזווית_י. בעמודה הבאה עליכם לבחור את סוג הנתונים. האפשרויות מוצגות בטבלה 1.

זום
זום

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

זום
זום

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

זום
זום

ישנם שני פרמטרים חדשים, אשר ניתן לשנות את ערכם בכל עת. אבל עכשיו שום דבר לא יקרה, מכיוון שעדיין לא נכתבו פקודות באמצעותן. כעת עליך לפתוח את חלון התסריט התלת-ממדי. לפניכם תיאור מלא כיצד לבנות מודל תלת מימד על פי הפרמטרים הנתונים. בנוסף, ניתן לקנן אובייקטים שונים במקרו. לפני כל הקונסטרוקציות, עליך לסובב את מערכת הקואורדינטות בה ייבנה האובייקט. כאן חשוב להבין את ההיגיון הבא: כל הסיבובים, התנועות והגודל מתרחשים באופן שונה מאשר בעבודה ב- ARCHICAD עצמה. אנחנו לא לוקחים אלמנט ומסובבים אותו, אלא מסובבים את מערכת הקואורדינטות הגלובלית (לאחר שינוי זה, היא הופכת להיות מקומית) חֲזִית בניית חפץ. העברה (הוספת פקודה), סיבוב (ROT), סולם (MUL) הן פקודות טרנספורמציה של המערכת. ניתן למחוק טרנספורמציות נוספות בתסריט אחת אחת, כמה בבת אחת, או למחוק בבת אחת. ספר העיון מתאר את כל זה בפירוט מספיק ובדוגמאות. דוגמה להנעת מערכת קואורדינטות בחלל תלת ממדי לאורך שלושה צירים בבת אחת מוצגת באיור. 7. הוסף a, b, c

זום
זום

לכן, לפני כל הקונסטרוקציות, אנו מסובבים את מערכת הקואורדינטות, תחילה לאורך אחת, ואז לאורך הציר השני. סיבוב לאורך ציר ה- X מבוצע על ידי פקודת ROTX אלפקס, כאשר האלפקס הוא זווית הסיבוב נגד כיוון השעון; במקום אלפקס, עליך להזין משתנה שנוצר בעבר. הסיבוב לאורך ציר Y מתבצע באותו אופן (איור 8).

זום
זום

כעת תוכלו להגדיר זוויות שונות לסיבוב - ושינויים במודל התלת מימד יתרחשו בתצפית הממוקמת בפינה השמאלית העליונה (איור 9).

זום
זום

כעת תוכלו להגדיר זוויות שונות לסיבוב - ושינויים במודל התלת מימד יתרחשו בתצפית הממוקמת בפינה השמאלית העליונה (איור 9).אבל שום דבר לא קורה ב -2 D עדיין. בתסריט דו-מימדי, אובייקט בנוי עם קווים וקווים נפרדים, כך שהציור של אובייקט בתכנית הוא מהיר פי כמה. באתר אחד זה לא מורגש, אך אם יהיו מאות רשתות כאלה בפרויקט, הבלימה תהיה משמעותית. אתה יכול לחשב את הקואורדינטות של הנקודות של קווים אלה ולשרטט אותם כפי שהם היו נראים בהקרנת האובייקט המסובב, אך זה לא מאוד פשוט ולא מהיר במיוחד. בסריג זה אני מציע את הפיתרון הבא: אם הזוויות ב- X או Y אינן שוות לאפס, אז האובייקט בסקריפט הדו-ממדי, כלומר לתוכנית, יוצג כהקרנה של המודל התלת-ממדי, ו אחרת בדרך הישנה. ההקרנה של המודל לסקריפט דו-ממדי בנויה על ידי פקודת PROJECT2 projectection_code, angle, method. אתה יכול לקרוא מה המשמעות של פרויקט_קוד, זווית, שיטה בספר העיון, אך נכיר את הפקודה החשובה יותר מקטע הצהרות הבקרה IF - THEN - ELSE - ENDIF. אלו הצהרות מותנות שיעזרו לך לבנות את הסעיף המותנה מהפסקה הקודמת. באיור. 10 הדגשתי את הפקודות שנוספו בתסריט הדו-ממדי והוספתי "תרגום" באדום מימין.

זום
זום

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

זום
זום

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

זום
זום

במקרה זה, עליך להיכנס לסקריפט הפרמטרים ולמצוא את הפקודה שמסתירה את כל הפרמטרים (איור 13). סקריפט זה מתאר את כל הפעולות המשפיעות על הפרמטרים: - ייעוד אפשרויות או טווחי ערכים אפשריים (VALUES); - כל חישובים שתוצאתם מוקצה לפרמטר (PARAMETERS); - הסתרת או נעילת פרמטרים (HIDEPARAMETER, LOCK).

זום
זום

ניתן למחוק את השורה HIDEPARAMETERS ALL או על ידי הצבת "!" בתחילת השורה, הפוך אותה ללא קריאה (על פי תחביר GDL, שורה המתחילה בסימן קריאה נחשבת כהערה. בהמשך אכתוב תיאורים ו תרגומים בצילומי המסך אחרי הסימן "!". לאחר מכן, השורה "כל הפרמטרים" תופיע ברשימת דפי הפרמטרים, ועל ידי בחירה בה תראה רשימה סטנדרטית עם פרמטרים, ביניהם יהיו קווים חדשים לסיבוב. דוגמה מס '2 - טקסט על סמל אני לוקח את הדוגמה הבאה מהפרויקט הנוכחי. כשעובדים עם התוכנית של בניין מגורים רב דירות, נדרש לשים את האות "K" על היחידות החיצוניות של המזגנים - וכדי שתמיד תהיה ממוקמת אנכית. כמובן שניתן היה להוסיף את המכתב פשוט למעלה עם טקסט או טקסט כיתוב חיצוני, אך אז, כשהסובב את המזגן, ייתכן שהיה צריך להזיז גם את הטקסט. כדי להתחיל, הוספתי ארבעה פרמטרים חדשים (איור 14):

זום
זום

1. הצג טקסט: סוג הפרמטר הוא ערך בוליאני, שמשמעותו שני ערכים אפשריים: 0 (לא) ו- 1 (כן). לפיכך, ניתן להפעיל או לכבות את הטקסט.

2. טקסט מיוחד: סוג פרמטר - טקסט. מאפשר לך לכתוב טקסט כלשהו לסמל (אני מתכוון להשתמש באות אחת כך שהוא ישתלב בתוך המלבן של גוש המזגן).

3. גופן: סוג - טקסט. שים לב כי סוגים מסוימים של כתיבה של משתנה זה מאפשרים לך לבחור ערכי גופן בעמודה מרשימת אלה המותקנים במחשב. "Fonttype" מכנה רשימה זו באופן אוטומטי, אך אם אני כותב "fontefont" או סתם "font", אז אני צריך לכתוב את שם הגופן באופן ידני. הבחנתי ברגע הזה במקרה באחד האובייקטים הסטנדרטיים.

4. עט טקסט: סוג - עט. ובכן, הכל ברור כאן.

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

Image
Image

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

Image
Image

… המשמעות היא ששורות אלה מקוננות ברשימה הנפתחת מתחת לשורה הראשונה. באיור. 15 הוא צילום מסך שממחיש איך זה נראה בפרמטרים של אובייקטים.כדי להתחיל, הוספתי ארבעה פרמטרים חדשים (איור 15):

Рис. 15. Окно Параметров Объекта
Рис. 15. Окно Параметров Объекта
זום
זום

ובאיור. 16 - מה שהוספתי בתסריט דו-ממדי (באופן מסורתי עם תרגום ותגובות).

זום
זום

תאנה. 16. הוסיפו שורות בתסריט דו-ממדי בצילום המסך הבא (איור 17), לשם הבהרה רבה יותר, צבעתי סוגים שונים של מילים / פקודות / משתנים.

זום
זום

האובייקט מוכן (איור 18).

זום
זום

ואם לא הייתי כותב שורות עם סיבוב וקנה מידה, אז האובייקט היה נראה כמו באיור. 19.

זום
זום

דוגמה מס '3 - פירוט כדי לפשט את העבודה על פרויקט, בעת כתיבת אובייקט, ניתן להוסיף פרמטר טקסט עם בחירה בין מספר אפשרויות פירוט (פשוט, בינוני, מפורט). ובתסריט התלת-ממדי, בעת בניית חלקים קטנים שונים, הוסף תנאי מהסוג: אם רמת הפירוט = "מפורטת", אז (תיאור חלקי הבניין) בסוף התנאי ראוי למשתנים גלובליים. אורך 40 העמודים במדריך העיון ומקובצים לפי נושאים לצורך חיפוש קל. בדוגמה הקודמת השתמשתי בפרטי נתוני כיוון אובייקטים. אותו חלק במדריך ההתייחסות מכיל משתנים גלובליים עבור הקואורדינטות של מיקום האובייקט - הם משמשים ליצירת אובייקטים כמו לידר עם קואורדינטות או גבהים בקטע / גובה. לעתים קרובות מאוד משתמשים ב- GLOB_SCALE - קנה המידה של הציור (תלוי בתצוגה בהתאם לחלון הנוכחי), בקנה מידה של 1: 100 זה שווה ל 100, בקנה מידה של 1:20 זה שווה ל 20. זה משמש לרוב להמרת גודל הגופן למדי מודל או להיפך. כמו כן, ניתן להשתמש בפרמטר זה כדי "לתלות" אפשרויות תצוגה בתכנית. לדוגמה, עבור ספסל, כתוב את הדברים הבאים בתסריט דו-ממדי:

אם GLOB_SCALE <100 ואז ! אם הסולם גדול מ -1: 100, אז
PROJECT2 3, 270, 2 ! לבנות השלכה ממודל תלת ממדי
אַחֵר ! אחרת
ENDIF ! סוף המצב

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

תן לי להראות את זה באמצעות הדוגמה של קירוב כדור. הנה מה שכתבתי בתסריט תלת מימד: discam_x = abs (GLOB_EYEPOS_X-SYMB_POS_X) discam_y = abs (GLOB_EYEPOS_Y-SYMB_POS_Y) discam_h = sqr (discam_x ^ 2 + discam_y ^ 2) discam_z = discam_By ^ 2 + discam_ = 20 ואז res = 50 אם discam20 ואז res = 20 אם discam30 אז res = 10 אם discam> 40 אז res = 5 resol res sphere 1 בתסריט השתמשתי במשתנים הגלובליים GLOB_EYEPOS_X, GLOB_EYEPOS_Y, GLOB_EYEPOS_Z הם הקואורדינטות של מיקום המצלמה (העיניים) בחלון התלת-ממדי של הפרויקט ו- SYMB_POS_X, SYMB_POS_Y, SYMB_POS_Z הם הקואורדינטות של מיקום האובייקט במרחב; מודול ABS - מספר (מסיר "-", אם קיים); sqr - שורש מרובע; ^ 2 - ריבוע מספר.

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

זום
זום

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

ניתן לגרור נתוני קיר לחלון או לחפץ דלת. יתרונות מרכזיים יכולים לקבל הרבה מידע שונה על האלמנט אליו הם משויכים, למשל תיבת סימון עם שכבות של מבנה רב שכבתי או מוביל עם נפח של אלמנט. וכן הלאה, 40 עמודים של משתנים גלובליים שונים ושימושיים מאוד. דוגמה 4 - סמן אזור בואו נסתכל כיצד נוצר סמן אזור מותאם אישית.אם אתה יוצר אובייקט חדש ובוחר את תת המשנה Zone Passport עבורו בסעיף פרטים, אז בסעיף פרמטרים כל הפרמטרים הספציפיים שהכלי Zone מעביר לסמן מוצגים בכחול (איור 21).

Рис. 21. Параметры объекта подтипа Паспорт Зоны
Рис. 21. Параметры объекта подтипа Паспорт Зоны
זום
זום

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

זום
זום

באמצעות הפרמטרים הכלליים של סמן האזור, תוכלו להגדיר את סגנון הטקסט וגובה השורה בהתאם לגובה הגופן: הגדר סגנון "ROOM" AC_TextFont_1, ROOM_LSIZE, 5.0 STYLE "ROOM" row = ROOM_LSIZE / 1000 * GLOB_SCALE * 1.5 text2 0, שורה, ROOM_NUMBER text2 0, 0, ROOM_NAME text2 0, -row, ROOM_AREA באפשרותך ליצור פרמטר חדש לבחירת סוג הסמן (איור 23), להגדיר אפשרויות עבורו בסקריפט הפרמטרים (איור 24) ובסמל סקריפט דו-ממדי כתוב סוגים שונים של עיבוד סמן עבור סוגים שונים.

זום
זום
זום
זום

סקריפט דו-ממדי: אם mt = "סמן עם מספר" אז טקסט 2 0, 0, ROOM_NUMBER CIRCLE2 0,0, שורה endif אם mt = "number and area" ואז text2 0, row / 2, ROOM_NUMBER text2 0, -row / 2, AREA_TEXT endif אם mt = "כותרת ואזור" ואז text2 0, שורה / 2, ROOM_NAME text2 0, -row / 2, AREA_TEXT endif אם mt = "מספר, כותרת ואזור" ואז text2 0, שורה, ROOM_NUMBER טקסט 2 0, 0, ROOM_NAME text2 0, -row, AREA_TEXT endif אם mt = "אזור בלבד" אז text2 0, 0, AREA_TEXT endif בסקריפט זה לא השתמשתי במשתנה האזור שהוגדר מראש כאזור, אלא המיר את האזור לטקסט והוספתי ל יחידות זה: שטח = str (ROOM_AREA, 4, 2)! המרת מספר לטקסט עם 2 מקומות עשרוניים AREA_TEXT = שטח + "מ"ר" ! הוספת לערך המחרוזת את האותיות "מ"ר" ניתן להשלים את השורות בסמן עם קווים המפרידים בין שורות מסוימות. כדי למצוא את אורך המחרוזת, השתמש בפקודה STW. בואו נוסיף בתחילת הסקריפט: tl1 = stw (ROOM_NUMBER) / 1000 * GLOB_SCALE tl2 = stw (ROOM_NAME) / 1000 * GLOB_SCALE tl3 = stw (AREA_TEXT) / 1000 * GLOB_SCALE אם mt = "מספר ואזור" אז tl = MAX (tl1, tl3) אם mt = "מספר, כותרת ואזור" אז tl = MAX (tl1, tl2) אם mt = "כותרת ואזור" אז tl = MAX (tl2, tl3) אם mt = "אזור בלבד" אז tl = tl3 AND בגרסאות הסמנים, הוסף את השורות עם הפקודה LINE2 (איור 25).

Рис. 25. 2D-скрипт
Рис. 25. 2D-скрипт
זום
זום

אם מספר האזור מורכב ממספר ספרות, עבור הסמן, תוכלו ליצור פרמטר לרדיוס של מעגל, ללא תלות בגובה הגופן, או במקום עיגול, לתאר צורה דמוית אליפסה באורך השווה לאורך של קו מספר האזור שמצאנו קודם: POLY2_ 5, 1 + 2 + 4, -tl1 / 2, שורה, 1, tl1 / 2, שורה, 1, tl1 / 2, -row, 1001, -tl1 / 2, -row, 1, -tl1 / 2, שורה, 1001 ניתן להוסיף פרמטר חדש לסוג הרצפה (FLOOR_TYPE) ופרמטר המאפשר להסתיר או להציג אותו (ShowFloorType), ובסקריפט דו ממדי להוסיף משולש עם פולי קו וטקסט עם סוג רצפה: אם ShowFloorType אז ADD2 0, שורה * 3 POLY2_ 4, 1, -שורה * 1.4, -שורה * 0.8, 1, שורה * 2.8,60,201, שורה * 1.4, -שורה * 0.8, 1, 0,0,700 טקסט 2 0,0, FLOOR_TYPE endif עבור סוג הרצפה, רצוי להוסיף פרמטר נפרד לעט, וכן נקודות לעריכה גרפית של מיקום סמן הרצפה. תיארתי בפירוט כיצד להוסיף נקודות עריכה גרפיות לסמינר המקוון שלי, ובאמצעות הקישור בסוף המאמר תוכלו להוריד אובייקטים ולראות כיצד הדבר מיושם במקרה הספציפי הזה.

ולבסוף, בואו ניקח בחשבון תת-סוג חשוב מאוד נוסף של אובייקט הפותח אפשרויות גדולות - הפרמטרים הגלובליים של הספרייה (איור 26).

זום
זום

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

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

יש לי סמן בו ניתן לקבוע את סוג הרצפה במשולש ולשנות את סוג הסימון (איור 27). ושני הפרמטרים הללו מועברים לקובץ נפרד מסוג תת הפרמטרים של הספרייה הגלובלית (איור 28).

זום
זום
זום
זום

כדי שהפרמטרים הללו יוצגו בתיבת הדו-שיח פרמטרים של תצוגת מודל, עליך לרשום אותם בסקריפט ממשק האובייקט (איור 29). לא אתעכב בפירוט על הפקודות המיוחדות לתסריט זה, הן מתוארות בפירוט מספיק ועם דוגמאות בספר העיון. אני רק אגיד שכאן אנו מתארים היכן תווית או כפתור זה או אחר ימוקם (שדה עם מבחר אפשרויות, סימן ביקורת וכו '), ניתן להכניס תמונות גם לממשק המשתמש. בספרייה הסטנדרטית כמעט לכל אובייקט יש ממשק גרפי; אתה יכול לראות את כל האפשרויות ולראות איך התסריטים האלה נכתבים. בנוסף לכפתור ה- Check, בסקריפט יש גם כפתור View. בלחיצה עליו תוכלו לראות במהירות מה קורה.

זום
זום

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

זום
זום

כעת, באובייקט סמן האזור, עליך לשאול את האובייקט לערכים של שני הפרמטרים הללו. בתסריט הראשי (אותו קוראים האובייקט תחילה, ולכן כל החישובים וההגדרות של הערכים שיש להשתמש בהם בכמה סקריפטים, עדיף לכתוב כאן) אני כותב שתי שורות כאלה: success1 = LIBRARYGLOBAL ("LibraryGlobals20 "," ShowFloorType ", ShowFloorType) success2 = LIBRARYGLOBAL (" LibraryGlobals20 "," mt ", mt)" הצלחה "תהיה 1 אם הבקשה הצליחה; אחרת זה יהיה 0.

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

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

לדוגמה, אתה מתמודד עם בתים קטנים ופשוטים של לוחות SIP. יש לכם רשימה ספציפית של אפשרויות לשינוי הפרויקט: - אורך ורוחב הבית יכולים להיות בין 2.4 ל -24 מטר עם צעד של 1.2 מ '; - אם הרוחב עולה על 6 מ ', אז צריך להיות קיר נוסף באמצע; - שתי אפשרויות לגובה הרצפה בהתאם לגודל הפאנל; - מספר קומות - קומה אחת או שתיים; - חלונות יכולים להיות במקומות מסוימים של לוחות בגודל מסוים; - גימור חזיתות בשלוש גרסאות; - קירוי בשלוש גרסאות; - עובי דופן בכמה גדלים סטנדרטיים וכן הלאה.

ניתן להגדיר את כל הפרמטרים הללו לאובייקט על ידי הוספת העלות למטר מרובע של הפאנל, הגג, הקישוט וכו '. ובסקריפטים דו-ממדיים ותלת-ממדיים של האובייקט, בנה לחלוטין וצייר את הבית הזה עם משתנים במקום ממדים סטטיים. כדי שהמשתמש לא יתבלבל ברשימה ארוכה של פרמטרים, תוכלו לכתוב ממשק גרפי למספר עמודים עם תמונות ודיאגרמות. בסקריפט הראשי, חישבו את כל הכרכים והציגו את העלות. אפשר גם להציג טבלה עם פריסת הלוחות בסקריפט דו ממדי לצד התוכנית. כתיבת אובייקט כזה ייקח הרבה זמן, תצטרך לערוך מפרט טכני מפורט, לספק את כל הניואנסים, אבל אז תקבל לא רק אובייקט, אלא כמעט תוכנית שבה, על ידי בחירת פרמטרים, אתה יכול לקבל סט של עיצוב טיוטה עם חישוב חומרים ועלות עבור הלקוח. אני מקווה שסקירה זו עוררה עניין של מישהו ביכולות ה- GDL. הסיפור שלי התחיל ברצון עז לשנות איזה פרט קטן באיזה סמן אזורי סטנדרטי, וככל שקראתי את המדריך כך נחשף הפוטנציאל של הכלי הזה, לדעתי, מאוד שימושי לאדריכל. מהקישור למטה תוכלו להוריד את כל האובייקטים שנחשבו כדוגמאות במאמר זה: הורדת דוגמאות פתק. ARCHICAD 20 שימש לכתיבת אובייקטים אלה, כך שהם לא ייפתחו בגרסאות קודמות. אודות GRAPHISOFT חברת GRAPHISOFT® חוללה מהפכה ב- BIM בשנת 1984 עם ARCHICAD® הוא פיתרון ה- BIM הראשון לענף אדריכלים בענף ה- CAD. GRAPHISOFT ממשיכה להוביל את שוק התוכנה האדריכלית עם מוצרים חדשניים כמו BIMcloud ™, פיתרון העולמי השיתופי העולמי הראשון בעולם BIM, EcoDesigner ™, מודל האנרגיה הראשון בעולם המשולב לחלוטין והערכות יעילות אנרגיה של מבנים ו- BIMx® האם האפליקציה הסלולרית המובילה להצגת והצגת דגמי BIM. מאז 2007, GRAPHISOFT היא חלק מקבוצת Nemetschek.

מוּמלָץ: