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, Aprile
Anonim

Questo materiale esperto continua la serie di articoli "ARCHICAD: Rediscovering", iniziata nel dicembre 2016 con un articolo di Vladimir Savitsky "Creazione di strutture ed estrazione di disegni esecutivi da un modello", e poi proseguita con le pubblicazioni di Svetlana Kravchenko "ARCHICAD: Riscoprire. Visualizzazione - nuove opportunità per un architetto "e Alexander Anishchenko" LAVORO DI SQUADRA: lavoro di squadra efficace passo dopo passo ". Il ciclo è progettato per aiutare gli utenti a liberare tutto il potenziale di ARCHICAD®… Abbiamo chiesto agli architetti di condividere la loro esperienza personale di utilizzo del programma utilizzando approcci non standard, funzioni poco studiate e nuove caratteristiche di cui molti utenti potrebbero non essere nemmeno a conoscenza. In qualità di sviluppatori dell'applicazione ARCHICAD, siamo fiduciosi che solo una profonda conoscenza del prodotto può rivelare il suo pieno valore e influenzare in modo decisivo i risultati, la velocità e la qualità del lavoro del designer. Preferisci anche "percorsi non letti"? Hai esperienza nell'utilizzo di approcci non standard nel lavorare con ARCHICAD, non usi regolarmente le funzionalità più famose dell'applicazione? Saremo lieti di invitare nuovi autori a collaborare: [email protected]. Svetlana Kravchenko, un architetto praticante, riferisce:

zoom
zoom

Sicuramente molti di voi hanno sentito parlare di GDL in ARCHICAD, ma non tutti sanno ancora come usarlo nel lavoro. Considerando l'incredibile utilità di questa funzione, così come le molte domande dopo il mio primo webinar su questo argomento, ho deciso di entrare più in dettaglio su come anche la più piccola conoscenza di essa può aiutare molto nel lavoro quotidiano di un architetto.

Cominciamo con le basi GDL (Geometric Description Language) è un linguaggio di programmazione simile a BASIC progettato per funzionare nell'ambiente ARCHICAD. Descrive corpi solidi 3D (come porte, finestre, mobili) e simboli 2D nella finestra della planimetria. Questi oggetti sono chiamati Funzioni di libreria.

Per coloro che hanno almeno un po 'di familiarità con la programmazione, padroneggiare questo linguaggio non sarà difficile. Tuttavia, con sufficiente desiderio, lo studio del GDL sarà abbastanza alla portata di una persona che è lontana da questo ambiente. Qualsiasi architetto ha studiato la geometria e la geometria descrittiva ai suoi tempi, ha un eccellente pensiero volumetrico, e questo è già metà del successo. Non è necessario provare immediatamente a scrivere oggetti complessi, vale la pena iniziare con le forme e le forme geometriche di base; molte informazioni possono essere raccolte esaminando gli script di altri elementi della libreria. Ebbene, la principale fonte di informazioni è il manuale di riferimento GDL, a cui è possibile accedere tramite il menu Aiuto in ARCHICAD stesso. Allora, perché un architetto può trarre vantaggio dalla conoscenza di GDL? Ad esempio, a differenza di Grasshopper, con cui è possibile creare strutture complesse, GDL è semplicemente indispensabile per scrivere vari marker e callout, nonché per creare componenti speciali per altre funzionalità o strumenti di libreria. Una delle mie prime applicazioni di GDL nel mio lavoro è stata la creazione di una speciale anta a pannello, che, una volta ridimensionata, non si scalava in tutte le direzioni, ma cambiava solo le dimensioni del pannello. Lo spessore del telaio riccio e la larghezza dell'imbracatura sono rimasti invariati. Inoltre, gli architetti molto spesso vogliono aggiungere alcune semplici funzioni agli oggetti esistenti delle librerie standard - e questo è il motivo principale per cui iniziano ad approfondire GDL. Ovviamente, la conoscenza di GDL non è vitale e molte di queste attività possono essere eseguite con strumenti standard. Ad esempio, puoi costruire tamponamenti con lastre e salvarli come un'anta speciale. Se hai solo alcune di queste porte non standard, sarà ancora più veloce. Ma se nel tuo progetto ci sono molte porte simili di dimensioni diverse e la loro larghezza cambia nel processo di lavoro, scrivere un pannello speciale in GDL velocizzerà e semplificherà notevolmente il lavoro. La descrizione geometrica implica che qualsiasi forma possibile può essere scritta nel testo in base alle dimensioni o alle coordinate. Per uno script 3D, esiste un blocco di comandi per le forme spaziali di base, come ad esempio: - BLOCCO e MATTONE - un parallelepipedo costruito in tre dimensioni con l'origine nel punto 0 del sistema di coordinate BLOCCO a, b, c MATTONE a, b, c

zoom
zoom

- CILINDRO - cilindro lungo l'asse Z, con altezza he raggio r CILINDRO h, r

- SFERA - sfera centrata all'origine e raggio r SFERA r

zoom
zoom

Un'ellisse e un cono sono descritti in modo simile. Il prossimo blocco di figure è già più complicato: si tratta di vari prismi. Sono descritti da un insieme di coordinate di punti. Il prisma più semplice è determinato dal numero di punti (n), dall'altezza (h) e dall'elenco delle coordinate di tutti i punti in ordine. PRISMA n, h, x1, y1, … xn, yn

Esistono molte varietà di prismi. La vista successiva, PRISMA_, consente di indicare codici di stato alle coordinate dei punti, che determinano la visibilità di facce e bordi, e consente anche di creare prismi curvi e prismi con fori (vedere la sezione Codici di stato nel manuale di riferimento). Un altro tipo, BPRISMO_, crea un prisma attorcigliato attorno all'asse Y. FPRISM_ costruisce un prisma con uno smusso o un raccordo sul lato superiore.

zoom
zoom

Esistono diversi comandi che descrivono forme più complesse basate su polilinea: ESTRUDERE, PIRAMIDE, RIVOLUZIONE, RIGATA, SPAZZARE, TUBO, COONS, MASS La loro descrizione con esempi può essere trovata nel riferimento. Per uno script 2D, le forme sono descritte da altri comandi: linea, cerchio, rettangolo, polilinea, spline. Ma puoi anche registrare un comando per costruire una proiezione da uno script 3D.

La creazione di forme 2D o 3D è solo una parte delle funzionalità di GDL. Se hai solo bisogno di un tavolo, è più facile costruirlo con gli strumenti di ARCHICAD stesso. Un oggetto viene scritto nel caso in cui sia richiesto un qualche tipo di parametrismo: la possibilità di selezionare diversi tipi di gambe del tavolo, il numero di gambe, ridimensionare il tavolo mantenendo le dimensioni rimanenti, calcolare il legname per la sua fabbricazione, peso e costo. L'oggetto potrebbe non contenere alcuna geometria, ma eseguire solo calcoli. Per questo, vengono utilizzate anche clausole di controllo (operatori di controllo), come loop, istruzioni condizionali, che si riferiscono a un punto specifico nel codice (subroutine). È meglio familiarizzare con i cicli e le condizioni all'inizio: vengono utilizzati spesso. Quindi, tutti gli esempi seguenti hanno istruzioni condizionali. ESEMPIO # 1 - rotazione dell'oggetto I designer spesso vogliono rendere un oggetto girevole. Usando questo semplice esempio, esamineremo la struttura dell'elemento della libreria, così come le finestre principali dell'Editor degli oggetti GDL. Per aprire qualsiasi oggetto situato nello spazio del progetto (se lo sviluppatore non ha inserito una password su di esso), è necessario selezionarlo e premere la combinazione di tasti Ctrl + Maiusc + O. Un altro modo è usare il menu File> Librerie e oggetti> Apri oggetto. Se in questo momento non è stato selezionato alcun oggetto, si aprirà una finestra per la selezione di un oggetto. Aggiungiamo i parametri di rotazione, ad esempio, a una griglia di feritoia (Fig.1).

zoom
zoom

Quindi, abbiamo aperto la finestra GDL Object Editor (Fig. 2). In alto a sinistra è presente una finestra per la visualizzazione di diverse viste, come nella normale finestra dei parametri dell'oggetto; anche a sinistra ci sono i pulsanti per la scelta di una vista: pianta, prospetto, finestra 3D e anteprima. Di seguito sono presenti i pulsanti per l'apertura di tabelle di parametri, elenchi di dati e script. Gli script possono essere aperti in due modi: fare clic sul pulsante con il nome dello script - aprire nella stessa finestra, fare clic sul pulsante a destra con l'icona della finestra - lo script si aprirà in una finestra separata. Questo può essere utile per vedere diversi script contemporaneamente (Figura 3).

zoom
zoom

Nella parte superiore della finestra di qualsiasi script c'è un pulsante Verifica molto necessario: quando lo fai clic, l'editor ti chiederà se ci sono errori nello script. Il messaggio conterrà il motivo dell'errore e il numero di riga in cui è stato rilevato l'errore. Nella sezione "Dettagli" è possibile selezionare un sottotipo di oggetto: battente personalizzato, maniglia della porta, cornice della facciata continua e così via. Quindi, oggetti speciali (penna, tela, cornice) appariranno nella finestra corrispondente per la selezione di questi elementi. Quando viene selezionato un tipo 2D, l'oggetto non avrà finestre per la geometria 3D. Lì puoi anche selezionare i tipi per diversi marcatori: un nodo, sezioni, didascalie della direttrice, zone; appariranno anche nei rispettivi strumenti. In questa sezione è possibile inserire una descrizione dell'oggetto e selezionare una password. Inoltre - "Parametri", in cui tutti i dati utilizzati in questo oggetto e che possono essere modificati durante il lavoro sul progetto sono presentati sotto forma di tabella. Qui dobbiamo aggiungere i parametri per le curve, che useremo in seguito.

zoom
zoom

Premere il pulsante Nuovo situato sopra il tavolo (Fig.4). Apparirà una nuova riga in cui è necessario riempire le colonne. La prima di queste colonne è Variabile. Qui scriviamo il nome della variabile, che verrà utilizzata negli script, in latino e senza spazi. È necessario nominarlo in modo che sia facile da ricordare e allo stesso tempo sia facile capire di cosa è responsabile questa variabile. Nel nostro caso, dobbiamo creare due variabili per il valore degli angoli di rotazione lungo gli assi X e Y (l'oggetto può essere ruotato comunque attorno all'asse Z proprio in pianta). Ho deciso di chiamarli angle_x e angle_y. Nella colonna successiva, è necessario selezionare il tipo di dati. Le scelte sono presentate nella tabella 1.

zoom
zoom

Gli ultimi due tipi non vengono utilizzati nella costruzione dell'oggetto, ma sono necessari per una maggiore chiarezza e ordine della lista nella finestra dei parametri dell'oggetto. Abbiamo bisogno di un angolo: questa è la seconda icona nella tabella. La terza colonna è Nome. Qui puoi scrivere senza regole in qualsiasi lingua quello che vogliamo vedere esattamente in seguito nella finestra dei parametri dell'oggetto. E l'ultima colonna è Value. Ora puoi lasciare 0 qui: questo valore cambia in qualsiasi momento sia nello script che nei parametri dell'oggetto stesso. La Figura 2 mostra l'aspetto delle due nuove opzioni nella finestra dell'Editor oggetti GDL. 5. Utilizzare le frecce all'inizio della riga per spostare la riga in una posizione comoda.

zoom
zoom

Quindi è necessario salvare l'oggetto con un nuovo nome, poiché la libreria standard è codificata nel contenitore e non è possibile sovrascrivere gli oggetti al suo interno. La finestra Object Parameters apparirà ora come questa (Fig. 6).

zoom
zoom

Sono disponibili due nuovi parametri, il cui valore può essere modificato in qualsiasi momento. Ma ora non accadrà nulla, poiché non sono ancora stati scritti comandi utilizzandoli. Ora devi aprire la finestra dello script 3D. Ecco una descrizione completa di come costruire un modello 3D in base ai parametri dati. Inoltre, varie macro possono essere nidificate nell'oggetto. Prima di tutte le costruzioni, è necessario ruotare il sistema di coordinate in cui verrà costruito l'oggetto. Qui è importante comprendere la seguente logica: tutte le rotazioni, i movimenti e il ridimensionamento avvengono in modo diverso rispetto a quando si lavora in ARCHICAD stesso. Non prendiamo un elemento e lo ruotiamo, ma ruotiamo il sistema di coordinate globale (dopo averlo modificato, diventa locale) davanti costruire un oggetto. Move (ADD Command), Rotate (ROT), Scale (MUL) sono comandi di trasformazione del sistema di coordinate. Ulteriori trasformazioni possono essere eliminate nello script una alla volta, più in una volta o eliminate tutte in una volta. Il libro di consultazione descrive tutto questo in modo sufficientemente dettagliato e con esempi. Un esempio di spostamento di un sistema di coordinate nello spazio 3D lungo tre assi contemporaneamente è mostrato in Fig. 7. AGGIUNGI a, b, c

zoom
zoom

Quindi, prima di tutte le costruzioni, ruotiamo il sistema di coordinate, prima lungo uno, poi lungo l'altro asse. La rotazione lungo l'asse X viene eseguita dal comando ROTX alphax, dove alphax è l'angolo di rotazione in senso antiorario; invece di alphax, è necessario inserire una variabile creata in precedenza. La rotazione lungo l'asse Y viene eseguita allo stesso modo (Fig. 8).

zoom
zoom

Ora puoi impostare diversi angoli di rotazione - e le modifiche nel modello 3D avverranno nella finestra situata in alto a sinistra (Fig.9).

zoom
zoom

Ora puoi impostare diversi angoli di rotazione - e le modifiche nel modello 3D avverranno nella finestra situata in alto a sinistra (Fig.9). Ma non succede ancora nulla in 2D. In uno script 2D, un oggetto è costruito con linee e polilinee separate, quindi il disegno di un oggetto in pianta è molte volte più veloce. In un sito, questo è impercettibile, ma se ci sono centinaia di tali griglie nel progetto, la frenata sarà significativa. Puoi calcolare le coordinate dei punti di queste linee e tracciarle come apparirebbero nella proiezione dell'oggetto ruotato, ma questo non è molto semplice e non molto veloce. In questo reticolo, propongo la seguente soluzione: se gli angoli in X o Y non sono uguali a zero, l'oggetto nello script 2D, cioè per il piano, sarà renderizzato come una proiezione del modello 3D, e altrimenti alla vecchia maniera. La proiezione del modello per uno script 2D è costruita dal comando PROJECT2 codice_proiezione, angolo, metodo. Puoi leggere cosa significano projection_code, angle, method nel manuale di riferimento, ma faremo conoscenza con il comando più importante dalla sezione delle istruzioni di controllo IF - THEN - ELSE - ENDIF. Queste sono istruzioni condizionali che ti aiuteranno a costruire la clausola condizionale dal paragrafo precedente. Nella fig. 10 Ho evidenziato i comandi aggiunti nello script 2D e aggiunto "traduzione" in rosso a destra.

zoom
zoom

Ora devi solo salvare l'oggetto e puoi usarlo (Fig.11). Il vantaggio di questo metodo rispetto alla conversione in morph è che l'oggetto rimane parametrico, può essere letto nelle specifiche, in esso è possibile modificare le dimensioni delle lamelle, la dimensione della cornice e tutto il resto che era nell'oggetto originale.

zoom
zoom

Quindi in dettaglio, usando questo esempio, abbiamo esaminato le finestre e gli script principali dell'Editor oggetti GDL. Se l'oggetto che hai scelto per la rotazione ha parametri non sotto forma di elenco, come in questo reticolo, ma sotto forma di immagini e diagrammi, significa che lo sviluppatore ha anche scritto un'interfaccia grafica. Molto spesso, l'elenco standard con i parametri è nascosto, come in Fig. 12: Non è presente la sezione "Tutti i parametri" nell'elenco a discesa delle pagine dei parametri.

zoom
zoom

In questo caso, è necessario entrare nello script dei parametri e trovare il comando che nasconde tutti i parametri (Fig.13). Questo script descrive tutte le azioni che influenzano i parametri: - designazione di opzioni o intervalli di valori possibili (VALUES); - eventuali calcoli il cui risultato è assegnato al parametro (PARAMETRI); - nascondere o bloccare i parametri (HIDEPARAMETER, LOCK).

zoom
zoom

La riga HIDEPARAMETERS ALL può essere semplicemente cancellata o inserendo un "!" All'inizio della riga, renderla illeggibile (secondo la sintassi GDL, una riga che inizia con un punto esclamativo è considerata un commento. Inoltre, scriverò descrizioni e traduzioni negli screenshot dopo il segno "!"). Dopodiché, nella lista delle pagine dei parametri apparirà la riga "Tutti i parametri", e selezionandola si vedrà un elenco standard con i parametri, tra i quali ci saranno nuove righe per la rotazione. ESEMPIO # 2 - testo su un simbolo Prendo il prossimo esempio dal progetto corrente. Quando si lavorava con la pianta di un edificio residenziale multi-appartamento, era necessario apporre la lettera "K" sulle unità esterne dei condizionatori d'aria - e in modo che fosse sempre posizionato verticalmente. Naturalmente, la lettera avrebbe potuto essere semplicemente aggiunta in cima con un testo o un testo di iscrizione esterno, ma poi, quando il condizionatore d'aria è stato acceso, anche il testo avrebbe dovuto essere spostato. Per iniziare, ho aggiunto quattro nuovi parametri (Figura 14):

zoom
zoom

1. Mostra testo: il tipo di parametro è un valore booleano, che implica due possibili valori: 0 (no) e 1 (sì). Pertanto, il testo può essere attivato o disattivato.

2. Testo speciale: tipo di parametro - testo. Permette di scrivere qualsiasi testo nel simbolo (intendo usare una lettera in modo che entri nel rettangolo del blocco del condizionatore d'aria).

3. Carattere: tipo - testo. Si noti che alcuni tipi di scrittura di questa variabile consentono di selezionare i valori dei caratteri nella colonna dall'elenco di quelli installati sul computer. "Fonttype" chiama automaticamente questo elenco, ma se scrivo "typefont" o solo "font", allora devo scrivere il nome del font manualmente. Ho notato questo momento per caso in uno degli oggetti standard.

4. Penna testo: tipo - penna. Bene, qui è tutto chiaro.

Ora diamo un'occhiata alle icone su cui ho cliccato all'inizio delle righe. La prima riga ha un'icona premuta

Image
Image

che significa grassetto - grassetto. Cioè, questa riga nella finestra dei parametri dell'oggetto sarà in grassetto. Gli altri tre hanno un pittogramma

Image
Image

… Significa che queste righe verranno annidate nell'elenco a discesa sotto la prima riga. Nella fig. 15 è uno screenshot che illustra come appare nei parametri dell'oggetto. Per iniziare, ho aggiunto quattro nuovi parametri (Figura 15):

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

E in fig. 16 - cosa ho aggiunto in uno script 2D (tradizionalmente con traduzione e commenti).

zoom
zoom

Figura. 16. Aggiunte righe in uno script 2D Nella schermata successiva (Fig. 17), per maggiore chiarezza, ho colorato diversi tipi di parole / comandi / variabili.

zoom
zoom

L'oggetto è pronto (fig. 18).

zoom
zoom

E se non avessi scritto linee con rotazione e ridimensionamento, l'oggetto sarebbe stato come in fig. 19.

zoom
zoom

ESEMPIO # 3 - dettagli Per semplificare il lavoro su un progetto, durante la scrittura di un oggetto, è possibile aggiungere un parametro di testo con una scelta di diverse opzioni per i dettagli (semplice, medio, dettagliato). E nello script 3D, quando si costruiscono varie piccole parti, aggiungere una condizione del tipo: se il livello di dettaglio = "dettagliato", allora (descrizione delle parti dell'edificio) la fine della condizione Variabili globali merita particolare attenzione. Sono lunghe 40 pagine nel manuale di riferimento e sono raggruppate per argomento per una facile ricerca. Nell'esempio precedente, ho utilizzato alcuni dati di orientamento agli oggetti nel progetto. La stessa sezione del manuale di riferimento contiene variabili globali per le coordinate della posizione dell'oggetto: vengono utilizzate per creare oggetti come una direttrice con coordinate o prospetti su una sezione / prospetto. Molto spesso viene utilizzato GLOB_SCALE - la scala del disegno (dipende dalla vista secondo la finestra corrente), in una scala di 1: 100 è uguale a 100, in una scala di 1:20 è uguale a 20. It viene spesso utilizzato per convertire la dimensione del carattere in misuratori del modello o viceversa. Inoltre, questo parametro può essere utilizzato per "appendere" le opzioni di visualizzazione sul piano. Ad esempio, per una panchina, scrivi quanto segue in uno script 2D:

SE GLOB_SCALE <100 ALLORA ! se la scala è maggiore di 1: 100, allora
PROGETTO2 3, 270, 2 ! costruire una proiezione da un modello 3D
ALTRO ! altrimenti
FINISCI SE ! fine della condizione

Quindi sulla planimetria in scala 1: 500, le panchine verranno visualizzate come rettangoli e su un frammento con una scala più grande verrà disegnata una proiezione dettagliata. Una tecnica simile, ma per un modello tridimensionale, viene utilizzata negli alberi standard, se si abilita la casella di controllo Tipo di corona automatica. A una certa distanza dalla fotocamera, il tipo di corona cambia da dettagliato a semplice e da semplice a ellisse. È vero, per poter rileggere gli script dell'oggetto, è necessario fare qualcosa con essi: ad esempio, dopo aver cambiato la prospettiva, evidenziato tutti gli alberi, aprire la finestra dei parametri dell'oggetto e, senza modificare nulla, fare clic su OK, oppure fare clic e deselezionare la casella di controllo Sostituzione cover.

Lascia che lo mostri usando l'esempio dell'approssimazione di una sfera. Ecco cosa ho scritto in uno script 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 then res = 50 if discam20 then res = 20 if discam30 then res = 10 if discam> 40 then res = 5 resol res sphere 1 Nello script ho usato le variabili globali GLOB_EYEPOS_X, GLOB_EYEPOS_Y, GLOB_EYEPOS_Z sono le coordinate della posizione di la telecamera (occhi) nella finestra 3D del progetto e SYMB_POS_X, SYMB_POS_Y, SYMB_POS_Z sono le coordinate della posizione dell'oggetto nello spazio; abs - modulo numero (rimuove "-", se presente); sqr - radice quadrata; ^ 2 - quadratura di un numero.

Nella finestra 3D, a diverse distanze dalla telecamera, la sfera verrà disegnata con diverse approssimazioni. Per chiarezza, ho attivato la modalità wireframe (Fig.20).

zoom
zoom

Tramite le Variabili Globali, l'oggetto può ricevere: - dati sulla posizione del progetto (nord, latitudine, longitudine, elevazione), impostati nella corrispondente finestra di dialogo; - piano attuale e piano proprio; - il tipo di vista corrente (ad esempio, nei jumper GOST viene utilizzata la seguente condizione: se il tipo di vista è un elenco, quindi costruire una vista del jumper in una sezione con i leader di posizione); nell'esempio con reticolo è possibile aggiungere la seguente condizione: se il tipo di vista è una lista, allora non ruotare il sistema di coordinate, in modo che comunque ci sarebbe una vista frontale nella lista dei reticoli; - visualizzazione incompleta delle costruzioni (è possibile fare in modo che l'oggetto non mostri alcune parti se è selezionato solo il nucleo).

È possibile trascinare i dati del muro in una finestra o in una porta. I callout possono ottenere molte informazioni diverse sull'elemento a cui sono associati, ad esempio una casella di controllo con strati di una struttura multistrato o una linea guida con un volume di un elemento. E così via, 40 pagine di variabili globali diverse e molto utili. ESEMPIO 4 - indicatore di zona Diamo un'occhiata a come viene creato un indicatore di zona personalizzato. Se si crea un nuovo oggetto e si seleziona il sottotipo Passaporto Zona per esso nella sezione Dettagli, nella sezione Parametri vengono visualizzati in blu tutti i parametri specifici che lo strumento Zona passa al marker (Fig. 21).

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

Utilizzando il comando TESTO2, è possibile scrivere una qualsiasi di queste variabili in uno script 2D: è così che si ottiene un contrassegno costituito solo da testo (Fig. 22).

zoom
zoom

Utilizzando i parametri generali dell'indicatore di zona, puoi definire lo stile del testo e l'altezza della linea a seconda dell'altezza del carattere: DEFINE STYLE "ROOM" AC_TextFont_1, ROOM_LSIZE, 5.0 STYLE "ROOM" row = ROOM_LSIZE / 1000 * GLOB_SCALE * 1.5 text2 0, riga, ROOM_NUMBER text2 0, 0, ROOM_NAME text2 0, -row, ROOM_AREA È possibile creare un nuovo parametro per selezionare il tipo di marker (Fig.23), impostarne le opzioni nello script Parameters (Fig.24) e nel Lo script 2D scrive diversi tipi di rendering dei marker per tipi diversi.

zoom
zoom
zoom
zoom

Script 2D: if mt = "marker with number" then text2 0, 0, ROOM_NUMBER CIRCLE2 0,0, row endif if mt = "number and area" then text2 0, row / 2, ROOM_NUMBER text2 0, -row / 2, AREA_TEXT endif if mt = "title and area" then text2 0, row / 2, ROOM_NAME text2 0, -row / 2, AREA_TEXT endif if mt = "number, title and area" then text2 0, row, ROOM_NUMBER text2 0, 0, ROOM_NAME text2 0, -row, AREA_TEXT endif if mt = "area only" then text2 0, 0, AREA_TEXT endif In questo script, non ho utilizzato la variabile area predefinita come area, ma ho convertito l'area in testo e aggiunto a unità: area = str (ROOM_AREA, 4, 2)! convertire un numero in testo con 2 cifre decimali AREA_TEXT = area + "sq.m." ! aggiungendo al valore della stringa le lettere "sq.m." È possibile integrare le linee nel marcatore con linee che separano alcune linee. Per trovare la lunghezza di una stringa, utilizzare il comando STW. Aggiungiamo all'inizio dello script: tl1 = stw (ROOM_NUMBER) / 1000 * GLOB_SCALE tl2 = stw (ROOM_NAME) / 1000 * GLOB_SCALE tl3 = stw (AREA_TEXT) / 1000 * GLOB_SCALE if mt = "number and area" then tl = MAX (tl1, tl3) se mt = "numero, titolo e area" quindi tl = MAX (tl1, tl2) se mt = "titolo e area" quindi tl = MAX (tl2, tl3) se mt = "solo area" quindi tl = tl3 E nelle varianti di marker, aggiungere le linee con il comando LINE2 (Fig.25).

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

Se il numero della zona è composto da più cifre, per il marker è possibile creare un parametro per il raggio di un cerchio, indipendente dall'altezza del carattere, oppure al posto di un cerchio, descrivere una forma simile a un'ellisse di lunghezza uguale alla della riga del numero di zona che abbiamo trovato in precedenza: 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 È possibile aggiungere un nuovo parametro per il tipo di pavimento (FLOOR_TYPE) e un parametro che consente di nasconderlo o mostrarlo (ShowFloorType) e in uno script 2D aggiungere un triangolo con un polilinea e testo con un tipo di pavimento: se ShowFloorType allora ADD2 0, row * 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 Per il tipo di pavimento, è opportuno aggiungere un parametro separato per la penna, oltre a punti per la modifica grafica della posizione del segnaposto. Ho descritto in dettaglio come aggiungere punti di editing grafico nel mio webinar e utilizzando il collegamento alla fine dell'articolo, puoi scaricare oggetti e vedere come questo viene implementato in questo caso particolare.

Infine, consideriamo un altro sottotipo molto importante di un oggetto che apre grandi possibilità: i parametri globali della libreria (Fig.26).

zoom
zoom

Un oggetto con questo sottotipo non costruisce o disegna nulla, definisce i parametri nelle viste del modello. Quindi, qui puoi estrarre quei parametri che vorresti vedere comuni per l'oggetto, ma allo stesso tempo essere in grado di impostare valori diversi per tipi diversi.

Lo mostrerò con un esempio di un indicatore di zona. Mi sono imbattuto in progetti in cui c'erano diversi gruppi di zone in livelli diversi per viste diverse. Se sono necessari diversi marker, la libreria Global Parameters è la soluzione migliore.

Ho un pennarello in cui è possibile impostare il tipo di pavimento in un triangolo e cambiare il tipo di marcatura (fig.27). E questi due parametri vengono spostati in un file separato del sottotipo Parametri della libreria globale (Fig. 28).

zoom
zoom
zoom
zoom

Affinché questi parametri vengano visualizzati nella finestra di dialogo Parametri vista modello, è necessario registrarli nello script dell'interfaccia dell'oggetto (Fig. 29). Non mi soffermerò in dettaglio sui comandi speciali per questo script, sono descritti in modo sufficientemente dettagliato e con esempi nel libro di riferimento. Dirò solo che qui descriviamo dove si troverà questa o quella etichetta o pulsante (un campo con una scelta di opzioni, un segno di spunta, ecc.), Le immagini possono anche essere inserite nell'interfaccia utente. Nella libreria standard, quasi tutti gli oggetti hanno un'interfaccia grafica; puoi vedere tutte le possibilità e vedere come sono scritti questi script. Oltre al pulsante Verifica, lo script ha anche un pulsante Visualizza. Facendo clic su di esso, puoi vedere rapidamente cosa succede.

zoom
zoom

È possibile salvare l'oggetto e visualizzarlo nella finestra di dialogo Opzioni vista modello (Figura 30). Qui possiamo cambiare il tipo di marcatura in una volta per tutte le zone del progetto (con questo marcatore), ma separatamente per i diversi tipi.

zoom
zoom

Ora, nell'oggetto marcatore di zona, è necessario interrogare l'oggetto per i valori di questi due parametri. Nello script principale (che viene letto per primo dall'oggetto, quindi tutti i calcoli e le definizioni dei valori che dovrebbero essere usati in diversi script, è meglio scrivere qui) scrivo due righe come questa: success1 = LIBRARYGLOBAL ("LibraryGlobals20 "," ShowFloorType ", ShowFloorType) success2 = LIBRARYGLOBAL (" LibraryGlobals20 "," mt ", mt)" success "sarà 1 se la richiesta ha esito positivo; altrimenti sarà 0.

Può essere utilizzato per scrivere un messaggio di avvertenza invece di un indicatore di zona indicante che l'oggetto LibraryGlobals20 non è stato caricato nella libreria.

Quindi l'oggetto funziona come al solito, utilizzando due nuovi valori: se il tipo di marcatura è tale e tale, allora scrivi questo e quello e così via. In questo articolo, ho trattato solo una piccola parte delle capacità di GDL. Con il suo aiuto, puoi creare sia elementi di design molto semplici che oggetti molto complessi.

Ad esempio, hai a che fare con case piccole e semplici con pannelli SIP. Hai un elenco specifico di opzioni per modificare il progetto: - la lunghezza e la larghezza della casa possono essere da 2,4 a 24 metri con un passo di 1,2 m; - se la larghezza supera i 6 m, dovrebbe esserci un altro muro nel mezzo; - due opzioni per l'altezza del pavimento a seconda della dimensione del pannello; - numero di piani - uno o due piani; - le finestre possono essere in determinati punti di pannelli di una certa dimensione; - finitura di facciate in tre versioni; - copertura in tre versioni; - spessore della parete di diverse dimensioni standard e così via.

È possibile impostare tutti questi parametri per l'oggetto aggiungendo il costo al metro quadro del pannello, tetto, decoro, ecc. E negli script 2D e 3D dell'oggetto, costruisci e disegna completamente questa casa con variabili anziché dimensioni statiche. Affinché l'utente non si confonda in un lungo elenco di parametri, è possibile scrivere un'interfaccia grafica per più pagine con immagini e diagrammi. Nello script principale, calcola tutti i volumi e visualizza il costo. È inoltre possibile visualizzare una tabella con il layout dei pannelli in uno script 2D accanto alla pianta. Scrivere un oggetto del genere richiederà molto tempo, dovrai redigere una specifica tecnica dettagliata, prevedere tutte le sfumature, ma poi riceverai non solo un oggetto, ma quasi un programma in cui, scegliendo i parametri, tu può ottenere una serie di bozza di progetto con un calcolo dei materiali e dei costi per il cliente. Si spera che questa panoramica abbia suscitato l'interesse di qualcuno per le capacità di GDL. La mia storia è iniziata con un vivo desiderio di cambiare qualche piccolo dettaglio in qualche marcatore di zona standard, e più leggo la guida, più si svelano le potenzialità di questo strumento, a mio avviso molto utile per un architetto. Dal collegamento sottostante è possibile scaricare tutti gli oggetti considerati come esempi in questo articolo: Scarica esempi Nota. ARCHICAD 20 è stato utilizzato per scrivere questi oggetti, quindi non si apriranno nelle versioni precedenti. Informazioni su GRAPHISOFT Azienda GRAPHISOFT® ha rivoluzionato il BIM nel 1984 con ARCHICAD® È la prima soluzione BIM del settore per architetti nel settore CAD. GRAPHISOFT continua a guidare il mercato del software architettonico con prodotti innovativi come BIMcloud ™, la prima soluzione di progettazione BIM collaborativa in tempo reale al mondo, EcoDesigner ™, la prima modellazione energetica completamente integrata al mondo e valutazioni dell'efficienza energetica degli edifici e BIMx® È l'app mobile leader per mostrare e presentare modelli BIM. Dal 2007 GRAPHISOFT fa parte del Gruppo Nemetschek.

Consigliato: