ARCHICAD: REVEALING GDL: Programming For Architect's Unique Challenges

ARCHICAD: REVEALING GDL: Programming For Architect's Unique Challenges
ARCHICAD: REVEALING GDL: Programming For Architect's Unique Challenges

Video: ARCHICAD: REVEALING GDL: Programming For Architect's Unique Challenges

Video: ARCHICAD: REVEALING GDL: Programming For Architect's Unique Challenges
Video: Язык GDL в ARCHICAD 2024, April
Anonim

Materi ahli ini melanjutkan rangkaian artikel "ARCHICAD: Menemukan Kembali", yang dimulai pada Desember 2016 dengan artikel oleh Vladimir Savitsky "Penciptaan struktur dan ekstraksi gambar kerja dari sebuah model", dan kemudian dilanjutkan dengan publikasi Svetlana Kravchenko "ARCHICAD: Menemukan kembali. Visualisasi - peluang baru untuk seorang arsitek "dan Alexander Anishchenko" KERJA TIM: kerja tim yang efektif selangkah demi selangkah ". Siklus ini dirancang untuk membantu pengguna mengeluarkan potensi penuh ARCHICAD®… Kami meminta arsitek untuk membagikan pengalaman pribadi mereka dalam menggunakan program menggunakan pendekatan non-standar, fungsi yang sedikit dipelajari, dan fitur baru yang mungkin tidak disadari oleh banyak pengguna. Sebagai pengembang aplikasi ARCHICAD, kami yakin bahwa hanya pengetahuan mendalam tentang produk yang dapat mengungkapkan nilai penuhnya dan secara meyakinkan memengaruhi hasil, kecepatan, dan kualitas karya desainer. Apakah Anda juga lebih suka "jalur yang belum dibaca"? Apakah Anda memiliki pengalaman dalam menggunakan pendekatan non-standar dalam bekerja dengan ARCHICAD, secara teratur menggunakan bukan fitur aplikasi yang paling terkenal? Kami akan dengan senang hati mengundang penulis baru untuk bekerja sama: [email protected]. Svetlana Kravchenko, seorang arsitek yang berlatih, melaporkan:

zooming
zooming

Tentunya banyak dari Anda pernah mendengar tentang GDL di ARCHICAD, tetapi tidak semua orang masih tahu cara menggunakannya di tempat kerja. Mempertimbangkan kegunaan yang luar biasa dari fitur ini, serta banyak pertanyaan setelah webinar pertama saya tentang topik ini, saya memutuskan untuk membahas lebih detail tentang bagaimana pengetahuan terkecil sekalipun dapat banyak membantu dalam pekerjaan sehari-hari. seorang arsitek.

Mari kita mulai dengan dasar-dasarnya GDL (Geometric Description Language) adalah bahasa pemrograman mirip BASIC yang dirancang untuk bekerja di lingkungan ARCHICAD. Ini menggambarkan benda padat 3D (seperti pintu, jendela, furnitur) dan simbol 2D di jendela denah lantai. Objek-objek ini disebut Fitur Perpustakaan.

Bagi yang setidaknya sudah sedikit paham dengan pemrograman, menguasai bahasa ini tidak akan sulit. Namun, dengan keinginan yang cukup, studi tentang GDL akan berada dalam jangkauan kekuatan seseorang yang jauh dari lingkungan ini. Setiap arsitek telah mempelajari geometri dan geometri deskriptif pada masanya, memiliki pemikiran volumetrik yang sangat baik, dan ini sudah setengah dari kesuksesannya. Anda tidak perlu langsung mencoba menulis objek kompleks, ada baiknya memulai dengan bentuk dan bentuk geometris dasar; banyak informasi dapat dikumpulkan dengan memeriksa skrip Item Perpustakaan lainnya. Sumber informasi utama adalah manual referensi GDL, yang dapat diakses melalui menu Help di ARCHICAD itu sendiri. Jadi, mengapa seorang arsitek mendapat manfaat dari pengetahuan tentang GDL? Misalnya, tidak seperti Belalang, yang dengannya Anda dapat membuat struktur kompleks, GDL sangat diperlukan untuk menulis berbagai penanda dan info, serta untuk membuat komponen khusus untuk Fitur atau alat Perpustakaan lainnya. Salah satu aplikasi GDL pertama saya dalam pekerjaan saya adalah pembuatan daun pintu panel khusus, yang, jika diubah ukurannya, tidak berskala ke segala arah, tetapi hanya mengubah dimensi panel. Ketebalan bingkai keriting dan lebar pengikat tetap tidak berubah. Selain itu, arsitek sering kali ingin menambahkan beberapa fungsi sederhana ke objek yang ada di pustaka standar - dan inilah alasan utama mengapa mereka mulai mempelajari GDL. Tentu saja, pengetahuan tentang GDL tidaklah penting, dan banyak dari tugas ini dapat diselesaikan dengan alat standar. Misalnya, Anda dapat membuat pengisi dengan lembaran dan menyimpannya sebagai daun pintu khusus. Jika Anda hanya memiliki sedikit dari pintu non-standar ini, maka ini akan menjadi lebih cepat. Tetapi jika dalam proyek Anda ada banyak pintu serupa dengan ukuran berbeda dan lebarnya berubah dalam proses pengerjaan, maka menulis panel khusus di GDL akan sangat mempercepat dan menyederhanakan pekerjaan. Deskripsi geometris menyiratkan bahwa setiap bentuk yang mungkin dapat ditulis dalam teks menurut dimensi atau koordinat. Untuk skrip 3D, terdapat sekumpulan perintah untuk bentuk spasial dasar, seperti: - BLOK dan BATA - pipa paralel yang dibangun dalam tiga dimensi dengan titik asal pada titik 0 dari sistem koordinat BLOK a, b, c BATA a, b, c

zooming
zooming

- SILINDER - silinder sepanjang sumbu Z, dengan tinggi h dan jari-jari r SILINDER h, r

- SPHERE - bola yang berpusat pada titik asal dan jari-jari r SPHERE r

zooming
zooming

Elips dan kerucut dijelaskan dengan cara yang sama. Blok gambar berikutnya sudah lebih rumit - ini adalah berbagai prisma. Mereka dijelaskan oleh sekumpulan koordinat titik. Prisma paling sederhana ditentukan oleh jumlah titik (n), tinggi (h) dan daftar koordinat semua titik secara berurutan. PRISM n, h, x1, y1, … xn, yn

Ada banyak jenis prisma. Tampilan selanjutnya, PRISMA_, memungkinkan Anda untuk menunjukkan kode status ke koordinat titik, yang menentukan visibilitas wajah dan tepi, dan juga memungkinkan Anda membuat prisma melengkung dan prisma berlubang (lihat bagian Kode Status di buku referensi). Jenis lain, BPRISM_, menciptakan prisma yang berputar di sekitar sumbu Y. FPRISM_ membangun prisma dengan talang atau fillet di sisi atas.

zooming
zooming

Ada beberapa perintah yang mendeskripsikan bentuk berbasis polyline yang lebih kompleks: EKSTRUD, PIRAMID, REVOLVE, RULED, SWEEP, TUBE, COONS, MASS. Deskripsi mereka dengan contoh dapat ditemukan di referensi. Untuk skrip 2D, bentuk dijelaskan dengan perintah lain: garis, lingkaran, persegi panjang, polyline, spline. Tetapi Anda juga dapat mendaftarkan perintah untuk membuat proyeksi dari skrip 3D.

Membuat bentuk 2D atau 3D hanyalah sebagian dari fungsionalitas GDL. Jika Anda hanya membutuhkan tabel, maka akan lebih mudah untuk membuatnya dengan alat dari ARCHICAD itu sendiri. Sebuah objek ditulis dalam kasus ketika beberapa jenis parametrik diperlukan: kemampuan untuk memilih berbagai jenis kaki meja, jumlah kaki, mengubah ukuran meja sambil mempertahankan dimensi yang tersisa, menghitung kayu untuk pembuatannya, berat dan biayanya. Objek tidak boleh berisi geometri sama sekali, tetapi hanya melakukan penghitungan. Untuk ini, Klausul Kontrol (Operator Kontrol) juga digunakan, seperti loop, pernyataan bersyarat, mengacu pada tempat tertentu dalam kode (subrutin). Yang terbaik adalah membiasakan diri Anda dengan siklus dan kondisi sejak awal - mereka sering digunakan. Jadi, semua contoh di bawah ini memiliki pernyataan bersyarat. CONTOH # 1 - rotasi objek Desainer sering kali ingin membuat objek menjadi bisa diputar. Menggunakan contoh sederhana ini, kita akan melihat struktur Item Perpustakaan, serta jendela utama Editor Objek GDL. Untuk membuka objek apa pun yang terletak di ruang proyek (jika pengembang belum memasukkan kata sandi), Anda harus memilihnya dan menekan kombinasi tombol Ctrl + Shift + O. Cara lain adalah dengan menggunakan menu File> Libraries and Objects> Open Object. Jika saat ini tidak ada objek yang dipilih, maka jendela untuk memilih objek akan terbuka. Mari tambahkan parameter rotasi, misalnya, ke kisi-kisi Louver (Gbr. 1).

zooming
zooming

Jadi, kami telah membuka jendela Editor Objek GDL (Gbr. 2). Di kiri atas, ada jendela untuk melihat tampilan yang berbeda, seperti di jendela biasa parameter objek; bahkan di sebelah kiri adalah tombol untuk memilih tampilan - rencana, ketinggian, jendela 3D, dan pratinjau. Di bawah ini terdapat tombol untuk membuka tabel parameter, daftar data, dan skrip. Skrip dapat dibuka dengan dua cara: klik tombol dengan nama skrip - buka di jendela yang sama, klik tombol di sebelah kanan dengan ikon jendela - skrip akan terbuka di jendela terpisah. Ini dapat berguna untuk melihat skrip yang berbeda pada saat yang sama (Gambar 3).

zooming
zooming

Di bagian atas jendela skrip apa pun terdapat tombol Periksa yang sangat diperlukan: saat Anda mengekliknya, editor akan menanyakan apakah ada kesalahan dalam skrip. Pesan tersebut akan berisi alasan kesalahan dan nomor baris tempat kesalahan ditemukan. Di bagian "Detail", Anda dapat memilih subtipe objek: daun pintu khusus, kenop pintu, bingkai dinding tirai, dan sebagainya. Jadi, objek khusus (pena, kanvas, bingkai) akan muncul di jendela yang sesuai untuk memilih elemen ini. Saat tipe 2D dipilih, objek tidak akan memiliki jendela untuk geometri 3D. Di sana Anda juga dapat memilih jenis untuk penanda yang berbeda - simpul, bagian, keterangan pemimpin, zona; mereka juga akan muncul di alatnya masing-masing. Di bagian ini, Anda dapat mengisi deskripsi objek dan memilih kata sandi. Selanjutnya - "Parameter", di mana semua data yang digunakan dalam objek ini dan yang dapat diubah saat mengerjakan proyek disajikan dalam bentuk tabel. Di sini kita perlu menambahkan parameter untuk belokan, yang akan kita gunakan nanti.

zooming
zooming

Tekan tombol Baru yang terletak di atas tabel (Gbr. 4). Baris baru akan muncul di mana Anda perlu mengisi kolom. Kolom pertama adalah Variabel. Di sini kami menulis nama variabel, yang akan digunakan dalam skrip, dalam bahasa Latin dan tanpa spasi. Anda perlu menamainya agar mudah diingat dan pada saat yang sama mudah dipahami untuk apa variabel ini bertanggung jawab. Dalam kasus kami, kami perlu membuat dua variabel untuk nilai sudut rotasi sepanjang sumbu X dan Y (objek dapat diputar di sekitar sumbu Z tepat di rencana). Saya memutuskan untuk menamainya angle_x dan angle_y. Di kolom berikutnya, Anda perlu memilih tipe data. Pilihannya disajikan pada tabel 1.

zooming
zooming

Dua tipe terakhir tidak digunakan dalam konstruksi objek, tetapi dibutuhkan untuk kejelasan dan keteraturan daftar yang lebih baik di jendela parameter objek. Kami membutuhkan sudut - ini adalah ikon kedua di tabel. Kolom ketiga adalah Nama. Di sini Anda dapat menulis tanpa aturan dalam bahasa apa pun yang sebenarnya ingin kita lihat nanti di jendela parameter objek. Dan kolom terakhir adalah Nilai. Sekarang Anda dapat meninggalkan 0 di sini: nilai ini berubah kapan saja baik dalam skrip maupun dalam parameter objek itu sendiri. Gambar 2 menunjukkan bagaimana dua opsi baru terlihat di jendela Editor Objek GDL. 5. Gunakan panah di awal baris untuk memindahkan garis ke lokasi yang nyaman.

zooming
zooming

Kemudian Anda perlu menyimpan objek dengan nama baru, karena pustaka standar di-hardcode ke dalam penampung, dan Anda tidak dapat menimpa objek di dalamnya. Jendela Object Parameters sekarang akan terlihat seperti ini (Gbr. 6).

zooming
zooming

Ada dua parameter baru yang nilainya dapat diubah kapan saja. Tetapi sekarang tidak akan terjadi apa-apa, karena belum ada perintah yang ditulis untuk menggunakannya. Sekarang Anda perlu membuka jendela skrip 3D. Berikut adalah uraian lengkap bagaimana membangun model 3D berdasarkan parameter yang diberikan. Selain itu, berbagai makro dapat disarangkan di objek. Sebelum semua konstruksi, Anda perlu memutar sistem koordinat tempat objek akan dibangun. Di sini penting untuk memahami logika berikut: semua rotasi, gerakan, dan penskalaan terjadi secara berbeda dari saat bekerja di ARCHICAD itu sendiri. Kami tidak mengambil elemen dan memutarnya, tetapi memutar sistem koordinat global (setelah mengubahnya menjadi lokal) depan membangun sebuah benda. Move (ADD Command), Rotate (ROT), Scale (MUL) adalah perintah transformasi sistem koordinat. Transformasi lebih lanjut dapat dihapus dalam skrip satu per satu, beberapa sekaligus, atau hapus semuanya sekaligus. Buku referensi menjelaskan semua ini dengan cukup rinci dan dengan contoh-contoh. Contoh pergerakan sistem koordinat dalam ruang 3D sepanjang tiga sumbu sekaligus ditunjukkan pada Gambar. 7. TAMBAHKAN a, b, c

zooming
zooming

Jadi, sebelum semua konstruksi, kami memutar sistem koordinat, pertama sepanjang satu, lalu sepanjang sumbu lainnya. Rotasi sepanjang sumbu X dilakukan dengan perintah ROTX alphax, di mana alphax adalah sudut rotasi berlawanan arah jarum jam; alih-alih alfaks, Anda harus memasukkan variabel yang dibuat sebelumnya. Rotasi sepanjang sumbu Y dilakukan dengan cara yang sama (Gbr. 8).

zooming
zooming

Sekarang Anda dapat mengatur sudut yang berbeda untuk rotasi - dan perubahan dalam model 3D akan terjadi di area pandang yang terletak di kiri atas (Gbr. 9).

zooming
zooming

Sekarang Anda dapat mengatur sudut yang berbeda untuk rotasi - dan perubahan dalam model 3D akan terjadi di area pandang yang terletak di kiri atas (Gbr. 9). Tapi belum ada yang terjadi dalam 2D. Dalam skrip 2D, sebuah objek dibangun dengan garis dan polylines yang terpisah, sehingga penggambaran objek dalam rencana jauh lebih cepat. Di satu lokasi, hal ini tidak terlihat, tetapi jika ada ratusan grid seperti itu dalam proyek, pengereman akan signifikan. Anda dapat menghitung koordinat titik-titik dari garis-garis ini dan memplotnya seperti yang terlihat dalam proyeksi objek yang diputar, tetapi ini tidak terlalu sederhana dan tidak terlalu cepat. Dalam kisi ini, saya mengusulkan solusi berikut: jika sudut di X atau Y tidak sama dengan nol, maka objek dalam skrip 2D, yaitu, untuk rencana, akan ditampilkan sebagai proyeksi model 3D, dan sebaliknya dengan cara lama. Proyeksi model untuk skrip 2D dibangun dengan perintah PROJECT2 projection_code, angle, method. Anda dapat membaca apa yang dimaksud dengan projection_code, angle, method dalam buku referensi, tetapi kita akan mengenal perintah yang lebih penting dari bagian pernyataan kontrol IF - THEN - ELSE - ENDIF. Ini adalah pernyataan bersyarat yang akan membantu Anda membuat klausa bersyarat dari paragraf sebelumnya. Dalam gambar. 10 Saya telah menyorot perintah yang ditambahkan dalam skrip 2D dan menambahkan "terjemahan" dengan warna merah ke kanan.

zooming
zooming

Sekarang Anda hanya perlu menyimpan objek dan Anda dapat menggunakannya (Gbr. 11). Keuntungan dari metode ini dibandingkan dengan konversi ke morph adalah bahwa objek tetap parametrik, dapat dibaca dalam spesifikasinya, di dalamnya Anda dapat mengubah dimensi bilah, ukuran bingkai, dan segala sesuatu yang ada di objek asli.

zooming
zooming

Jadi secara detail, menggunakan contoh ini, kami memeriksa jendela utama dan skrip Editor Objek GDL. Jika objek yang Anda pilih untuk rotasi memiliki parameter bukan dalam bentuk list seperti pada kisi ini, melainkan berupa gambar dan diagram, artinya pengembang juga telah menulis antarmuka grafis. Paling sering, daftar standar dengan parameter disembunyikan, seperti pada Gambar. 12: Tidak ada bagian "Semua Parameter" di daftar drop-down halaman parameter.

zooming
zooming

Dalam hal ini, Anda perlu masuk ke skrip parameter dan menemukan perintah yang menyembunyikan semua parameter (Gbr. 13). Skrip ini menjelaskan semua tindakan yang mempengaruhi parameter: - penunjukan opsi atau rentang nilai yang mungkin (NILAI); - perhitungan apa pun, yang hasilnya ditetapkan ke parameter (PARAMETER); - menyembunyikan atau mengunci parameter (HIDEPARAMETER, LOCK).

zooming
zooming

Baris HIDEPARAMETERS ALL dapat dengan mudah dihapus atau dengan memberi tanda "!" Pada awal baris, buat tidak dapat dibaca (menurut sintaks GDL, baris yang dimulai dengan tanda seru dianggap sebagai komentar. Selanjutnya, saya akan menulis deskripsi dan terjemahan di tangkapan layar setelah tanda "!"). Setelah itu, baris "Semua parameter" akan muncul di daftar halaman parameter, dan dengan memilihnya, Anda akan melihat daftar standar dengan parameter, di antaranya akan ada baris baru untuk rotasi. CONTOH # 2 - teks pada simbol Saya mengambil contoh berikutnya dari proyek saat ini. Saat bekerja dengan rencana bangunan hunian multi-apartemen, Anda harus meletakkan huruf "K" pada unit outdoor AC - dan agar selalu ditempatkan secara vertikal. Tentu saja, surat itu bisa saja ditambahkan di atasnya dengan teks atau teks prasasti eksternal, tapi kemudian, saat AC dinyalakan, teks itu mungkin harus dipindahkan juga. Untuk memulai, saya menambahkan empat parameter baru (Gambar 14):

zooming
zooming

1. Tampilkan teks: tipe parameter adalah nilai boolean, yang menyiratkan dua kemungkinan nilai: 0 (tidak) dan 1 (ya). Dengan demikian, teks bisa dihidupkan atau dimatikan.

2. Teks khusus: tipe parameter - teks. Memungkinkan Anda untuk menulis teks apa pun ke dalam simbol (saya bermaksud menggunakan satu huruf agar pas di dalam persegi panjang blok AC).

3. Font: ketik - teks. Harap dicatat bahwa beberapa jenis penulisan variabel ini memungkinkan Anda untuk memilih nilai font di kolom dari daftar yang diinstal di komputer. "Fonttype" memanggil daftar ini secara otomatis, tetapi jika saya menulis "typefont" atau hanya "font", maka saya harus menulis nama font secara manual. Saya memperhatikan momen ini secara kebetulan di salah satu objek standar.

4. Pena teks: ketik - pena. Nah, semuanya jelas di sini.

Sekarang mari kita lihat ikon yang saya klik di awal baris. Baris pertama memiliki ikon yang ditekan

Image
Image

yang artinya tebal - tebal. Artinya, baris ini di jendela parameter objek akan dicetak tebal. Tiga lainnya memiliki piktogram

Image
Image

… Ini berarti bahwa baris-baris ini akan bertumpuk di daftar drop-down di bawah baris pertama. Dalam gambar. 15 adalah tangkapan layar yang menggambarkan tampilannya di Parameter Objek. Untuk memulai, saya menambahkan empat parameter baru (Gambar 15):

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

Dan dalam gambar. 16 - apa yang saya tambahkan dalam skrip 2D (biasanya dengan terjemahan dan komentar).

zooming
zooming

Ara. 16. Menambahkan baris dalam skrip 2D Pada screenshot berikutnya (Gbr. 17), untuk lebih jelasnya, saya telah mewarnai berbagai jenis kata / perintah / variabel.

zooming
zooming

Objek sudah siap (gbr. 18).

zooming
zooming

Dan jika saya tidak menulis garis dengan rotasi dan penskalaan, objek akan terlihat seperti gambar. 19.

zooming
zooming

CONTOH # 3 - merinci Untuk menyederhanakan pekerjaan pada sebuah proyek, saat menulis sebuah objek, Anda dapat menambahkan parameter teks dengan beberapa pilihan opsi untuk detailing (sederhana, sedang, mendetail). Dan dalam skrip 3D, saat membangun berbagai bagian kecil, tambahkan kondisi tipe: jika level detail = "detail", maka (deskripsi bagian bangunan) kondisi akhir Variabel Global perlu mendapat perhatian khusus. Panjangnya 40 halaman dalam buku pedoman referensi dan dikelompokkan berdasarkan topik untuk memudahkan pencarian. Dalam contoh sebelumnya, saya menggunakan beberapa data orientasi objek dalam proyek. Bagian yang sama dari manual referensi berisi Variabel Global untuk koordinat lokasi objek - mereka digunakan untuk membuat objek seperti pemimpin dengan koordinat atau ketinggian pada bagian / ketinggian. Sangat sering GLOB_SCALE digunakan - skala gambar (tergantung pada tampilan menurut jendela saat ini), pada skala 1: 100 sama dengan 100, pada skala 1:20 sama dengan 20. paling sering digunakan untuk mengubah ukuran font menjadi model meter atau sebaliknya. Selain itu, parameter ini dapat digunakan untuk "menggantung" opsi tampilan pada rencana. Misalnya, untuk bangku, tulis yang berikut ini dalam skrip 2D:

JIKA GLOB_SCALE <100 MAKA ! jika skalanya lebih besar dari 1: 100, maka
PROYEK2 3, 270, 2 ! membangun proyeksi dari model 3D
LAIN ! jika tidak
BERAKHIR JIKA ! akhir kondisi

Jadi pada master plan skala 1: 500, bangku akan ditampilkan sebagai persegi panjang, dan pada fragmen dengan skala yang lebih besar akan digambar proyeksi detail. Teknik serupa, tetapi untuk model tiga dimensi, digunakan pada pohon standar - jika Anda mengaktifkan kotak centang Jenis tajuk otomatis. Pada jarak tertentu dari kamera, jenis mahkota berubah dari detil menjadi sederhana, dan dari sederhana menjadi elips. Benar, agar skrip objek dibaca ulang, Anda perlu melakukan sesuatu dengannya - misalnya, setelah mengubah perspektif, menyorot semua pohon, membuka jendela parameter objek dan, tanpa mengubah apa pun, cukup klik OK, atau klik dan hapus centang pada kotak centang penggantian penutup.

Izinkan saya menunjukkannya menggunakan contoh mendekati bola. Inilah yang saya tulis dalam skrip 3D: 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_z ^ = 20 maka res = 50 jika discam20 maka res = 20 jika discam30 maka res = 10 jika discam> 40 maka res = 5 resol res sphere 1 Pada script saya menggunakan Variabel Global GLOB_EYEPOS_X, GLOB_EYEPOS_Y, GLOB_EYEPOS_Z adalah koordinat lokasi kamera (mata) di jendela 3D proyek dan SYMB_POS_X, SYMB_POS_Y, SYMB_POS_Z adalah koordinat lokasi objek di luar angkasa; abs - modul nomor (menghapus "-", jika ada); sqr - akar kuadrat; ^ 2 - mengkuadratkan angka.

Pada jendela 3D, pada jarak yang berbeda dari kamera, bola akan digambar dengan perkiraan yang berbeda. Untuk kejelasan, saya mengaktifkan mode wireframe (Gbr. 20).

zooming
zooming

Melalui Variabel Global, objek dapat menerima: - data tentang lokasi proyek (utara, lintang, bujur, ketinggian), diatur di kotak dialog yang sesuai; - lantai saat ini dan lantai sendiri; - jenis tampilan saat ini (misalnya, dalam jumper GOST kondisi berikut digunakan: jika jenis tampilan adalah daftar, maka buat tampilan jumper di bagian dengan pemimpin posisi); dalam contoh dengan kisi, Anda dapat menambahkan kondisi berikut: jika jenis tampilan adalah daftar, maka jangan memutar sistem koordinat, sehingga dalam kasus apa pun akan ada tampilan frontal dalam daftar kisi; - tampilan konstruksi yang tidak lengkap (Anda dapat membuat objek tidak menunjukkan beberapa bagian jika hanya inti yang dipilih).

Anda dapat menyeret data dinding ke objek jendela atau pintu. Info dapat memperoleh banyak informasi berbeda tentang elemen yang terkait, misalnya, kotak centang dengan lapisan struktur multi-lapisan atau pemimpin dengan volume elemen. Dan seterusnya, 40 halaman Variabel Global yang berbeda dan sangat berguna. CONTOH 4 - penanda zona Mari kita lihat bagaimana penanda zona khusus dibuat. Jika Anda membuat objek baru dan memilih subtipe Zone Passport untuknya di bagian Details, maka di bagian Parameters, semua parameter spesifik yang dilewati alat Zone ke penanda ditampilkan dengan warna biru (Gbr. 21).

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

Dengan menggunakan perintah TEXT2, Anda dapat menulis salah satu variabel ini dalam skrip 2D - ini adalah cara Anda mendapatkan penanda yang hanya terdiri dari teks (Gbr. 22).

zooming
zooming

Dengan menggunakan parameter umum penanda zona, Anda dapat menentukan gaya teks dan tinggi garis bergantung pada tinggi font: DEFINE STYLE "ROOM" AC_TextFont_1, ROOM_LSIZE, 5.0 STYLE "ROOM" row = ROOM_LSIZE / 1000 * GLOB_SCALE * 1.5 text2 0, baris, ROOM_NUMBER teks2 0, 0, ROOM_NAME teks2 0, -row, ROOM_AREA Anda dapat membuat parameter baru untuk memilih jenis penanda (Gbr. 23), mengatur opsinya di skrip Parameter (Gbr. 24) dan di Skrip 2D menulis jenis rendering marker yang berbeda untuk jenis yang berbeda.

zooming
zooming
zooming
zooming

Skrip 2D: jika mt = "penanda dengan angka" lalu teks2 0, 0, ROOM_NUMBER CIRCLE2 0,0, baris endif jika mt = "bilangan dan luas" lalu teks2 0, baris / 2, ROOM_NUMBER teks2 0, -row / 2, AREA_TEXT endif jika mt = "judul dan luas" lalu teks2 0, baris / 2, teks ROOM_NAME2 0, -row / 2, AREA_TEXT endif jika mt = "nomor, judul dan luas" lalu teks2 0, baris, teks ROOM_NUMBER2 0, 0, ROOM_NAME teks2 0, -row, AREA_TEXT endif jika mt = "hanya area" lalu teks2 0, 0, AREA_TEXT endif Dalam skrip ini, saya tidak menggunakan variabel area yang telah ditentukan sebagai area, tetapi mengonversi area menjadi teks dan ditambahkan ke itu unit: area = str (ROOM_AREA, 4, 2)! mengonversi angka menjadi teks dengan 2 tempat desimal AREA_TEXT = area + "sq.m." ! menambahkan ke nilai string huruf "sq.m." Anda dapat menambahkan garis pada penanda dengan garis yang memisahkan beberapa garis. Untuk mencari panjang string, gunakan perintah STW. Mari tambahkan di awal skrip: tl1 = stw (ROOM_NUMBER) / 1000 * GLOB_SCALE tl2 = stw (ROOM_NAME) / 1000 * GLOB_SCALE tl3 = stw (AREA_TEXT) / 1000 * GLOB_SCALE jika mt = "bilangan dan luas" lalu tl = MAX (tl1, tl3) if mt = “number, title and area” maka tl = MAX (tl1, tl2) if mt = “title and area” maka tl = MAX (tl2, tl3) if mt = “area only” maka tl = tl3 AND dalam varian penanda, tambahkan baris dengan perintah LINE2 (Gbr. 25).

Рис. 25. 2D-скрипт
Рис. 25. 2D-скрипт
zooming
zooming

Jika nomor zona terdiri dari beberapa digit, untuk penanda, Anda dapat membuat parameter untuk jari-jari lingkaran, tidak bergantung pada tinggi font, atau sebagai pengganti lingkaran, gambarkan bentuk seperti elips dengan panjang yang sama dengan panjangnya dari baris nomor zona yang kita temukan sebelumnya: POLY2_ 5, 1 + 2 + 4, -tl1 / 2, baris, 1, tl1 / 2, baris, 1, tl1 / 2, -row, 1001, -tl1 / 2, -row, 1, -tl1 / 2, baris, 1001 Anda dapat menambahkan parameter baru untuk jenis lantai (FLOOR_TYPE) dan parameter yang memungkinkan Anda untuk menyembunyikan atau menampilkannya (ShowFloorType), dan dalam skrip 2D tambahkan segitiga dengan polyline dan teks dengan tipe lantai: jika ShowFloorType lalu ADD2 0, baris * 3 POLY2_ 4, 1, -row * 1.4, -row * 0.8, 1, baris * 2.8,60.201, baris * 1.4, -row * 0.8, 1, 0,0,700 text2 0,0, FLOOR_TYPE endif Untuk tipe lantai, sebaiknya tambahkan parameter terpisah untuk pena, serta titik untuk pengeditan grafis lokasi penanda lantai. Saya menjelaskan secara rinci cara menambahkan poin pengeditan grafis di webinar saya, dan menggunakan tautan di akhir artikel, Anda dapat mengunduh objek dan melihat bagaimana ini diterapkan dalam kasus khusus ini.

Dan akhirnya, mari kita pertimbangkan subtipe sangat penting lainnya dari sebuah objek yang membuka kemungkinan besar - Parameter Global dari Perpustakaan (Gbr. 26).

zooming
zooming

Sebuah objek dengan subtipe ini tidak membangun atau menggambar apapun, itu mendefinisikan parameter dalam tampilan model. Jadi, di sana Anda dapat mengambil parameter yang Anda ingin lihat umum untuk objek, tetapi pada saat yang sama dapat menetapkan nilai yang berbeda untuk tipe yang berbeda.

Saya akan menunjukkan ini dengan contoh penanda zona. Saya menemukan proyek di mana ada beberapa set zona di lapisan yang berbeda untuk tampilan yang berbeda. Jika ada kebutuhan untuk penanda yang berbeda, maka Parameter Global Perpustakaan adalah solusi terbaik.

Saya memiliki spidol yang memungkinkan untuk mengatur jenis lantai dalam segitiga dan mengubah jenis penandaan (gbr. 27). Dan kedua parameter ini dipindahkan ke file terpisah dari subtipe Parameter Perpustakaan Global (Gbr. 28).

zooming
zooming
zooming
zooming

Agar parameter ini ditampilkan di kotak dialog Parameter Tampilan Model, Anda perlu mendaftarkannya di skrip antarmuka objek (Gbr. 29). Saya tidak akan membahas secara rinci tentang perintah khusus untuk skrip ini, mereka dijelaskan secara cukup rinci dan dengan contoh di buku referensi. Saya hanya akan mengatakan bahwa di sini kami menjelaskan di mana label atau tombol ini atau itu akan ditempatkan (bidang dengan pilihan opsi, tanda centang, dll.), Gambar juga dapat dimasukkan ke Antarmuka Pengguna. Dalam pustaka standar, hampir setiap objek memiliki antarmuka grafis; Anda dapat melihat semua kemungkinan dan melihat bagaimana skrip ini ditulis. Selain tombol Check, script juga memiliki tombol View. Dengan mengkliknya, Anda dapat dengan cepat melihat apa yang terjadi.

zooming
zooming

Anda dapat menyimpan objek dan melihatnya dalam kotak dialog Model View Options (Gambar 30). Di sini kita dapat mengubah jenis penandaan sekaligus untuk semua zona dalam proyek (dengan penanda ini), tetapi secara terpisah untuk jenis yang berbeda.

zooming
zooming

Sekarang, di objek penanda zona, Anda perlu menanyakan objek untuk nilai dari dua parameter ini. Di Main Script (yang dibaca objeknya dulu, jadi semua kalkulasi dan definisi nilai yang harus digunakan di beberapa script, lebih baik tulis disini) saya tuliskan dua baris seperti ini: success1 = LIBRARYGLOBAL ("LibraryGlobals20 "," ShowFloorType ", ShowFloorType) success2 = LIBRARYGLOBAL (" LibraryGlobals20 "," mt ", mt)" success "akan menjadi 1 jika permintaan berhasil; jika tidak maka akan menjadi 0.

Ini dapat digunakan untuk menulis pesan peringatan daripada penanda zona bahwa objek LibraryGlobals20 belum dimuat ke dalam perpustakaan.

Kemudian objek tersebut bekerja seperti biasa, menggunakan dua nilai baru: jika jenis penandaannya begini dan begitu, maka tulis ini dan itu, dan seterusnya. Dalam artikel ini, saya hanya membahas sebagian kecil dari kemampuan GDL. Dengan bantuannya, Anda dapat membuat elemen desain yang sangat sederhana dan objek yang sangat kompleks.

Misalnya, Anda berurusan dengan rumah panel SIP yang kecil dan sederhana. Anda memiliki daftar opsi khusus untuk mengubah proyek: - panjang dan lebar rumah dapat dari 2,4 hingga 24 meter dengan langkah 1,2 m; - jika lebarnya melebihi 6 m, maka harus ada dinding lain di tengah; - dua opsi untuk ketinggian lantai tergantung pada ukuran panel; - jumlah lantai - satu atau dua lantai; - jendela dapat berada di tempat tertentu dari panel dengan ukuran tertentu; - finishing fasad dalam tiga versi; - atap dalam tiga versi; - ketebalan dinding beberapa ukuran standar dan sebagainya.

Anda dapat mengatur semua parameter ini untuk objek dengan menambahkan biaya per meter persegi panel, atap, dekorasi, dll. Dan dalam skrip 2D dan 3D dari objek, bangun dan gambar rumah ini sepenuhnya dengan variabel, bukan dimensi statis. Agar pengguna tidak bingung dalam daftar panjang parameter, Anda dapat menulis antarmuka grafis untuk beberapa halaman dengan gambar dan diagram. Di Skrip Utama, hitung semua volume dan tampilkan biayanya. Dimungkinkan juga untuk menampilkan tabel dengan tata letak panel dalam skrip 2D di sebelah denah. Menulis objek seperti itu akan memakan banyak waktu, Anda perlu menyusun spesifikasi teknis terperinci, menyediakan semua nuansa, tetapi kemudian Anda tidak hanya akan menerima objek, tetapi hampir program di mana, dengan memilih parameter, Anda bisa mendapatkan satu set rancangan rancangan dengan perhitungan bahan dan biaya untuk pelanggan. Semoga gambaran umum ini menarik minat seseorang pada kemampuan GDL. Kisah saya dimulai dengan keinginan yang kuat untuk mengubah beberapa detail kecil di beberapa penanda zona standar, dan semakin saya membaca panduan ini, semakin banyak potensi alat ini, menurut saya, sangat berguna bagi seorang arsitek, terungkap. Dari tautan di bawah ini Anda dapat mengunduh semua objek yang dianggap sebagai contoh dalam artikel ini: Unduh contoh Catatan. ARCHICAD 20 digunakan untuk menulis objek ini, sehingga objek tersebut tidak akan terbuka di versi sebelumnya. Tentang GRAPHISOFT Perusahaan GRAPHISOFT® merevolusi BIM pada tahun 1984 dengan ARCHICAD® Merupakan solusi BIM pertama di industri untuk arsitek di industri CAD. GRAPHISOFT terus memimpin pasar perangkat lunak arsitektur dengan produk inovatif seperti BIMcloud ™, solusi desain BIM kolaboratif waktu nyata pertama di dunia, EcoDesigner ™, pemodelan energi terintegrasi penuh pertama di dunia dan penilaian efisiensi energi bangunan dan BIMx® Apakah aplikasi seluler terkemuka untuk menampilkan dan menyajikan model BIM. Sejak 2007, GRAPHISOFT telah menjadi bagian dari Nemetschek Group.

Direkomendasikan: