ARCHICAD: İNCELEME GDL: Mimarın Eşsiz Zorlukları Için Programlama

ARCHICAD: İNCELEME GDL: Mimarın Eşsiz Zorlukları Için Programlama
ARCHICAD: İNCELEME GDL: Mimarın Eşsiz Zorlukları Için Programlama

Video: ARCHICAD: İNCELEME GDL: Mimarın Eşsiz Zorlukları Için Programlama

Video: ARCHICAD: İNCELEME GDL: Mimarın Eşsiz Zorlukları Için Programlama
Video: BIM nedir? Neden ARCHICAD? 2024, Nisan
Anonim

Bu uzman materyal, Aralık 2016'da Vladimir Savitsky'nin "Yapıların oluşturulması ve bir modelden çalışma çizimlerinin çıkarılması" makalesiyle başlayan ve ardından Svetlana Kravchenko'nun "ARCHICAD" yayınlarıyla devam eden "ARCHICAD: Yeniden Keşfetme" başlıklı makale serisine devam ediyor.: Yeniden keşfediliyor. Görselleştirme - bir mimar için yeni fırsatlar "ve Alexander Anishchenko" TAKIM ÇALIŞMASI: adım adım etkili ekip çalışması ". Döngü, kullanıcıların ARCHICAD'in tüm potansiyelini ortaya çıkarmasına yardımcı olmak için tasarlanmıştır.®… Mimarlardan, programın standart dışı yaklaşımları, az çalışılmış işlevleri ve birçok kullanıcının farkında bile olmayabileceği yeni özellikleri kullanarak kişisel deneyimlerini paylaşmalarını istedik. ARCHICAD uygulamasının geliştiricileri olarak, ürünün yalnızca derin bir bilgisinin ürünün tam değerini ortaya çıkarabileceğinden ve tasarımcının çalışmalarının sonuçlarını, hızını ve kalitesini kesin bir şekilde etkileyebileceğinden eminiz. "Okunmayan yolları" da tercih ediyor musunuz? ARCHICAD ile çalışırken standart dışı yaklaşımları kullanma konusunda deneyiminiz var mı, düzenli olarak uygulamanın en ünlü özelliklerini kullanmıyor musunuz? Yeni yazarları işbirliğine davet etmekten memnuniyet duyarız: [email protected]. Pratik bir mimar olan Svetlana Kravchenko şunları bildiriyor:

yakınlaştırma
yakınlaştırma

Birçoğunuz GDL'yi ARCHICAD'de duymuşsunuzdur, ancak yine de herkes onu işte nasıl kullanacağını bilmiyor. Bu özelliğin inanılmaz kullanışlılığını ve bu konuyla ilgili ilk web seminerimden sonraki birçok soruyu göz önünde bulundurarak, en küçük bilgisinin bile günlük işlerinde nasıl çok yardımcı olabileceği konusunda daha fazla ayrıntıya girmeye karar verdim. bir mimar.

Temel bilgilerle başlayalım GDL (Geometric Description Language), ARCHICAD ortamında çalışmak üzere tasarlanmış, BASIC benzeri bir programlama dilidir. Kat planı penceresindeki 3B katı gövdeleri (kapılar, pencereler, mobilyalar gibi) ve 2B sembolleri açıklar. Bu nesnelere Kitaplık Unsurları denir.

Programlamaya en azından biraz aşina olanlar için bu dilde ustalaşmak zor olmayacak. Bununla birlikte, yeterli arzu ile GDL çalışması, bu ortamdan uzak bir kişinin gücü dahilinde olacaktır. Herhangi bir mimar, zamanında geometri ve tanımlayıcı geometri okudu, mükemmel hacimsel düşünceye sahip ve bu zaten başarının yarısı. Hemen karmaşık nesneler yazmaya çalışmanıza gerek yok, temel geometrik şekiller ve formlarla başlamaya değer; diğer Kütüphane Öğelerinin komut dosyaları incelenerek birçok bilgi toplanabilir. Temel bilgi kaynağı, ARCHICAD'in kendi içindeki Yardım menüsünden erişilebilen GDL referans kılavuzudur. Öyleyse, bir mimar neden GDL bilgisinden yararlanabilir? Örneğin, karmaşık yapılar oluşturabileceğiniz Grasshopper'ın aksine GDL, çeşitli işaretçiler ve belirtme çizgileri yazmanın yanı sıra diğer Kitaplık Unsurları veya araçları için özel bileşenler oluşturmak için de vazgeçilmezdir. Çalışmamdaki ilk GDL uygulamalarımdan biri, yeniden boyutlandırıldığında her yöne ölçeklenmeyen, yalnızca panel boyutlarını değiştiren özel bir panel kapı kanadı oluşturmaktı. Kıvırcık çerçevenin kalınlığı ve koşum takımının genişliği değişmeden kaldı. Ayrıca, mimarlar sıklıkla standart kitaplıkların mevcut nesnelerine bazı basit işlevler eklemek isterler - ve GDL'yi araştırmaya başlamalarının ana nedeni budur. Elbette GDL bilgisi hayati önem taşımaz ve bu görevlerin çoğu standart araçlarla gerçekleştirilebilir. Örneğin, döşemelerle dolgular oluşturabilir ve bunları özel bir kapı kanadı olarak kaydedebilirsiniz. Bu standart dışı kapılardan yalnızca birkaçına sahipseniz, bu daha da hızlı olacaktır. Ancak projenizde farklı boyutlarda birçok benzer kapı varsa ve çalışma sürecinde genişlik değişiklikleri varsa, GDL'de özel bir panel yazmak işi büyük ölçüde hızlandıracak ve basitleştirecektir. Geometrik açıklama, boyutlara veya koordinatlara göre olası şekillerden herhangi birinin metin içinde yazılabileceğini ima eder. Bir 3B komut dosyası için, aşağıdakiler gibi temel uzamsal şekiller için bir komut bloğu vardır: - BLOK ve TUĞLA - koordinat sisteminin 0 noktasında orijini ile üç boyutlu olarak inşa edilmiş bir paralel yüzlü BLOK a, b, c TUĞLA a, b, c

yakınlaştırma
yakınlaştırma

- SİLİNDİR - yüksekliği h ve yarıçapı r olan Z ekseni boyunca silindir SİLİNDİR h, r

- KÜRE - başlangıç ve yarıçapta merkezlenmiş küre r KÜRE r

yakınlaştırma
yakınlaştırma

Bir elips ve bir koni benzer şekilde tanımlanmıştır. Bir sonraki şekil bloğu zaten daha karmaşık - bunlar çeşitli prizmalar. Bir dizi nokta koordinatıyla tanımlanırlar. En basit prizma, nokta sayısı (n), yükseklik (h) ve tüm noktaların koordinatlarını sırayla listeleyerek belirlenir. PRISM n, h, x1, y1, … xn, yn

Pek çok prizma çeşidi vardır. Bir sonraki görünüm, PRİZMA_, durum kodlarını, yüzlerin ve kenarların görünürlüğünü belirleyen noktaların koordinatlarına belirtmenize ve ayrıca delikli kavisli prizmalar ve prizmalar oluşturmanıza olanak tanır (referans kitabındaki Durum Kodları bölümüne bakın). Başka bir tür BPRISM_, Y ekseni etrafında bükülmüş bir prizma oluşturur. FPRISM_ üst tarafında bir pah veya fileto bulunan bir prizma oluşturur.

yakınlaştırma
yakınlaştırma

Daha karmaşık çoklu çizgi tabanlı şekilleri tanımlayan birkaç komut vardır: EKSTRÜDE, PİRAMİT, DÖNDÜRME, KURALLI, SÜPÜRME, TÜP, KOONLAR, KÜTLE Örneklerle açıklamaları referansta bulunabilir. 2D bir komut dosyası için şekiller diğer komutlarla tanımlanır: çizgi, daire, dikdörtgen, çoklu çizgi, eğri çizgi. Ancak, bir 3B komut dosyasından bir projeksiyon oluşturmak için bir komut da kaydedebilirsiniz.

2D veya 3D şekiller oluşturmak, GDL'nin işlevselliğinin yalnızca bir parçasıdır. Sadece bir masaya ihtiyacınız varsa, ARCHICAD'in kendi araçlarıyla oluşturmak daha kolaydır. Bir çeşit parametrikliğin gerekli olduğu durumda bir nesne yazılır: farklı tipte masa ayakları seçme yeteneği, ayak sayısı, kalan boyutları korurken tabloyu yeniden boyutlandırma, üretimi, ağırlığı ve maliyeti için keresteyi hesaplama. Nesne hiç geometri içermeyebilir, yalnızca hesaplamalar gerçekleştirebilir. Bunun için, koddaki belirli bir yere (alt rutin) atıfta bulunan döngüler, koşullu ifadeler gibi Kontrol Cümleleri (Kontrol Operatörleri) de kullanılır. Başlangıçta döngüleri ve koşulları tanımak en iyisidir - bunlar sıklıkla kullanılır. Dolayısıyla, aşağıdaki tüm örneklerin koşullu ifadeleri vardır. ÖRNEK # 1 - nesne döndürme Tasarımcılar genellikle bir nesneyi döndürülebilir yapmak isterler. Bu basit örneği kullanarak, Kitaplık Öğesinin yapısına ve GDL Nesne Düzenleyicisinin ana pencerelerine bakacağız. Proje alanında bulunan herhangi bir nesneyi açmak için (geliştirici üzerine bir şifre koymadıysa), onu seçmeniz ve Ctrl + Shift + O tuş kombinasyonuna basmanız gerekir. Başka bir yol da Dosya> Kitaplıklar ve Nesneler> Nesne Aç menüsünü kullanmaktır. Şu anda hiçbir nesne seçilmediyse, bir nesneyi seçmek için bir pencere açılacaktır. Örneğin bir panjur ızgarasına rotasyon parametreleri ekleyelim (Şekil 1).

yakınlaştırma
yakınlaştırma

Böylece GDL Object Editor penceresini açtık (Şekil 2). Sol üstte, her zamanki nesne parametreleri penceresinde olduğu gibi farklı görünümleri görüntülemek için bir pencere vardır; hatta solda bir görünüm seçmek için düğmeler vardır - plan, yükseklik, 3B pencere ve önizleme. Aşağıda parametre tablolarını, veri listelerini ve komut dosyalarını açmak için düğmeler vardır. Komut dosyaları iki şekilde açılabilir: komut dosyasının adının bulunduğu düğmeye tıklayın - aynı pencerede açın, pencere simgeli sağdaki düğmeye tıklayın - komut dosyası ayrı bir pencerede açılacaktır. Bu, aynı anda farklı komut dosyalarını görmek için yararlı olabilir (Şekil 3).

yakınlaştırma
yakınlaştırma

Herhangi bir komut dosyasının penceresinin üstünde çok gerekli bir Kontrol düğmesi vardır: ona tıkladığınızda, düzenleyici komut dosyasında herhangi bir hata olup olmadığını size soracaktır. Mesaj, hatanın nedenini ve hatanın bulunduğu satır numarasını içerecektir. "Ayrıntılar" bölümünde, bir nesne alt türü seçebilirsiniz: özel kapı kanadı, kapı kolu, perde duvar çerçevesi vb. Bu nedenle, bu öğeleri seçmek için ilgili pencerede özel nesneler (kalem, tuval, çerçeve) görünecektir. Bir 2B tip seçildiğinde, nesnenin 3B geometri için penceresi olmayacaktır. Orada farklı işaretçiler için türler de seçebilirsiniz - bir düğüm, bölümler, lider başlıkları, bölgeler; ayrıca kendi araçlarında da görünecekler. Bu bölümde, nesnenin bir açıklamasını girebilir ve bir şifre seçebilirsiniz. Ayrıca - bu nesnede kullanılan ve proje üzerinde çalışırken değiştirilebilen tüm verilerin tablo şeklinde sunulduğu "Parametreler". Burada, daha sonra kullanacağımız dönüşler için parametreler eklememiz gerekiyor.

yakınlaştırma
yakınlaştırma

Tablonun yukarısında bulunan Yeni düğmesine basın (Şek. 4). Sütunları doldurmanız gereken yeni bir satır görünecektir. Bu sütunlardan ilki Değişkendir. Burada alfabelerde kullanılacak değişkenin adını Latince ve boşluksuz yazıyoruz. Bunu hatırlaması kolay ve aynı zamanda bu değişkenin neyden sorumlu olduğunu anlamak kolay olacak şekilde adlandırmanız gerekir. Bizim durumumuzda, X ve Y eksenleri boyunca dönme açılarının değeri için iki değişken oluşturmamız gerekiyor (nesne yine de planda Z ekseni etrafında döndürülebilir). Onları angle_x ve angle_y olarak adlandırmaya karar verdim. Bir sonraki sütunda, veri türünü seçmeniz gerekir. Seçenekler tablo 1'de sunulmuştur.

yakınlaştırma
yakınlaştırma

Son iki tür, nesnenin yapımında kullanılmaz, ancak nesne parametreleri penceresindeki listenin daha fazla netliği ve düzeni için gereklidir. Bir köşeye ihtiyacımız var - bu tablodaki ikinci simge. Üçüncü sütun Ad'dır. Burada, daha sonra nesne parametreleri penceresinde tam olarak görmek istediğimiz şeyi herhangi bir dilde kuralsız yazabilirsiniz. Ve son sütun Değer'dir. Şimdi burada 0 bırakabilirsiniz: bu değer hem komut dosyasında hem de nesnenin parametrelerinde herhangi bir zamanda değişir. Şekil 2, iki yeni seçeneğin GDL Nesne Düzenleyicisi penceresinde nasıl göründüğünü göstermektedir. 5. Satırı uygun bir konuma taşımak için satırın başındaki okları kullanın.

yakınlaştırma
yakınlaştırma

Standart kitaplık konteynere kodlanmış olduğundan ve içindeki nesnelerin üzerine yazamayacağınız için, nesneyi yeni bir adla kaydetmeniz gerekir. Nesne Parametreleri penceresi şimdi şöyle görünecektir (Şekil 6).

yakınlaştırma
yakınlaştırma

Değeri herhangi bir zamanda değiştirilebilen iki yeni parametre vardır. Ama şimdi hiçbir şey olmayacak, çünkü bunlar kullanılarak henüz hiçbir komut yazılmadı. Şimdi 3B komut dosyası penceresini açmanız gerekiyor. Verilen parametrelere göre bir 3B modelin nasıl oluşturulacağına dair tam bir açıklama. Ek olarak, nesneye çeşitli makrolar yerleştirilebilir. Tüm yapılardan önce, nesnenin oluşturulacağı koordinat sistemini döndürmeniz gerekir. Burada aşağıdaki mantığı anlamak önemlidir: tüm dönüşler, hareketler ve ölçeklendirme, ARCHICAD'in kendisinde çalışırken olduğundan farklı şekilde gerçekleşir. Bir öğeyi alıp döndürmüyoruz, ancak küresel koordinat sistemini döndürüyoruz (değiştirdikten sonra yerel hale geliyor) ön bir nesne oluşturmak. Taşı (EKLE Komutu), Döndür (ROT), Ölçek (MUL) koordinat sistemi dönüştürme komutlarıdır. Komut dosyasındaki diğer dönüşümler teker teker, aynı anda birkaç kez silinebilir veya hepsini birden silebilir. Kaynak kitap tüm bunları yeterli ayrıntıyla ve örneklerle açıklamaktadır. 3B uzayda bir koordinat sistemini aynı anda üç eksen boyunca hareket ettirmenin bir örneği Şekil 2'de gösterilmektedir. 7. A, b, c EKLE

yakınlaştırma
yakınlaştırma

Bu nedenle, tüm yapılardan önce, koordinat sistemini önce biri boyunca, sonra diğer eksen boyunca döndürüyoruz. X ekseni boyunca dönüş, ROTX alphax komutu ile gerçekleştirilir; burada alphax, saat yönünün tersine dönüş açısıdır; alphax yerine önceden oluşturulmuş bir değişken girmeniz gerekir. Y ekseni boyunca dönüş aynı şekilde gerçekleştirilir (Şekil 8).

yakınlaştırma
yakınlaştırma

Artık döndürme için farklı açılar ayarlayabilirsiniz - ve 3B modeldeki değişiklikler sol üstte bulunan görüntü alanında gerçekleşecektir (Şekil 9).

yakınlaştırma
yakınlaştırma

Artık döndürme için farklı açılar ayarlayabilirsiniz - ve 3B modeldeki değişiklikler sol üstte bulunan görüntü alanında gerçekleşecektir (Şekil 9). Ancak 2D'de henüz hiçbir şey olmuyor. Bir 2D komut dosyasında, bir nesne ayrı çizgiler ve çoklu çizgilerle oluşturulur, bu nedenle plandaki bir nesnenin çizimi birçok kez daha hızlıdır. Bir sahada bu algılanamaz, ancak projede bu tür yüzlerce ızgara varsa, frenleme önemli olacaktır. Bu çizgilerin noktalarının koordinatlarını hesaplayabilir ve döndürülen nesnenin izdüşümünde görünecekleri gibi işaretleyebilirsiniz, ancak bu çok basit değil ve çok hızlı değil. Bu kafeste, aşağıdaki çözümü öneriyorum: X veya Y'deki açılar sıfıra eşit değilse, o zaman 2D komut dosyasındaki nesne, yani plan için, 3D modelin bir projeksiyonu olarak gösterilecektir ve aksi takdirde eski şekilde. Modelin 2D komut dosyası için projeksiyonu PROJECT2 projection_code, angle, method komutu ile oluşturulur. Referans kitabında projection_code, angle, method'un ne anlama geldiğini okuyabilirsiniz, ancak IF - THEN - ELSE - ENDIF kontrol ifadeleri bölümünden daha önemli komutla tanışacağız. Bunlar, önceki paragraftaki koşullu cümleyi oluşturmanıza yardımcı olacak koşullu ifadelerdir. İncirde. 10 2B komut dosyasında eklenen komutları vurguladım ve sağa kırmızı "çeviriyi" ekledim.

yakınlaştırma
yakınlaştırma

Şimdi sadece nesneyi kaydetmeniz gerekiyor ve onu kullanabilirsiniz (Şekil 11). Bu yöntemin morf'a dönüştürmeye göre avantajı, nesnenin parametrik kalması, spesifikasyonlarda okunabilmesi, çıtaların boyutlarını, çerçevenin boyutunu ve orijinal nesnede bulunan diğer her şeyi değiştirebilmenizdir..

yakınlaştırma
yakınlaştırma

Dolayısıyla, bu örneği kullanarak ayrıntılı olarak GDL Nesne Düzenleyicisinin ana pencerelerini ve komut dosyalarını inceledik. Döndürme için seçtiğiniz nesne, bu kafeste olduğu gibi bir liste biçiminde değil, resimler ve diyagramlar biçiminde parametrelere sahipse, bu, geliştiricinin de bir grafik arabirim yazdığı anlamına gelir. Çoğu zaman, parametreli standart liste, Şek. 12: Parametre sayfalarının açılır listesinde "Tüm Parametreler" bölümü yoktur.

yakınlaştırma
yakınlaştırma

Bu durumda, parametreler komut dosyasına girmeniz ve tüm parametreleri gizleyen komutu bulmanız gerekir (Şekil 13). Bu komut dosyası, parametreleri etkileyen tüm eylemleri açıklar: - seçeneklerin veya olası değer aralıklarının belirlenmesi (DEĞERLER); - sonucu parametreye atanan tüm hesaplamalar (PARAMETRELER); - parametreleri gizleme veya kilitleme (HIDEPARAMETER, LOCK).

yakınlaştırma
yakınlaştırma

HIDEPARAMETERS ALL satırı basitçe silinebilir veya satırın başına "!" Koyarak okunamaz hale getirilebilir (GDL sözdizimine göre ünlem işaretiyle başlayan bir satır yorum olarak kabul edilir. Ayrıca açıklamalar yazacağım ve "!" İşaretinden sonraki ekran görüntülerinde çeviriler). Bundan sonra, parametre sayfaları listesinde "Tüm parametreler" satırı görünecek ve onu seçtiğinizde, aralarında yeni rotasyon satırlarının yer alacağı parametrelerin bulunduğu standart bir liste göreceksiniz. ÖRNEK # 2 - bir sembol üzerindeki metin Bir sonraki örneği mevcut projeden alıyorum. Çok apartmanlı bir konut binasının planıyla çalışırken, klimaların dış ünitelerine "K" harfinin konulması ve böylece her zaman dikey olarak yerleştirilmesi gerekiyordu. Elbette, mektup basitçe üstüne metin veya harici bir yazı metni eklenebilirdi, ancak daha sonra, klima döndürüldüğünde, metnin de taşınması gerekebilirdi. Başlamak için dört yeni parametre ekledim (Şekil 14):

yakınlaştırma
yakınlaştırma

1. Metni göster: parametre türü, iki olası değeri ifade eden bir boole değeridir: 0 (hayır) ve 1 (evet). Böylece metin açılıp kapatılabilir.

2. Özel metin: parametre türü - metin. Sembole herhangi bir metin yazmanıza izin verir (Klima bloğunun dikdörtgeninin içine sığması için bir harf kullanmayı planlıyorum).

3. Yazı Tipi: yazım - metin. Lütfen bu değişkenin bazı yazma türlerinin, bilgisayarda yüklü olanlar listesinden sütundaki yazı tipi değerlerini seçmenize izin verdiğini unutmayın. "Fonttype" bu listeyi otomatik olarak çağırır, ancak "typefont" veya sadece "yazı tipi" yazarsam, yazı tipinin adını manuel olarak yazmam gerekir. Bu anı standart nesnelerden birinde tesadüfen fark ettim.

4. Metin kalemi: yazım - kalem. Burada her şey açık.

Şimdi satırların başında tıkladığım simgelere bakalım. İlk satırda basılı bir simge var

Image
Image

bu kalın anlamına gelir - kalın. Yani, nesne parametreleri penceresindeki bu satır kalın olacaktır. Diğer üçünün piktogramı var

Image
Image

… Bu, bu satırların ilk satırın altındaki açılır listede yuvalanacağı anlamına gelir. İncirde. 15, Nesne Parametrelerinde nasıl göründüğünü gösteren bir ekran görüntüsüdür. Başlamak için dört yeni parametre ekledim (Şekil 15):

Рис. 15. Окно Параметров Объекта
Рис. 15. Окно Параметров Объекта
yakınlaştırma
yakınlaştırma

Ve şek. 16 - 2D senaryoya eklediğim şey (geleneksel olarak çeviri ve yorumlarla).

yakınlaştırma
yakınlaştırma

İncir. 16. 2D komut dosyasında satırlar eklendi Bir sonraki ekran görüntüsünde (Şekil 17), daha fazla netlik için, farklı türde sözcükleri / komutları / değişkenleri renklendirdim.

yakınlaştırma
yakınlaştırma

Nesne hazır (şek.18).

yakınlaştırma
yakınlaştırma

Ve döndürme ve ölçekleme ile satırlar yazmazsam, nesne şek. 19.

yakınlaştırma
yakınlaştırma

ÖRNEK 3 - detaylandırma Bir proje üzerinde çalışmayı basitleştirmek için, bir nesne yazarken, detaylandırma için çeşitli seçenekler (basit, orta, detaylı) içeren bir metin parametresi ekleyebilirsiniz. Ve 3B komut dosyasında, çeşitli küçük parçaları oluştururken, türden bir koşul ekleyin: ayrıntı düzeyi = "ayrıntılı" ise, o zaman (yapı parçalarının açıklaması) Global Değişkenler koşulunun sonu özel bir ilgiyi hak eder. Başvuru kılavuzunda 40 sayfa uzunluğundadır ve kolay arama için konuya göre gruplandırılmıştır. Önceki örnekte, projede bazı nesne oryantasyon verilerini kullandım. Referans kılavuzunun aynı bölümü, nesne konumunun koordinatları için Global Değişkenler içerir - bunlar, bir kesit / yükseklik üzerinde koordinatlara veya yüksekliğe sahip bir lider gibi nesneler oluşturmak için kullanılır. Çok sık GLOB_SCALE kullanılır - çizimin ölçeği (mevcut pencereye göre görünüme bağlıdır), 1: 100 ölçeğinde 100'e eşittir, 1:20 ölçeğinde 20'ye eşittir. çoğunlukla yazı tipi boyutunu model ölçere dönüştürmek için kullanılır veya tam tersi. Ayrıca, bu parametre planda görüntü seçeneklerini "asmak" için kullanılabilir. Örneğin, bir tezgah için aşağıdakileri bir 2D komut dosyasında yazın:

EĞER GLOB_SCALE <100 O ZAMAN ! ölçek 1: 100'den büyükse
PROJE2 3, 270, 2 ! 3B modelden bir projeksiyon oluşturmak
BAŞKA ! aksi takdirde
ENDIF ! koşulun sonu

Yani 1: 500 ölçeğindeki master planda, sıralar dikdörtgen olarak gösterilecek ve daha büyük ölçekli bir kesitte ayrıntılı bir projeksiyon çizilecektir. Benzer bir teknik, ancak üç boyutlu bir model için, standart ağaçlarda kullanılır - Otomatik taç tipi onay kutusunu etkinleştirirseniz. Kameradan belirli bir mesafede, tepe tipi ayrıntılıdan basite ve basitten elips'e değişir. Doğru, nesnenin komut dosyalarının yeniden okunması için onlarla bir şeyler yapmanız gerekir - örneğin, perspektifi değiştirdikten sonra, tüm ağaçları vurguladıktan sonra, nesnenin parametreler penceresini açın ve hiçbir şeyi değiştirmeden, sadece Tamam'a tıklayın. veya kapak değiştirme onay kutusunu tıklayıp işaretini kaldırın.

Bunu bir küre yaklaştırma örneğini kullanarak göstermeme izin verin. İşte bir 3B komut dosyasında yazdıklarım: 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 sonra res = 50 ise discam20 sonra res = 20 ise discam30 sonra res = 10 eğer discam> 40 ise res = 5 resol res sphere 1 Kodda Global Değişkenleri kullandım GLOB_EYEPOS_X, GLOB_EYEPOS_Y, GLOB_EYEPOS_Z, projenin 3B penceresindeki kamera (gözler) ve SYMB_POS_X, SYMB_POS_Y, SYMB_POS_Z nesnenin uzaydaki konumunun koordinatlarıdır; abs - sayı modülü (varsa "-" yi kaldırır); sqr - karekök; ^ 2 - bir sayının karesini alma.

3B penceresinde, kameradan farklı mesafelerde küre farklı yaklaşımlarla çizilecektir. Netlik için tel kafes modunu açtım (Şekil 20).

yakınlaştırma
yakınlaştırma

Küresel Değişkenler aracılığıyla nesne şunları alabilir: - ilgili iletişim kutusunda belirlenen projenin konumu (kuzey, enlem, boylam, yükseklik) hakkında veriler; - mevcut kat ve kendi kat; - mevcut görünümün türü (örneğin, GOST atlama tellerinde aşağıdaki koşul kullanılır: görünüm türü bir listeyse, o zaman konum liderleri olan bir bölümde atlama telinin bir görünümünü oluşturun); Kafesli örnekte, aşağıdaki koşulu ekleyebilirsiniz: görünüm türü bir listeyse, koordinat sistemini döndürmeyin, böylece her durumda kafesler listesinde bir önden görünüm olur; - yapıların eksik görüntüsü (yalnızca çekirdek seçiliyse nesnenin bazı parçaları göstermemesini sağlayabilirsiniz).

Duvar verilerini bir pencere veya kapı nesnesine sürükleyebilirsiniz. Belirtme çizgileri, ilişkili oldukları öğe hakkında birçok farklı bilgi alabilir; örneğin, çok katmanlı bir yapının katmanlarını içeren bir onay kutusu veya bir öğenin hacmine sahip bir lider. Ve bunun gibi, 40 sayfa farklı ve çok kullanışlı Global Değişkenler. ÖRNEK 4 - bölge işaretçisi Özel bir bölge işaretleyicisinin nasıl oluşturulduğuna bir göz atalım. Yeni bir nesne oluşturur ve bunun için Ayrıntılar bölümünde Bölge Pasaportu alt türünü seçerseniz, Parametreler bölümünde Bölge aracının işaretçiye aktardığı tüm belirli parametreler mavi renkte görüntülenir (Şekil 21).

Рис. 21. Параметры объекта подтипа Паспорт Зоны
Рис. 21. Параметры объекта подтипа Паспорт Зоны
yakınlaştırma
yakınlaştırma

TEXT2 komutunu kullanarak, bu değişkenlerden herhangi birini bir 2B komut dosyasına yazabilirsiniz - bu şekilde yalnızca metinden oluşan bir işaretçi elde edersiniz (Şekil 22).

yakınlaştırma
yakınlaştırma

Bölge işaretleyicisinin genel parametrelerini kullanarak yazı tipi yüksekliğine bağlı olarak metin stilini ve satır yüksekliğini tanımlayabilirsiniz: DEFINE STYLE "ODA" AC_TextFont_1, ODA_SIZE, 5.0 STİL "ODA" satırı = ROOM_LSIZE / 1000 * GLOB_SCALE * 1.5 metin2 0, satır, ROOM_NUMBER metin2 0, 0, ROOM_NAME metin2 0,-satır, ROOM_AREA İşaretçi tipini seçmek için yeni bir parametre oluşturabilir (Şekil 23), Parametreler komut dizisinde (Şekil 24) ve 2D komut dosyası, farklı türler için farklı işaretleyici oluşturma türleri yazar.

yakınlaştırma
yakınlaştırma
yakınlaştırma
yakınlaştırma

2D komut dosyası: mt = "sayı içeren işaretçi" ise metin2 0, 0, ROOM_NUMBER CIRCLE2 0,0, satır endif ise mt = "sayı ve alan" ve ardından metin2 0, satır / 2, ROOM_NUMBER metin2 0, -row / 2, AREA_TEXT endif eğer mt = "başlık ve alan" ise metin2 0, satır / 2, ROOM_NAME metin2 0, -row / 2, AREA_TEXT endif ise mt = "sayı, başlık ve alan" ise metin2 0, satır, ROOM_NUMBER metin2 0, 0, ROOM_NAME text2 0, -row, AREA_TEXT endif eğer mt = "yalnızca alan" sonra text2 0, 0, AREA_TEXT endif Bu komut dosyasında önceden tanımlanmış alan değişkenini alan olarak kullanmadım, alanı metne dönüştürüp alanına ekledim it birimleri: alan = str (ROOM_AREA, 4, 2)! bir sayıyı 2 ondalık basamaklı metne dönüştürme AREA_TEXT = alan + "sq.m." ! dize değerine "sq.m." harflerinin eklenmesi İşaretçideki çizgileri, bazı çizgileri ayıran çizgilerle tamamlayabilirsiniz. Bir dizinin uzunluğunu bulmak için STW komutunu kullanın. Komut dosyasının başına ekleyelim: tl1 = stw (ROOM_NUMBER) / 1000 * GLOB_SCALE tl2 = stw (ROOM_NAME) / 1000 * GLOB_SCALE tl3 = stw (AREA_TEXT) / 1000 * GLOB_SCALE eğer mt = "sayı ve alan" ise tl = MAX (tl1, tl3) eğer mt = “sayı, başlık ve alan” ise tl = MAX (tl1, tl2) mt = “başlık ve alan” ise tl = MAX (tl2, tl3) mt = “sadece alan” ise o zaman tl = tl3 VE işaretleyicilerin varyantlarında, satırları LINE2 komutu ile ekleyin (Şekil 25).

Рис. 25. 2D-скрипт
Рис. 25. 2D-скрипт
yakınlaştırma
yakınlaştırma

Bölge numarası birkaç basamaktan oluşuyorsa, işaretçi için yazı tipi yüksekliğinden bağımsız olarak bir dairenin yarıçapı için bir parametre oluşturabilir veya bir daire yerine uzunluğa eşit uzunlukta elips benzeri bir şekil tanımlayabilirsiniz. daha önce bulduğumuz bölge numarası satırının: POLY2_ 5, 1 + 2 + 4, -tl1 / 2, row, 1, tl1 / 2, row, 1, tl1 / 2, -row, 1001, -tl1 / 2, -row, 1, -tl1 / 2, row, 1001 Kat tipi (FLOOR_TYPE) için yeni bir parametre ve bunu gizlemenize veya göstermenize izin veren bir parametre (ShowFloorType) ve bir 2D komut dosyasında bir üçgen polyline ve zemin türü olan metin: ShowFloorType ise ADD2 0, satır * 3 POLY2_ 4, 1, -row * 1.4, -row * 0.8, 1, row * 2.8,60,201, row * 1.4, -row * 0.8, 1, 0,0,700 text2 0,0, FLOOR_TYPE endif Zemin türü için, kalem için ayrı bir parametrenin yanı sıra, zemin işaretinin konumunu grafik olarak düzenlemek için noktaların eklenmesi arzu edilir. Web seminerime nasıl grafik düzenleme noktaları ekleyeceğimi ayrıntılı olarak anlattım ve makalenin sonundaki bağlantıyı kullanarak nesneleri indirebilir ve bu özel durumda bunun nasıl uygulandığını görebilirsiniz.

Ve son olarak, büyük olasılıklar açan bir nesnenin çok önemli başka bir alt türünü ele alalım - Kütüphanenin Global Parametreleri (Şekil 26).

yakınlaştırma
yakınlaştırma

Bu alt tipe sahip bir nesne hiçbir şey oluşturmaz veya çizmez, model görünümlerinde parametreleri tanımlar. Böylece, nesne için ortak görmek istediğiniz parametreleri çıkarabilir, ancak aynı zamanda farklı türler için farklı değerler ayarlayabilirsiniz.

Bunu bir bölge işaretçisi örneği ile göstereceğim. Farklı görünümler için farklı katmanlarda birkaç bölge kümesinin olduğu projelerle karşılaştım. Farklı işaretleyicilere ihtiyaç varsa, Kütüphane Global Parametreleri en iyi çözümdür.

Zemin tipini bir üçgen içinde ayarlamanın ve işaretleme tipini değiştirmenin mümkün olduğu bir işaretleyicim var (şek. 27). Ve bu iki parametre, Global Kütüphane Parametreleri alt tipinin ayrı bir dosyasına taşınır (Şekil 28).

yakınlaştırma
yakınlaştırma
yakınlaştırma
yakınlaştırma

Bu parametrelerin Model Görünüm Parametreleri iletişim kutusunda görüntülenmesi için, bunları nesne arayüz komut dosyasına kaydetmeniz gerekir (Şekil 29). Bu komut dosyası için özel komutlar üzerinde ayrıntılı olarak durmayacağım, bunlar yeterli ayrıntıda ve referans kitabında örneklerle anlatılıyor. Sadece burada, bu veya bu etiketin veya düğmenin nerede bulunacağını (seçenek seçeneklerine sahip bir alan, bir onay işareti, vb.) Tanımladığımızı söyleyeceğim, ayrıca Kullanıcı Arayüzüne resimler de eklenebilir. Standart kitaplıkta, hemen hemen her nesnenin bir grafik arabirimi vardır; tüm olasılıkları görebilir ve bu senaryoların nasıl yazıldığını görebilirsiniz. Kontrol düğmesine ek olarak, komut dosyasında ayrıca bir Görünüm düğmesi bulunur. Üzerine tıklayarak ne olduğunu hızlıca görebilirsiniz.

yakınlaştırma
yakınlaştırma

Nesneyi kaydedebilir ve Model Görünüm Seçenekleri iletişim kutusunda görüntüleyebilirsiniz (Şekil 30). Burada, projedeki tüm bölgeler için (bu işaretle), ancak farklı türler için ayrı ayrı işaretleme türünü değiştirebiliriz.

yakınlaştırma
yakınlaştırma

Şimdi, bölge işaretleyici nesnesinde, nesneyi bu iki parametrenin değerleri için sorgulamanız gerekir. Ana Komut Dosyasında (önce nesne tarafından okunur, bu nedenle birkaç komut dosyasında kullanılması gereken değerlerin tüm hesaplamaları ve tanımları, buraya yazmak daha iyidir) şöyle iki satır yazıyorum: success1 = LIBRARYGLOBAL ("LibraryGlobals20 "," ShowFloorType ", ShowFloorType) success2 = LIBRARYGLOBAL (" LibraryGlobals20 "," mt ", mt)" başarı ", istek başarılı olursa 1 olacaktır; aksi takdirde 0 olacaktır.

Bu, LibraryGlobals20 nesnesinin kütüphaneye yüklenmediğine dair bir bölge işaretçisi yerine bir uyarı mesajı yazmak için kullanılabilir.

Daha sonra nesne, iki yeni değer kullanarak her zamanki gibi çalışır: işaretleme türü şu ve böyle ise, o zaman şuna ve benzerine vb. Bu makalede, GDL'nin yeteneklerinin yalnızca küçük bir bölümünü ele aldım. Yardımı ile hem çok basit tasarım öğeleri hem de çok karmaşık nesneler oluşturabilirsiniz.

Örneğin, küçük ve basit SIP panelli evlerle uğraşıyorsunuz. Projeyi değiştirmek için belirli bir seçenek listesine sahipsiniz: - evin uzunluğu ve genişliği 1,2 m'lik bir adımla 2,4 ila 24 metre arasında olabilir; - genişlik 6 m'yi aşarsa, ortada başka bir duvar olmalıdır; - Panel boyutuna bağlı olarak iki kat yüksekliği seçeneği; - kat sayısı - bir veya iki kat; - pencereler, belirli bir boyuttaki panellerin belirli yerlerinde olabilir; - cephelerin üç versiyonda bitirilmesi; - üç versiyonda çatı; - birkaç standart boyutta duvar kalınlığı vb.

Panel, çatı, dekorasyon vb. Metrekare başına maliyeti ekleyerek nesneye yönelik tüm bu parametreleri ayarlayabilirsiniz. Ve nesnenin 2D ve 3D betiklerinde, bu evi statik boyutlar yerine değişkenlerle tamamen inşa edin ve çizin. Kullanıcının uzun bir parametre listesinde kafasını karıştırmaması için, resimler ve diyagramlar içeren birkaç sayfa için grafiksel bir arayüz yazabilirsiniz. Ana Komut Dosyasında, tüm hacimleri hesaplayın ve maliyeti görüntüleyin. Panellerin düzenini içeren bir tabloyu planın yanında 2D bir kodda görüntülemek de mümkündür. Böyle bir nesneyi yazmak çok zaman alacaktır, ayrıntılı bir teknik şartname hazırlamanız, tüm nüansları sağlamanız gerekecek, ancak o zaman sadece bir nesne değil, parametreleri seçerek neredeyse bir program alacaksınız. müşteri için malzeme ve maliyet hesaplamasıyla bir dizi taslak tasarım elde edebilir. Umarım bu genel bakış, birinin GDL'nin yeteneklerine olan ilgisini artırmıştır. Hikayem, bazı standart bölge işaretçilerindeki bazı küçük ayrıntıları değiştirme arzusuyla başladı ve kılavuzu ne kadar çok okursam, bence bu aracın bir mimar için çok yararlı olan potansiyeli o kadar fazla ortaya çıkıyor. Aşağıdaki bağlantıdan bu makalede örnek olarak kabul edilen tüm nesneleri indirebilirsiniz: Örnekleri indirin Not. Bu nesneleri yazmak için ARCHICAD 20 kullanıldı, bu nedenle önceki sürümlerde açılmayacaklar. GRAPHISOFT hakkında GRAPHISOFT Şirketi® 1984'te ARCHICAD ile BIM'de devrim yaptı® CAD endüstrisindeki mimarlar için endüstrinin ilk BIM çözümüdür. GRAPHISOFT, dünyanın ilk gerçek zamanlı işbirliğine dayalı BIM tasarım çözümü olan BIMcloud ™, dünyanın ilk tam entegre enerji modellemesi ve bina ve BIMx enerji verimliliği değerlendirmeleri EcoDesigner ™ gibi yenilikçi ürünlerle mimari yazılım pazarına liderlik etmeye devam ediyor.® BIM modellerini sergilemek ve sunmak için önde gelen mobil uygulamadır. GRAPHISOFT, 2007'den beri Nemetschek Group'un bir parçasıdır.

Önerilen: