7,540
edits
Changes
→Material list
<br>
<br>
<hr>
=Material list=
A CA képes egy teljesen részletes anyag listát összeállítani amibe ha az anyagárakat is beleírjuk, akkor egy teljesen pontos költség számítást kaphatunk a megtervezett házhoz. Azonban ehhez elengedhetetlen a pontos model.
* Fontos, hogy az épület minden porcikájában helyesen legyen beállítva a rétegrend. Vagyis minden fal, tető és födém olyan rétegekből álljon a modellben mint majd a valóságban fog.
* Minden felhasznált anyagot úgy kell konfigurálni, hogy a régiónkban kapaható anyag méreteknek feleljen meg (pl, olyan OSB anyagot használjunk a modellben, amiben a méret pontosan be van állítva a nálunk kapható táblaméretre)
<br>
==Anyagok és komponensek==
Sajnos a CA Help fájlokban a komponensek és a hozzá tartozó anyagok leírás nem túl részletes, nagyon nehéz belőlük megérteni a pontos működést, pedig a komponensek központi szerepet töltenek be a tervezésben ha anyaglistát is szeretnénk generálni.
A CA-ban a legtöbb objektum egy vagy több komponensből vagy al-komponensből áll. Ezek mind beépített gyárit objektum típusok. Minden objektumot, amit a terven el tudunk helyezni legalább egy komponens alkot. A komponensek és az anyagok között a CA-ban egy furcsa kapcsolat van, amit elmagyarázunk alább.
A legtöbb objektum esetében, a 'Specification' ablakban megtaláljuk a 'Materials' és a 'Components' füleket.
:[[File:ClipCapIt-230630-233742.PNG]]
Ez a két fül elő van töltve az objektum beépített komponenseivel és az azokhoz tartozó anyagokkal. A beépített komponensek listáját a 'Components' fülön vannak, még a hozzájuk tartozó anyagok listája a 'Materials' fülön találjuk.
<br><br>'''Komponens fül'''<br>
A komponens fülön minden komponens esetében azt szabályozhatjuk, hogy milyen módon jelenjen meg az objektumhoz tartozó komponens az anyaglistában. A tervrajzon az összes objektum a komponensei által lesznek reprezentálva az anyaglistában függetlenül attól hogy mennyire összetett az objektum. Ha egy tervrajzon szereplő objektum összes komponensét töröljük, akkor a szóban forgó objektum semmilyen módon nem fog megjelenni az anyaglista kimutatásban. Ha kiválasztunk egy komponenst, akkor a megnyíló táblázat sorai az anyaglista táblázat oszlopainak felelnek meg.
:[[File:ClipCapIt-230702-135719.PNG]]
Ebben a táblázatban a 'Formula' definiálhatjuk, hogy a tervrajzhoz generált anyaglista megfelelő oszlopaiban milyen értékek szerepeljenek az adott komponens esetében.
:[[File:ClipCapIt-230702-140015.PNG]]
Talál a három legfontosabb mezők:
* ID: Az anyaglistában minden elem kategóriák szerinti csoportosításban jelenik meg. A komponenshez tartozó táblázatban az ID mező egy legördülő lista, ahol ki tudjuk választani az anyag főkategóriáját. Ehhez a kategóriához generál majd automatikusan egy egyedi azonosítót a CA, ahogy azt az előző ábrán is láthatjuk.
* Description: A komponenshez megjelenő név az anyaglistában. Ennek az értéke azért nagyon fontos, mert egyrészt ezáltal tudunk beazonosítani egy sort az anyaglistában, másrészt az azonos 'description'-el rendelkező sorokat a CA összevonja, és együttesen jeleníti meg azokat az anyaglistában. Pl ha több helyen is ugyan olyan típusú betont használunk egy házalapban, akkor az össze köbméter számot fogja a CA megmutatni nekünk, nem (csak) egyesével lesznek felsorolva ezek a komponensek.
* Count: Ez talán a legfontosabb mező, itt definiálhatjuk, hogy milyen módon kalkulálja ki a CA a komponens anyagszükségletét.
Minden 'Formula' mezőben használhatunk fix, konstans értéket, vagy használhatunk Ruby makrókat is. A manuális megadáshoz nincs más dolgunk mint egyszerűen begépelni a cellába a kívánt értéket.
Ruby makró használatával a következő fejezetben foglalkozunk.
<br><br>'''Materials fül'''<br>
===Ruby alapok===
====Mi az a Ruby====
A Ruby egy egyszerű, szkript alapú programozási nyelv, aminek a segítségével megadhatunk akár komplex formulákat is az anyagmennyiség számítására. A komponensekhez tartozó táblázatokban, a 'Formula' mezők mindegyikékben használhatjuk a ruby nyelven készült makrókat. Ettől nem kell megijedni, használatuk nagyon egyszerű még azok számára is, akik meg foglalkoztak még programozással. Ha a 'Formula' mezőben nem statikus szöveget szeretnénk használni, hanem Ruby formulát, akkor az érték megadását egy '=' jellel kell kezdeni, ez jelzi a CA számára, hogy a cellába írtakat nem statikus szövegként kell értelmezni, hanem Ruby segítségével kell kiértékelni. Ez akár lehet egy egyszerű matematika művelet is. Az alábbi példában egy egyszerű képletet adtunk meg:
<pre>
=2*3
</pre>
Láthatjuk, hogy a CA ezt a Ruby segítségével kiértékelte, és a 'Value' oszlopban 6 jelenik meg.
:[[File:ClipCapIt-230702-143339.PNG]]
A 'Formula' cellákban a képletek megadásánál használhatunk a komponenshez tartozó Ruby változókat, és beépített vagy általunk létrehozott makrókat is. A makrók névvel előre elkészített és elmentett Ruby képletek. Pl a legtöbb komponens esetében a 'volume' (térfogat) változóban van a komponens által reprezentált objektum térfogata. Ha beírjuk a 'Count' sorhoz tartozó 'Formula' cellába hogy '=volume', akkor a 'Value' oszlopban meg fog jelenni a komponens térfogata.
:[[File:ClipCapIt-230702-143945.PNG]]
{{note|Joggal merülhetne fel bárkiben a kérdés, hogy összetett objektumok esetében honnan tudja a CA, hogy melyik komponens térfogatát kell itt figyelembe venni. Ezt rövidesen részletesen kifejtjük, de dióhéjban a következő a lényeg. Mikor elhelyezünk egy objektumot a tervrajzon, akkor CA legenerálja az objektum típusának megfelelő komponens listát, és ezen CA által generált komponensek esetében nem szükséges külön definiálni, hogy melyik eleméről van szó az objektumnak, ezt a CA elfedi előlünk. Viszont ha manuálisan adunk hozzá komponenseket a listához, akkor a CA már nem fogja tudni, hogy az pontosan az objektumunk melyik porcikáját reprezentálja, és ott majd meg kell adni a változó teljes nevét ahhoz hogy a CA tudja, hogy pontosan minek a térfogatára vagyunk kíváncsiak. }}
Azt hogy egy adott objektumhoz összességében milyen változók érhetők el kétféle képen tudhatjuk meg:
====Ruby konzol====
{{note|Ezen fejezet megértéséhez némi programozási előismeret szükséges, sajnos a könyv keretein túlmutatna ezen alapismeretek átadása is}}
A CA-ban van egy beépített Ruby konzol, ahol mindig az aktuálisan kiválasztott objektum vonatkozásában írhatunk Ruby szkripteket.
Listázhatjuk az elérhető változókat, vagy kipróbálhatjuk az általunk írt makrókat. A Ruby konzol a 'Tools -> Ruby Console...' menüpontban nyitható meg. Az aktuálisan kiválasztott objektumra mindig az 'owner' kulcsszóval tudunk hivatkozni. A kiválasztott objektum összes elérhető attribútumát így listázhatjuk:
<pre>
owner.names
</pre>
Ha egy fal objektum van kiválasztva, mikor a Ruby konzolt megnyitjuk és beírjuk az 'owner.names' kifejezést, akkor az alábbi változó listát kapjuk:
:[[File:ClipCapIt-230702-160935.PNG]]
<pre>
=> [..., "wall_type", ..., "layer", "upper_layers", ... ""lower_layers", .... "length", ]
</pre>
<br>
Ez azt jelenti, hogy a kiválasztott fal objektumunk (amire az 'owner' kulcsszóval hivatkozunk) az itt felsorolt változó nevekkel rendelkezik.
Ha a fal típus nevére vagyunk kíváncsiak, a fenti lista alapján: '''owner.wall_type'''
:[[File:ClipCapIt-230702-161234.PNG]]
A listában szereplő változók közül vannak összetett objektumok (további változókat tartalmaznak) tömbök, boolean-ek, Integer és String típusú változók is. Falak esetében az alábbi változók a leghasznosabbak:
* length: Szám típus, az adott falszakasz hosszát tartalmazza
* layer: Összetett objektum, a fal fő, vázszerkezetet is tartalmazó rétegét írja le.
* upper_layers: A fő falszakasz rétegrendje, tömb típus. A 0. elem a legkülső réteg (tipikusan a vakolat külső falak esetében). Ha a fal tartalmaz parapet falat is (pony wall) akkor annak a rétegei a 'lower_layers' tömbben vannak.
* lower_layers: Ha a fal rendelkezik parapet fallal (pony wall), akkor annak a rétegrendjét tartalmazó tömb. A 0. elem itt is a legkülső réteg.
Ruby-ban objektum mezőket a '.' operátorral lehet meghivatkozni. Tehát ha pl az 'owner' objektumnak az 'upper_layers' mezőjére vagyunk kíváncsiak, akkor a 'owner.upper_layers' kifejezést kell beírni a Ruby konzolra, úgy hogy a falszakasz továbbra is ki van választva. A tömbök elemeire a [index] operátorral lehet hivatkozni, tehát a legkülső réteg objektumát így kaphatjuk meg: 'owner.lower_layers[0]'.
Ha helyesen írjuk be a kifejezést a konzolra, és a meghivatkozott elem nem egy primitív típus (String, Integer, boolen), akkor a CA ki fogja írni nekünk az objektum összes mezőjét, amikből így már tudunk válogatni, máshogy nagyon nehéz lenne rájönni, hogy milyen mezők érhetők el az adott elemnél:
:[[File:ClipCapIt-230702-175816.PNG]]
Láthatjuk, hogy a 'owner.lower_layers[0]' objektum milyen további mezőket tartalmaz. Pl. van neki 'material_data' mezője, ami ha tovább boncolgatjuk, láthatjuk, hogy van neki egy 'descerption' mezője, ami már egy String típus, ebben van benne az adott fal réteg neve. Nézzük meg a példában szereplő fal rétegrendjét a 'Wall type definiton' ablakban:
:[[File:ClipCapIt-230702-180210.PNG]]
Láthatjuk, hogy a falunk 4 réteget tartalmaz. Ha arra vagyunk kíváncsiak, hogy hány négyzetméter homlokzati fóliára van szükségünk ehhez a falszakaszhoz, akkor kívülről nézve a második rétegre van szükségünk, amit az '1'-es indexel vehetünk elő az 'upper_layers' tömbből, mivel 0-val indul az indexelés.
Írjuk be a Ruby konzolra: '''owner.upper_layers[1].material_data.description'''
:[[File:ClipCapIt-230702-180530.PNG]]
Láthatjuk, hogy kintről nézve a második réteg valóban a homlokzati fóliát tartalmazza. Ha arra lennénk kíváncsiak, hogy mekkora ennek a felülete, akkor azt kétféleképpen is megkaphatjuk:
<br>
Az adott réteg területe:
<pre>
> owner.upper_layers[1].area
=> 3.40494 m² (Area)
</pre>
<br>
Az adott rétegen használt anyag mennyisége.
<pre>
> owner.upper_layers[1].material_data.quantity
=> 3.40494 m² (Area)
</pre>
Az anyag mennyisége mindig az anyag tulajdonságoktól függ. Ha megnézzük a 'Housewrap' anyag tulajdonságait, akkor láthatjuk, hogy a mennyiséget a terület alapján kell számolni, vagyis a komponens területét kell figyelembe venni, ezért egyezik meg fentebb a két szám:
:[[File:ClipCapIt-230702-181252.PNG]]
<br>
====Objektum összes attribútumának listázása====
A másik módszer, hogy megtudjuk, hogy egy objek
<br>
===Komponens mennyiségek megadása (Component count)===
Nyissuk meg újra a falszakasz specifikációs fülét, és a komponens fülön adjunk hozzá egy új komponenst a listához, és a 'Count' sor 'Formula' mezőjébe írjuk be: '''=owner.upper_layers[1].material_data.quantity''' éréket, figyelve hogy '=' -el kezdődjön a sor. (Ha nem statikus szöveget akarunk megadni egy 'Formula' mezőben, hanem Ruby képletet, akkor mindig '=' kell kezdeni a sort)
:[[File:ClipCapIt-230702-181825.PNG]]
Láthatjuk, hogy itt is megjelent a fenti érték: 3.4 sq m.
<br>
{{note|Az 'owner' változó elhagyható a sor elejéről, mert ezt alapértelmezetten hozzáteszi a CA}
<br>
Ugyan ezen falszakasz specifikációs komponensei között megtalálhatjuk a 'Housewrap' komponenst is. Ezt automatikusan hozta létre a CA a falhoz. Ezeknek az automatikusan hozzáadott komponenseknek az az érdekessége, hogy a CA automatikusan hozzájuk rendeli a megfelelő Ruby változókat, és elő is tölti a megfelelő Ruby kifejezésekkel a 'Formula' cellákat. Ezen komponensek esetében rövid alakkal tudunk hivatkozni a megfelelő anyagtulajdonságokra, anélkül, hogy be kéne írni egy kilométer hosszú Ruby kifejezést.
:[[File:ClipCapIt-230702-184714.PNG]]
Láthatjuk, hogy a 'Housewarp' -hez tartozó 'Formula' az alábbi: '''=material_data.quantity''''
Vagyis ezen példa esetében a '''=owner.upper_layers[1]''' rész elhagyható.
<br>
Persze minden komponens típus esetében más és más Ruby változók érhetők el, és beépített típusok esetében a CA mindig a megfelelő Ruby változókkal tölti elő a 'Formula' mezőket. Ha kézzel hozunk létre egy komponenst, akkor nincs rá mód, hogy összerendeljük azt valamelyik objektum Ruby attribútummal vagy anyaggal az anyaggal. Ha számított értéket akarunk hozzá létrehozni, akkor mindig a teljes elérési utat ki kell írni, kezdve az 'owner' változótól.
<br>
<br>
A komponenshez tartozó mértékegységet szintén a 'Count' sorhoz tartozó 'Formula' mezőben állíthatjuk be kétféle módon is. Ha kétszer belekattintunk a Formula cellába, akkor megjelenik egy legördülő lista, amiben ki tudjuk választani a használni kívánt mértékegységet:
:[[File:ClipCapIt-230702-185622.PNG]]
A másik lehetőség, hogy a felugró, jobb oldali ikonra kattintunk: 'Number Formatting'.
:[[File:ClipCapIt-230702-185655.PNG]]
A felugró ablakban részlettesen is beállíthatjuk a használni kívánt mértékegységet.
<br>
<br>
===Ruby makrók használata===
<br>
<br>
===Anyagok komponenshez rendelése===
A 'Materials' fülön az objektumhoz tartozó komponensekhez anyagot rendelhetünk hozzá. De a komponensek listája a 'Materials' a fülön nem bővíthető és nem is törölhető belőle elem, ez egy "beégetett" lista az objektum típusának megfelelően. A komponenshez rendelt anyag nem csak a megjelenését fogja megváltoztatni az objektumnak, hanem a CA az anyag tulajdonságai alapján fogja kiszámolni a komponenshez tartozó anyagmennyiséget az anyaglistában. Ha egy gyári objektum (pl egy ajtó) több beépített komponensből áll, akkor a 'Materials' listában is egy több elemű listát láthatunk.
Mind két fülön ('Materials' és 'Componens') a komponens listát automatikusan generálja a CA mikor elhelyezünk egy új objektumot a tervrajzon. Minden komponenshez vagy komponens kategóriához tartozik egy vagy több anyagtípus a 'Materials' fülön. Tehát egy komponenst több anyag is alkothat, de ezeket az összerendeléseket nem lehet megváltoztatni, az objektum típusából adódik. Hiába adunk hozzá manuálisan egy komponenst egy a tervrajzon szereplő objektumhoz, ahhoz anyagot nem fogunk tudni rendelni, a manuálisan hozzáadott komponensek nem jelennek meg a 'Materials' fülön.
Nézzünk egy példát a 'Materials' listára. A baloldali ábrán egy egyszerű doboz 'Materials' fülét láthatjuk, míg a jobboldali ábrán egy ajtó 'Materials' fülét mutatjuk meg:
:[[File:ClipCapIt-230630-235904.PNG]][[File:ClipCapIt-230630-235931.PNG]]
Attól függetlenül, hogy a 'Components' fülön hogy manipuláljuk a komponens listát, a 'Materials' lista mindig fix marad, kizárólag az objektum típusától függ.
===Objektum komponensek===
A legtöbb 'Specification' dialógusnak van egy 'Component' füle, ahol megnézhetjük, hogy egy adott (összetett) objektum milyen komponensekből áll, és azok milyen módon fognak szerepelni az anyaglistában.
Nézzük meg példának egy "foundation wall" komponens fülét:
:[[File:ClipCapIt-210830-233010.PNG]]
Láthatjuk, hogy a példában használt faltípust 6 komponens alkot. A komponensek három szekcióba vannak sorolva. Ezeket a szekciókat nem lehet megváltoztatni, az objektum típusa határozza meg őket, viszont tudunk új komponenseket hozzáadni az egyes szekciókhoz, vagy onnan meglévő komponenst törölni.
A 'Main part' szekcióban olyan komponensek találhatók, amiket a fal rétegrendjében definiáltunk a 'Wall Types' fülön, és a felső és alsó szekcióban olyan komponensek vannak, amiket a CA automatikusan adott hozzá az elem típusának megfelelően, ami jelen esetben 'Foundation wall'. Itt megjelenik a beton-vas és a rögzítő csavarok is. Ezek mindegyik meg fog jelenni az anyaglistában.
Ha kiválasztunk egy komponenst (pl. termite flashing) akkor a jobb oldali táblázatban meg fognak jelenni a komponens részletei. Az ID-ban van a fő-kategória, ez alapján lesz az anyaglistában is a 24 kategória egyikében megjelenni. Az itt található további táblázat sorok mindegyike megfelel egy oszlopnak az anyaglistában, pl az árat is beállíthatjuk itt az adott komponensre.
Azok az objektumok, amik framing rétegeket is tartalmaznak, a framing réteghez tartozó komponensek nem lesznek feltüntetve az objektum komponens listájában, de minden más réteg igen.
<br>
===Anyagok tulajdonságok===
Nagyon fontos, hogy minden a modellben használt anyag esetén helyesen legyen beállítva az anyagtulajdonság, mert aszerint lesz az anyag beleszámolva az anyaglistába. Pl. az előző példában, a 'foundation wall' tartalmaz egy zsalukő réteget is (Blocks running bound). Ahhoz hogy a zsalukövek számát helyesen tudja a CA kiszámolni, fontos, hogy a méretet helyesen adjuk meg. Erre már láthattunk példákat az [[#Materials_and_symbols]] című fejezetben, ezért itt csak röviden átismételjük a lényeget.
Másoljuk át a használni kívánt anyagot a 'User Catalog'-ba, ekkor már meg tudjuk nyitni az anyag beállításait ('Open Object'). Az anyag tulajdonságait a 'Materials List' fülön tudjuk beállítani. Az alábbi példában láthatjuk hogy a zsalukő méretét beállítottam a helyben kapható méretre. Majd az alaphoz használt 'foundation wall' típusban beállítottam az új zsalukő anyag típust a fő rétegnek.
:[[File:ClipCapIt-210831-000020.PNG]]
:[[File:ClipCapIt-210831-000520.PNG]]
Ezek után az anyaglistában, már helyes mennyiség fog megjelenni.
<br>
<br>
===Foundation materials===
A Default/Foundation dialógusban Options fülén be tudjuk állítani, hogy milyen vasalat kerüljünk az alapba és hogy definiáljon hozzá termesz hálót illetve szigetelő habszivacsot a buttom plate alá. Az itt megadott anyagok kizárólag az anyaglistában jelennek meg, a 2D vagy 3D modellben nem.
:[[File:ClipCapIt-210906-224601.PNG]]
Itt beállíthatjuk külön hogy a sávalapba, illetve a lábazati falba mennyi, és milyen átmérőjű vasalat kerüljön. Ezen felül, hogy a slab hálóval vagy betonacéllal készüljön.
* Bar per course: egy egységnyi alapba/falba hány szál betonvas kell. Pl sávalap esetén ha két szálat szeretnénk végigfuttatni, akkor ide 2-őt kell írni.
* Course spacing: Az előbb meghatározott szálak milyen osztásközzel kerüljenek beépítésre. Footing esetében ez nem értelmezhető, míg vertikális ill. horizontális vasalat esetében az egysgényi falfelületre jutó betonacél szálak milyen messze legyenek egymástól.
* Rebar size: Az itt megadott számmal fogja kiszámolni hogy hány nyolcad inch vastag betonacélt akarunk használni. Ha ide 4-et írunk, az 4/8", ami ~ 1.27 cm, ez van a legközelebb a 14mm-hez.
...
<br>
<br>
=== Master List egy falra ===
https://chieftalk.chiefarchitect.com/topic/7123-insulation-in-material-list/?_fromLogin=CA2&_processLogin=11&csrfKey=67e9e89ce3bb088de28459daaf8582ec&ref=&code=1iGEljgaf9M9uRy8hUew80Vg<br>
Jelöljünk ki egy falat, majd jobb klikkel, a felugró menüből válasszuk a "Calculate Material List from Selection" lehetőség:
:[[File:ClipCapIt-211212-115111.PNG]]
Ekkor az anyaglista csak annak az egy falnak az anyagszükségletét fogja tartalmazni.
<br>
=== Hőszigetelő anyagok az anyaglistában ===
A CA automatikusan fog szigetelő anyagot generálni minden olyan falhoz és plafonhoz az anyaglistában, ami kondicionált helyiséget vesz körbe. Ezt a szobák beállításaiban, a General fülön állíthatjuk be.
:[[File:ClipCapIt-211212-115912.PNG]]
Ha a 'Condition' be van pipálva, akkor a szobát körbevevő falakhoz és plafonhoz fog a CA automatikusan szigetelő anyagokat generálni a ML-ben, ha a falak ill. a plafon üreges szerkezetből készül.
<br><br>
<br>
Fontos, hogy a fal definícióban szereplő 'Insulation' oszlopnak ehhez semmi köze, az csak azt szabályozza, hogy metszeti nézetben az 'Auto Decorate' funkció ([[File:ClipCapIt-211212-120241.PNG]]) milyen módon dekorálja ki az adott felületet. Szigetelés esetén hullámokkal fogja kitölteni.
:[[File:ClipCapIt-211212-120733.PNG]]
<br>
<br>
<br>
A wall cavity-be rakott hőszigetelés méretet állítólag nem lehet megváltoztatni, a vastagsága mindig a stud vastagsága lesz, míg a szélessége mindig a stud kiosztás lesz, vagyis 500-as stud kiosztásnál 500 lesz, amiből nem fogja levonni a stud szélességét, hiszen az üreg csak 450mm széles valójában 50 mm vastag stud használata esetén. A magasságát valamilyen szabványos, hardkódólt méretből veszi, amit nem lehet megváltoztatni, az mindig 2325 mm. A fal és plafon üreg szigetelés mindig az "Insulation" főkategóriában van:
:[[File:ClipCapIt-211212-123904.PNG]]
Azokban a helyiségekben, amik kondicionáltnak vannak megjelölve, és tető vagy erély van felettük, a CA fog plafon szigetelést is generálni, illetve azokban a helyiségekben, ahol nem kondicionált terület van egy szoba alatt, födém szigetelést is generálni fog. Ezen szigetelés méretét sem lehet megváltoztatni.
<br>