ARCHICAD: MENINGKATKAN GDL: Pengaturcaraan Untuk Cabaran Unik Arkitek

ARCHICAD: MENINGKATKAN GDL: Pengaturcaraan Untuk Cabaran Unik Arkitek
ARCHICAD: MENINGKATKAN GDL: Pengaturcaraan Untuk Cabaran Unik Arkitek

Video: ARCHICAD: MENINGKATKAN GDL: Pengaturcaraan Untuk Cabaran Unik Arkitek

Video: ARCHICAD: MENINGKATKAN GDL: Pengaturcaraan Untuk Cabaran Unik Arkitek
Video: Язык GDL в ARCHICAD 2024, April
Anonim

Bahan pakar ini meneruskan rangkaian artikel "ARCHICAD: Rediscovering", yang dimulakan pada bulan Disember 2016 dengan artikel oleh Vladimir Savitsky "Penciptaan struktur dan pengekstrakan gambar kerja dari model", dan kemudian dilanjutkan dengan penerbitan Svetlana Kravchenko "ARCHICAD: Mencari semula. Visualisasi - peluang baru untuk arkitek "dan Alexander Anishchenko" TEAMWORK: kerja berpasukan yang berkesan langkah demi langkah ". Kitaran ini direka untuk membantu pengguna memanfaatkan sepenuhnya potensi ARCHICAD®… Kami meminta arkitek untuk berkongsi pengalaman peribadi mereka dalam menggunakan program ini dengan menggunakan pendekatan yang tidak standard, fungsi yang sedikit dipelajari dan ciri baru yang mungkin tidak disedari oleh banyak pengguna. Sebagai pembangun aplikasi ARCHICAD, kami yakin bahawa hanya pengetahuan mendalam mengenai produk yang dapat menunjukkan nilai penuhnya dan mempengaruhi keputusan, kepantasan dan kualiti karya pereka dengan tegas. Adakah anda juga lebih suka "jalan yang belum dibaca"? Adakah anda mempunyai pengalaman dalam menggunakan pendekatan tidak standard dalam bekerja dengan ARCHICAD, dengan kerap menggunakan bukan ciri aplikasi yang paling terkenal? Kami dengan senang hati akan menjemput pengarang baru untuk bekerjasama: [email protected]. Svetlana Kravchenko, seorang arkitek yang berlatih, melaporkan:

mengezum
mengezum

Pasti ramai di antara anda pernah mendengar mengenai GDL di ARCHICAD, tetapi tidak semua orang masih tahu bagaimana menggunakannya di tempat kerja. Memandangkan kegunaan luar biasa ciri ini, serta banyak persoalan selepas webinar pertama saya mengenai topik ini, saya memutuskan untuk mengkaji lebih terperinci mengenai bagaimana pengetahuan terkecil tentangnya dapat banyak membantu dalam pekerjaan sehari-hari seorang arkitek.

Mari mulakan dengan asasnya GDL (Geometric Description Language) adalah bahasa pengaturcaraan seperti ASAS yang direka untuk berfungsi di persekitaran ARCHICAD. Ia menggambarkan badan pepejal 3D (seperti pintu, tingkap, perabot) dan simbol 2D di tingkap pelan lantai. Objek-objek ini dipanggil Perpustakaan Fitur.

Bagi mereka yang paling tidak biasa dengan pengaturcaraan, menguasai bahasa ini tidak akan sukar. Walau bagaimanapun, dengan keinginan yang mencukupi, kajian GDL akan berada dalam kemampuan seseorang yang berada jauh dari persekitaran ini. Mana-mana arkitek telah mempelajari geometri dan geometri deskriptif pada zamannya, mempunyai pemikiran volumetrik yang sangat baik, dan ini sudah separuh kejayaan. Anda tidak perlu segera mencuba menulis objek yang kompleks, ada baiknya dimulakan dengan bentuk dan bentuk geometri asas; banyak maklumat dapat dikumpulkan dengan memeriksa skrip Item Perpustakaan lain. Nah, sumber maklumat utama adalah manual rujukan GDL, yang dapat diakses melalui menu Bantuan di ARCHICAD itu sendiri. Oleh itu, mengapa seorang arkitek dapat memanfaatkan pengetahuan mengenai GDL? Sebagai contoh, tidak seperti Grasshopper, dengan mana anda dapat membuat struktur yang kompleks, GDL sangat diperlukan untuk menulis pelbagai penanda dan keterangan, serta untuk membuat komponen khas untuk Ciri atau alat Perpustakaan lain. Salah satu aplikasi GDL pertama saya dalam karya saya ialah pembuatan daun pintu panel khas, yang, apabila diubah ukurannya, tidak skala ke semua arah, tetapi hanya mengubah dimensi panel. Ketebalan bingkai keriting dan lebar tali pinggang tidak berubah. Juga, arkitek sering ingin menambahkan beberapa fungsi mudah ke objek sedia ada dari perpustakaan standard - dan ini adalah sebab utama mengapa mereka mula meneroka GDL. Sudah tentu, pengetahuan tentang GDL tidak penting, dan banyak tugas ini dapat diselesaikan dengan alat standard. Contohnya, anda boleh membina isian dengan papak dan menyimpannya sebagai daun pintu khas. Sekiranya anda hanya mempunyai beberapa pintu tidak standard ini, ini akan menjadi lebih pantas. Tetapi jika dalam projek anda terdapat banyak pintu yang serupa dengan ukuran yang berbeza dan lebarnya berubah dalam proses kerja, maka menulis panel khas dalam GDL akan sangat mempercepat dan mempermudah kerja. Huraian geometri menunjukkan bahawa sebarang bentuk yang mungkin boleh ditulis dalam teks mengikut dimensi atau koordinat. Untuk skrip 3D, terdapat sekumpulan perintah untuk bentuk spasial asas, seperti: - BLOK dan BRICK - parallelepiped yang dibina dalam tiga dimensi dengan asal pada titik 0 sistem koordinat BLOK a, b, c BRICK a, b, c

mengezum
mengezum

- CYLIND - silinder di sepanjang paksi Z, dengan ketinggian h dan jejari r CYLIND h, r

- SPHERE - sfera berpusat pada asal dan jejari r SPHERE r

mengezum
mengezum

Elips dan kerucut digambarkan dengan cara yang serupa. Blok angka seterusnya sudah lebih rumit - ini adalah pelbagai prisma. Mereka dijelaskan oleh satu set koordinat titik. Prisma termudah ditentukan oleh bilangan titik (n), tinggi (h) dan menyenaraikan koordinat semua titik mengikut urutan. PRISM n, h, x1, y1, … xn, yn

Terdapat banyak jenis prisma. Pandangan seterusnya, PRISM_, membolehkan anda menunjukkan kod status ke koordinat titik, yang menentukan keterlihatan wajah dan tepi, dan juga membolehkan anda membuat prisma dan prisma melengkung dengan lubang (lihat bahagian Kod Status di buku rujukan). Jenis lain, BPRISM_, mencipta prisma yang dipintal di sekitar paksi-Y. FPRISM_ membina prisma dengan chamfer atau fillet di bahagian atas.

mengezum
mengezum

Terdapat beberapa arahan yang menerangkan bentuk berasaskan polyline yang lebih kompleks: KECUALI, PYRAMID, REVOLVE, RULED, SWEEP, TUBE, COONS, MASS. Huraian mereka dengan contoh boleh didapati dalam rujukan. Untuk skrip 2D, bentuk dijelaskan oleh perintah lain: garis, bulatan, segi empat tepat, garis polyline, spline. Tetapi anda juga boleh mendaftarkan perintah untuk membina unjuran dari skrip 3D.

Membuat bentuk 2D atau 3D hanyalah sebahagian daripada fungsi GDL. Sekiranya anda hanya memerlukan meja, maka lebih mudah untuk membuatnya dengan alat ARCHICAD itu sendiri. Objek ditulis dalam kes apabila diperlukan semacam parametrik: kemampuan untuk memilih pelbagai jenis kaki meja, jumlah kaki, mengubah ukuran meja sambil mengekalkan dimensi yang tersisa, mengira kayu untuk pembuatan, berat dan kosnya. Objek itu mungkin tidak mengandungi geometri sama sekali, tetapi hanya melakukan pengiraan. Untuk ini, Clauses kawalan (Control Operators) juga digunakan, seperti gelung, pernyataan bersyarat, merujuk pada tempat tertentu dalam kod (subrutin). Adalah lebih baik untuk membiasakan diri dengan kitaran dan keadaan sejak awal - ia sering digunakan. Jadi, semua contoh di bawah mempunyai pernyataan bersyarat. CONTOH # 1 - putaran objek Pereka sering ingin menjadikan objek boleh dipusingkan. Dengan menggunakan contoh mudah ini, kita akan melihat struktur Item Perpustakaan, serta tetingkap utama Editor Objek GDL. Untuk membuka objek yang terdapat di ruang projek (jika pembangun belum memasukkan kata laluan), anda perlu memilihnya dan tekan kombinasi kekunci Ctrl + Shift + O. Cara lain adalah dengan menggunakan menu Fail> Perpustakaan dan Objek> Buka Objek. Jika pada saat ini tidak ada objek yang dipilih, maka jendela untuk memilih objek akan terbuka. Mari tambah parameter putaran, misalnya, pada gril louver (Gamb. 1).

mengezum
mengezum

Oleh itu, kami telah membuka tetingkap Editor Objek GDL (Gamb. 2). Di kiri atas, ada tetingkap untuk melihat pandangan yang berbeza, seperti pada tetingkap biasa parameter objek; malah di sebelah kiri terdapat butang untuk memilih pandangan - pelan, ketinggian, tetingkap 3D dan pratonton. Di bawah ini terdapat butang untuk membuka tabel parameter, daftar data dan skrip. Skrip dapat dibuka dengan dua cara: klik pada butang dengan nama skrip - buka di tetingkap yang sama, klik pada butang di sebelah kanan dengan ikon tetingkap - skrip akan dibuka di tetingkap yang terpisah. Ini berguna untuk melihat skrip yang berbeza pada masa yang sama (Gambar 3).

mengezum
mengezum

Di bahagian atas tetingkap skrip ada butang Periksa yang sangat diperlukan: ketika anda mengkliknya, editor akan meminta anda jika ada kesalahan dalam skrip tersebut. Mesej akan mengandungi sebab kesalahan dan nombor baris di mana kesalahan itu dijumpai. Di bahagian "Perincian", anda boleh memilih subjenis objek: daun pintu khusus, gagang pintu, bingkai dinding tirai, dan sebagainya. Jadi, objek khas (pena, kanvas, bingkai) akan muncul di tetingkap yang sesuai untuk memilih elemen-elemen ini. Apabila jenis 2D dipilih, objek tidak akan mempunyai tingkap untuk geometri 3D. Di sana anda juga boleh memilih jenis untuk penanda yang berbeza - simpul, bahagian, kapsyen pemimpin, zon; mereka juga akan muncul di alat masing-masing. Di bahagian ini, anda boleh mengisi keterangan objek dan memilih kata laluan. Selanjutnya - "Parameter", di mana semua data yang digunakan dalam objek ini dan yang dapat diubah ketika mengerjakan projek disajikan dalam bentuk tabel. Di sini kita perlu menambahkan parameter untuk giliran, yang akan kita gunakan kemudian.

mengezum
mengezum

Tekan butang Baru yang terletak di atas jadual (Gamb. 4). Baris baru akan muncul di mana anda perlu mengisi lajur. Lajur pertama ini ialah Pembolehubah. Di sini kita menulis nama pemboleh ubah, yang akan digunakan dalam skrip, dalam bahasa Latin dan tanpa spasi. Anda perlu menamakannya supaya mudah diingat dan pada masa yang sama senang memahami apa pemboleh ubah ini bertanggungjawab. Dalam kes kita, kita perlu membuat dua pemboleh ubah untuk nilai sudut putaran di sepanjang paksi X dan Y (objek itu boleh diputar di sekitar paksi Z pula tepat dalam pelan). Saya memutuskan untuk menamakannya angle_x dan angle_y. Di lajur seterusnya, anda perlu memilih jenis data. Pilihannya ditunjukkan dalam jadual 1.

mengezum
mengezum

Dua jenis terakhir tidak digunakan dalam pembinaan objek, tetapi diperlukan untuk kejelasan dan keteraturan yang lebih besar dalam tetingkap parameter objek. Kami memerlukan sudut - ini adalah ikon kedua dalam jadual. Lajur ketiga ialah Nama. Di sini anda boleh menulis tanpa peraturan dalam bahasa apa sebenarnya yang ingin kita lihat kemudian di tetingkap parameter objek. Dan lajur terakhir ialah Nilai. Sekarang anda boleh meninggalkan 0 di sini: nilai ini berubah pada bila-bila masa dalam skrip dan parameter objek itu sendiri. Gambar 2 menunjukkan bagaimana dua pilihan baru itu kelihatan di tetingkap Editor Objek GDL. 5. Gunakan anak panah di awal garis untuk memindahkan garis ke lokasi yang mudah.

mengezum
mengezum

Kemudian anda perlu menyimpan objek dengan nama baru, kerana pustaka standard dikodkan keras ke dalam bekas, dan anda tidak dapat menimpa objek di dalamnya. Tetingkap Objek Parameter sekarang akan kelihatan seperti ini (Gamb. 6).

mengezum
mengezum

Terdapat dua parameter baru, nilainya dapat diubah setiap saat. Tetapi sekarang tidak ada yang akan berlaku, kerana belum ada perintah yang menggunakannya. Sekarang anda perlu membuka tetingkap skrip 3D. Berikut adalah penerangan lengkap mengenai bagaimana membina model 3D berdasarkan parameter yang diberikan. Di samping itu, pelbagai makro dapat disarang dalam objek. Sebelum semua pembinaan, anda perlu memutar sistem koordinat di mana objek akan dibina. Di sini adalah penting untuk memahami logik berikut: semua putaran, pergerakan dan penskalaan berlaku berbeza daripada ketika bekerja di ARCHICAD itu sendiri. Kami tidak mengambil elemen dan memutarnya, tetapi memutar sistem koordinat global (setelah mengubahnya, ia menjadi lokal) depan membina objek. Move (ADD Command), Rotate (ROT), Scale (MUL) adalah perintah transformasi sistem koordinat. Transformasi selanjutnya dapat dihapus dalam skrip satu persatu, beberapa sekaligus, atau hapus sekaligus. Buku rujukan menerangkan semua ini dengan cukup terperinci dan dengan contoh. Contoh menggerakkan sistem koordinat di ruang 3D di sepanjang tiga paksi ditunjukkan dalam Rajah. 7. TAMBAHKAN a, b, c

mengezum
mengezum

Jadi, sebelum semua pembinaan, kita memutar sistem koordinat, pertama di sepanjang satu, kemudian di sepanjang paksi yang lain. Putaran di sepanjang paksi X dilakukan oleh perintah ROTX alphax, di mana alphax adalah sudut putaran berlawanan arah jam; bukannya alphax, anda perlu memasukkan pemboleh ubah yang dibuat sebelumnya. Putaran di sepanjang paksi Y dilakukan dengan cara yang sama (Gamb. 8).

mengezum
mengezum

Sekarang anda boleh menetapkan sudut yang berbeza untuk putaran - dan perubahan dalam model 3D akan berlaku di ruang pandang yang terletak di kiri atas (Gamb. 9)

mengezum
mengezum

Sekarang anda boleh menetapkan sudut yang berbeza untuk putaran - dan perubahan dalam model 3D akan berlaku di ruang pandang yang terletak di kiri atas (Gamb. 9)Tetapi belum ada yang berlaku dalam 2D. Dalam skrip 2D, objek dibangun dengan garis dan garis berasingan, jadi lukisan objek dalam rencana jauh lebih cepat. Di satu laman web, ini tidak dapat dilihat, tetapi jika terdapat beratus-ratus grid seperti itu dalam projek, pengereman akan menjadi ketara. Anda boleh mengira koordinat titik-titik garis ini dan memplotnya seperti yang dilihat dalam unjuran objek yang diputar, tetapi ini tidak terlalu mudah dan tidak terlalu cepat. Dalam kisi ini, saya mencadangkan penyelesaian berikut: jika sudut dalam X atau Y tidak sama dengan sifar, maka objek dalam skrip 2D, iaitu, untuk rencana, akan diberikan sebagai unjuran model 3D, dan jika tidak dengan cara lama. Unjuran model untuk skrip 2D dibina oleh PROJECT2 projection_code, angle, method command. Anda boleh membaca apa arti kod unjuran, sudut, kaedah dalam buku rujukan, tetapi kami akan berkenalan dengan arahan yang lebih penting dari bahagian pernyataan kawalan IF - THEN - ELSE - ENDIF. Ini adalah pernyataan bersyarat yang akan membantu anda membina klausa bersyarat dari perenggan sebelumnya. Dalam rajah. 10 Saya telah menyerlahkan perintah tambahan dalam skrip 2D dan menambahkan "terjemahan" dengan warna merah ke kanan.

mengezum
mengezum

Sekarang anda hanya perlu menyimpan objek dan anda boleh menggunakannya (Gamb. 11). Kelebihan kaedah ini daripada penukaran menjadi morph adalah bahawa objek tetap parametrik, ia dapat dibaca dalam spesifikasi, di dalamnya anda dapat mengubah dimensi bilah, ukuran bingkai, dan segala sesuatu yang ada di objek asal.

mengezum
mengezum

Jadi secara terperinci, dengan menggunakan contoh ini, kami meneliti tetingkap dan skrip utama GDL Object Editor. Sekiranya objek yang anda pilih untuk putaran mempunyai parameter bukan dalam bentuk daftar, seperti dalam kisi ini, tetapi dalam bentuk gambar dan gambar rajah, ini bermaksud bahawa pemaju juga telah menulis antara muka grafik. Selalunya, senarai standard dengan parameter disembunyikan, seperti dalam Gambar. 12: Tidak ada bahagian "Semua Parameter" dalam senarai turun halaman parameter.

mengezum
mengezum

Dalam kes ini, anda perlu masuk ke skrip parameter dan mencari perintah yang menyembunyikan semua parameter (Gbr. 13). Skrip ini menerangkan semua tindakan yang mempengaruhi parameter: - penetapan pilihan atau julat nilai yang mungkin (NILAI); - sebarang pengiraan, hasilnya diberikan kepada parameter (PARAMETERS); - parameter penyembunyian atau penguncian (HIDEPARAMETER, LOCK).

mengezum
mengezum

Garis HIDEPARAMETERS SEMUA boleh dihapuskan atau meletakkan "!" Pada awal baris, membuatnya tidak dapat dibaca (menurut sintaks GDL, garis yang bermula dengan tanda seru dianggap sebagai komen. Selanjutnya, saya akan menulis keterangan dan terjemahan dalam tangkapan skrin selepas tanda "!"). Setelah itu, baris "Semua parameter" akan muncul dalam senarai halaman parameter, dan dengan memilihnya, anda akan melihat senarai standard dengan parameter, di antaranya akan ada garis baru untuk putaran. CONTOH # 2 - teks pada simbol Saya mengambil contoh seterusnya dari projek semasa. Semasa bekerja dengan rancangan bangunan kediaman berbilang pangsapuri, diharuskan meletakkan huruf "K" pada unit luar penghawa dingin - dan supaya ia selalu terletak secara menegak. Tentu saja, surat itu hanya dapat ditambahkan di atas dengan teks atau teks prasasti luaran, tetapi kemudian, ketika penghawa dingin dipusingkan, teks itu mungkin juga harus dipindahkan. Untuk memulakan, saya menambahkan empat parameter baru (Gambar 14):

mengezum
mengezum

1. Tunjukkan teks: jenis parameter adalah nilai boolean, yang menyiratkan dua nilai yang mungkin: 0 (tidak) dan 1 (ya). Oleh itu, teks boleh dihidupkan atau dimatikan.

2. Teks khas: jenis parameter - teks. Membolehkan anda menulis teks apa pun ke dalam simbol (saya bermaksud menggunakan satu huruf sehingga sesuai dengan segi empat tepat blok penghawa dingin).

3. Font: taip - teks. Harap maklum bahawa beberapa jenis penulisan pemboleh ubah ini membolehkan anda memilih nilai fon di lajur dari senarai yang dipasang di komputer. "Fonttype" memanggil senarai ini secara automatik, tetapi jika saya menulis "typefont" atau hanya "font", maka saya harus menulis nama font secara manual. Saya melihat detik ini secara kebetulan di salah satu objek standard.

4. Pena teks: jenis - pen. Baiklah, semuanya jelas di sini.

Sekarang mari kita lihat ikon yang saya klik pada awal baris. Baris pertama mempunyai ikon ditekan

Image
Image

yang bermaksud berani - berani. Maksudnya, garis ini di tetingkap parameter objek akan menjadi tebal. Tiga yang lain mempunyai piktogram

Image
Image

… Ini bermaksud bahawa garis-garis ini akan bersarang dalam senarai juntai bawah baris pertama. Dalam rajah. 15 adalah tangkapan skrin yang menggambarkan bagaimana ia kelihatan dalam Parameter Objek. Untuk memulakan, saya menambahkan empat parameter baru (Gambar 15):

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

Dan dalam rajah. 16 - apa yang saya tambahkan dalam skrip 2D (secara tradisional dengan terjemahan dan komen).

mengezum
mengezum

Rajah. 16. Garis tambah dalam skrip 2D Pada tangkapan skrin seterusnya (Gbr. 17), untuk lebih jelasnya, saya telah mewarnai berbagai jenis kata / perintah / pemboleh ubah.

mengezum
mengezum

Objek sudah siap (rajah 18).

mengezum
mengezum

Dan jika saya tidak menulis baris dengan putaran dan penskalaan, maka objek itu akan kelihatan seperti pada rajah. 19.

mengezum
mengezum

CONTOH # 3 - memperincikan Untuk mempermudah kerja pada projek, semasa menulis objek, anda dapat menambahkan parameter teks dengan pilihan beberapa pilihan untuk perincian (sederhana, sederhana, terperinci). Dan dalam skrip 3D, ketika membina pelbagai bahagian kecil, tambahkan keadaan jenisnya: jika tahap perincian = "terperinci", maka (keterangan bahagian bangunan) akhir keadaan Pembolehubah Global perlu mendapat perhatian khusus. Panjangnya 40 halaman dalam buku rujukan dan dikelompokkan berdasarkan topik untuk carian yang mudah. Dalam contoh sebelumnya, saya menggunakan beberapa data orientasi objek dalam projek. Bahagian manual rujukan yang sama mengandungi Pembolehubah Global untuk koordinat lokasi objek - ia digunakan untuk membuat objek seperti pemimpin dengan koordinat atau ketinggian pada bahagian / ketinggian. Selalunya GLOB_SCALE digunakan - skala lukisan (bergantung pada pandangan mengikut tetingkap semasa), pada skala 1: 100 ia sama dengan 100, pada skala 1:20 ia sama dengan 20. Ia paling kerap digunakan untuk menukar saiz fon menjadi model model atau sebaliknya. Juga, parameter ini dapat digunakan untuk "menggantung" pilihan paparan pada rencana. Sebagai contoh, untuk bangku simpanan, tuliskan yang berikut dalam skrip 2D:

JIKA GLOB_SCALE <100 KEMUDIAN ! jika skala lebih besar daripada 1: 100, maka
PROJEK2 3, 270, 2 ! membina unjuran dari model 3D
LAIN ! sebaliknya
ENDIF ! akhir keadaan

Jadi pada rencana induk pada skala 1: 500, bangku-bangku akan ditampilkan sebagai segi empat tepat, dan pada serpihan dengan skala yang lebih besar, unjuran terperinci akan dilukis. Teknik yang serupa, tetapi untuk model tiga dimensi, digunakan di pokok standard - jika anda mengaktifkan kotak pilihan Jenis mahkota automatik. Pada jarak tertentu dari kamera, jenis mahkota berubah dari terperinci ke sederhana, dan dari sederhana ke elips. Benar, agar skrip objek dapat dibaca semula, anda perlu melakukan sesuatu dengannya - misalnya, setelah mengubah perspektif, menyoroti semua pokok, membuka tetingkap parameter objek dan, tanpa mengubah apa-apa, klik OK atau klik dan hapus centang kotak penggantian penutup.

Izinkan saya menunjukkannya menggunakan contoh menghampiri sfera. 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) = 20 maka res = 50 jika discam20 kemudian res = 20 jika discam30 kemudian res = 10 jika discam> 40 maka res = 5 resolusi res sfera 1 Dalam skrip saya menggunakan Pembolehubah Global GLOB_EYEPOS_X, GLOB_EYEPOS_Y, GLOB_EYEPOS_Z adalah koordinat lokasi kamera (mata) pada tetingkap 3D projek dan SYMB_POS_X, SYMB_POS_Y, SYMB_POS_Z adalah koordinat lokasi objek di ruang angkasa; abs - modul nombor (mengeluarkan "-", jika ada); sqr - punca kuasa dua; ^ 2 - kuasa dua nombor.

Di tetingkap 3D, pada jarak yang berbeza dari kamera, sfera akan dilukis dengan pendekatan yang berbeza. Untuk kejelasan, saya menghidupkan mod bingkai kawat (Gamb. 20).

mengezum
mengezum

Melalui Pembolehubah Global, objek dapat menerima: - data mengenai lokasi projek (utara, garis lintang, garis bujur, ketinggian), yang ditetapkan dalam kotak dialog yang sesuai; - lantai semasa dan lantai sendiri; - jenis pandangan semasa (contohnya, dalam penerjun GOST keadaan berikut digunakan: jika jenis pandangan adalah senarai, kemudian bina pandangan pelompat di bahagian dengan pemimpin kedudukan); dalam contoh dengan kisi, anda boleh menambah syarat berikut: jika jenis pandangan adalah senarai, maka jangan putar sistem koordinat, sehingga dalam keadaan apa pun akan ada pandangan depan dalam senarai kisi; - paparan konstruksi yang tidak lengkap (anda boleh membuat objek tidak menunjukkan beberapa bahagian jika hanya inti yang dipilih).

Anda boleh menyeret data dinding ke objek tetingkap atau pintu. Petunjuk dapat memperoleh banyak maklumat yang berbeza mengenai elemen yang terkait dengannya, misalnya, kotak centang dengan lapisan struktur berbilang lapisan atau pemimpin dengan jumlah elemen. Dan seterusnya, 40 halaman Pembolehubah Global yang berbeza dan sangat berguna. CONTOH 4 - penanda zon Mari lihat bagaimana penanda zon tersuai dibuat. Sekiranya anda membuat objek baru dan memilih subjenis Zon Pasport untuknya di bahagian Perincian, maka di bahagian Parameter semua parameter khusus yang dilalui alat Zon ke penanda akan dipaparkan dengan warna biru (Gbr. 21).

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

Dengan menggunakan perintah TEXT2, anda boleh menulis mana-mana pemboleh ubah ini dalam skrip 2D - ini adalah cara anda mendapatkan penanda yang hanya terdiri daripada teks (Gamb. 22).

mengezum
mengezum

Dengan menggunakan parameter umum penanda zon, anda dapat menentukan gaya teks dan tinggi baris bergantung pada ketinggian fon: DEFINE STYLE "ROOM" AC_TextFont_1, ROOM_LSIZE, 5.0 STYLE "ROOM" baris = ROOM_LSIZE / 1000 * GLOB_SCALE * 1.5 text2 0, baris, ROOM_NUMBER teks2 0, 0, ROOM_NAME teks2 0, -row, ROOM_AREA Anda boleh membuat parameter baru untuk memilih jenis penanda (Gbr. 23), tetapkan pilihan untuk itu dalam skrip Parameter (Gbr. 24) dan di Skrip 2D menulis pelbagai jenis rendering penanda untuk pelbagai jenis.

mengezum
mengezum
mengezum
mengezum

Skrip 2D: jika mt = "marker with number" maka text2 0, 0, ROOM_NUMBER CIRCLE2 0,0, baris endif if mt = "number and area" maka text2 0, baris / 2, ROOM_NUMBER text2 0, -row / 2, AREA_TEXT endif jika mt = "tajuk dan kawasan" maka teks2 0, baris / 2, teks ROOM_NAME2 0, -row / 2, AREA_TEXT endif jika mt = "nombor, tajuk dan kawasan" maka teks2 0, baris, ROOM_NUMBER teks2 0, 0, ROOM_NAME teks2 0, -row, AREA_TEXT endif jika mt = "area sahaja" maka teks2 0, 0, AREA_TEXT endif Dalam skrip ini, saya tidak menggunakan pemboleh ubah kawasan yang telah ditentukan sebagai kawasan, tetapi menukar kawasan itu menjadi teks dan ditambahkan ke ia unit: area = str (ROOM_AREA, 4, 2)! menukar nombor menjadi teks dengan 2 tempat perpuluhan AREA_TEXT = luas + "sq.m." ! menambah nilai rentetan huruf "sq.m." Anda boleh menambah garis di penanda dengan garis yang memisahkan beberapa garis. Untuk mencari panjang tali, gunakan arahan STW. Mari tambahkan pada 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 = "nombor dan luas" maka tl = MAX (tl1, tl3) jika mt = "number, title and area" maka tl = MAX (tl1, tl2) if mt = "title and area" maka tl = MAX (tl2, tl3) jika mt = "area sahaja" maka tl = tl3 DAN dalam varian penanda, tambahkan garis dengan arahan LINE2 (Gamb. 25).

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

Sekiranya nombor zon terdiri daripada beberapa digit, untuk penanda, anda boleh membuat parameter untuk jari-jari bulatan, tidak bergantung pada ketinggian fon, atau bukan bulatan, terangkan bentuk seperti elips dengan panjang sama dengan panjang garis nombor zon yang kami dapati 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 boleh menambahkan parameter baru untuk jenis lantai (FLOOR_TYPE) dan parameter yang membolehkan anda menyembunyikan atau menunjukkannya (ShowFloorType), dan dalam skrip 2D tambahkan segitiga dengan garis polyline dan teks dengan jenis lantai: jika ShowFloorType maka 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 jenis lantai, adalah wajar untuk menambahkan parameter berasingan untuk pen, serta titik untuk penyuntingan grafik lokasi penanda lantai. Saya menerangkan secara terperinci cara menambahkan titik penyuntingan grafik dalam webinar saya, dan menggunakan pautan di akhir artikel, anda boleh memuat turun objek dan melihat bagaimana ini dilaksanakan dalam kes ini.

Dan akhirnya, mari kita pertimbangkan subtipe objek lain yang sangat penting yang membuka kemungkinan besar - Parameter Global Perpustakaan (Gamb. 26).

mengezum
mengezum

Objek dengan subjenis ini tidak membina atau menarik apa-apa, ia menentukan parameter dalam paparan model. Oleh itu, di sana anda dapat mengambil parameter yang anda ingin lihat umum untuk objek tersebut, tetapi pada masa yang sama dapat menetapkan nilai yang berbeza untuk pelbagai jenis.

Saya akan menunjukkan ini dengan contoh penanda zon. Saya menemui projek di mana terdapat beberapa set zon dalam lapisan yang berlainan untuk pandangan yang berbeza. Sekiranya terdapat keperluan untuk penanda yang berbeza, maka Parameter Global Perpustakaan adalah penyelesaian terbaik.

Saya mempunyai penanda di mana mungkin untuk menetapkan jenis lantai dalam segitiga dan menukar jenis penandaan (rajah 27). Dan kedua parameter ini dipindahkan ke fail terpisah dari subjenis Parameter Perpustakaan Global (Gbr. 28).

mengezum
mengezum
mengezum
mengezum

Agar parameter ini ditampilkan dalam kotak dialog Parameter Model, Anda perlu mendaftarkannya dalam skrip antara muka objek (Gbr. 29). Saya tidak akan membahas secara terperinci mengenai perintah khas untuk skrip ini, mereka dijelaskan dengan cukup terperinci dan dengan contoh dalam buku rujukan. Saya hanya akan mengatakan bahawa di sini kita menerangkan di mana label atau butang ini atau label itu (medan dengan pilihan pilihan, tanda semak, dll.), Gambar juga boleh dimasukkan ke antara Muka Pengguna. Di perpustakaan standard, hampir setiap objek mempunyai antara muka grafik; anda dapat melihat semua kemungkinan dan melihat bagaimana skrip ini ditulis. Selain tombol Periksa, skrip juga memiliki tombol Lihat. Dengan mengkliknya, anda dapat dengan cepat melihat apa yang berlaku.

mengezum
mengezum

Anda boleh menyimpan objek dan melihatnya di kotak dialog Pilihan Tampilan Model (Gambar 30). Di sini kita dapat mengubah jenis penandaan sekaligus untuk semua zon dalam projek (dengan penanda ini), tetapi secara berasingan untuk pelbagai jenis.

mengezum
mengezum

Sekarang, dalam objek penanda zon, anda perlu meminta objek untuk nilai dua parameter ini. Dalam Skrip Utama (yang dibaca oleh objek terlebih dahulu, jadi semua pengiraan dan definisi nilai yang harus digunakan dalam beberapa skrip, lebih baik saya menulis di sini) Saya menulis dua baris seperti ini: success1 = LIBRARYGLOBAL ("LibraryGlobals20 "," ShowFloorType ", ShowFloorType) success2 = LIBRARYGLOBAL (" LibraryGlobals20 "," mt ", mt)" success "akan menjadi 1 jika permintaan berjaya; jika tidak, ia akan menjadi 0.

Ini boleh digunakan untuk menulis mesej amaran dan bukannya penanda zon bahawa objek LibraryGlobals20 belum dimuat ke perpustakaan.

Kemudian objek berfungsi seperti biasa, menggunakan dua nilai baru: jika jenis penandaan adalah seperti itu, maka tulislah itu dan sebagainya, dan seterusnya. Dalam artikel ini, saya hanya merangkumi sebahagian kecil kemampuan GDL. Dengan bantuannya, anda boleh membuat elemen reka bentuk yang sangat sederhana dan objek yang sangat kompleks.

Contohnya, anda berurusan dengan rumah panel SIP kecil dan sederhana. Anda mempunyai senarai pilihan khusus untuk mengubah projek: - panjang dan lebar rumah boleh dari 2,4 hingga 24 meter dengan langkah 1,2 m; - jika lebarnya melebihi 6 m, maka harus ada dinding lain di tengahnya; - dua pilihan untuk ketinggian lantai bergantung pada ukuran panel; - bilangan tingkat - satu atau dua tingkat; - tingkap boleh berada di tempat panel dengan ukuran tertentu; - penamat fasad dalam tiga versi; - bumbung dalam tiga versi; - ketebalan dinding dari beberapa ukuran standard dan sebagainya.

Anda boleh menetapkan semua parameter ini untuk objek dengan menambahkan kos per meter persegi panel, atap, hiasan, dll. Dan dalam skrip 2D dan 3D objek, bina sepenuhnya dan lukis rumah ini dengan pemboleh ubah dan bukannya dimensi statik. Agar pengguna tidak keliru dalam senarai parameter yang panjang, anda boleh menulis antara muka grafik untuk beberapa halaman dengan gambar dan gambar rajah. Dalam Skrip Utama, hitung semua jilid dan tunjukkan kosnya. Juga dimungkinkan untuk menampilkan meja dengan susunan panel dalam skrip 2D di sebelah rencana. Menulis objek seperti itu akan memerlukan banyak masa, anda perlu menyusun spesifikasi teknikal terperinci, memberikan semua nuansa, tetapi kemudian anda akan menerima bukan hanya objek, tetapi hampir satu program di mana, dengan memilih parameter, anda boleh mendapatkan satu set draf reka bentuk dengan pengiraan bahan dan kos untuk pelanggan. Semoga gambaran keseluruhan ini dapat menarik minat seseorang terhadap kemampuan GDL. Kisah saya bermula dengan keinginan yang kuat untuk mengubah beberapa perincian kecil dalam beberapa penanda zon standard, dan semakin banyak saya membaca panduan ini, semakin banyak potensi alat ini, pada pendapat saya, sangat berguna untuk seorang arkitek, dinyatakan. Dari pautan di bawah, anda boleh memuat turun semua objek yang dianggap sebagai contoh dalam artikel ini: Muat turun contoh Catatan. ARCHICAD 20 digunakan untuk menulis objek-objek ini, sehingga tidak akan dibuka dalam versi sebelumnya. Mengenai GRAPHISOFT Syarikat GRAPHISOFT® merevolusikan BIM pada tahun 1984 dengan ARCHICAD® Merupakan penyelesaian BIM pertama industri untuk arkitek dalam industri CAD. GRAPHISOFT terus menerajui pasaran perisian seni bina dengan produk inovatif seperti BIMcloud ™, penyelesaian reka bentuk BIM kolaboratif masa nyata pertama di dunia, EcoDesigner ™, pemodelan tenaga bersepadu pertama dan penilaian kecekapan tenaga bangunan dan BIMx® Merupakan aplikasi mudah alih terkemuka untuk mempamerkan dan mempersembahkan model BIM. Sejak tahun 2007, GRAPHISOFT telah menjadi sebahagian daripada Kumpulan Nemetschek.

Disyorkan: