ARCHICAD: Onthulling Van GDL: Programmering Vir Die Unieke Uitdagings Van Argitekte

ARCHICAD: Onthulling Van GDL: Programmering Vir Die Unieke Uitdagings Van Argitekte
ARCHICAD: Onthulling Van GDL: Programmering Vir Die Unieke Uitdagings Van Argitekte

Video: ARCHICAD: Onthulling Van GDL: Programmering Vir Die Unieke Uitdagings Van Argitekte

Video: ARCHICAD: Onthulling Van GDL: Programmering Vir Die Unieke Uitdagings Van Argitekte
Video: ArchiCAD. GDL. Практический курс по программированию 3D-форм 2024, April
Anonim

Hierdie kundige materiaal sit die reeks artikels "ARCHICAD: Rediscovering" voort, wat in Desember 2016 begin het met 'n artikel deur Vladimir Savitsky "Skepping van strukture en onttrekking van werkstekeninge uit 'n model", en daarna voortgegaan met die publikasies van Svetlana Kravchenko "ARCHICAD: Herontdekking. Visualisering - nuwe geleenthede vir 'n argitek "en Alexander Anishchenko" TEAMWERK: effektiewe spanwerk stap vir stap ". Die siklus is ontwerp om gebruikers te help om die volle potensiaal van ARCHICAD te benut®… Ons het die argitekte gevra om hul persoonlike ervaring met die gebruik van die program te deel deur gebruik te maak van nie-standaard benaderings, min bestudeerde funksies en nuwe funksies waarvan baie gebruikers nie eers bewus is nie. As ontwikkelaars van die ARCHICAD-toepassing is ons vol vertroue dat slegs 'n diep kennis van die produk die volle waarde daarvan kan openbaar en die resultate, spoed en kwaliteit van die ontwerpers se werk bepalend kan beïnvloed. Verkies u ook 'ongeleë paaie'? Het u ondervinding in die gebruik van nie-standaard benaderings in die werk met ARCHICAD, gebruik u nie die bekendste kenmerke van die toepassing nie? Ons nooi graag nuwe outeurs na samewerking: [email protected]. Svetlana Kravchenko, 'n praktiserende argitek, berig:

zoem
zoem

Sekerlik het baie van u al van GDL in ARCHICAD gehoor, maar nie almal weet nog hoe om dit in die werk te gebruik nie. In ag genome die ongelooflike bruikbaarheid van hierdie funksie, sowel as die vele vrae na my eerste webinar oor hierdie onderwerp, het ek besluit om meer in besonderhede in te gaan oor hoe selfs die kleinste kennis daarvan baie kan help in die daaglikse werk van n argitek.

Kom ons begin met die basiese beginsels GDL (Geometric Description Language) is 'n BASIESE programmeertaal wat ontwerp is om in die ARCHICAD-omgewing te werk. Dit beskryf 3D soliede lywe (soos deure, vensters, meubels) en 2D-simbole in die vloerplanvenster. Hierdie voorwerpe word Biblioteekfunksies genoem.

Vir diegene wat ten minste 'n bietjie vertroud is met programmering, is dit nie moeilik om hierdie taal te bemeester nie. Met voldoende begeerte sal die bestudering van GDL egter heeltemal in die mag wees van 'n persoon wat ver van hierdie omgewing af is. Elke argitek het meetkunde en beskrywende meetkunde in sy tyd bestudeer, het uitstekende volumetriese denke, en dit is al die helfte van die sukses. U hoef nie onmiddellik probeer om komplekse voorwerpe te skryf nie, dit is die moeite werd om te begin met die basiese geometriese vorms en vorms; baie inligting kan verkry word deur die skrifte van ander biblioteekitems te ondersoek. Wel, die hoofbron van inligting is die GDL-verwysingshandleiding, wat toeganklik is via die Help-menu in ARCHICAD self. Dus, waarom kan 'n argitek voordeel trek uit kennis van GDL? Anders as Grasshopper, waarmee u ingewikkelde strukture kan skep, is GDL eenvoudig onontbeerlik vir die skryf van verskillende merkers en oproepe, sowel as om spesiale komponente vir ander biblioteekfunksies of -gereedskap te skep. Een van my eerste toepassings van GDL in my werk was die skepping van 'n spesiale paneeldeurblaar, wat nie in alle rigtings afgeskaal het nie, maar slegs die afmetings van die paneel verander het. Die dikte van die krullerige raam en die breedte van die tuig het onveranderd gebly. Ook wil argitekte baie eenvoudige funksies by die bestaande voorwerpe van die standaardbiblioteke voeg - en dit is die hoofrede waarom hulle in GDL begin delf. Natuurlik is kennis van GDL nie noodsaaklik nie, en baie van hierdie take kan met standaardhulpmiddels verrig word. U kan byvoorbeeld vulstowwe met plate bou en dit as 'n spesiale deurblad bewaar. As u slegs 'n paar van hierdie nie-standaarddeure het, sal dit nog vinniger wees. Maar as daar in u projek baie soortgelyke deure van verskillende groottes is en die breedte daarvan in die werk verander, dan sal die skryf van 'n spesiale paneel in GDL die werk aansienlik bespoedig en vereenvoudig. Geometriese beskrywing impliseer dat enige moontlike vorms in teks volgens dimensies of koördinate geskryf kan word. Vir 'n 3D-script is daar 'n blok opdragte vir basiese ruimtelike vorms, soos: - BLOK en STENE - 'n parallelepiped wat in drie dimensies gebou is met die oorsprong by punt 0 van die koördinaatstelsel BLOK a, b, c STEEN a, b, c

zoem
zoem

- CYLIND - silinder langs die Z-as, met hoogte h en radius r CYLIND h, r

- BOL - bol gesentreer op die oorsprong en radius r SPHERE r

zoem
zoem

'N Ellips en 'n keël word op soortgelyke wyse beskryf. Die volgende figuurblok is al ingewikkelder - dit is verskillende prisma's. Hulle word beskryf deur 'n stel puntkoördinate. Die eenvoudigste prisma word bepaal deur die aantal punte (n), hoogte (h) en die lys van die koördinate van alle punte in volgorde. PRISM n, h, x1, y1, … xn, yn

Daar is baie soorte prisma. Die volgende aansig, PRISM_, stel u in staat om statuskodes aan te dui op die koördinate van punte, wat die sigbaarheid van gesigte en rande bepaal, en u ook in staat stel om geboë prisma's en prisma's met gate te skep (sien die afdeling Statuskodes in die verwysingsboek). 'N Ander soort, BPRISM_, skep 'n prisma wat om die Y-as gedraai is. FPRISM_ bou 'n prisma met 'n afkant of filet aan die bokant.

zoem
zoem

Daar is verskeie opdragte wat meer komplekse vorms op polylyn gebaseer beskryf: UITDRUKKING, PYRAMID, REVOLVEER, REGEER, VEE, BUIS, KEULE, MASSA. Hul beskrywing met voorbeelde kan in die verwysing gevind word. Vir 'n 2D-script word vorms beskryf deur ander opdragte: lyn, sirkel, reghoek, polylyn, spline. Maar u kan ook 'n opdrag registreer om 'n projeksie uit 'n 3D-script te bou.

Die skep van 2D- of 3D-vorms is slegs 'n deel van die funksionaliteit van GDL. As u net 'n tafel benodig, is dit makliker om dit met die gereedskap van ARCHICAD self te bou. 'N Voorwerp word geskryf as 'n soort parametrisisme benodig word: die vermoë om verskillende soorte tafelpote te kies, die aantal pote, die grootte van die tafel met die oorblywende afmetings, die hout vir die vervaardiging, gewig en koste daarvan bereken. Die voorwerp mag glad nie meetkunde bevat nie, maar slegs berekeninge doen. Hiervoor word beheerklousules (beheeroperateurs) ook gebruik, soos lusse, voorwaardelike verklarings, wat verwys na 'n spesifieke plek in die kode (subroetine). Dit is die beste om aan die begin van die siklusse en toestande vertroud te raak - dit word gereeld gebruik. Al die voorbeelde hieronder bevat dus voorwaardelike verklarings. VOORBEELD # 1 - rotasie van voorwerpe Ontwerpers wil 'n voorwerp gereeld draai. Aan die hand van hierdie eenvoudige voorbeeld sal ons kyk na die struktuur van die Biblioteekitem, sowel as die hoofvensters van die GDL Object Editor. Om 'n voorwerp in die projekruimte te open (as die ontwikkelaar nie 'n wagwoord daarop het nie), moet u dit kies en op die sleutelkombinasie Ctrl + Shift + O druk. 'N Ander manier is om die menu Lêer> Biblioteke en voorwerpe> Open voorwerp te gebruik. As daar op hierdie oomblik geen voorwerp gekies is nie, word 'n venster oopgemaak om 'n voorwerp te kies. Kom ons voeg byvoorbeeld rotasieparameters by 'n lamellenrooster (Fig. 1).

zoem
zoem

Dus, ons het die GDL Object Editor-venster oopgemaak (Fig. 2). Links bo is daar 'n venster om verskillende aansigte te sien, soos in die gewone venster met voorwerpparameters; Links is knoppies om 'n aansig te kies - plan, hoogte, 3D-venster en voorskou. Hieronder is daar knoppies om parametertabelle, datalyste en skrifte oop te maak. Skripte kan op twee maniere oopgemaak word: klik op die knoppie met die naam van die script - open in dieselfde venster, klik op die knoppie regs met die vensterikoon - die script word in 'n aparte venster oopgemaak. Dit kan handig wees om verskillende skrifte gelyktydig te sien (Figuur 3).

zoem
zoem

Aan die bokant van die venster van enige script is daar 'n baie noodsaaklike Check-knoppie: as u daarop klik, sal die redakteur u vra of daar foute in die script is. Die boodskap bevat die rede vir die fout en die reëlnommer waar die fout gevind is. In die afdeling "Besonderhede" kan u 'n subtipe van die voorwerp kies: pasgemaakte deurblad, deurknop, gordynmuurraam, ensovoorts. Spesiale voorwerpe (pen, doek, raam) sal dus in die ooreenstemmende venster verskyn om hierdie elemente te kies. As 'n 2D-tipe gekies word, het die voorwerp geen vensters vir 3D-meetkunde nie. Daar kan u ook soorte kies vir verskillende merkers - 'n knoop, afdelings, leier-onderskrifte, sones; hulle sal ook in hul onderskeie gereedskap verskyn. In hierdie afdeling kan u 'n beskrywing van die voorwerp invul en 'n wagwoord kies. Verder - "Parameters", waar alle data wat in hierdie voorwerp gebruik word en wat verander kan word tydens die werk aan die projek, in die vorm van 'n tabel aangebied word. Hier moet ons parameters byvoeg vir die draaie wat ons later sal gebruik.

zoem
zoem

Druk die nuwe knoppie bo die tafel (Fig. 4). 'N Nuwe ry verskyn waarin u die kolomme moet invul. Die eerste van hierdie kolomme is veranderlik. Hier skryf ons die naam van die veranderlike, wat in skrifte gebruik sal word, in Latyn en sonder spasies. U moet dit so noem dat dit maklik is om te onthou en terselfdertyd maklik is om te verstaan waarvoor hierdie veranderlike verantwoordelik is. In ons geval moet ons twee veranderlikes skep vir die waarde van die draaihoeke langs die X- en Y-as (die voorwerp kan in elk geval reg rondom die Z-as gedraai word). Ek het besluit om hulle hoek_x en hoek_y te noem. In die volgende kolom moet u die datatipe kies. Die keuses word in tabel 1 aangebied.

zoem
zoem

Die laaste twee soorte word nie by die konstruksie van die voorwerp gebruik nie, maar is nodig vir 'n groter duidelikheid en ordening van die lys in die venster van die voorwerpparameters. Ons het 'n hoek nodig - dit is die tweede ikoon in die tabel. Die derde kolom is Naam. Hier kan u sonder reëls in enige taal skryf wat ons presies later in die voorwerpparametersvenster wil sien. En die laaste kolom is Waarde. Nou kan u 0 hier laat: hierdie waarde verander te eniger tyd in die skrif sowel as in die parameters van die voorwerp self. Figuur 2 toon hoe die twee nuwe opsies in die GDL Object Editor-venster lyk. 5. Gebruik die pyle aan die begin van die lyn om die lyn na 'n gerieflike plek te skuif.

zoem
zoem

Dan moet u die voorwerp onder 'n nuwe naam stoor, want die standaardbiblioteek is hardkode in die houer en u kan nie voorwerpe daarin oorskryf nie. Die venster Objectparameters sal nou so lyk (Fig. 6).

zoem
zoem

Daar is twee nuwe parameters waarvan die waarde te eniger tyd verander kan word. Maar nou sal niks gebeur nie, aangesien daar nog geen opdragte geskryf is om dit te gebruik nie. Nou moet u die 3D-skrifvenster oopmaak. Hier is 'n volledige beskrywing van hoe om 'n 3D-model te bou gebaseer op die gegewe parameters. Daarbenewens kan verskillende makro's in die voorwerp genes word. Voor alle konstruksies moet u die koördinaatstelsel waarin die voorwerp gebou sal word, draai. Hier is dit belangrik om die volgende logika te verstaan: alle rotasies, bewegings en skalering vind anders plaas as wanneer u in ARCHICAD self werk. Ons neem nie 'n element en draai dit nie, maar draai die globale koördinaatstelsel (nadat dit verander is, word dit lokaal) voor die bou van 'n voorwerp. Move (ADD Command), Rotate (ROT), Scale (MUL) is koördinaatstelsel-transformasie opdragte. Verdere transformasies kan een vir een, verskeie gelyktydig in die script verwyder word, of alles gelyktydig verwyder word. Die naslaanboek beskryf dit alles in voldoende besonderhede en met voorbeelde. 'N Voorbeeld van die skuif van 'n koördinaatstelsel in 'n 3D-ruimte langs drie asse gelyktydig word in Fig. 7. VOEG a, b, c by

zoem
zoem

Dus, voor al die konstruksies, draai ons die koördinaatstelsel, eers langs een, dan langs die ander as. Rotasie langs die X-as word uitgevoer deur die ROTX-alfaks-opdrag, waar alfaks die antikloksgewyse rotasiehoek is; in plaas van alphax, moet u 'n veranderlike wat voorheen geskep is, invoer. Die draai langs die Y-as word op dieselfde manier uitgevoer (Fig. 8).

zoem
zoem

Nou kan u verskillende hoeke vir rotasie instel - en veranderinge in die 3D-model vind plaas in die aansig links bo (Fig. 9).

zoem
zoem

Nou kan u verskillende hoeke vir rotasie instel - en veranderinge in die 3D-model vind plaas in die aansig links bo (Fig. 9). Maar daar gebeur nog niks in 2D nie. In 'n 2D-script word 'n voorwerp met aparte lyne en polylines gebou, dus die tekening van 'n voorwerp in die plan is baie keer vinniger. Op een terrein is dit onmerkbaar, maar as daar honderde sulke roosters in die projek is, sal die rem betekenisvol wees. U kan die koördinate van die punte van hierdie lyne bereken en teken soos dit in die projeksie van die gedraaide voorwerp sou lyk, maar dit is nie baie eenvoudig nie en nie baie vinnig nie. In hierdie rooster stel ek die volgende oplossing voor: as die hoeke in X of Y nie gelyk is aan nul nie, dan word die voorwerp in die 2D-skrif, dit wil sê vir die plan, weergegee as 'n projeksie van die 3D-model, en anders op die ou manier. Die projeksie van die model vir 'n 2D-script word gebou deur die PROJECT2 projeksiekode, hoek, metode-opdrag. U kan lees wat projeksiekode, hoek, metode in die naslaanboek beteken, maar ons gaan kennis maak met die belangriker opdrag uit die afdeling van IF - THEN - ELSE - ENDIF-kontrolestellings. Dit is voorwaardelike verklarings wat u sal help om die voorwaardelike klousule uit die vorige paragraaf op te stel. In fig. 10 Ek het die bykomende opdragte in die 2D-skrif uitgelig en 'vertaling' in rooi aan die regterkant bygevoeg.

zoem
zoem

Nou moet u die voorwerp net stoor en u kan dit gebruik (Fig. 11). Die voordeel van hierdie metode bo omskakeling na morf is dat die voorwerp parametries bly; dit kan in die spesifikasies gelees word; daarin kan u die afmetings van die latte verander, die grootte van die raamwerk en alles wat in die oorspronklike voorwerp was.

zoem
zoem

Dus het ons die hoofvensters en skrifte van die GDL-objekredakteur in detail ondersoek. As die voorwerp wat u gekies het om te draai nie parameters het nie in die vorm van 'n lys nie, soos in hierdie rooster, maar in die vorm van prente en diagramme, beteken dit dat die ontwikkelaar ook 'n grafiese koppelvlak geskryf het. Die standaardlys met parameters word meestal versteek, soos in Fig. 12: Daar is geen afdeling "Alle parameters" in die keuselys met parameterbladsye nie.

zoem
zoem

In hierdie geval moet u na die parameterscript gaan en die opdrag vind wat al die parameters verberg (Fig. 13). Hierdie skrif beskryf al die handelinge wat die parameters beïnvloed: - aanwys van opsies of reekse van moontlike waardes (WAARDES); - enige berekeninge waarvan die resultaat aan die parameter (PARAMETERS) toegeken word; - wegsteek of sluit van parameters (HIDEPARAMETER, LOCK).

zoem
zoem

Die HIDEPARAMETERS ALL-reël kan eenvoudig uitgevee word of deur 'n "!" Aan die begin van die reël te plaas, maak dit onleesbaar (volgens GDL-sintaksis word 'n reël wat met 'n uitroepteken begin, beskou as 'n opmerking. Verder sal ek beskrywings en vertalings in die skermkiekies na die "!" -teken). Daarna sal die reël "Alle parameters" in die lys met parameterbladsye verskyn, en deur dit te kies, sien u 'n standaardlys met parameters, waaronder nuwe lyne om te draai. VOORBEELD # 2 - teks op 'n simbool Ek neem die volgende voorbeeld uit die huidige projek. Wanneer daar met die plan van 'n woonstelgebou met meerdere woonstelle gewerk word, moes die letter "K" op die buite-eenhede van lugversorgers geplaas word - en sodat dit altyd vertikaal geleë was. Natuurlik sou die brief eenvoudig bo-op met 'n teks of 'n eksterne inskripsieteks kon bygevoeg word, maar dan, as die lugversorger gedraai is, moes die teks ook geskuif moes word. Om mee te begin, het ek vier nuwe parameters bygevoeg (Figuur 14):

zoem
zoem

1. Toon teks: die parametersoort is 'n booleaanse waarde, wat twee moontlike waardes impliseer: 0 (nee) en 1 (ja). Die teks kan dus in- of uitgeskakel word.

2. Spesiale teks: parametersoort - teks. Hiermee kan u enige teks in die simbool skryf (ek is van plan om een letter te gebruik sodat dit in die reghoek van die lugversorgerblok pas).

3. Lettertipe: tik - teks. Let daarop dat sommige soorte skrifte van hierdie veranderlike u in staat stel om lettertipe-waardes in die kolom te kies uit die lys wat op die rekenaar geïnstalleer is. 'Fonttype' noem hierdie lys outomaties, maar as ek 'lettertipe' of 'lettertipe' skryf, moet ek die naam van die lettertipe handmatig skryf. Ek het hierdie oomblik toevallig opgemerk in een van die standaardvoorwerpe.

4. Tekspen: tipe - pen. Wel, alles is hier duidelik.

Kom ons kyk nou na die ikone wat ek aan die begin van die reëls geklik het. Die ikoon is op die eerste reël gedruk

Image
Image

wat vet - vet beteken. Dit wil sê, hierdie lyn in die venster van die objekparameters sal vetdruk. Die ander drie het 'n piktogram

Image
Image

… Dit beteken dat hierdie lyne in die vervolglys onder die eerste reël sal wees. In fig. 15 is 'n kiekie wat illustreer hoe dit daar uitsien in die Objectparameters. Om mee te begin, het ek vier nuwe parameters bygevoeg (Figuur 15):

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

En in fig. 16 - wat ek bygevoeg het in 'n 2D-skrif (tradisioneel met vertaling en kommentaar).

zoem
zoem

Fig. 16. Toegevoegde lyne in 'n 2D-script In die volgende kiekie (Fig. 17) het ek verskillende soorte woorde / opdragte / veranderlikes vir groter duidelikheid getinte.

zoem
zoem

Die voorwerp is gereed (fig. 18).

zoem
zoem

En as ek nie lyne met rotasie en skaal geskryf het nie, dan sou die voorwerp soos in fig. 19.

zoem
zoem

VOORBEELD # 3 - besonderhede Om die werk aan 'n projek te vereenvoudig, kan u 'n teksparameter byvoeg met die keuse van verskillende opsies vir detail (eenvoudig, medium, gedetailleerd). En voeg in die 3D-skrif 'n voorwaarde van die tipe by die bou van verskillende klein onderdele: as die detailvlak = "gedetailleerd" is, dan (beskrywing van gebouonderdele), moet die einde van die voorwaarde Globale veranderlikes spesiale aandag verdien. Hulle is 40 bladsye lank in die verwysingshandleiding en is volgens onderwerp gegroepeer om dit maklik te soek. In die vorige voorbeeld het ek 'n paar voorwerporiënteringsdata in die projek gebruik. Dieselfde gedeelte van die verwysingshandleiding bevat globale veranderlikes vir die koördinate van die ligging van die voorwerp - dit word gebruik om voorwerpe soos 'n leier met koördinate of aansigte op 'n gedeelte / hoogte te skep. Heel dikwels word GLOB_SCALE gebruik - die skaal van die tekening (hang af van die aansig volgens die huidige venster), op 'n skaal van 1: 100 is dit gelyk aan 100, op 'n skaal van 1:20 is dit gelyk aan 20. Dit word meestal gebruik om die lettergrootte na modelmeters om te skakel of andersom. Hierdie parameter kan ook gebruik word om vertoonopsies op die plan te "hang". Skryf byvoorbeeld die volgende in 'n 2D-skrif vir 'n bank:

AS GLOB_SCALE <100 DAN ! as die skaal groter as 1: 100 is, dan
PROJEK2 3, 270, 2 ! bou 'n projeksie vanaf 'n 3D-model
ANDERS ! andersins
ENDIF ! einde van toestand

Dus op die meesterplan op 'n skaal van 1: 500, sal die banke as reghoeke vertoon word, en op 'n fragment met 'n groter skaal sal 'n gedetailleerde projeksie geteken word. 'N Soortgelyke tegniek, maar vir 'n driedimensionele model, word in standaardbome gebruik - as u die regmerkie vir die outomatiese kroontipe inschakel. Op 'n sekere afstand van die kamera verander die kroontipe van gedetailleerd na eenvoudig en van eenvoudig na ellips. Om die skrifte van die voorwerp weer te laat lees, moet u wel iets daarmee doen - byvoorbeeld, nadat u die perspektief verander het, al die bome uitgelig het, die venster van die voorwerp van die voorwerp oopgemaak het, en sonder om iets te verander, kliek net op OK, of klik en merk die vakkie uit vir die vervanging van die omslag.

Laat ek dit wys met behulp van die voorbeeld van die benadering van 'n sfeer. Hier is wat ek in 'n 3D-skrif geskryf het: 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_ = 20 dan res = 50 as discam20 dan res = 20 as discam30 dan res = 10 as discam> 40 dan res = 5 resol res sfeer 1 In die skrif het ek die Globale veranderlikes GLOB_EYEPOS_X, GLOB_EYEPOS_Y, GLOB_EYEPOS_Z gebruik, is die koördinate van die ligging van die kamera (oë) in die 3D-venster van die projek en SYMB_POS_X, SYMB_POS_Y, SYMB_POS_Z is die koördinate van die ligging van die voorwerp in die ruimte; abs - nommer module (verwyder "-", indien enige); vk - vierkantswortel; ^ 2 - kwadraat van 'n getal.

In die 3D-venster, op verskillende afstande van die kamera, sal die sfeer met verskillende benaderings geteken word. Vir duidelikheid het ek die draadraammodus aangeskakel (Fig. 20).

zoem
zoem

Deur middel van die globale veranderlikes kan die voorwerp ontvang: - gegewens oor die ligging van die projek (noord, breedtegraad, lengte, hoogte) wat in die ooreenstemmende dialoogkassie is; - huidige vloer en eie vloer; - die tipe huidige aansig (byvoorbeeld in die GOST-springers word die volgende voorwaarde gebruik: as die aansigsoort 'n lys is, bou dan 'n aansig van die springer in 'n afdeling met posisionele leiers); in die voorbeeld met 'n rooster kan u die volgende voorwaarde byvoeg: as die tipe aansig 'n lys is, moet u nie die koördinaatstelsel draai nie, sodat daar in elk geval 'n vooraansig in die lys van die tralies sal wees; - onvolledige vertoning van konstruksies (u kan maak dat die voorwerp sommige dele nie vertoon as slegs die kern gekies is nie).

U kan muurdata na 'n venster- of deurvoorwerp sleep. Oproepe kan baie verskillende inligting kry oor die element waarmee hulle geassosieer word, byvoorbeeld 'n regmerkie met lae van 'n multi-laag struktuur of 'n leier met 'n volume van 'n element. En so aan, 40 bladsye verskillende en baie nuttige wêreldwye veranderlikes. VOORBEELD 4 - sone merker Kom ons kyk hoe 'n pasgemaakte sone-merker geskep word. As u 'n nuwe voorwerp skep en die subtipe Zone Paspoort daarvoor selekteer in die afdeling Besonderhede, word al die spesifieke parameters wat die Sone-instrument aan die merker deurgee in die afdeling Parameters in die blou vertoon (Fig. 21).

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

Met behulp van die TEXT2-opdrag kan u enige van hierdie veranderlikes in 'n 2D-skrif skryf - so kry u 'n merker wat slegs uit teks bestaan (Fig. 22).

zoem
zoem

Met behulp van die algemene parameters van die sone-merker, kan u die teksstyl en lynhoogte definieer, afhangend van die lettertipehoogte: DEFINEER STYL "KAMER" AC_TextFont_1, ROOM_LSIZE, 5.0 STYL "KAMER" ry = ROOM_LSIZE / 1000 * GLOB_SCALE * 1,5 teks2 0, ry, ROOM_NUMBER text2 0, 0, ROOM_NAME text2 0, -row, ROOM_AREA U kan 'n nuwe parameter skep om die tipe merker te kies (Fig. 23), opsies daarvoor in die Parameters-skrif (Fig. 24) en in die 2D-skrif skryf verskillende soorte merkerweergawes vir verskillende soorte neer.

zoem
zoem
zoem
zoem

2D-skrif: as mt = "merker met getal", dan sms2 0, 0, KAMERNUMMER CIRCLE2 0,0, ry endif as mt = "getal en oppervlakte" dan sms2 0, ry / 2, KAMER_NUMBER teks2 0, -ry / 2, AREA_TEXT endif as mt = "titel en area" dan text2 0, ry / 2, ROOM_NAME text2 0, -row / 2, AREA_TEXT endif as mt = "getal, titel en area" dan text2 0, ry, ROOM_NUMBER text2 0, 0, ROOM_NAME text2 0, -row, AREA_TEXT endif as mt = "slegs area" dan text2 0, 0, AREA_TEXT endif In hierdie skrif het ek nie die voorafbepaalde areaveranderlike as 'n area gebruik nie, maar die area omskep in teks en bygevoeg dit eenhede: area = str (ROOM_AREA, 4, 2)! omskakeling van 'n getal na teks met 2 desimale plekke AREA_TEXT = area + "sq.m." ! die letters "vierkante meter" by die stringwaarde voeg. U kan die lyne in die merker aanvul met lyne wat sommige lyne skei. Gebruik die STW-opdrag om die lengte van 'n string te bepaal. Laat ons aan die begin van die script byvoeg: tl1 = stw (ROOM_NUMBER) / 1000 * GLOB_SCALE tl2 = stw (ROOM_NAME) / 1000 * GLOB_SCALE tl3 = stw (AREA_TEXT) / 1000 * GLOB_SCALE as mt = "getal en oppervlakte" dan tl = MAX (tl1, tl3) as mt = “getal, titel en gebied” dan tl = MAX (tl1, tl2) as mt = “titel en oppervlakte” dan tl = MAX (tl2, tl3) as mt = “slegs area” dan tl = tl3 EN in die variante van die merkers, voeg die lyne by met die LINE2-opdrag (Fig. 25).

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

As die sone-nommer uit verskillende syfers bestaan, vir die merker, kan u 'n parameter vir die radius van 'n sirkel maak, onafhanklik van die lettertipehoogte, of in plaas van 'n sirkel 'n ellipsagtige vorm beskryf met 'n lengte gelyk aan die lengte van die sone-nommerlyn wat ons vroeër gevind het: POLY2_ 5, 1 + 2 + 4, -tl1 / 2, ry, 1, tl1 / 2, ry, 1, tl1 / 2, -row, 1001, -tl1 / 2, -row, 1, -tl1 / 2, row, 1001 U kan 'n nuwe parameter vir vloertipe (FLOOR_TYPE) en 'n parameter waarmee u dit kan verberg of wys (ShowFloorType) byvoeg, en in 'n 2D-script 'n driehoek met 'n polylyn en teks met 'n vloertipe: as ShowFloorType dan ADD2 0, ry * 3 POLY2_ 4, 1, -ry * 1.4, -row * 0.8, 1, ry * 2.8,60,201, ry * 1.4, -row * 0.8, 1, 0,0,700 teks2 0,0, FLOOR_TYPE endif Vir die vloertipe is dit wenslik om 'n aparte parameter vir die pen by te voeg, asook punte vir die grafiese redigering van die ligging van die vloermerker. Ek het breedvoerig beskryf hoe om grafiese redigeringspunte by my webinar te voeg, en met behulp van die skakel aan die einde van die artikel, kan u voorwerpe aflaai en sien hoe dit in hierdie spesifieke geval geïmplementeer word.

En laastens, kom ons kyk na 'n baie belangrike subtipe van 'n voorwerp wat groot moontlikhede bied - die Globale Parameters van die Biblioteek (Fig. 26).

zoem
zoem

'N Voorwerp met hierdie subtipe bou of teken niks nie, dit definieer parameters in modelaansigte. Daar kan u dus die parameters uithaal wat u vir die voorwerp algemeen wil sien, maar terselfdertyd verskillende waardes vir verskillende soorte kan instel.

Ek sal dit wys met 'n voorbeeld van 'n sone merker. Ek het op projekte afgekom waarin daar verskillende stelle sones in verskillende lae was vir verskillende aansigte. As daar verskillende merkers nodig is, is die Biblioteek Globale Parameters die beste oplossing.

Ek het 'n merker waarin dit moontlik is om die vloer in 'n driehoek in te stel en die tipe merk te verander (fig. 27). En hierdie twee parameters word verskuif na 'n aparte lêer van die subtipe Global Library Parameters (Fig. 28).

zoem
zoem
zoem
zoem

Om hierdie parameters in die dialoogkassie Model View Parameters te kan vertoon, moet u dit registreer in die objek-koppelvlakskrif (Fig. 29). Ek sal nie breedvoerig stilstaan by die spesiale opdragte vir hierdie skrif nie, hulle word in voldoende besonderhede en met voorbeelde in die naslaanboek beskryf. Ek sal net sê dat ons hier beskryf waar hierdie of daardie etiket of knoppie geleë sal wees ('n veld met 'n keuse van opsies, 'n vinkje, ens.), Dat beelde ook in die gebruikerskoppelvlak kan plaas. In die standaardbiblioteek het byna elke voorwerp 'n grafiese koppelvlak; u kan al die moontlikhede sien en sien hoe hierdie skrifte geskryf word. Benewens die Check-knoppie, het die script ook 'n View-knoppie. Deur daarop te klik, kan u vinnig sien wat gebeur.

zoem
zoem

U kan die voorwerp stoor en in die dialoogkassie Model View Options (Figuur 30) sien. Hier kan ons die tipe nasien tegelyk vir alle sones in die projek verander (met hierdie merker), maar afsonderlik vir verskillende soorte.

zoem
zoem

Nou, in die sone-merker-voorwerp, moet u die objek navraag doen vir die waardes van hierdie twee parameters. In die hoofskrif (wat eers deur die voorwerp gelees word, dus al die berekeninge en definisies van waardes wat in verskillende skrifte gebruik moet word, is dit beter om hier te skryf) skryf ek twee reëls soos volg: success1 = LIBRARYGLOBAL ("LibraryGlobals20 "," ShowFloorType ", ShowFloorType) success2 = LIBRARYGLOBAL (" LibraryGlobals20 "," mt ", mt)" success "sal 1 wees as die versoek suksesvol is; anders sal dit 0 wees.

Dit kan gebruik word om 'n waarskuwingsboodskap in plaas van 'n sone merker te skryf dat die LibraryGlobals20-voorwerp nie in die biblioteek gelaai is nie.

Dan werk die voorwerp soos gewoonlik, met twee nuwe waardes: as die tipe merk so is, skryf dan so en so, ensovoorts. In hierdie artikel het ek slegs 'n klein gedeelte van die vermoëns van GDL behandel. Met sy hulp kan u baie eenvoudige ontwerpelemente en baie komplekse voorwerpe skep.

U het byvoorbeeld te doen met klein en eenvoudige SIP-paneelhuise. U het 'n spesifieke lys van opsies om die projek te verander: - die lengte en breedte van die huis kan van 2,4 tot 24 meter wees met 'n stap van 1,2 m; - as die breedte 6 m oorskry, moet daar 'n ander muur in die middel wees; - twee opsies vir vloerhoogtes, afhangend van die paneelgrootte; - aantal verdiepings - een of twee verdiepings; - vensters kan op sekere plekke van panele van 'n sekere grootte wees; - afwerking van fasades in drie weergawes; - dakbedekking in drie weergawes; - muurdikte van verskillende standaardgroottes en so meer.

U kan al hierdie parameters vir die voorwerp instel deur die koste per vierkante meter van die paneel, dak, versiering, ens. In die 2D- en 3D-teks van die voorwerp, bou en teken hierdie huis volledig met veranderlikes in plaas van statiese afmetings. Sodat die gebruiker nie verward raak in 'n lang lys parameters nie, kan u 'n grafiese koppelvlak vir verskillende bladsye skryf met prente en diagramme. Bereken alle volumes in die hoofskrif en toon die koste. Dit is ook moontlik om 'n tabel met die uitleg van die panele in 'n 2D-skrif langs die plan te vertoon. Dit sal baie tyd neem om so 'n voorwerp te skryf, u moet 'n gedetailleerde tegniese spesifikasie opstel, voorsiening maak vir al die nuanses, maar dan ontvang u nie net 'n voorwerp nie, maar byna 'n program waarin u, deur parameters te kies, u kan 'n stel konsepontwerp kry met die berekening van materiaal en koste vir die kliënt. Hopelik het hierdie oorsig iemand se belangstelling in die vermoëns van GDL gewek. My verhaal het begin met 'n groot begeerte om 'n paar klein detail in 'n standaard sone-merker te verander, en hoe meer ek die gids lees, hoe meer word die potensiaal van hierdie instrument, volgens my, baie nuttig vir 'n argitek, geopenbaar. U kan al die voorwerpe wat in hierdie artikel as voorbeelde beskou is, aflaai vanaf die onderstaande skakel: Laai voorbeelde af Let wel. ARCHICAD 20 is gebruik om hierdie voorwerpe te skryf, dus sal dit nie in vroeëre weergawes oopgemaak word nie. Oor GRAPHISOFT GRAPHISOFT Maatskappy® het die BIM in 1984 met ARCHICAD 'n rewolusie gemaak® Is die bedryf se eerste BIM-oplossing vir argitekte in die CAD-bedryf. GRAPHISOFT gaan voort om die argitektoniese sagtewaremark te lei met innoverende produkte soos BIMcloud ™, die wêreld se eerste real-time samewerkende BIM-ontwerpoplossing, EcoDesigner ™, die wêreld se eerste volledig geïntegreerde energiemodellering en energie-doeltreffendheidsbeoordeling van geboue en BIMx® Is die toonaangewende mobiele app om BIM-modelle ten toon te stel en aan te bied. GRAPHISOFT is sedert 2007 deel van die Nemetschek Groep.

Aanbeveel: