ARCHICAD: GDL-nin KEÇİRİLMƏSİ: Memarın Unikal Problemləri üçün Proqramlaşdırma

ARCHICAD: GDL-nin KEÇİRİLMƏSİ: Memarın Unikal Problemləri üçün Proqramlaşdırma
ARCHICAD: GDL-nin KEÇİRİLMƏSİ: Memarın Unikal Problemləri üçün Proqramlaşdırma

Video: ARCHICAD: GDL-nin KEÇİRİLMƏSİ: Memarın Unikal Problemləri üçün Proqramlaşdırma

Video: ARCHICAD: GDL-nin KEÇİRİLMƏSİ: Memarın Unikal Problemləri üçün Proqramlaşdırma
Video: Кирилл Пернаткин, DUTCH. Автоматизация проектирования в ARCHICAD: Grasshopper+GDL, 2024, Aprel
Anonim

Bu mütəxəssis material, 2016-cı ilin dekabrında Vladimir Savitskinin "Yapıların yaradılması və işçi rəsmlərinin modeldən çıxarılması" məqaləsi ilə başlayan "ARCHICAD: Yenidən kəşf et" məqalələr seriyasını davam etdirir və daha sonra Svetlana Kravçenkonun "ARCHICAD" nəşrləri ilə davam edir.: Yenidən kəşf. Görselleştirme - bir memar üçün yeni imkanlar "və Alexander Anishchenko" TEAMWORK: addım-addım effektiv komanda işi ". Bu dövr, istifadəçilərin ARCHICAD-ın bütün potensialını ortaya qoymasına kömək etmək üçün hazırlanmışdır®… Memarlardan, standart olmayan yanaşmalardan, az öyrənilmiş funksiyalardan və bir çox istifadəçinin hətta bilmədiyi yeni xüsusiyyətlərdən istifadə edərək proqramdan istifadə ilə bağlı şəxsi təcrübələrini bölüşmələrini xahiş etdik. ARCHICAD tətbiqetməsinin inkişaf etdiriciləri olaraq əmindir ki, məhsulun yalnız dərin bir məlumatı onun tam dəyərini ortaya qoya bilər və dizaynerin işinin nəticələrini, sürətini və keyfiyyətini qətiyyətlə təsir edə bilər. Siz də "oxunmamış yollara" üstünlük verirsiniz? ARCHICAD ilə işləyərkən standart olmayan yanaşmalardan istifadə etmə təcrübəniz varmı, tətbiqetmənin ən məşhur xüsusiyyətlərindən istifadə etmirsiniz? Yeni müəllifləri əməkdaşlığa dəvət etməkdən məmnun qalacağıq: [email protected]. Təcrübəli bir memar Svetlana Kravchenko bildirir:

böyütmə
böyütmə

Şübhəsiz ki, bir çoxunuz ARDICAD-da GDL haqqında eşitmisiniz, lakin hamı hələ də işdə necə istifadə edəcəyini bilmir. Bu xüsusiyyətin inanılmaz faydalılığını və bu mövzuda ilk veb seminarımdan sonra çox sayda sualı nəzərə alaraq, bu barədə ən kiçik biliklərin belə gündəlik işində çox kömək edə biləcəyi barədə daha ətraflı məlumat verməyə qərar verdim. Memar.

Gəlin əsaslardan başlayaq GDL (Geometric Təsvir Dili) ARCHICAD mühitində işləmək üçün hazırlanmış BASIC-ə bənzər bir proqramlaşdırma dilidir. Döşəmə planı pəncərəsindəki 3 ölçülü qatı gövdələri (qapılar, pəncərələr, mebellər) və 2D işarələrini təsvir edir. Bu obyektlərə Kitabxana xüsusiyyətləri deyilir.

Proqramlaşdırma ilə ən azı bir az tanış olanlar üçün bu dili mənimsəmək çətin olmayacaq. Bununla birlikdə, kifayət qədər istəklə, GDL tədqiqatı tamamilə bu mühitdən uzaq bir insanın gücü daxilində olacaqdır. Hər hansı bir memar zamanında həndəsə və təsvir həndəsəsini öyrənmiş, mükəmməl həcm düşüncəsinə sahibdir və bu, artıq uğurun yarısıdır. Dərhal mürəkkəb obyektlər yazmağa çalışmaq lazım deyil, əsas həndəsi formalar və formalardan başlamağa dəyər; digər Kitabxana Məhsullarının ssenarilərini araşdıraraq bir çox məlumat əldə etmək olar. Yaxşı, əsas məlumat mənbəyi ARCHICAD-ın özündə olan Yardım menyusu vasitəsilə əldə edilə bilən GDL istinad kitabçasıdır. Bəs niyə bir memar GDL biliklərindən faydalana bilər? Məsələn, mürəkkəb quruluşlar yarada biləcəyiniz Çəyirtkədən fərqli olaraq, GDL müxtəlif markerlər və açıqlamalar yazmaq, eləcə də digər Kitabxana Xüsusiyyətləri və ya alətləri üçün xüsusi komponentlər yaratmaq üçün əvəzolunmazdır. GDL-in işimdəki ilk tətbiqetmələrindən biri, ölçüsü dəyişdirildikdə hər tərəfə ölçülməyən, ancaq panel ölçülərini dəyişdirən xüsusi bir panel qapı yarpağının yaradılması idi. Qıvrım çərçivənin qalınlığı və qoşqu genişliyi dəyişməz qaldı. Ayrıca, memarlar çox vaxt standart kitabxanaların mövcud obyektlərinə bəzi sadə funksiyalar əlavə etmək istəyirlər və bu, GDL-yə girməyə başlamalarının əsas səbəbidir. Əlbətdə ki, GDL haqqında məlumat vacib deyil və bu tapşırıqların çoxu standart vasitələrlə həyata keçirilə bilər. Məsələn, lövhələrlə dolguları tikib xüsusi bir qapı yarpağı kimi saxlaya bilərsiniz. Bu standart olmayan qapılardan yalnız bir neçəsi varsa, bu daha sürətli olacaq. Ancaq layihənizdə fərqli ölçülü bir çox oxşar qapı varsa və iş prosesində genişlik dəyişirsə, GDL-də xüsusi bir panel yazmaq işi çox sürətləndirəcək və asanlaşdıracaqdır. Həndəsi təsvir, mümkün formalardan hər hansı birinin ölçülərə və ya koordinatlarına görə mətndə yazılmasını nəzərdə tutur. 3B skript üçün əsas məkan formaları üçün bir sıra əmrlər mövcuddur: - BLOKKərpic - koordinat sisteminin 0 nöqtəsində mənşəyi olan üç ölçüdə inşa edilmiş paralelepiped BLOK a, b, c BRICK a, b, c

böyütmə
böyütmə

- Silindr - h oxu və radiusu r olan Z oxu boyunca silindr Silindr h, r

- SAHƏ - mənşə və radius r mərkəzləşmiş kürə Sahə r

böyütmə
böyütmə

Ellips və konus oxşar şəkildə təsvir olunur. Növbəti rəqəmlər bloku onsuz da daha mürəkkəbdir - bunlar müxtəlif prizmalardır. Bunlar bir sıra nöqtə koordinatları ilə təsvir olunur. Ən sadə prizma nöqtələrin sayı (n), hündürlük (h) və bütün nöqtələrin koordinatlarını sıralamaqla təyin olunur. PRISM n, h, x1, y1, … xn, yn

Prizmanın bir çox çeşidi var. Növbəti görüntü, PRISM_, üzlərin və kənarların görmə qabiliyyətini təyin edən nöqtələrin koordinatlarına vəziyyət kodlarını göstərməyə imkan verir, həmçinin əyri prizmalar və çuxurlu prizmalar yaratmağa imkan verir (istinad kitabındakı Vəziyyət kodları bölməsinə baxın). Başqa bir növ, BPRISM_, Y oxunun ətrafında bükülmüş bir prizma yaradır. FPRISM_ yuxarı tərəfində pax və ya fileto olan bir prizma düzəldir.

böyütmə
böyütmə

Daha mürəkkəb polyline əsaslı formaları təsvir edən bir neçə əmr var: ÇIXAR, PİRAMİD, DÖVRƏLƏN, QAYDALAN, TƏLƏNLƏ, BORU, KUNLAR, KİTAB. Onların nümunələri ilə təsviri istinadda tapıla bilər. 2B skript üçün formalar digər əmrlər ilə təsvir olunur: xətt, dairə, düzbucaqlı, çox xətt, spline. Ancaq bir 3D skriptdən bir proyeksiya qurmaq üçün bir əmr də qeyd edə bilərsiniz.

2D və ya 3B şəkillər yaratmaq GDL-in funksionallığının yalnız bir hissəsidir. Bir cədvələ ehtiyacınız varsa, ARCHICAD-ın özünün alətləri ilə qurmaq daha asandır. Bir növ parametrikliyin tələb olunduğu halda bir obyekt yazılır: müxtəlif növ masa ayaqları, ayaqların sayını seçmək, qalan ölçüləri qoruyarkən masanın ölçüsünü dəyişdirmək, odun istehsalını, çəkisini və qiymətini hesablamaq. Obyekt ümumiyyətlə həndəsə ola bilməz, ancaq hesablamalar aparır. Bunun üçün koddakı (alt proqram) müəyyən bir yerə istinad edərək döngələr, şərti ifadələr kimi İdarəetmə maddələri (İdarəetmə Operatorları) da istifadə olunur. Ən başında dövrlər və şərtlərlə tanış olmaq yaxşıdır - bunlar tez-tez istifadə olunur. Beləliklə, aşağıdakı nümunələrin hamısının şərti ifadələri var. NÜMUNƏ # 1 - obyektin fırlanması Dizaynerlər tez-tez bir obyekti dəyişkən etmək istəyirlər. Bu sadə nümunədən istifadə edərək, Kitabxana Elementinin quruluşuna və GDL Object Editor-in əsas pəncərələrinə baxacağıq. Layihə məkanında yerləşən hər hansı bir obyekti açmaq üçün (geliştirici parol qoymamışdırsa), onu seçib Ctrl + Shift + O düymələr kombinasiyasına basmalısınız. Başqa bir yol da Fayl> Kitabxanalar və Nesnələr> Açıq Növ menyusundan istifadə etməkdir. Bu anda heç bir obyekt seçilməyibsə, bir obyekt seçmək üçün bir pəncərə açılacaqdır. Dönmə parametrlərini, məsələn, bir panjur barmaqlığına əlavə edək (şəkil 1).

böyütmə
böyütmə

Beləliklə, GDL Object Editor pəncərəsini açdıq (şəkil 2). Sol üstdə, obyekt parametrlərinin adi pəncərəsində olduğu kimi fərqli görünüşlərə baxmaq üçün bir pəncərə var; solda da mənzərə seçmək üçün düymələr var - plan, yüksəklik, 3D pəncərə və önizləmə. Aşağıda parametr cədvəlləri, məlumat siyahıları və skriptləri açmaq üçün düymələr var. Ssenarilər iki şəkildə açılır: skript adı ilə düyməni vurun - eyni pəncərədə açın, pəncərə işarəsi ilə sağdakı düyməni vurun - skript ayrı bir pəncərədə açılacaqdır. Eyni zamanda fərqli skriptləri görmək faydalı ola bilər (şəkil 3).

böyütmə
böyütmə

Hər hansı bir skriptin pəncərəsinin yuxarı hissəsində çox zəruri bir Yoxlama düyməsi var: onu vurduğunuzda redaktor ssenaridə hər hansı bir səhv olub olmadığını soruşacaq. Mesajda xətanın səbəbi və xətanın tapıldığı sətir nömrəsi olacaqdır. "Detallar" bölməsində bir obyekt alt növünü seçə bilərsiniz: xüsusi qapı yarpağı, qapı dibi, pərdə divar çərçivəsi və s. Beləliklə, bu elementləri seçmək üçün müvafiq pəncərədə xüsusi obyektlər (qələm, kətan, çərçivə) görünəcəkdir. 2B növü seçildikdə, obyektdə 3D həndəsə üçün pəncərələr olmayacaqdır. Orada fərqli markerlər üçün növlər də seçə bilərsiniz - bir qovşaq, bölmələr, lider yazıları, zonalar; onlar da müvafiq alətlərində görünəcəklər. Bu bölmədə obyektin təsvirini doldurub parol seçə bilərsiniz. Bundan əlavə - "Parametrlər", burada bu obyektdə istifadə olunan və layihə üzərində işləyərkən dəyişdirilə bilən bütün məlumatlar cədvəl şəklində təqdim olunur. Burada növbələr üçün daha sonra istifadə edəcəyimiz parametrləri əlavə etməliyik.

böyütmə
böyütmə

Masanın üstündə yerləşən Yeni düyməsini basın (şəkil 4). Sütunları doldurmalı olduğunuz yeni bir sıra görünəcək. Bu sütunlardan birincisi Dəyişəndir. Burada skriptlərdə istifadə ediləcək dəyişənin adını Latın dilində və boşluq olmadan yazırıq. Adını eləməlisiniz ki, yadda saxlanması asandır və eyni zamanda bu dəyişənin nədən məsul olduğunu başa düşmək asandır. Bizim vəziyyətimizdə X və Y oxları boyunca fırlanma bucaqlarının dəyəri üçün iki dəyişən yaratmalıyıq (obyekt Z planı ətrafında hər halda düz çevrilə bilər). Mən onlara angle_x və angle_y adını verməyə qərar verdim. Növbəti sütunda məlumat növünü seçməlisiniz. Seçimlər cədvəl 1-də təqdim olunur.

böyütmə
böyütmə

Son iki növ obyektin tikintisində istifadə olunmur, lakin obyekt parametrləri pəncərəsində siyahının daha aydın və səliqəli olması üçün lazımdır. Bir küncə ehtiyacımız var - bu cədvəldəki ikinci nişandır. Üçüncü sütun Addır. Burada obyekt parametrləri pəncərəsində daha sonra dəqiq görmək istədiyimizi hər hansı bir dildə qaydalar olmadan yaza bilərsiniz. Və son sütun Dəyərdir. İndi burada 0 yaza bilərsiniz: bu dəyər istənilən vaxt həm skriptdə, həm də obyektin parametrlərində dəyişir. Şəkil 2, iki yeni seçimin GDL Object Editor pəncərəsində necə göründüyünü göstərir. 5. Xətti rahat bir yerə aparmaq üçün xəttin əvvəlindəki oxlardan istifadə edin.

böyütmə
böyütmə

Sonra standart kitabxana konteynerə kodlanmış olduğundan və içindəki obyektlərin üzərinə yaza bilmədiyiniz üçün obyekti yeni bir adla saxlamalısınız. Obyekt Parametrləri pəncərəsi indi belə görünəcək (şəkil 6).

böyütmə
böyütmə

Dəyəri hər an dəyişdirilə bilən iki yeni parametr var. Ancaq indi heç bir şey olmayacaq, çünki bunlardan istifadə edərək hələ heç bir əmr yazılmamışdır. İndi 3D skript pəncərəsini açmalısınız. Verilən parametrlərə əsasən 3D model qurmağın tam təsviri. Bundan əlavə, obyektdə müxtəlif makrolar yuvalana bilər. Bütün inşaatlardan əvvəl, obyektin inşa ediləcəyi koordinat sistemini döndərməlisiniz. Burada aşağıdakı məntiqi anlamaq vacibdir: bütün fırlanma, hərəkət və miqyaslandırma ARCHICAD-ın özündə işlədikdən fərqli olaraq baş verir. Bir element götürüb döndürmürük, ancaq qlobal koordinat sistemini döndəririk (dəyişdirdikdən sonra lokal olur) ön bir obyekt tikmək. Move (ADD Command), Rotate (ROT), Scale (MUL) koordinat sistemi çevrilmə əmrləridir. Əlavə dəyişikliklər skriptdə bir-bir, birdən-birə silinə və ya hamısını birdən silə bilər. Məlumat kitabında bütün bunlar kifayət qədər təfərrüatlı və nümunələrlə təsvir edilmişdir. Bir koordinat sisteminin üç fəzada bir anda üç ox boyunca hərəkət etməsinin nümunəsi Şek. 7. ƏLAVƏ A, b, c

böyütmə
böyütmə

Beləliklə, bütün konstruksiyalardan əvvəl koordinat sistemini əvvəlcə birinə, sonra digər ox boyunca döndəririk. X oxu boyunca fırlanma ROTX alphax əmri ilə həyata keçirilir, burada alfa saatın əksinə fırlanma bucağıdır; alfaks əvəzinə əvvəllər yaradılmış dəyişən daxil etməlisiniz. Y oxu boyunca fırlanma eyni şəkildə həyata keçirilir (şəkil 8).

böyütmə
böyütmə

İndi fırlanma üçün fərqli açılar qura bilərsiniz - və 3D modelindəki dəyişikliklər sol üst hissədə yerləşən görünüş hissəsində baş verəcəkdir (şəkil 9).

böyütmə
böyütmə

İndi fırlanma üçün fərqli açılar qura bilərsiniz - və 3D modelindəki dəyişikliklər sol üst hissədə yerləşən görünüş hissəsində baş verəcəkdir (şəkil 9). Ancaq 2B-də hələ heç bir şey olmur. 2 ölçülü bir skriptdə bir obyekt ayrı xətlər və çox xəttlərlə tikilir, buna görə bir obyektin plana çəkilməsi dəfələrlə daha sürətli olur. Bir saytda bu hiss olunmur, amma layihədə yüzlərlə belə şəbəkə varsa, əyləc əhəmiyyətli olacaq. Bu xətlərin nöqtələrinin koordinatlarını hesablaya və fırlanan obyektin proyeksiyasında göründüyü kimi qura bilərsiniz, lakin bu çox sadə və çox sürətli deyil. Bu qəfəsdə aşağıdakı həll yolu təklif edirəm: X və ya Y-dəki açılar sıfıra bərabər deyilsə, 2D skriptindəki obyekt, yəni plan üçün, 3D modelinin proyeksiyası kimi göstəriləcək və əks halda köhnə qaydada. Modelin 2D skript üçün proyeksiyası PROJECT2 proyeksiya_kodu, bucaq, metod əmri ilə qurulur. Proyeksiya_kodu, açı, metodun nə demək olduğunu istinad kitabından oxuya bilərsiniz, lakin daha vacib əmrlə IF - THEN - ELSE - ENDIF nəzarət hesabatları hissəsindən tanış olacağıq. Bunlar əvvəlki abzasdan şərti bənd yaratmağa kömək edəcək şərti ifadələrdir. Əncirdə 10 2D skriptində əlavə edilmiş əmrləri vurğuladım və sağa qırmızı rəngdə "tərcümə" əlavə etdim.

böyütmə
böyütmə

İndi yalnız obyekti xilas etməlisiniz və istifadə edə bilərsiniz (şəkil 11). Bu metodun morfa çevrilmədən üstünlüyü ondadır ki, obyekt parametrik olaraq qalır, spesifikasiyalarda oxuna bilər, onda lövhələrin ölçülərini, çərçivənin ölçüsünü və orijinal obyektdə olan hər şeyi dəyişə bilərsiniz..

böyütmə
böyütmə

Bu misaldan istifadə edərək ətraflı şəkildə GDL Object Editor-in əsas pəncərələrini və skriptlərini araşdırdıq. Fırlanma üçün seçdiyiniz obyekt bu qəfəsdəki kimi bir siyahı şəklində deyil, şəkillər və diaqramlar şəklində parametrlərə sahibdirsə, bu, geliştiricinin qrafik bir interfeys də yazdığı deməkdir. Çox vaxt, şəkillərdəki kimi standart parametrlər gizlidir. 12: Parametr səhifələrinin açılır siyahısında "Bütün Parametrlər" bölməsi yoxdur.

böyütmə
böyütmə

Bu vəziyyətdə parametrlər skriptinə girib bütün parametrləri gizlədən əmri tapmalısınız (şəkil 13). Bu ssenaridə parametrləri təsir edən bütün hərəkətlər təsvir olunur: - seçimlərin və ya mümkün dəyərlər aralığının təyin edilməsi (DƏYƏRLƏR); - nəticəsi parametrə təyin edilmiş hər hansı bir hesablama (PARAMETRƏLƏR); - parametrlərin gizlənməsi və ya kilidlənməsi (HIDEPARAMETER, LOCK).

böyütmə
böyütmə

HIDEPARAMETERS ALL sətri sadəcə silinə bilər və ya "!" Qoyaraq sətrin əvvəlində onu oxunmaz hala gətirin (GDL sintaksisinə görə, bir nida işarəsi ilə başlayan bir sətir şərh sayılır. Bundan əlavə, şərhlər yazacağam və "!" İşarəsindən sonra ekran görüntülərindəki tərcümələr). Bundan sonra, parametr səhifələrinin siyahısında "Bütün parametrlər" sətri görünəcək və onu seçərək parametrləri olan standart bir siyahı görəcəksən, bunlar arasında fırlanma üçün yeni sətirlər olacaqdır. Nümunə # 2 - simvoldakı mətn Növbəti nümunəni hazırkı layihədən götürürəm. Çox mənzilli bir yaşayış binasının planı ilə işləyərkən, kondisionerlərin xarici hissələrinə "K" hərfinin qoyulması tələb olunurdu və beləliklə hər zaman şaquli olaraq yerləşsin. Əlbətdə ki, məktub üstünə sadəcə mətn və ya xarici yazı-mətn əlavə oluna bilərdi, lakin sonra kondisioner çevrildikdə mətni də köçürmək lazım ola bilərdi. Başlamaq üçün dörd yeni parametr əlavə etdim (şəkil 14):

böyütmə
böyütmə

1. Mətn göstər: parametr növü iki mümkün dəyəri nəzərdə tutan boole dəyəridir: 0 (yox) və 1 (bəli). Beləliklə, mətn açıla və ya bağlana bilər.

2. Xüsusi mətn: parametr növü - mətn. Hər hansı bir mətni işarəyə yazmağınıza imkan verir (bir hərfdən istifadə etmək niyyətindəyəm ki, kondisioner blokunun düzbucağına daxil olsun).

3. Şrift: yazın - mətn. Xahiş edirik unutmayın ki, bu dəyişənin bəzi yazı növləri, kompüterdə quraşdırılanların siyahısından sütundakı yazı dəyərlərini seçməyə imkan verir. "Yazı tipi" bu siyahını avtomatik olaraq çağırır, ancaq "yazı tipi" və ya sadəcə "şrift" yazsam, şriftin adını əl ilə yazmalıyam. Bu anı təsadüfən standart obyektlərdən birində gördüm.

4. Mətn qələmi: tip - qələm. Burada hər şey aydındır.

İndi sətirlərin əvvəlində vurduğum ikonlara baxaq. İlk sətirdə bir işarəyə basıldı

Image
Image

qalın - qalın deməkdir. Yəni obyekt parametrləri pəncərəsindəki bu sətir qalın olacaq. Digər üçündə piktoqram var

Image
Image

… Bu sətirlərin birinci sətrin altındakı açılır siyahıda yuvalanması deməkdir. Əncirdə 15, Nesne Parametrlərində necə göründüyünü göstərən bir ekran görüntüsüdür. Başlamaq üçün dörd yeni parametr əlavə etdim (şəkil 15):

Рис. 15. Окно Параметров Объекта
Рис. 15. Окно Параметров Объекта
böyütmə
böyütmə

Və əncirdə 16 - 2D skriptə əlavə etdiklərim (ənənəvi olaraq tərcümə və şərhlərlə).

böyütmə
böyütmə

Şek. 16. 2 ölçülü skriptə sətirlər əlavə edildi Növbəti ekran görüntüsündə (şəkil 17) daha aydınlıq gətirmək üçün fərqli sözlər / əmrlər / dəyişənlərin rəngini verdim.

böyütmə
böyütmə

Obyekt hazırdır (şəkil 18).

böyütmə
böyütmə

Sətirləri fırlanma və miqyaslandırma ilə yazmasaydım, obyekt əncirdəki kimi görünərdi. 19.

böyütmə
böyütmə

NÜMUNƏ # 3 - ətraflı məlumat Bir layihə üzərində işi sadələşdirmək üçün bir obyekt yazarkən detallaşdırmaq üçün bir neçə seçim (sadə, orta, ətraflı) seçimi ilə bir mətn parametri əlavə edə bilərsiniz. Və 3D ssenaridə, müxtəlif kiçik hissələr qurarkən, bir növ şərt əlavə edin: əgər detal səviyyəsi = "ətraflı", onda (bina hissələrinin təsviri) şərtinin sonu Qlobal Dəyişənlər xüsusi diqqətə layiqdir. İstinad kitabçasında 40 səhifə uzunluğundadır və asan axtarış üçün mövzuya görə qruplaşdırılıb. Əvvəlki nümunədə layihədə bəzi obyekt yönümlü məlumatlardan istifadə etdim. Referans təlimatın eyni bölməsində obyekt yerləşmə koordinatları üçün Qlobal Dəyişənlər var - bunlar bir hissə / yüksəklikdə koordinatları və ya yüksəklikləri olan bir lider kimi obyektlər yaratmaq üçün istifadə olunur. Çox vaxt GLOB_SCALE istifadə olunur - rəsmin miqyası (cari pəncərəyə görə görünüşdən asılıdır), 1: 100 miqyasında 100-ə, 1:20 miqyasında 20-yə bərabərdir. ən çox şrift ölçüsünü model metrlərə və ya əksinə çevirmək üçün istifadə olunur. Ayrıca, bu parametr, plan seçimlərini "asmaq" üçün istifadə edilə bilər. Məsələn, bir dəzgah üçün aşağıdakıları 2D skriptlə yazın:

GLOB_SCALE <100 ONDAN SONRA ! əgər miqyas 1: 100-dən böyükdürsə, onda
LAYİHƏ2 3, 270, 2 ! bir 3D modelindən bir proyeksiya qurun
Başqa ! əks halda
ENDİF ! vəziyyətin sonu

Beləliklə, 1: 500 miqyaslı baş planda skamyalar düzbucaqlı şəklində göstəriləcək və daha böyük miqyaslı bir parça üzərində ətraflı bir proyeksiya çəkiləcəkdir. Bənzər bir texnika, lakin üç ölçülü bir model üçün standart ağaclarda istifadə olunur - Avtomatik tac növü onay qutusunu aktivləşdirsəniz. Kameradan müəyyən bir məsafədə tac növü detaldan sadə, sadədən ellipsə dəyişir. Doğrudur, obyektin skriptlərinin yenidən oxunması üçün onlarla bir şey etməlisiniz - məsələn, perspektivi dəyişdirdikdən, bütün ağacları vurğuladıqdan sonra obyektin parametrləri pəncərəsini açın və heç bir şey dəyişdirmədən, sadəcə OK düyməsini vurun, və ya qapağın dəyişdirilməsi onay qutusunu vurub işarəsini götürün.

Onu bir kürəyə yaxınlaşdırma nümunəsindən istifadə edərək göstərim. 3D ssenaridə yazdıqlarım belədir: 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_z = discam_z = discam_z = 20 sonra res = 50 discam20 sonra res = 20 discam30 sonra res = 10 discam> 40 sonra res = 5 çözünürlük res sahə 1 Ssenaridə QLOB_EYEPOS_X, GLOB_EYEPOS_Y, GLOB_EYEPOS_Z Qlobal Dəyişənlərdən istifadə etdim. layihənin 3D pəncərəsindəki kamera (gözlər) və SYMB_POS_X, SYMB_POS_Y, SYMB_POS_Z obyektin məkanda yerləşməsinin koordinatlarıdır; abs - nömrə modulu (varsa, "-" silir); sqr - kvadrat kök; ^ 2 - bir ədədi kvadrat şəklində göstərmək.

3D pəncərədə kameradan fərqli məsafələrdə kürə fərqli təxmini ilə çəkiləcək. Aydınlıq üçün tel çərçivə rejimini açdım (şəkil 20).

böyütmə
böyütmə

Qlobal Dəyişənlər vasitəsilə obyekt aşağıdakıları ala bilər: - müvafiq informasiya qutusuna qoyulmuş layihənin yeri (şimal, en, uzunluq, yüksəklik) barədə məlumatlar; - cari mərtəbə və öz mərtəbəsi; - cari görünüşün növü (məsələn, GOST tullananlarında aşağıdakı şərt istifadə olunur: görünüş növü bir siyahıdırsa, mövqe rəhbərləri olan bir hissədə tullanan görünüşünü qurun); bir qəfəsli nümunədə aşağıdakı şərti əlavə edə bilərsiniz: görünüş növü bir siyahıdırsa, koordinat sistemini döndərməyin, beləliklə hər halda qəfəslər siyahısında frontal bir görünüş olsun; - konstruksiyaların natamam nümayişi (yalnız özəyi seçilmişsə, obyektin bəzi hissələrini göstərməməsini təmin edə bilərsiniz).

Divar məlumatlarını bir pəncərəyə və ya qapı obyektinə sürükləyə bilərsiniz. Qeydlər əlaqələndirildikləri element haqqında bir çox fərqli məlumat əldə edə bilər, məsələn, çox qatlı bir quruluşun təbəqələri olan bir onay qutusu və ya bir element həcminə malik bir lider. Və beləcə 40 səhifə fərqli və çox faydalı Qlobal Dəyişənlər. Nümunə 4 - zona işarəsi Xüsusi bir zona markerinin necə yaradıldığına nəzər salaq. Yeni bir obyekt yaradırsınızsa və Detallar bölməsində bunun üçün Zona Passport alt növünü seçirsinizsə, Parametrlər bölməsində Zone alətinin markerə keçdiyi bütün spesifik parametrlər mavi rəngdə göstərilir (Şəkil 21).

Рис. 21. Параметры объекта подтипа Паспорт Зоны
Рис. 21. Параметры объекта подтипа Паспорт Зоны
böyütmə
böyütmə

TEXT2 əmrindən istifadə edərək bu dəyişənlərdən hər hansı birini 2B skriptində yaza bilərsiniz - yalnız mətndən ibarət olan bir işarəni belə əldə edirsiniz (şəkil 22).

böyütmə
böyütmə

Zona markerinin ümumi parametrlərindən istifadə edərək şrift hündürlüyündən asılı olaraq mətn tərzini və sətir hündürlüyünü təyin edə bilərsiniz: STYLE “ROOM” AC_TextFont_1, ROOM_LSIZE, 5.0 STYLE “ROOM” sıra = ROOM_LSIZE / 1000 * GLOB_SCALE * 1.5 text2 0, sıra, ROOM_NUMBER text2 0, 0, ROOM_NAME text2 0, -row, ROOM_AREA İşarənin növünü seçmək üçün yeni bir parametr yarada bilərsiniz (Şəkil 23), bunun üçün Parametrlər ssenarisində seçimlər təyin edin (Şəkil 24) və 2D skript fərqli növlər üçün fərqli marker göstərmə növlərini yazır.

böyütmə
böyütmə
böyütmə
böyütmə

2D skript: əgər mt = "nömrə işarəsi" varsa, onda text2 0, 0, ROOM_NUMBER CIRCLE2 0,0, satır endif əgər mt = "sayı və sahə" olarsa text2 0, sıra / 2, ROOM_NUMBER text2 0, -row / 2, AREA_TEXT endif mt = "başlıq və sahə" olduqda text2 0, sıra / 2, ROOM_NAME text2 0, -row / 2, AREA_TEXT endif əgər mt = "nömrə, başlıq və sahə" sonra text2 0, sıra, ROOM_NUMBER mətn2 0, 0, ROOM_NAME text2 0, -row, AREA_TEXT endif if mt = "area only" then text2 0, 0, AREA_TEXT endif Bu skriptdə əvvəlcədən təyin edilmiş sahə dəyişənini bir sahə olaraq istifadə etmədim, əksinə ərazini mətnə çevirdim və əlavə etdim bu vahidlər: sahə = str (ROOM_AREA, 4, 2)! bir ədədi 2 onluqlu mətnə çevirmək AREA_TEXT = sahə + "kv." ! sətir dəyərinə "kv." hərflərinin əlavə edilməsi Markerdəki xətləri bəzi xətləri ayıran xətlərlə tamamlaya bilərsiniz. Bir sətrin uzunluğunu tapmaq üçün STW əmrindən istifadə edin. Ssenarinin əvvəlinə əlavə edək: tl1 = stw (ROOM_NUMBER) / 1000 * GLOB_SCALE tl2 = stw (ROOM_NAME) / 1000 * GLOB_SCALE tl3 = stw (AREA_TEXT) / 1000 * GLOB_SCALE əgər mt = "sayı və sahə" olduqda tl = MAX (tl1, tl3) əgər mt = “nömrə, başlıq və sahə” olduqda tl = MAX (tl1, tl2) əgər mt = “başlıq və sahə” olduqda tl = MAX (tl2, tl3) əgər mt = “yalnız sahə” olduqda tl = tl3 VƏ işarələrin variantlarında LINE2 əmri ilə sətirləri əlavə edin (şəkil 25).

Рис. 25. 2D-скрипт
Рис. 25. 2D-скрипт
böyütmə
böyütmə

Zona nömrəsi bir neçə rəqəmdən ibarətdirsə, marker üçün dairənin radiusu üçün şrift hündürlüyündən asılı olmayaraq bir parametr yarada bilərsiniz və ya dairə əvəzinə uzunluğa bərabər uzunluqda bir ellips kimi bir forma təsvir edin əvvəllər tapdığımız zona nömrə xəttinin: POLY2_ 5, 1 + 2 + 4, -tl1 / 2, sıra, 1, tl1 / 2, sıra, 1, tl1 / 2, -row, 1001, -tl1 / 2, -row, 1, -tl1 / 2, sıra, 1001 Döşəmə növü üçün yeni bir parametr (FLOOR_TYPE) və onu gizlətməyə və ya göstərməyə imkan verən bir parametr (ShowFloorType) əlavə edə bilərsiniz və 2 ölçülü bir skriptdə üçbucağı əlavə edin. polineline və mərtəbə tipli mətn: ShowFloorType olduqda ADD2 0, sıra * 3 POLY2_ 4, 1, -row * 1.4, -row * 0.8, 1, sıra * 2.8,60,201, sıra * 1.4, -row * 0.8, 1, 0,0,700 mətn2 0,0, FLOOR_TYPE endif Döşəmə növü üçün qələm üçün ayrıca bir parametr, həmçinin döşəmə markerinin yerini qrafik redaktə etmək üçün nöqtələr əlavə etmək arzu edilir. Veb seminarımda qrafik redaktə nöqtələrinin necə əlavə ediləcəyini ətraflı təsvir etdim və məqalənin sonundakı keçiddən istifadə edərək obyektləri yükləyə və bunun bu halda necə həyata keçirildiyini görə bilərsiniz.

Və nəhayət, böyük imkanlar açan bir obyektin başqa bir çox vacib alt növünü - Kitabxananın Qlobal Parametrlərini nəzərdən keçirək (Şəkil 26).

böyütmə
böyütmə

Bu alt növə sahib bir obyekt heç bir şey tikmir və çəkmir, model görünüşlərində parametrləri təyin edir. Beləliklə, orada obyekt üçün ümumi görmək istədiyiniz parametrləri çıxara bilərsiniz, eyni zamanda fərqli növlər üçün fərqli dəyərlər təyin edə bilərsiniz.

Bunu bir zona markeri nümunəsi ilə göstərəcəyəm. Fərqli baxışlar üçün fərqli təbəqələrdə bir neçə zonanın olduğu layihələrə rast gəldim. Fərqli markerlərə ehtiyac varsa, Kitabxana Qlobal Parametrləri ən yaxşı həlldir.

Bir üçbucaqda döşəmə növünü təyin etmək və işarələmə növünü dəyişdirmək mümkün olan bir markerim var (şəkil 27). Və bu iki parametr Qlobal Kitabxana Parametrləri alt növünün ayrı bir sənədinə köçürülür (Şəkil 28).

böyütmə
böyütmə
böyütmə
böyütmə

Bu parametrlərin Model Görünüş Parametrləri informasiya qutusunda göstərilməsi üçün onları obyekt interfeysi skriptində qeyd etməlisiniz (Şəkil 29). Bu ssenari üçün xüsusi əmrlər üzərində ətraflı dayanmayacağam, onlar kifayət qədər təfərrüatlı və istinad kitabındakı nümunələrlə təsvir edilmişdir. Yalnız deyəcəyəm ki, burada bu və ya digər etiketin və ya düymənin harada yerləşəcəyini təsvir edirik (seçim seçimi olan bir sahə, onay işarəsi və s.), Şəkillər də İstifadəçi interfeysinə daxil edilə bilər. Standart kitabxanada demək olar ki, hər bir obyektin qrafik interfeysi var; bütün imkanları görə və bu skriptlərin necə yazıldığını görə bilərsiniz. Yoxlama düyməsinə əlavə olaraq ssenaridə bir Görünüş düyməsi də var. Bunun üzərinə tıklayaraq nə baş verdiyini tez bir zamanda görə bilərsiniz.

böyütmə
böyütmə

Obyekti saxlaya və Model Görünüş Seçimləri informasiya qutusunda görə bilərsiniz (şəkil 30). Burada layihədəki bütün zonalar üçün markalanma növünü bir dəfəyə dəyişdirə bilərik (bu markerlə), lakin fərqli növlər üçün ayrıca.

böyütmə
böyütmə

İndi, zona marker obyektində, bu iki parametrin dəyərlərini sorğu etməlisiniz. Əsas skriptdə (əvvəlcə obyekt tərəfindən oxunur, buna görə bir neçə skriptdə istifadə edilməli olan bütün hesablamalar və dəyərlərin tərifləri burada yazmaq daha yaxşıdır) iki sətir belə yazıram: success1 = LIBRARYGLOBAL ("LibraryGlobals20 "," ShowFloorType ", ShowFloorType) müvəffəqiyyət2 = KİTABXANA (" LibraryGlobals20 "," mt ", mt)" müvəffəqiyyət ", istək müvəffəq olarsa 1 olacaq; əks halda 0 olacaq.

Bu, LibraryGlobals20 obyektinin kitabxanaya yüklənmədiyi barədə zona işarəsi əvəzinə xəbərdarlıq mesajı yazmaq üçün istifadə edilə bilər.

Sonra obyekt həmişəki kimi iki yeni dəyərdən istifadə edərək işləyir: əgər markalanma növü filankəsdirsə, filan kimi yaz və s. Bu yazıda GDL-in imkanlarının yalnız kiçik bir hissəsini əhatə etdim. Onun köməyi ilə həm çox sadə dizayn elementləri, həm də çox mürəkkəb obyektlər yarada bilərsiniz.

Məsələn, kiçik və sadə SIP panel evlərlə məşğul olursunuz. Layihəni dəyişdirmək üçün müəyyən bir seçim siyahınız var: - evin uzunluğu və eni 1,2 m addımla 2,4 ilə 24 metr arasında ola bilər; - eni 6 m-dən çox olarsa, ortada başqa bir divar olmalıdır; - panel ölçüsündən asılı olaraq döşəmə hündürlüyü üçün iki seçim; - mərtəbələrin sayı - bir və ya iki mərtəbə; - pəncərələr müəyyən ölçülü panellərin müəyyən yerlərində ola bilər; - fasadların üç versiyada bitirilməsi; - üç versiyada dam örtüyü; - bir neçə standart ölçüdə divar qalınlığı və s.

Panel, dam, dekorasiya və s.-nin kvadrat metri üçün maya dəyəri əlavə edərək obyekt üçün bütün bu parametrləri təyin edə bilərsiniz. Və obyektin 2D və 3B skriptlərində bu evi tamamilə qurun və statik ölçülər əvəzinə dəyişənlərlə çəkin. İstifadəçinin uzun bir parametr siyahısında qarışmaması üçün şəkillər və diaqramlarla bir neçə səhifə üçün qrafik interfeys yaza bilərsiniz. Əsas ssenaridə bütün cildləri hesablayın və dəyəri göstərin. Planın yanında 2D skriptdə panellərin düzülüşü olan bir cədvəl də göstərmək mümkündür. Belə bir obyektin yazılması çox vaxt aparacaq, ətraflı bir texniki spesifikasiya hazırlamalı, bütün nüansları təmin etməlisiniz, ancaq sonra yalnız bir obyekt deyil, parametrləri seçərək demək olar ki, bir proqram alacaqsınız müştəri üçün material və xərc hesablanması ilə bir layihə dizaynı dəsti əldə edə bilər. İnşallah bu ümumi birinin GDL-nin imkanlarına marağını artırdı. Hekayəm bəzi standart zona markerindəki bəzi xırda detalları dəyişdirmək istəyi ilə başladı və bələdçini nə qədər çox oxudumsa, bir memar üçün çox faydalı olan bu vasitənin potensialı bir o qədər çox üzə çıxdı. Aşağıdakı linkdən bu məqalədə nümunə sayılan bütün obyektləri yükləyə bilərsiniz: Nümunələri yükləyin Qeyd. ARCHICAD 20 bu obyektləri yazmaq üçün istifadə olundu, buna görə əvvəlki versiyalarda açılmayacaq. GRAPHISOFT haqqında GRAPHISOFT şirkəti® 1984-cü ildə ARCHICAD ilə BIM-də inqilab etdi® CAD sənayesindəki memarlar üçün sənayenin ilk BIM həllidir. GRAPHISOFT, BIMcloud ™, dünyanın ilk real vaxt işbirlikçi BIM dizayn həlli, dünyanın ilk tam inteqrasiya edilmiş enerji modelləşdirməsi və binaların enerji səmərəliliyi qiymətləndirmələri olan EcoDesigner ™ kimi yenilikçi məhsullarla memarlıq proqram bazarına rəhbərlik etməyə davam edir® BIM modellərini nümayiş etdirmək və təqdim etmək üçün aparıcı mobil tətbiqetmədir. 2007-ci ildən GRAPHISOFT Nemetschek Qrupunun bir hissəsidir.

Tövsiyə: