ARCHICAD: REVEALING GDL: Programació Per Als Desafiaments únics De L'arquitecte

ARCHICAD: REVEALING GDL: Programació Per Als Desafiaments únics De L'arquitecte
ARCHICAD: REVEALING GDL: Programació Per Als Desafiaments únics De L'arquitecte

Vídeo: ARCHICAD: REVEALING GDL: Programació Per Als Desafiaments únics De L'arquitecte

Vídeo: ARCHICAD: REVEALING GDL: Programació Per Als Desafiaments únics De L'arquitecte
Vídeo: Язык GDL в ARCHICAD 2024, Abril
Anonim

Aquest material expert continua la sèrie d'articles "ARCHICAD: Rediscovering", que va començar el desembre de 2016 amb un article de Vladimir Savitsky "Creació d'estructures i extracció de dibuixos de treball a partir d'un model", i després va continuar amb les publicacions de Svetlana Kravchenko "ARCHICAD: Redescobrint. Visualització: noves oportunitats per a un arquitecte "i Alexander Anishchenko" TREBALL EN EQUIP: treball en equip eficaç pas a pas ". El cicle està dissenyat per ajudar els usuaris a desenvolupar tot el potencial d'ARCHICAD®… Vam demanar als arquitectes que compartissin la seva experiència personal d’utilitzar el programa mitjançant enfocaments no estàndards, funcions poc estudiades i noves funcions que potser molts usuaris ni tan sols desconeixen. Com a desenvolupadors de l'aplicació ARCHICAD, confiem que només un coneixement profund del producte pot revelar-ne el valor i influir decisivament en els resultats, la rapidesa i la qualitat del treball del dissenyador. També preferiu "camins sense trepitjar"? Té experiència en l’ús d’enfocaments no estàndard per treballar amb ARCHICAD i no utilitza regularment les funcions més famoses de l’aplicació? Estarem encantats de convidar nous autors a la cooperació: [email protected]. Svetlana Kravchenko, arquitecta en exercici, informa:

zoom
zoom

Segur que molts de vosaltres heu sentit a parlar de GDL a ARCHICAD, però encara no tothom sap com fer-lo servir a la feina. Tenint en compte la increïble utilitat d’aquesta característica, així com les moltes preguntes després del meu primer seminari web sobre aquest tema, vaig decidir aprofundir en com fins i tot el més petit coneixement d’ella pot ajudar molt en el treball quotidià de un arquitecte.

Comencem pels conceptes bàsics GDL (Geometric Description Language) és un llenguatge de programació tipus BASIC dissenyat per funcionar a l’entorn ARCHICAD. Descriu cossos sòlids en 3D (com portes, finestres, mobles) i símbols 2D a la finestra de la planta. Aquests objectes s’anomenen Funcions de biblioteca.

Per a aquells que estiguin familiaritzats amb la programació com a mínim, no serà difícil dominar aquest llenguatge. Tanmateix, amb un desig suficient, l’estudi de la GDL quedarà força al poder d’una persona que es troba lluny d’aquest entorn. Qualsevol arquitecte ha estudiat geometria i geometria descriptiva en el seu temps, té un pensament volumètric excel·lent i això ja suposa la meitat de l’èxit. No cal que intenteu escriure immediatament objectes complexos, val la pena començar amb les formes i formes geomètriques bàsiques; es pot obtenir molta informació examinant els scripts d'altres elements de la biblioteca. Bé, la principal font d’informació és el manual de referència GDL, al qual es pot accedir mitjançant el menú Ajuda del mateix ARCHICAD. Llavors, per què un arquitecte pot beneficiar-se del coneixement de GDL? Per exemple, a diferència de Grasshopper, amb el qual podeu crear estructures complexes, GDL és simplement imprescindible per escriure diversos marcadors i textos destacats, així com per crear components especials per a altres funcions o eines de la biblioteca. Una de les meves primeres aplicacions de GDL al meu treball va ser la creació d’un full de porta de panell especial que, quan es va redimensionar, no es va redimensionar en totes direccions, sinó que només va canviar les dimensions del panell. El gruix del marc arrissat i l’amplada de l’arnès es van mantenir sense canvis. A més, els arquitectes sovint volen afegir algunes funcions simples als objectes existents de les biblioteques estàndard, i aquest és el motiu principal pel qual comencen a aprofundir en GDL. Per descomptat, el coneixement de GDL no és vital i moltes d’aquestes tasques es poden aconseguir amb eines estàndard. Per exemple, podeu construir farcits amb lloses i guardar-les com a fulla de porta especial. Si només teniu algunes d'aquestes portes no estàndard, serà encara més ràpid. Però si al vostre projecte hi ha moltes portes similars de diferents mides i la seva amplada canvia en el procés de treball, escriure un panell especial a GDL accelerarà i simplificarà molt la feina. La descripció geomètrica implica que qualsevol de les formes possibles es pot escriure en text segons dimensions o coordenades. Per a un script 3D, hi ha un bloc d'ordres per a formes espacials bàsiques, com ara: - BLOC i MAÓ - Un paral·lelepíped construït en tres dimensions amb l’origen al punt 0 del sistema de coordenades BLOC a, b, c MAÓ a, b, c

zoom
zoom

- CILINDRE - cilindre al llarg de l'eix Z, amb l'alçada h i el radi r CILINDRE h, r

- ESFERA - esfera centrada a l’origen i radi r ESFERA r

zoom
zoom

Una el·lipse i un con es descriuen de manera similar. El següent bloc de figures ja és més complicat: es tracta de diversos prismes. Es descriuen mitjançant un conjunt de coordenades puntuals. El prisma més simple està determinat pel nombre de punts (n), l'alçada (h) i la llista de les coordenades de tots els punts en ordre. PRISME n, h, x1, y1, … xn, yn

Hi ha moltes varietats de prisma. La següent vista, PRISME_, us permet indicar codis d'estat a les coordenades dels punts, que determinen la visibilitat de cares i arestes, i també us permeten crear prismes corbats i prismes amb forats (vegeu la secció Codis d'estat al llibre de referència). Un altre tipus, BPRISME_, crea un prisma girat al voltant de l'eix Y. FPRISME_ construeix un prisma amb un xamfrà o filet a la part superior.

zoom
zoom

Hi ha diverses ordres que descriuen formes més complexes basades en polilínies: EXTRUSIÓ, PIRÀMIDE, GIRAR, REGLAT, ESCARRA, TUB, COON, MASSA. La seva descripció amb exemples es pot trobar a la referència. Per a un script 2D, les formes es descriuen amb altres ordres: línia, cercle, rectangle, polilínia, spline. Però també podeu registrar una ordre per crear una projecció a partir d’un script 3D.

La creació de formes 2D o 3D només forma part de la funcionalitat de GDL. Si només necessiteu una taula, és més fàcil construir-la amb les eines del mateix ARCHICAD. Un objecte s’escriu en el cas que es requereixi algun tipus de parametricisme: la possibilitat de seleccionar diferents tipus de potes de taula, el nombre de potes, redimensionar la taula mantenint la resta de dimensions, calcular la fusta per a la seva fabricació, pes i cost. És possible que l’objecte no contingui cap geometria, sinó que només faci càlculs. Per a això, també s’utilitzen clàusules de control (operadors de control), com bucles, sentències condicionals, que fan referència a un lloc específic del codi (subrutina). El millor és familiaritzar-se amb els cicles i les condicions al principi: s’utilitzen sovint. Per tant, tots els exemples següents tenen sentències condicionals. EXEMPLE # 1: rotació d'objectes Els dissenyadors solen voler que un objecte es pugui transformar. Utilitzant aquest senzill exemple, veurem l’estructura de l’ítem de la biblioteca, així com les finestres principals de l’Editor d’objectes GDL. Per obrir qualsevol objecte situat a l'espai del projecte (si el desenvolupador no hi ha posat cap contrasenya), heu de seleccionar-lo i prémer la combinació de tecles Ctrl + Maj + O. Una altra manera és fer servir el menú Fitxer> Biblioteques i objectes> Obre objecte. Si en aquest moment no s'ha seleccionat cap objecte, s'obrirà una finestra per seleccionar-ne un. Afegim paràmetres de rotació, per exemple, a una reixa de persiana (Fig. 1).

zoom
zoom

Per tant, hem obert la finestra de l'Editor d'objectes GDL (Fig. 2). A la part superior esquerra, hi ha una finestra per visualitzar diferents vistes, com a la finestra habitual dels paràmetres de l'objecte; fins i tot a l'esquerra hi ha botons per triar una vista: pla, alçat, finestra 3D i vista prèvia. A sota hi ha botons per obrir taules de paràmetres, llistes de dades i scripts. Els scripts es poden obrir de dues maneres: feu clic al botó amb el nom de l’escriptura: obriu-lo a la mateixa finestra, feu clic al botó situat a la dreta amb la icona de la finestra; l’escriptura s’obrirà en una finestra independent. Això pot ser útil per veure diferents scripts alhora (Figura 3).

zoom
zoom

A la part superior de la finestra de qualsevol script hi ha un botó de comprovació molt necessari: quan feu clic, l’editor us demanarà si hi ha cap error al script. El missatge contindrà el motiu de l'error i el número de línia on s'ha trobat l'error. A la secció "Detalls", podeu seleccionar un subtipus d'objecte: full de porta personalitzat, pom de porta, marc de cortina, etc. Per tant, apareixeran objectes especials (llapis, llenç, marc) a la finestra corresponent per seleccionar aquests elements. Quan se selecciona un tipus 2D, l'objecte no tindrà finestres per a geometria 3D. Allà també podeu seleccionar tipus per a diferents marcadors: un node, seccions, subtítols líders, zones; també apareixeran a les seves respectives eines. En aquesta secció, podeu emplenar una descripció de l'objecte i seleccionar una contrasenya. A més - "Paràmetres", on totes les dades que s'utilitzen en aquest objecte i que es poden canviar mentre es treballa al projecte es presenten en forma de taula. Aquí hem d’afegir paràmetres per als girs, que utilitzarem més endavant.

zoom
zoom

Premeu el botó Nou situat a sobre de la taula (Fig. 4). Apareixerà una nova fila en què heu d'omplir les columnes. La primera d’aquestes columnes és variable. Aquí escrivim el nom de la variable, que s’utilitzarà en scripts, en llatí i sense espais. Cal anomenar-lo perquè sigui fàcil de recordar i, alhora, sigui fàcil entendre de què és responsable aquesta variable. En el nostre cas, hem de crear dues variables per al valor dels angles de rotació al llarg dels eixos X i Y (l’objecte es pot girar al voltant de l’eix Z de totes maneres al pla). Vaig decidir anomenar-los angle_x i angle_y. A la columna següent, heu de seleccionar el tipus de dades. Les opcions es presenten a la taula 1.

zoom
zoom

Els dos darrers tipus no s’utilitzen en la construcció de l’objecte, sinó que són necessaris per a una major claredat i ordenació de la llista a la finestra de paràmetres de l’objecte. Necessitem un racó: aquesta és la segona icona de la taula. La tercera columna és Nom. Aquí podeu escriure sense regles en cap idioma, exactament el que volem veure més endavant a la finestra de paràmetres de l'objecte. I l’última columna és Valor. Ara podeu deixar 0 aquí: aquest valor canvia en qualsevol moment tant a l'script com als paràmetres del propi objecte. La figura 2 mostra l'aspecte de les dues noves opcions a la finestra de l'Editor d'objectes del GDL. 5. Utilitzeu les fletxes al començament de la línia per moure la línia a un lloc convenient.

zoom
zoom

A continuació, heu de desar l'objecte amb un nom nou, ja que la biblioteca estàndard està codificada al contenidor i no podeu sobreescriure objectes. La finestra Paràmetres d'objecte ara es mostrarà així (Fig. 6).

zoom
zoom

Hi ha dos paràmetres nous, el valor dels quals es pot canviar en qualsevol moment. Però ara no passarà res, ja que encara no s’han escrit ordres que les utilitzen. Ara cal obrir la finestra de l'script 3D. Aquí teniu una descripció completa de com construir un model 3D basat en els paràmetres indicats. A més, es poden niar diverses macros a l'objecte. Abans de totes les construccions, heu de girar el sistema de coordenades en què es construirà l'objecte. Aquí és important entendre la següent lògica: totes les rotacions, moviments i escalat es produeixen de manera diferent que quan es treballa a ARCHICAD. No agafem cap element ni el girem, sinó que fem girar el sistema global de coordenades (després de canviar-lo, es torna local) frontal construir un objecte. Move (ADD Command), Rotate (ROT), Scale (MUL) són ordres de transformació del sistema de coordenades. Es poden eliminar altres transformacions de l'script una per una, diverses alhora o eliminar-les totes alhora. El llibre de referència descriu tot això amb prou detall i amb exemples. Un exemple de desplaçament d’un sistema de coordenades en un espai 3D al llarg de tres eixos alhora es mostra a la Fig. 7. AFEGEIX a, b, c

zoom
zoom

Per tant, abans de totes les construccions, girem el sistema de coordenades, primer al llarg d’un, després al llarg de l’altre eix. La rotació al llarg de l’eix X es realitza mitjançant l’ordre ROTX alphax, on alphax és l’angle de rotació en sentit antihorari; en lloc d’alfax, cal introduir una variable creada prèviament. La rotació al llarg de l’eix Y es realitza de la mateixa manera (figura 8).

zoom
zoom

Ara podeu establir diferents angles de rotació i els canvis en el model 3D es produiran a la finestra situada a la part superior esquerra (figura 9).

zoom
zoom

Ara podeu establir diferents angles de rotació i els canvis en el model 3D es produiran a la finestra situada a la part superior esquerra (figura 9). Però encara no passa res en 2D. En un script 2D, un objecte es construeix amb línies i polilínies separades, de manera que el dibuix d'un objecte en pla és moltes vegades més ràpid. En un lloc, això és imperceptible, però si hi ha centenars d’aquestes xarxes al projecte, la frenada serà important. Podeu calcular les coordenades dels punts d’aquestes línies i traçar-les com es veurien en la projecció de l’objecte girat, però això no és molt senzill i no és molt ràpid. En aquest entramat, proposo la següent solució: si els angles de X o Y no són iguals a zero, l’objecte de l’escript 2D, és a dir, per al pla, es representarà com a projecció del model 3D i altrament a la manera antiga. La projecció del model per a un script 2D es basa en l'ordre PROJECT2 projection_code, angle, mètode. Podeu llegir què significa projection_code, angle, mètode al llibre de referència, però coneixerem l’ordre més important de la secció de les instruccions de control IF - THEN - ELSE - ENDIF. Són afirmacions condicionals que us ajudaran a construir la clàusula condicional del paràgraf anterior. A la fig. 10 He ressaltat les ordres afegides a l'script 2D i he afegit "traducció" en vermell a la dreta.

zoom
zoom

Ara només cal que deseu l’objecte i el pugueu utilitzar (Fig. 11). L’avantatge d’aquest mètode respecte a la conversió a morph és que l’objecte continua sent paramètric, es pot llegir a les especificacions, en ell podeu canviar les dimensions de les lames, la mida del marc i tota la resta que hi havia a l’objecte original..

zoom
zoom

Així, en detall, mitjançant aquest exemple, hem examinat les principals finestres i scripts de l'Editor d'objectes GDL. Si l'objecte que heu triat per a la rotació té paràmetres no en forma de llista, com en aquest reticle, sinó en forma d'imatges i diagrames, això vol dir que el desenvolupador també ha escrit una interfície gràfica. Molt sovint, la llista estàndard amb paràmetres està oculta, com a la Fig. 12: No hi ha cap secció "Tots els paràmetres" a la llista desplegable de pàgines de paràmetres.

zoom
zoom

En aquest cas, heu d’entrar a l’escript de paràmetres i trobar l’ordre que amaga tots els paràmetres (figura 13). Aquest script descriu totes les accions que afecten els paràmetres: - designació d'opcions o rangs de valors possibles (VALORS); - qualsevol càlcul, el resultat del qual s'assigna al paràmetre (PARAMETERS); - ocultar o bloquejar paràmetres (HIDEPARAMETER, LOCK).

zoom
zoom

La línia HIDEPARAMETERS ALL es pot esborrar simplement o posant un "!" Al principi de la línia, faci que no es pugui llegir (segons la sintaxi GDL, una línia que comença amb un signe d'exclamació es considera un comentari. A més, escriuré descripcions i traduccions a les captures de pantalla després del signe "!"). Després, la línia "Tots els paràmetres" apareixerà a la llista de pàgines de paràmetres i, en seleccionar-la, veureu una llista estàndard amb paràmetres, entre els quals hi haurà línies noves per girar. EXEMPLE # 2: text sobre un símbol Prenc el següent exemple del projecte actual. Quan es treballava amb el pla d'un edifici residencial de diversos apartaments, calia posar la lletra "K" a les unitats exteriors dels aparells d'aire condicionat, de manera que sempre estigués situada verticalment. Per descomptat, la lletra es podria haver afegit simplement a la part superior amb text o una inscripció externa, però després, quan es va girar l’aire condicionat, també es podria haver hagut de moure el text. Per començar, he afegit quatre paràmetres nous (Figura 14):

zoom
zoom

1. Mostra el text: el tipus de paràmetre és un valor booleà, que implica dos valors possibles: 0 (no) i 1 (sí). Per tant, el text es pot activar o desactivar.

2. Text especial: tipus de paràmetre - text. Permet escriure qualsevol text al símbol (tinc la intenció d’utilitzar una lletra perquè quedi dins del rectangle del bloc d’aire condicionat).

3. Tipus de lletra: tipus - text. Tingueu en compte que alguns tipus d’escriptura d’aquesta variable permeten seleccionar valors de tipus de lletra a la columna de la llista d’instal·lats a l’ordinador. "Tipus de lletra" crida aquesta llista automàticament, però si escric "tipus de lletra" o només "lletra", he d'escriure el nom de la lletra manualment. Vaig notar aquest moment per casualitat en un dels objectes estàndard.

4. Llapis de text: tipus - llapis. Bé, aquí tot està clar.

Vegem ara les icones en què he fet clic al principi de les línies. La primera línia té una icona premuda

Image
Image

que significa negreta - negreta. És a dir, aquesta línia a la finestra de paràmetres d'objecte serà en negreta. Els altres tres tenen un pictograma

Image
Image

… Vol dir que aquestes línies s’aniran a la llista desplegable de la primera línia. A la fig. 15 és una captura de pantalla que il·lustra el seu aspecte als paràmetres de l'objecte. Per començar, he afegit quatre paràmetres nous (Figura 15):

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

I a la fig. 16: el que he afegit en un script 2D (tradicionalment amb traducció i comentaris).

zoom
zoom

Fig. 16. Línies afegides en un script 2D A la següent captura de pantalla (Fig. 17), per a una major claredat, he tintat diferents tipus de paraules / ordres / variables.

zoom
zoom

L’objecte està a punt (fig. 18).

zoom
zoom

I si no escrivís línies amb rotació i escala, l’objecte semblaria a la fig. 19.

zoom
zoom

EXEMPLE # 3: detalls Per simplificar el treball en un projecte, quan escriviu un objecte, podeu afegir un paràmetre de text amb una selecció de diverses opcions per detallar (simple, mitjà, detallat). I al guió 3D, quan es construeixen diverses peces petites, afegiu una condició del tipus: si el nivell de detall = "detallat", aleshores (descripció de les peces de construcció) el final de la condició Les variables globals mereixen una atenció especial. El manual de referència té 40 pàgines i s’agrupen per temes per facilitar la cerca. A l'exemple anterior, he utilitzat algunes dades d'orientació d'objectes al projecte. La mateixa secció del manual de referència conté variables globals per a les coordenades de la ubicació de l'objecte: s'utilitzen per crear objectes com ara un líder amb coordenades o alçats en una secció / alçada. Molt sovint s’utilitza GLOB_SCALE: l’escala del dibuix (depèn de la vista segons la finestra actual), a una escala d’1: 100 és igual a 100, a una escala de 1:20 és igual a 20. s'utilitza amb més freqüència per convertir la mida de la lletra a models de metres o viceversa. A més, aquest paràmetre es pot utilitzar per "penjar" les opcions de visualització del pla. Per exemple, per a un banc, escriviu el següent en un script 2D:

SI GLOB_SCALE <100 DESPRÉS ! si l’escala és superior a 1: 100, llavors
PROJECTE2 3, 270, 2 ! construir una projecció a partir d’un model 3D
ALTRES ! d'una altra manera
ENDIF ! fi de la condició

Així doncs, al pla mestre a escala 1: 500, els bancs es mostraran com a rectangles i, en un fragment amb una escala més gran, es dibuixarà una projecció detallada. Una tècnica similar, però per a un model tridimensional, s’utilitza en arbres estàndard, si activeu la casella de selecció Tipus de corona automàtica. A certa distància de la càmera, el tipus de corona canvia de detall a simple i de simple a el·lipse. És cert, perquè es puguin tornar a llegir els scripts de l'objecte, heu de fer alguna cosa amb ells, per exemple, després de canviar la perspectiva, ressaltar tots els arbres, obrir la finestra de paràmetres de l'objecte i, sense canviar res, només cal que feu clic a D'acord, o bé feu clic i desmarqueu la casella de selecció de substitució de la coberta.

Deixeu-me mostrar-lo amb l'exemple d'aproximació d'una esfera. Això és el que he escrit en un 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 llavors res = 50 si discam20 llavors res = 20 si discam30 llavors res = 10 si disc> 40 llavors res = 5 resol res esfera 1 A l'script he utilitzat les variables globals GLOB_EYEPOS_X, GLOB_EYEPOS_Y, GLOB_EYEPOS_Z són les coordenades de la ubicació de la càmera (ulls) de la finestra 3D del projecte i SYMB_POS_X, SYMB_POS_Y, SYMB_POS_Z són les coordenades de la ubicació de l'objecte a l'espai; mòdul abs - number (elimina "-", si n'hi ha); sqr - arrel quadrada; ^ 2 - quadrant un nombre.

A la finestra 3D, a diferents distàncies de la càmera, es dibuixarà l'esfera amb diferents aproximacions. Per claredat, vaig activar el mode wireframe (Fig. 20).

zoom
zoom

A través de les variables globals, l'objecte pot rebre: - dades sobre la ubicació del projecte (nord, latitud, longitud, elevació), establertes al quadre de diàleg corresponent; - pis actual i pis propi; - el tipus de vista actual (per exemple, en els ponts GOST s'utilitza la condició següent: si el tipus de vista és una llista, creeu una vista del pont en una secció amb líders de posició); a l'exemple amb una xarxa, podeu afegir la condició següent: si el tipus de vista és una llista, no gireu el sistema de coordenades, de manera que en qualsevol cas hi hauria una vista frontal a la llista de gelosies; - visualització incompleta de construccions (podeu fer que l'objecte no mostri algunes parts si només se selecciona el nucli).

Podeu arrossegar les dades de la paret a una finestra o a un objecte de porta. Els textos destacats poden obtenir molta informació diferent sobre l’element al qual estan associats, per exemple, una casella de selecció amb capes d’una estructura de múltiples capes o un líder amb un volum d’un element. I així successivament, 40 pàgines de variables globals diferents i molt útils. EXEMPLE 4: marcador de zona Vegem com es crea un marcador de zona personalitzat. Si creeu un objecte nou i en seleccioneu el subtipus Passaport de zona a la secció Detalls, a la secció Paràmetres es mostraran en blau tots els paràmetres específics que l'eina de zona passa al marcador (Fig. 21).

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

Mitjançant l'ordre TEXT2, podeu escriure qualsevol d'aquestes variables en un script 2D: així s'obté un marcador format només per text (Fig. 22).

zoom
zoom

Mitjançant els paràmetres generals del marcador de zona, podeu definir l’estil del text i l’alçada de la línia en funció de l’alçada del tipus de lletra: DEFINE STYLE “ROOM” AC_TextFont_1, ROOM_LSIZE, 5.0 STYLE “ROOM” fila = ROOM_LSIZE / 1000 * GLOB_SCALE * 1.5 text2 0, fila, ROOM_NUMBER text2 0, 0, ROOM_NAME text2 0, -row, ROOM_AREA Podeu crear un paràmetre nou per seleccionar el tipus de marcador (Fig. 23), definir-ne les opcions a l'script de Paràmetres (Fig. 24) i L'escriptura 2D escriu diferents tipus de representació de marcadors per a diferents tipus.

zoom
zoom
zoom
zoom

Script 2D: si mt = "marcador amb número", llavors text2 0, 0, ROOM_NUMBER CIRCLE2 0,0, fila endif si mt = "número i àrea" llavors text2 0, fila / 2, ROOM_NUMBER text2 0, -row / 2, AREA_TEXT endif if mt = "títol i àrea" llavors text2 0, fila / 2, ROOM_NAME text2 0, -row / 2, AREA_TEXT endif if mt = "número, títol i àrea" llavors text2 0, fila, ROOM_NUMBER text2 0, 0, ROOM_NAME text2 0, -row, AREA_TEXT endif if mt = "only area" then text2 0, 0, AREA_TEXT endif En aquest script, no he utilitzat la variable d'àrea predefinida com a àrea, sinó que he convertit l'àrea a text i l'he afegit a it units: area = str (ROOM_AREA, 4, 2)! convertint un número en text amb 2 posicions decimals AREA_TEXT = area + "sq.m." ! afegint al valor de la cadena les lletres "sq.m." Podeu complementar les línies del marcador amb línies que separen algunes línies. Per trobar la longitud d'una cadena, utilitzeu l'ordre STW. Afegim al principi de l'script: tl1 = stw (ROOM_NUMBER) / 1000 * GLOB_SCALE tl2 = stw (ROOM_NAME) / 1000 * GLOB_SCALE tl3 = stw (AREA_TEXT) / 1000 * GLOB_SCALE si mt = "número i àrea" llavors tl = MAX (tl1, tl3) si mt = "nombre, títol i àrea", llavors tl = MAX (tl1, tl2) si mt = "títol i àrea", llavors tl = MAX (tl2, tl3) si mt = "només àrea", llavors tl = tl3 I a les variants dels marcadors, afegiu les línies amb l'ordre LINE2 (Fig. 25).

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

Si el número de zona consta de diversos dígits, per al marcador, podeu crear un paràmetre per al radi d'un cercle, independent de l'alçada de la font o, en lloc d'un cercle, descriure una forma semblant a una el·lipse amb una longitud igual a la longitud de la línia de número de zona que hem trobat anteriorment: POLY2_ 5, 1 + 2 + 4, -tl1 / 2, fila, 1, tl1 / 2, fila, 1, tl1 / 2, -row, 1001, -tl1 / 2, -row, 1, -tl1 / 2, fila, 1001 Podeu afegir un paràmetre nou per al tipus de pis (FLOOR_TYPE) i un paràmetre que us permet amagar-lo o mostrar-lo (ShowFloorType), i en un script 2D afegiu un triangle amb un polilínia i text amb un tipus de pis: si ShowFloorType, llavors ADD2 0, fila * 3 POLY2_ 4, 1, -row * 1.4, -row * 0.8, 1, fila * 2.8.60.201, fila * 1.4, -row * 0.8, 1, 0,0,700 text2 0,0, FLOOR_TYPE endif Per al tipus de sòl, és convenient afegir un paràmetre separat per a la ploma, així com punts per editar gràficament la ubicació del marcador de sòl. Vaig descriure detalladament com afegir punts d’edició gràfica al meu seminari web i, mitjançant l’enllaç al final de l’article, podeu descarregar objectes i veure com s’implementa en aquest cas concret.

I, finalment, considerem un altre subtipus molt important d’un objecte que obre grans possibilitats: els paràmetres globals de la biblioteca (figura 26).

zoom
zoom

Un objecte amb aquest subtipus no construeix ni dibuixa res, defineix paràmetres a les vistes del model. Així, allà podeu treure aquells paràmetres que vulgueu veure comuns per a l'objecte, però al mateix temps poder establir valors diferents per a diferents tipus.

Ho mostraré amb un exemple de marcador de zona. Em vaig trobar amb projectes en què hi havia diversos conjunts de zones en diferents capes per a diferents vistes. Si hi ha necessitat de diferents marcadors, llavors la Biblioteca Global Parameters és la millor solució.

Tinc un marcador en el qual és possible establir el tipus de terra en un triangle i canviar el tipus de marcatge (fig. 27). I aquests dos paràmetres es mouen a un fitxer independent del subtipus Paràmetres de la biblioteca global (figura 28).

zoom
zoom
zoom
zoom

Perquè es visualitzin aquests paràmetres al quadre de diàleg Paràmetres de la vista del model, els haureu de registrar a l'script de la interfície d'objecte (Fig. 29). No aprofundiré en les ordres especials d’aquest script, ja que es descriuen amb prou detall i amb exemples al llibre de referència. Només diré que aquí descrivim on s’ubicarà aquesta o aquella etiqueta o botó (un camp amb una selecció d’opcions, una marca de selecció, etc.), també es poden inserir imatges a la interfície d’usuari. A la biblioteca estàndard, gairebé tots els objectes tenen una interfície gràfica; podeu veure totes les possibilitats i veure com s’escriuen aquests scripts. A més del botó Comprova, l'script també té un botó Veure. En fer-hi clic, podeu veure ràpidament què passa.

zoom
zoom

Podeu desar l’objecte i visualitzar-lo al quadre de diàleg Opcions de visualització del model (Figura 30). Aquí podem canviar el tipus de marcatge alhora per a totes les zones del projecte (amb aquest marcador), però per separat per a diferents tipus.

zoom
zoom

Ara, a l’objecte marcador de zona, heu de consultar l’objecte pels valors d’aquests dos paràmetres. A l’escriptura principal (que primer llegeix l’objecte, de manera que tots els càlculs i definicions de valors que s’han d’utilitzar en diversos scripts, és millor escriure aquí) escric dues línies així: success1 = LIBRARYGLOBAL ("LibraryGlobals20 "," ShowFloorType ", ShowFloorType) success2 = LIBRARYGLOBAL (" LibraryGlobals20 "," mt ", mt)" success "serà 1 si la sol·licitud és correcta; en cas contrari serà 0.

Es pot utilitzar per escriure un missatge d'advertència en lloc d'un marcador de zona que no s'hagi carregat l'objecte LibraryGlobals20 a la biblioteca.

A continuació, l'objecte funciona com sempre, utilitzant dos nous valors: si el tipus de marcatge és tal i tal, escriviu tal i tal, etc. En aquest article, només he tractat una petita part de les capacitats de GDL. Amb la seva ajuda, podeu crear elements de disseny molt senzills i objectes molt complexos.

Per exemple, es tracta de cases de panell SIP petites i senzilles. Teniu una llista específica d’opcions per canviar el projecte: - la longitud i l’amplada de la casa poden oscil·lar entre 2,4 i 24 metres amb un pas d’1,2 m; - si l'amplada supera els 6 m, hi hauria d'haver una altra paret al mig; - dues opcions per a les altures del sòl en funció de la mida del tauler; - nombre de plantes: una o dues plantes; - les finestres poden estar en determinats llocs de panells de certa mida; - acabat de façanes en tres versions; - sostre en tres versions; - gruix de paret de diverses mides estàndard, etc.

Podeu configurar tots aquests paràmetres per a l'objecte afegint el cost per metre quadrat del tauler, del sostre, de la decoració, etc. I en scripts 2D i 3D de l'objecte, creeu i dibuixeu completament aquesta casa amb variables en lloc de dimensions estàtiques. Per tal que l'usuari no es confongui amb una llarga llista de paràmetres, podeu escriure una interfície gràfica per a diverses pàgines amb imatges i diagrames. Al script principal, calculeu tots els volums i mostreu el cost. També és possible mostrar una taula amb la disposició dels plafons en un script 2D al costat del pla. Escriure un objecte d’aquest tipus trigarà molt de temps, haureu d’elaborar una especificació tècnica detallada, proporcionar tots els matisos, però després rebreu no només un objecte, sinó gairebé un programa en què, triant paràmetres, pot obtenir un conjunt d’un projecte de projecte amb un càlcul de materials i costos per al client. Amb sort, aquesta visió general ha despertat l’interès d’algú per les capacitats de GDL. La meva història va començar amb un gran desig de canviar alguns detalls en algun marcador de zona estàndard i, com més llegeixo la guia, més es revela el potencial d’aquesta eina, al meu entendre, molt útil per a un arquitecte. Des de l'enllaç següent podeu descarregar tots els objectes que es van considerar exemples en aquest article: descarregar exemples Nota. ARCHICAD 20 es va utilitzar per escriure aquests objectes, de manera que no s'obriran en versions anteriors. Quant a GRAPHISOFT Empresa GRAPHISOFT® va revolucionar el BIM el 1984 amb ARCHICAD® És la primera solució BIM del sector per a arquitectes de la indústria CAD. GRAPHISOFT continua liderant el mercat del programari arquitectònic amb productes innovadors com BIMcloud ™, la primera solució de disseny col·laboratiu en temps real del món, EcoDesigner ™, la primera modelització energètica i avaluacions d’eficiència energètica dels edificis i BIMx completament integrades al món.® És l’aplicació mòbil líder per mostrar i presentar models BIM. Des de 2007, GRAPHISOFT forma part del grup Nemetschek.

Recomanat: