ARCHICAD: REVEALING GDL: برنامه نویسی برای چالش های منحصر به فرد Architect

ARCHICAD: REVEALING GDL: برنامه نویسی برای چالش های منحصر به فرد Architect
ARCHICAD: REVEALING GDL: برنامه نویسی برای چالش های منحصر به فرد Architect

تصویری: ARCHICAD: REVEALING GDL: برنامه نویسی برای چالش های منحصر به فرد Architect

تصویری: ARCHICAD: REVEALING GDL: برنامه نویسی برای چالش های منحصر به فرد Architect
تصویری: Portugal's Vision for Contemporary Architecture - Pedro Domingos Arquitectos 2024, آوریل
Anonim

این مطالب تخصصی مجموعه مقالات "ARCHICAD: کشف مجدد" را که در دسامبر 2016 با مقاله ای از ولادیمیر ساویتسکی "ایجاد ساختارها و استخراج نقشه های کار از یک مدل" آغاز شد ، ادامه می دهد و سپس با انتشارات سوتلانا کراوچنکو "ARCHICAD ادامه می یابد: کشف مجدد تجسم - فرصت های جدید برای یک معمار "و الکساندر آنیشچنکو" TEAMWORK: کار تیمی گام به گام موثر ". این چرخه برای کمک به کاربران در استفاده از پتانسیل کامل ARCHICAD طراحی شده است®… ما از معماران خواستیم تا تجربه شخصی خود را در استفاده از برنامه با استفاده از رویكردهای غیراستاندارد ، توابع كم مطالعه شده و ویژگیهای جدید كه ممكن است بسیاری از كاربران حتی از آنها آگاه نباشند ، به اشتراک بگذارند. به عنوان توسعه دهندگان برنامه ARCHICAD ، اطمینان داریم که تنها دانش عمیق در مورد محصول می تواند ارزش کامل آن را نشان دهد و بر نتایج ، سرعت و کیفیت کار طراح تأثیر قاطع بگذارد. آیا شما "مسیرهای خوانده نشده" را نیز ترجیح می دهید؟ آیا شما تجربه استفاده از روش های غیر استاندارد در کار با ARCHICAD را دارید ، به طور منظم از معروف ترین ویژگی های برنامه استفاده نمی کنید؟ ما خوشحال خواهیم شد که نویسندگان جدید را به همکاری دعوت کنیم: [email protected]. سوتلانا کراوچنکو ، یک معمار عملی ، گزارش می دهد:

بزرگنمایی
بزرگنمایی

مطمئناً بسیاری از شما درباره GDL در ARCHICAD شنیده اید ، اما هنوز همه نمی دانند که چگونه از آن در کار استفاده کنید. با توجه به مفید بودن باورنکردنی این ویژگی ، و همچنین س questionsالات زیادی که بعد از اولین وبینارم در این زمینه وجود داشت ، تصمیم گرفتم جزئیات بیشتری را در مورد چگونگی حتی کوچکترین دانش در مورد آن به کار روزمره کمک کنم یک معمار.

بیایید با اصول شروع کنیم GDL (زبان توصیف هندسی) یک زبان برنامه نویسی BASIC مانند است که برای کار در محیط ARCHICAD طراحی شده است. این بدنه های جامد سه بعدی (مانند درها ، پنجره ها ، مبلمان) و نمادهای 2 بعدی را در پنجره نقشه کف توصیف می کند. به این اشیا Library Library Features گفته می شود.

برای کسانی که حداقل کمی با برنامه نویسی آشنا هستند ، تسلط بر این زبان کار دشواری نخواهد بود. با این حال ، با تمایل کافی ، مطالعه GDL کاملاً در اختیار فردی است که از این محیط دور است. هر معماری در زمان خود هندسه و هندسه توصیفی را مطالعه کرده است ، دارای تفکر حجمی عالی است و این در حال حاضر نیمی از موفقیت است. لازم نیست بلافاصله برای نوشتن اشیا complex پیچیده تلاش کنید ، ارزش آن را دارد که با اشکال و اشکال هندسی اساسی شروع کنید. با بررسی متن سایر موارد کتابخانه می توان اطلاعات زیادی را به دست آورد. خوب ، منبع اصلی اطلاعات کتابچه راهنمای GDL است که از طریق منوی راهنما در خود ARCHICAD قابل دسترسی است. بنابراین ، چرا یک معمار می تواند از دانش GDL بهره مند شود؟ به عنوان مثال ، برخلاف Grasshopper ، که می توانید ساختارهای پیچیده ای را با آن ایجاد کنید ، GDL برای نوشتن نشانگرها و فراخوانی های مختلف و همچنین ایجاد م componentsلفه های خاص برای سایر ویژگی ها یا ابزارهای کتابخانه ضروری است. یکی از اولین کاربردهای GDL در کار من ایجاد یک برگ مخصوص درب پانل بود که با تغییر اندازه ، از همه جهات مقیاس نمی گرفت ، بلکه فقط ابعاد صفحه را تغییر می داد. ضخامت قاب فرفری و عرض مهار بدون تغییر باقی مانده است. همچنین ، معماران اغلب می خواهند برخی از توابع ساده را به اشیا existing موجود در كتابخانه های استاندارد اضافه كنند - و این دلیل اصلی است كه آنها شروع به جستجوی GDL می كنند. البته دانش GDL امری حیاتی نیست و بسیاری از این کارها را می توان با ابزار استاندارد انجام داد. به عنوان مثال ، شما می توانید پر کننده ها را با اسلب بسازید و آنها را به عنوان یک برگ مخصوص در ذخیره کنید.اگر فقط تعداد کمی از این درهای غیر استاندارد را داشته باشید ، سرعت آن نیز بیشتر خواهد شد. اما اگر در پروژه شما تعداد زیادی درب مشابه با اندازه های مختلف و تغییر عرض آنها در روند کار وجود دارد ، نوشتن یک صفحه ویژه در GDL کار را بسیار سریعتر و ساده می کند. توصیف هندسی نشان می دهد که هر یک از اشکال ممکن را می توان با توجه به ابعاد یا مختصات در متن نوشت. برای یک اسکریپت سه بعدی ، مجموعه ای از دستورات برای اشکال اساسی فضایی وجود دارد ، مانند: - مسدود کردن و برید - یک موازی ساخته شده در سه بعد با مبدا در نقطه 0 سیستم مختصات بلوک a ، b ، c BRICK a ، b ، c

بزرگنمایی
بزرگنمایی

- سیلندر - سیلندر در امتداد محور Z ، با ارتفاع h و شعاع r سیلندر ، r

- کره - کره در مبدا و شعاع r قرار دارد SPHERE r

بزرگنمایی
بزرگنمایی

بیضی و مخروط به روشی مشابه توصیف می شوند. بلوک بعدی ارقام در حال حاضر پیچیده تر است - این منشورهای مختلف هستند. آنها با مجموعه ای از مختصات نقطه ای توصیف می شوند. ساده ترین منشور با تعداد نقاط (n) ، ارتفاع (h) و فهرست مختصات همه نقاط به ترتیب تعیین می شود. PRISM n ، h ، x1 ، y1 ، … xn ، سال است

منشور انواع مختلفی دارد. نمای بعدی ، PRISM_ ، به شما اجازه می دهد تا کدهای وضعیت را به مختصات نقاط ، که قابلیت مشاهده چهره و لبه ها را تعیین می کنند ، نشان دهید و همچنین به شما امکان می دهد منشورها و منشورهای منحنی را با سوراخ ایجاد کنید (به بخش کد وضعیت در کتاب مرجع مراجعه کنید) نوع دیگر ، BPRISM_ ، یک منشور پیچ خورده در اطراف محور Y ایجاد می کند. FPRISM_ یک منشور با یک پخ یا فیله در سمت بالا ایجاد می کند.

بزرگنمایی
بزرگنمایی

چندین دستور وجود دارد که اشکال پیچیده تر مبتنی بر چند خط را توصیف می کند: EXTRUDE ، PYRAMID ، REVOLVE ، RULED ، SWEEP ، TUBE ، COONS ، MASS. شرح آنها با مثالها را می توان در مرجع یافت. برای یک اسکریپت 2 بعدی ، اشکال با دستورات دیگر توصیف می شوند: خط ، دایره ، مستطیل ، چند خط ، خط شکسته. اما شما همچنین می توانید از طریق اسکریپت سه بعدی یک دستور برای ساخت یک فرافکنی ثبت کنید.

ایجاد اشکال 2D یا 3D تنها بخشی از عملکرد GDL است. اگر فقط به یک جدول احتیاج دارید ، ساختن آن با استفاده از ابزار ARCHICAD آسان تر است. یک شی در مواردی نوشته می شود که به نوعی پارامتریسم نیاز باشد: توانایی انتخاب انواع مختلف پایه های میز ، تعداد پایه ها ، تغییر اندازه جدول با حفظ ابعاد باقیمانده ، محاسبه الوار برای تولید ، وزن و هزینه آن. این جسم ممکن است به هیچ وجه شامل هندسه نباشد ، اما فقط محاسبات را انجام می دهد. برای این منظور ، از بندهای کنترل (اپراتورهای کنترل) نیز استفاده می شود ، مانند حلقه ها ، عبارات شرطی ، اشاره به مکان خاصی در کد (زیر برنامه). بهتر است در همان ابتدای کار با چرخه ها و شرایط آشنا شوید - آنها اغلب استفاده می شوند. بنابراین ، تمام مثالهای زیر عبارات شرطی دارند. مثال شماره 1 - چرخش جسم طراحان اغلب می خواهند یک شی را تبدیل به چرخش کنند. با استفاده از این مثال ساده ، ساختار Library Item و همچنین پنجره های اصلی GDL Object Editor را بررسی خواهیم کرد. برای باز کردن هر جسمی که در فضای پروژه قرار دارد (اگر سازنده پسوردی روی آن قرار نداده است) ، باید آن را انتخاب کرده و کلید ترکیبی Ctrl + Shift + O را فشار دهید. روش دیگر استفاده از منوی File> Libraries and Objects> Open Object است. اگر در این لحظه هیچ شیئی انتخاب نشده باشد ، پنجره ای برای انتخاب یک شی باز می شود. بیایید پارامترهای چرخش را به عنوان مثال ، به یک پنجره جلو پنجره اضافه کنیم (شکل 1).

بزرگنمایی
بزرگنمایی

بنابراین ، ما پنجره GDL Object Editor را باز کرده ایم (شکل 2). در بالا سمت چپ ، پنجره ای برای مشاهده نماهای مختلف وجود دارد ، مانند پنجره معمول پارامترهای شی. حتی در سمت چپ نیز دکمه هایی برای انتخاب نما - پلان ، ارتفاع ، پنجره سه بعدی و پیش نمایش وجود دارد. در زیر دکمه هایی برای باز کردن جداول پارامترها ، لیست داده ها و اسکریپت ها وجود دارد. اسکریپت ها را می توان به دو روش باز کرد: با کلیک بر روی دکمه با نام اسکریپت - باز کردن در همان پنجره ، کلیک بر روی دکمه سمت راست با نماد پنجره - اسکریپت در یک پنجره جداگانه باز می شود. این می تواند برای دیدن همزمان اسکریپت های مختلف مفید باشد (شکل 3).

بزرگنمایی
بزرگنمایی

در بالای پنجره هر اسکریپت یک دکمه Check بسیار ضروری وجود دارد: وقتی روی آن کلیک می کنید ، اگر خطایی در اسکریپت وجود داشته باشد ، ویرایشگر از شما درخواست می کند. پیام حاوی دلیل خطا و شماره خطای یافتن خطا خواهد بود. در بخش "جزئیات" می توانید زیر نوع شی را انتخاب کنید: برگ درب سفارشی ، دستگیره در ، قاب دیوار پرده و غیره.بنابراین ، اشیا special ویژه (قلم ، بوم ، قاب) برای انتخاب این عناصر در پنجره مربوطه ظاهر می شوند. وقتی نوع دو بعدی انتخاب می شود ، این شی بدون پنجره برای هندسه سه بعدی نخواهد بود. در آنجا می توانید انواع مختلفی را برای نشانگرهای مختلف انتخاب کنید - گره ، بخش ها ، زیرنویس های رهبر ، مناطق. آنها همچنین در ابزارهای مربوطه ظاهر می شوند. در این بخش می توانید توضیحات مربوط به آن را پر کرده و یک رمز عبور انتخاب کنید. بعلاوه - "پارامترها" ، که در آن تمام داده هایی که در این شی استفاده می شود و هنگام کار روی پروژه قابل تغییر هستند به صورت جدول ارائه می شوند. در اینجا باید پارامترهایی برای پیچ ها اضافه کنیم که بعداً از آنها استفاده خواهیم کرد.

بزرگنمایی
بزرگنمایی

دکمه New واقع در بالای جدول را فشار دهید (شکل 4). یک ردیف جدید ظاهر می شود که در آن شما باید ستون ها را پر کنید. اولین ستون این متغیر است. در اینجا ما نام متغیری را که در اسکریپت ها ، به زبان لاتین و بدون فاصله استفاده خواهد شد ، می نویسیم. شما باید نام آن را بگذارید تا به راحتی به خاطر سپرده شود و در عین حال درک اینکه این متغیر مسئول چه عواملی است آسان باشد. در مورد ما ، ما باید دو متغیر برای مقدار زاویه چرخش در امتداد محورهای X و Y ایجاد کنیم (جسم به هر حال درست در طرح می تواند به دور محور Z بچرخد). تصمیم گرفتم اسم آنها را angle_x و angle_y بگذارم. در ستون بعدی ، باید نوع داده را انتخاب کنید. گزینه ها در جدول 1 ارائه شده است.

بزرگنمایی
بزرگنمایی

دو نوع آخر در ساخت جسم استفاده نمی شود ، اما برای وضوح و نظم بیشتر لیست در پنجره پارامترهای جسم مورد نیاز است. ما به گوشه ای نیاز داریم - این نماد دوم جدول است. ستون سوم Name است. در اینجا می توانید بدون هیچ قانونی به هر زبانی آنچه دقیقاً می خواهیم بعداً در پنجره پارامترهای جسم ببینیم ، بنویسید. و آخرین ستون Value است. اکنون می توانید 0 را اینجا بگذارید: این مقدار در هر زمان تغییر می کند هم در اسکریپت و هم در پارامترهای خود شی. شکل 2 نحوه مشاهده این دو گزینه جدید را در پنجره GDL Object Editor نشان می دهد. 5- با استفاده از فلشهای ابتدای خط ، خط را به مکان مناسبی منتقل کنید.

بزرگنمایی
بزرگنمایی

سپس شما باید شی object را با نام جدید ذخیره کنید ، زیرا کتابخانه استاندارد به سختی درون ظرف رمزگذاری شده است و شما نمی توانید اشیا in موجود را در آن بازنویسی کنید. پنجره Object Parameters اکنون به این شکل خواهد بود (شکل 6).

بزرگنمایی
بزرگنمایی

دو پارامتر جدید وجود دارد که مقدار آنها در هر زمان قابل تغییر است. اما اکنون هیچ اتفاقی نخواهد افتاد ، زیرا هنوز هیچ فرمانی با استفاده از آنها نوشته نشده است. اکنون باید پنجره اسکریپت سه بعدی را باز کنید. در اینجا شرح کاملی از نحوه ساخت مدل سه بعدی بر اساس پارامترهای داده شده آورده شده است. علاوه بر این ، ماکروهای مختلفی می توانند در جسم قرار بگیرند. قبل از تمام ساخت ها ، باید سیستم مختصاتی را که شی which در آن ساخته می شود بچرخانید. در اینجا مهم است که منطق زیر را درک کنید: همه چرخش ها ، حرکات و مقیاس گذاری ها متفاوت از هنگام کار در خود ARCHICAD اتفاق می افتد. ما یک عنصر را نمی گیریم و نمی چرخانیم ، بلکه سیستم مختصات جهانی را می چرخانیم (پس از تغییر آن ، محلی می شود) جلو ساختن یک شی Move (افزودن فرمان) ، چرخش (ROT) ، مقیاس (MUL) دستورات مختصات تغییر سیستم هستند. تغییرات بعدی را می توان در اسکریپت یک به یک ، چندین بلافاصله حذف کرد یا همه را یک باره حذف کرد. کتاب مرجع همه اینها را با جزئیات کافی و با ذکر مثال شرح می دهد. نمونه ای از حرکت سیستم مختصات در فضای سه بعدی در امتداد سه محور در یک بار در شکل نشان داده شده است. 7 افزودن a ، b ، c

بزرگنمایی
بزرگنمایی

بنابراین ، قبل از تمام ساخت ها ، سیستم مختصات را می چرخانیم ، ابتدا در امتداد یک ، سپس در امتداد محور دیگر. چرخش در امتداد محور X توسط دستور ROTX alphax انجام می شود ، جایی که alphax زاویه چرخش خلاف جهت عقربه های ساعت است. به جای alphax ، باید یک متغیر قبلاً ایجاد شده وارد کنید. چرخش در امتداد محور Y به همان روش انجام می شود (شکل 8).

بزرگنمایی
بزرگنمایی

اکنون می توانید زاویه های مختلفی را برای چرخش تنظیم کنید - و تغییراتی در مدل سه بعدی در نمای در سمت چپ بالا ایجاد می شود (شکل 9).

بزرگنمایی
بزرگنمایی

اکنون می توانید زاویه های مختلفی را برای چرخش تنظیم کنید - و تغییراتی در مدل سه بعدی در نمای در سمت چپ بالا ایجاد می شود (شکل 9).اما هنوز هیچ اتفاقی در 2D رخ نمی دهد. در یک اسکریپت 2 بعدی ، یک شی با خطوط و چند خطوط جداگانه ساخته می شود ، بنابراین ترسیم یک شی در نقشه چندین برابر سریعتر است. در یک سایت ، این امر نامحسوس است ، اما اگر صدها شبکه از این دست در پروژه وجود داشته باشد ، ترمزگیری قابل توجه خواهد بود. شما می توانید مختصات نقاط این خطوط را محاسبه کرده و آنها را همانطور که در فرافکنی جسم چرخان به نظر می رسند رسم کنید ، اما این کار خیلی ساده و سریع نیست. در این شبکه ، من راه حل زیر را پیشنهاد می کنم: اگر زاویه های X یا Y برابر با صفر نباشند ، جسم موجود در اسکریپت 2D ، یعنی برای طرح ، به عنوان یک پیش بینی از مدل 3D ارائه می شود ، و در غیر این صورت به روش قدیمی فرافکنی مدل برای یک اسکریپت 2 بعدی توسط دستور PROJECT2 projection_code ، angle ، Method ساخته شده است. شما می توانید در کتاب مرجع معنی projection_code ، angle ، روش را بخوانید ، اما ما با دستور مهمتر از بخش دستورات کنترل IF - THEN - ELSE - ENDIF آشنا می شویم. اینها عبارات شرطی هستند که به شما کمک می کنند بند شرطی بند قبلی را بسازید. در شکل 10 من دستورات اضافه شده را در اسکریپت 2D برجسته کرده ام و "ترجمه" را با قرمز به سمت راست اضافه کرده ام.

بزرگنمایی
بزرگنمایی

اکنون فقط باید شی object را ذخیره کنید و می توانید از آن استفاده کنید (شکل 11). مزیت این روش نسبت به تبدیل به مورف این است که جسم پارامتری باقی می ماند ، می توان آن را در مشخصات خواند ، در آن می توانید ابعاد لت ها ، اندازه قاب و هر چیز دیگری را که در جسم اصلی بود تغییر دهید..

بزرگنمایی
بزرگنمایی

بنابراین به طور مفصل ، با استفاده از این مثال ، پنجره ها و اسکریپت های اصلی GDL Object Editor را بررسی کردیم. اگر شیئی که برای چرخش انتخاب کرده اید دارای پارامترهایی نه به صورت لیست باشد ، مانند این شبکه ، بلکه به صورت تصاویر و نمودارها است ، این بدان معنی است که توسعه دهنده یک رابط گرافیکی نیز نوشته است. اغلب ، لیست استاندارد با پارامترها پنهان است ، همانطور که در شکل نشان داده شده است. 12: در لیست کشویی صفحات پارامتر هیچ بخش "همه پارامترها" وجود ندارد.

بزرگنمایی
بزرگنمایی

در این حالت ، باید وارد اسکریپت پارامترها شوید و دستوری را پیدا کنید که تمام پارامترها را پنهان کند (شکل 13). این اسکریپت تمام اقداماتی را که بر پارامترها تأثیر می گذارند شرح می دهد: - تعیین گزینه ها یا دامنه مقادیر ممکن (VALUES). - هر محاسبه ای که نتیجه آن به پارامتر (پارامترها) اختصاص داده شود. - پنهان کردن یا قفل کردن پارامترها (HIDEPARAMETER ، LOCK).

بزرگنمایی
بزرگنمایی

خط HIDEPARAMETERS ALL به سادگی قابل حذف است یا با قرار دادن "!" در ابتدای خط ، آن را غیرقابل خواندن کنید (طبق نحو GDL ، خطی که با علامت تعجب شروع می شود به عنوان یک نظر در نظر گرفته می شود. بعلاوه ، توضیحات را می نویسم و ترجمه در تصاویر پس از علامت "!". پس از آن ، خط "همه پارامترها" در لیست صفحات پارامتر ظاهر می شود و با انتخاب آن ، یک لیست استاندارد با پارامترها مشاهده می کنید که در میان آنها خطوط جدیدی برای چرخش وجود دارد. مثال شماره 2 - متن روی یک نماد مثال بعدی را از پروژه فعلی می گیرم. هنگام کار با نقشه یک ساختمان مسکونی چند آپارتمانی ، لازم بود که حرف "K" را بر روی واحدهای بیرونی تهویه مطبوع قرار دهید - و به طوری که همیشه در حالت عمودی قرار داشته باشد. البته ، این نامه می توانست به سادگی با متن یا یک متن نوشتاری خارجی در بالا اضافه شود ، اما پس از آن ، هنگامی که کولر گازی چرخانده شد ، ممکن بود متن نیز منتقل شود. برای شروع ، چهار پارامتر جدید اضافه کردم (شکل 14):

بزرگنمایی
بزرگنمایی

1. نمایش متن: نوع پارامتر یک مقدار بولی است ، که حاکی از دو مقدار ممکن است: 0 (خیر) و 1 (بله). بنابراین ، متن را می توان روشن یا خاموش کرد.

2. متن خاص: نوع پارامتر - متن. به شما اجازه می دهد تا هر متنی را در نماد بنویسید (قصد دارم از یک حرف استفاده کنم تا در داخل مستطیل بلوک تهویه مطبوع قرار گیرد)

3. قلم: نوع - متن. لطفا توجه داشته باشید که برخی از انواع نوشتن این متغیر به شما امکان می دهد مقادیر قلم را در ستون از لیست موارد نصب شده در رایانه انتخاب کنید. "Fonttype" این لیست را به طور خودکار فراخوانی می کند ، اما اگر من "typefont" یا فقط "font" را بنویسم ، باید نام فونت را دستی بنویسم. من این لحظه را به طور اتفاقی در یکی از اجسام استاندارد مشاهده کردم.

4. قلم متن: نوع - قلم. خوب ، همه چیز در اینجا روشن است.

حالا بیایید آیکون هایی را که در ابتدای خط ها کلیک کردم ، بررسی کنیم. خط اول یک نماد را فشار داده است

Image
Image

، که به معنی پررنگ - پررنگ است. یعنی این خط در پنجره پارامترهای جسم پررنگ خواهد بود. سه تای دیگر دارای یک پیکتوگرام هستند

Image
Image

… این بدان معنی است که این خطوط در لیست کشویی زیر خط اول قرار می گیرند. در شکل 15 تصویری از تصویر است که نمای آن را در پارامترهای شی Para نشان می دهد.برای شروع ، چهار پارامتر جدید اضافه کردم (شکل 15):

Рис. 15. Окно Параметров Объекта
Рис. 15. Окно Параметров Объекта
بزرگنمایی
بزرگنمایی

و در شکل 16 - آنچه من در یک اسکریپت 2 بعدی اضافه کردم (به طور سنتی همراه با ترجمه و نظرات).

بزرگنمایی
بزرگنمایی

شکل. 16. خطوط اضافه شده در یک اسکریپت 2 بعدی در تصویر بعدی (شکل 17) ، برای وضوح بیشتر ، انواع مختلف کلمات / دستورات / متغیرها را رنگ آمیزی کرده ام.

بزرگنمایی
بزرگنمایی

جسم آماده است (شکل 18).

بزرگنمایی
بزرگنمایی

و اگر خطوط را با چرخش و مقیاس نویسی نکنم ، آن شی مانند شکل خواهد بود. 19

بزرگنمایی
بزرگنمایی

مثال شماره 3 - جزئیات برای ساده کردن کار بر روی یک پروژه ، هنگام نوشتن یک شی ، می توانید یک پارامتر متن را با انتخاب چندین گزینه برای جزئیات (ساده ، متوسط ، دقیق) اضافه کنید. و در اسکریپت سه بعدی ، هنگام ساخت قطعات مختلف کوچک ، شرایطی از نوع آن اضافه کنید: اگر سطح جزئیات = "دقیق" باشد ، (شرح قطعات ساختمان) پایان شرایط متغیرهای جهانی توجه ویژه ای دارند. طول آنها 40 صفحه در کتابچه راهنمای مرجع وجود دارد و برای جستجوی آسان بر اساس موضوع دسته بندی می شوند. در مثال قبلی ، من از برخی از داده های جهت گیری شی در پروژه استفاده کردم. همان بخش از کتابچه راهنما شامل متغیرهای جهانی برای مختصات مکان شی object است - آنها برای ایجاد اشیا such مانند یک رهبر با مختصات یا ارتفاع در یک بخش / ارتفاع استفاده می شوند. اغلب GLOB_SCALE استفاده می شود - مقیاس نقاشی (بسته به نمای پنجره فعلی بستگی دارد) ، در مقیاس 1: 100 برابر 100 است ، در مقیاس 1:20 برابر 20 است. بیشتر اوقات برای تبدیل اندازه قلم به متر متر یا بالعکس استفاده می شود. همچنین ، می توان از این پارامتر برای "آویزان کردن" گزینه های نمایش در طرح استفاده کرد. به عنوان مثال ، برای یک نیمکت ، موارد زیر را با یک اسکریپت 2 بعدی بنویسید:

اگر GLOB_SCALE <100 THEN ! اگر مقیاس بزرگتر از 1: 100 باشد ، پس
پروژه 2 3 ، 270 ، 2 ! یک طرح ریزی از یک مدل سه بعدی بسازید
دیگر ! در غیر این صورت
ENDIF ! پایان شرط

بنابراین در طرح جامع در مقیاس 1: 500 ، نیمکت ها به صورت مستطیل نمایش داده می شوند و روی قطعه ای با مقیاس بزرگتر ، یک طرح ریزی دقیق ترسیم می شود. اگر کادر تأیید نوع تاج خودکار را فعال کنید ، در درختان استاندارد از تکنیک مشابه اما برای یک مدل سه بعدی استفاده می شود. در فاصله مشخصی از دوربین ، نوع تاج از جزئی به ساده و از ساده به بیضوی تغییر می کند. درست است ، برای اینکه اسکریپت های شی دوباره خوانده شوند ، باید کاری با آنها انجام دهید - به عنوان مثال ، پس از تغییر چشم انداز ، برجسته سازی تمام درختان ، باز کردن پنجره پارامترهای جسم و بدون تغییر چیزی ، فقط OK را کلیک کنید ، یا روی کادر تأیید جایگزینی جلد کلیک کرده و علامت آن را بردارید.

بگذارید با استفاده از مثال تقریبی یک کره آن را نشان دهم. این چیزی است که من در یک اسکریپت سه بعدی نوشتم: 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_y ^ 2 +) = 20 سپس res = 50 اگر discam 20 پس از آن res = 20 اگر discam30 سپس res = 10 اگر discam> 40 سپس res = 5 resol res حوزه 1 در اسکریپت من از متغیرهای جهانی استفاده کردم GLOB_EYEPOS_X ، GLOB_EYEPOS_Y ، GLOB_EYEPOS_Z مختصات مکان مکان دوربین (چشم ها) در پنجره سه بعدی پروژه و SYMB_POS_X ، SYMB_POS_Y ، SYMB_POS_Z مختصات مکان شی در فضا هستند. abs - ماژول شماره (در صورت وجود "-" را حذف می کند) ؛ sqr - ریشه مربع ؛ ^ 2 - مربع کردن یک عدد.

در پنجره سه بعدی ، در فاصله های مختلف از دوربین ، کره با تقریب های مختلف ترسیم می شود. برای شفافیت ، حالت wireframe را روشن کردم (شکل 20).

بزرگنمایی
بزرگنمایی

از طریق متغیرهای جهانی ، این شی می تواند: - داده های مربوط به موقعیت پروژه (شمال ، عرض جغرافیایی ، طول جغرافیایی ، ارتفاع) ، تنظیم شده در کادر گفتگوی مربوطه ؛ - کف فعلی و کف خود ؛ - نوع نمای فعلی (به عنوان مثال ، در جامپرهای GOST از شرایط زیر استفاده می شود: اگر نوع نمایش یک لیست است ، سپس نمای بلوز را در بخشی با رهبران موقعیت ایجاد کنید) ؛ در مثال با یک مشبک می توانید شرط زیر را اضافه کنید: اگر نوع نما لیستی است ، سیستم مختصات را بچرخانید ، به این ترتیب در هر صورت نمای جلویی در لیست شبکه ها وجود دارد. - نمایش ناقص سازه ها (اگر فقط هسته انتخاب شده باشد ، می توانید شی the را در بعضی قسمت ها نشان ندهید).

می توانید داده های دیوار را به داخل پنجره یا شی door درب بکشید. فراخوان ها می توانند اطلاعات مختلفی در مورد عنصری که با آن مرتبط هستند بدست آورند ، به عنوان مثال ، یک کادر انتخاب با لایه های یک ساختار چند لایه یا یک رهبر با حجم یک عنصر. و به همین ترتیب ، 40 صفحه از متغیرهای جهانی متفاوت و بسیار مفید. مثال 4 - نشانگر منطقه بیایید نگاهی به نحوه ایجاد نشانگر منطقه سفارشی بیندازیم.اگر یک شی جدید ایجاد کنید و زیر نوع Zone Passport را برای آن در بخش جزئیات انتخاب کنید ، سپس در قسمت Parameters تمام پارامترهای خاصی که ابزار Zone به نشانگر منتقل می کند با رنگ آبی نشان داده می شوند (شکل 21).

Рис. 21. Параметры объекта подтипа Паспорт Зоны
Рис. 21. Параметры объекта подтипа Паспорт Зоны
بزرگنمایی
بزرگنمایی

با استفاده از دستور TEXT2 می توانید هر یک از این متغیرها را در یک اسکریپت 2 بعدی بنویسید - به این ترتیب می توانید یک نشانگر متشکل از متن (شکل 22) بدست آورید.

بزرگنمایی
بزرگنمایی

با استفاده از پارامترهای کلی نشانگر منطقه ، می توانید سبک متن و ارتفاع خط را بسته به ارتفاع قلم تعریف کنید: row، ROOM_NUMBER text2 0، 0، ROOM_NAME text2 0، -row، ROOM_AREA می توانید پارامتر جدیدی را برای انتخاب نوع نشانگر ایجاد کنید (شکل 23) ، گزینه هایی را برای آن در متن پارامترها تنظیم کنید (شکل 24) و در اسکریپت 2D انواع مختلفی از ارائه نشانگر را برای انواع مختلف می نویسد.

بزرگنمایی
بزرگنمایی
بزرگنمایی
بزرگنمایی

اسکریپت 2 بعدی: اگر mt = "نشانگر با شماره" باشد ، سپس متن 2 0 ، 0 ، ROOM_NUMBER CIRCLE2 0،0 ، انتهای ردیف اگر mt = "تعداد و مساحت" سپس text2 0 ، row / 2 ، ROOM_NUMBER text2 0 ، -row / 2 ، AREA_TEXT انتهای اگر mt = "عنوان و مساحت" باشد سپس text2 0 ، row / 2 ، ROOM_NAME text2 0 ، -row / 2 ، AREA_TEXT endif اگر mt = "تعداد ، عنوان و مساحت" سپس text2 0 ، row ، ROOM_NUMBER text2 0 ، 0 ، ROOM_NAME text2 0، -row، AREA_TEXT endif if mt = "area only" سپس text2 0، 0، AREA_TEXT endif در این اسکریپت ، من از متغیر منطقه از پیش تعریف شده به عنوان یک منطقه استفاده نکردم ، اما منطقه را به متن تبدیل کردم و به آن واحد است: area = str (ROOM_AREA ، 4 ، 2)! تبدیل یک عدد به متن با 2 رقم اعشار AREA_TEXT = مساحت + "مربع" ! افزودن مقدار رشته به حروف "sq.m." می توانید خطوط موجود در نشانگر را با خطوطی که برخی از خطوط را جدا می کند ، تکمیل کنید. برای یافتن طول یک رشته ، از دستور 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، row، 1001 می توانید یک پارامتر جدید برای نوع کف (FLOOR_TYPE) و پارامتری اضافه کنید که به شما امکان می دهد آن را مخفی یا نشان دهید (ShowFloorType) ، و در یک اسکریپت 2D یک مثلث با یک اضافه کنید چند خطی و متن با نوع طبقه: اگر ShowFloorType سپس ADD2 0 ، ردیف * 3 POLY2_ 4 ، 1 ، -row * 1.4 ، -row * 0.8 ، 1 ، ردیف * 2.8،60،201 ، ردیف * 1.4 ، -row * 0.8 ، 1 ، 0،0،700 text2 0،0، FLOOR_TYPE endif برای نوع طبقه ، افزودن یک پارامتر جداگانه برای قلم ، و همچنین نقاطی برای ویرایش گرافیکی محل نشانگر کف ، مطلوب است. من به طور کامل نحوه اضافه کردن نکات ویرایش گرافیکی را در وبینار خود شرح دادم و با استفاده از پیوند انتهای مقاله می توانید اشیا را بارگیری کرده و نحوه اجرای این مورد را در این مورد خاص مشاهده کنید.

و در آخر ، بیایید یک زیرمجموعه بسیار مهم دیگر از یک شی را در نظر بگیریم که امکانات بزرگی را ایجاد می کند - پارامترهای جهانی کتابخانه (شکل 26).

بزرگنمایی
بزرگنمایی

یک شی با این زیرگروه چیزی را نمی سازد یا ترسیم نمی کند ، پارامترها را در نماهای مدل تعریف می کند. بنابراین ، در آنجا می توانید پارامترهایی را که دوست دارید برای جسم مشترک باشد ، خارج کنید ، اما در عین حال می توانید مقادیر مختلفی را برای انواع مختلف تنظیم کنید.

من این را با یک مثال از نشانگر منطقه نشان می دهم. من به پروژه هایی برخوردم که در آنها مجموعه های مختلفی از مناطق در لایه های مختلف برای نماهای مختلف وجود داشت. در صورت نیاز به نشانگرهای مختلف ، بهترین راه حل برای پارامترهای جهانی کتابخانه است.

من یک نشانگر دارم که در آن می توان نوع کف را در یک مثلث تنظیم کرد و نوع مارک را تغییر داد (شکل 27). و این دو پارامتر به یک فایل جداگانه از زیر نوع پارامترهای کتابخانه جهانی منتقل می شوند (شکل 28).

بزرگنمایی
بزرگنمایی
بزرگنمایی
بزرگنمایی

برای اینکه این پارامترها در کادر گفتگوی Model View Parameters نمایش داده شوند ، باید آنها را در اسکریپت رابط شی ثبت کنید (شکل 29). من به طور مفصل در مورد دستورات ویژه این اسکریپت صحبت نمی کنم ، آنها با جزئیات کافی و با مثالهایی در کتاب مرجع شرح داده شده اند. فقط می گویم که در اینجا ما محل قرارگیری این یا آن برچسب یا دکمه را توصیف می کنیم (فیلدی با انتخاب گزینه ها ، یک علامت تیک و غیره) ، تصاویر را می توان در رابط کاربری نیز قرار داد. در کتابخانه استاندارد ، تقریباً هر شی دارای یک رابط گرافیکی است. شما می توانید تمام احتمالات را ببینید و ببینید که چگونه این اسکریپت ها نوشته شده اند. علاوه بر دکمه Check ، این اسکریپت دارای یک دکمه View نیز می باشد. با کلیک بر روی آن ، می توانید به سرعت ببینید که چه اتفاقی می افتد.

بزرگنمایی
بزرگنمایی

می توانید شی object را ذخیره کرده و در کادر گفتگوی Model View Options مشاهده کنید (شکل 30).در اینجا می توانیم نوع علامت گذاری را به یک باره برای همه مناطق موجود در پروژه (با این نشانگر) تغییر دهیم ، اما به طور جداگانه برای انواع مختلف.

بزرگنمایی
بزرگنمایی

اکنون ، در شی object نشانگر منطقه ، باید شی object را برای مقادیر این دو پارامتر جستجو کنید. در اسکریپت اصلی (که توسط شی object ابتدا خوانده می شود ، بنابراین تمام محاسبات و تعریف مقادیری که باید در چندین اسکریپت استفاده شود ، بهتر است در اینجا بنویسید) من دو خط مانند این می نویسم: موفقیت 1 = LIBRARYGLOBAL ("LibraryGlobals20" "،" ShowFloorType "، ShowFloorType) success2 = LIBRARYGLOBAL (" LibraryGlobals20 "،" mt "، mt)" موفقیت "در صورت موفقیت درخواست 1 خواهد بود؛ در غیر این صورت 0 می شود.

از این می توان برای نوشتن پیام هشدار به جای نشانگر منطقه استفاده کرد که شی LibraryGlobals20 در کتابخانه بارگیری نشده است.

سپس شی object طبق معمول با استفاده از دو مقدار جدید کار می کند: اگر نوع مارک گذاری فلان است ، فلان را بنویسید و غیره. در این مقاله ، من فقط قسمت کوچکی از قابلیت های GDL را پوشش داده ام. با کمک آن می توانید هم عناصر طراحی بسیار ساده و هم اشیا very بسیار پیچیده ایجاد کنید.

به عنوان مثال ، شما با خانه های کوچک و ساده SIP-panel روبرو هستید. شما یک لیست مشخص از گزینه های تغییر پروژه را دارید: - طول و عرض خانه می تواند از 2.4 تا 24 متر با پله 1.2 متر باشد. - اگر عرض بیش از 6 متر باشد ، باید یک دیوار دیگر در وسط وجود داشته باشد ؛ - دو گزینه برای ارتفاع کف بسته به اندازه پانل ؛ - تعداد طبقه - یک یا دو طبقه ؛ - پنجره ها می توانند در مکان های خاصی از پانل ها با اندازه خاص باشند. - اتمام نماها در سه نسخه ؛ - بام در سه نسخه ؛ - ضخامت دیوار از چندین اندازه استاندارد و غیره.

با افزودن هزینه هر متر مربع تابلو ، سقف ، دکوراسیون و … می توانید تمام این پارامترها را برای جسم تنظیم کنید. و در اسکریپت های 2D و 3D شی object ، این خانه را به جای ابعاد ایستا کاملاً با متغیرها بسازید و ترسیم کنید. برای اینکه کاربر در یک لیست طولانی از پارامترها گیج نشود ، می توانید برای چندین صفحه با تصاویر و نمودارها یک رابط گرافیکی بنویسید. در اسکریپت اصلی ، همه حجم ها را محاسبه کرده و هزینه را نمایش دهید. همچنین می توان جدولی با طرح صفحه ها به صورت اسکریپت 2 بعدی در کنار طرح نمایش داد. نوشتن چنین جسمی زمان زیادی را صرف خواهد کرد ، شما باید مشخصات فنی دقیق را تهیه کنید ، تمام تفاوت های ظریف را ارائه دهید ، اما پس از آن شما نه تنها یک شی ، بلکه تقریبا برنامه ای را دریافت خواهید کرد که در آن با انتخاب پارامترها ، می تواند مجموعه ای از یک پیش نویس با محاسبه مواد و هزینه مشتری را بدست آورد. امیدوارم که این بررسی اجمالی علاقمندی کسی را به قابلیتهای GDL برانگیخته باشد. داستان من با تمایل شدید به تغییر جزئیات جزئی در برخی از نشانگرهای منطقه استاندارد شروع شد و هرچه راهنما را بیشتر بخوانم ، به نظر من پتانسیل این ابزار بیشتر آشکار می شود ، که برای یک معمار بسیار مفید است. از لینک زیر می توانید تمام اشیایی را که به عنوان مثال در این مقاله در نظر گرفته شده بارگیری کنید: توجه داشته باشید. برای نوشتن این اشیا AR از ARCHICAD 20 استفاده شده است ، بنابراین در نسخه های قبلی باز نمی شوند. درباره GRAPHISOFT شرکت GRAPHISOFT® انقلابی در BIM در سال 1984 با ARCHICAD® آیا اولین راه حل BIM صنعت برای معماران در صنعت CAD است. GRAPHISOFT همچنان با بازار محصولات نرم افزاری معماری مانند BIMcloud solution ، اولین راه حل مشترک طراحی BIM در زمان واقعی ، EcoDesigner ™ ، اولین مدل سازی کاملاً یکپارچه انرژی و ارزیابی بازده انرژی ساختمان ها و BIMx ، در بازار نرم افزارهای معماری پیشرو است.® آیا برنامه برتر موبایل برای نمایش و ارائه مدل های BIM است. از سال 2007 ، GRAPHISOFT عضو گروه Nemetschek است.

توصیه شده: