EXAMENSARBETE Parametrisering av badrumsgolv Jani Mukkavaara 2015 Civilingenjörsexamen Arkitektur Luleå tekniska universitet Institutionen för samhällsbyggnad och naturresurser Parametrisering av badrumsgolv JANI MUKKAVAARA LULEÅ TEKNISKA UNIVERSITET 1 SAMMANFATTNING Från det produktionsfokuserade industriella byggandet i Sverige på 1960- och 1970-talet så har utvecklingen idag lett till att flera koncept från tillverkningsindustrin har börjat tillämpas inom husproduktion. Genom att erbjuda individuella lösningar så skapar man problem med att försöka anpassa redan väl standardiserade lösningar. En metod för att hantera detta är genom tillämpning av mass-kundanpassning och användandet av produktkonfiguratorer. För att undersöka användandet av produktkonfiguratorer för byggnadselement så har denna studie utförts med syftet att undersöka möjligheten av att utveckla en produktkonfigurator för badrumsgolv. Detta utfördes genom en fallstudie med målet att producera en konfigurator av badrum. Resultatet från fallstudien ställdes sedan mot att traditionellt rita utformningar av badrumsgolv i två olika CADprogram för byggindustrin och resultatet från det låg som grund för att undersöka lönsamheten. Resultatet visade på att det går att utveckla en konfigurator för badrumsgolv som klarar av kravställningarna som finns och som kan producera färdiga ritningar efter användarens önskemål. Vidare visades att den långa utvecklingstiden tillsammans med den relativt korta tidsbesparingen vid ritandet av badrumsgolv skapade låg lönsamhet för konfiguratorn. 2 ABSTRACT From the production-focused industrial construction in the 1960s and 1970s, the development has now led to several concepts from the manufacturing industry has begun to be applied in house building. By offering individual solutions you create problems in trying to adapt the already well standardized solutions. One method of dealing with this is through the application of mass-customization and use of product configurators. To investigate the use of product configurators for building elements this study has been conducted that has the objective to investigate the possibility of developing a product configurator for bathroom floors. This was performed through a case study with the goal of producing a configurator for bathroom floors. The results of the case study were then compared against traditionally drawing bathroom floor designs in two different CAD software for the building industry and the results from it formed the basis for examining the profitability. The results showed that it is possible to develop a configurator for bathroom floors that meet the requirements and which can produce finished drawings required by the user. Furthermore, it was shown that the long development time along with the relatively short time-savings at the drawing of the bathroom floors created a low profitability of the configurator. 3 INNEHÅLLSFÖRTECKNING 1 2 3 4 Inledning ......................................................................................................... 6 1.1 Bakgrund .................................................................................................. 6 1.2 Syfte och mål ........................................................................................... 6 1.3 Frågeställningar ....................................................................................... 7 1.4 Avgränsningar .......................................................................................... 7 Metod .............................................................................................................. 8 2.1 Fallstudie .................................................................................................. 8 2.2 Datainsamling .......................................................................................... 9 2.3 Prestandamätning ................................................................................... 10 2.3.1 Indata .............................................................................................. 10 2.3.2 Testmiljöer...................................................................................... 12 Teori ............................................................................................................. 14 3.1 Mass-kundanpassning ............................................................................ 14 3.2 Produktarkitektur ................................................................................... 14 3.3 Modulär arkitektur ................................................................................. 16 3.4 Konfigurationssystem ............................................................................ 17 Datorverktyg ................................................................................................. 18 4.1 4.1.1 Sketch ............................................................................................. 18 4.1.2 Part.................................................................................................. 19 4.1.3 Assembly ........................................................................................ 19 4.1.4 Drawing .......................................................................................... 20 4.2 5 SolidWorks ............................................................................................ 18 TactonWorks .......................................................................................... 20 4.2.1 Components .................................................................................... 21 4.2.2 Attributes ........................................................................................ 21 4.2.3 Domains .......................................................................................... 22 4.2.4 Constraints ...................................................................................... 23 4.2.5 User Interface ................................................................................. 23 4.3 Revit ....................................................................................................... 24 4.4 AutoCAD ............................................................................................... 25 Utveckling av konfigurator........................................................................... 26 5.1 Krav för badrumsgolv ............................................................................ 26 5.1.1 4 Fall mot golvbrunn ......................................................................... 26 5.1.2 5.2 Parameter- och komponentutredning ..................................................... 27 5.2.1 Funktioner....................................................................................... 27 5.2.2 Delproblem ..................................................................................... 27 5.2.3 Parameteruppställning .................................................................... 28 5.2.4 Analys ............................................................................................. 29 5.3 Designfilosofi......................................................................................... 30 5.3.1 5.4 Analys ............................................................................................. 30 Golvtyper ............................................................................................... 31 5.4.1 SolidWorks-modellen ..................................................................... 31 5.4.2 TactonWorks-modellen .................................................................. 32 5.4.3 Analys ............................................................................................. 33 5.5 Komponenterna ...................................................................................... 34 5.5.1 SolidWorks-modellen ..................................................................... 34 5.5.2 TactonWorks-modellen .................................................................. 35 5.5.3 Analys ............................................................................................. 37 5.6 Beräkning av golvets tjocklekar ............................................................ 37 5.6.1 5.7 Analys ............................................................................................. 39 Ritningarna............................................................................................. 39 5.7.1 SolidWorks-modellen ..................................................................... 40 5.7.2 TactonWorks-modellen .................................................................. 40 5.7.3 Analys ............................................................................................. 44 5.8 Användargränssnittet ............................................................................. 45 5.8.1 6 Golvets dimensioner ....................................................................... 26 Analys ............................................................................................. 46 Resultat ......................................................................................................... 47 6.1 Konfigurator........................................................................................... 47 6.2 Prestandatest .......................................................................................... 54 7 Slutsats.......................................................................................................... 56 8 Diskussion .................................................................................................... 57 8.1 Utvecklingsmetoden .............................................................................. 57 8.2 Prestandamätningen ............................................................................... 57 8.3 Problemområden .................................................................................... 57 8.4 Vidare studier ......................................................................................... 58 Referenser ............................................................................................................. 59 Bilagor .................................................................................................................. 60 5 1 INLEDNING 1.1 Bakgrund Metoderna för husproduktion i Sverige spänner sig från manuellt snickeriarbete till högt automatiserade processer (Malmgren 2010). Under 1960- och 1970-talet utvecklades produktionsfokuserat industriellt byggande av hus med metoder som prefabrikation och standardisering (Lessing et al 2005). Problemet med den typen av industriellt byggande var bristen på kundorienteringen (Lessing et al 2005). Enligt Lessing et al. (2005) måste ett ökat kundfokus och förbättrade processer för integrering av information, produktion, design och förvaltning till för att skapa en bättre form av industriellt byggande. På senare år har flera koncept från tillverkningsindustrin applicerats på husproduktion (Lessing et al 2005). Genom kundfokus och effektiva konstruktionsprocesser har marknaden för industriellt tillverkade fristående hus ökat i Sverige (Lessing et al 2005). Dock kan vinstmarginalen minska av att man anpassar redan väl standardiserade tekniska lösningar till varje projekt individuellt (Jensen 2010; Malmgren et al 2010). För att angripa problematiken kan man tillämpa mass-kundanpassning där man utnyttjar vissa av strategierna hos massproduktionen för att erbjuda kundanpassade produkter. En av strategierna hos masskundanpassningen är att använda sig utav produktkonfiguratorer där man sammansätter moduler med hjälp av en uppsättning regler för att skapa en anpassad produkt för tillverkning och försäljning. (Hvam et al. 2008) När ett badrum utformas finns en mängd parametrar att beakta. Ett badrum ska möta de krav på tillgänglighet som ställs i Svensk Standard (SS 91 42 21:2006) men även de regler som finns i regelverket BBR rörande fallet på golvet (BBR, Kap. 6:5335). Kraven och reglerna medför att utformningen på badrum kräver unika lösningar för varje fall och kan därav kan en produktkonfigurator vara ett verktyg för att underlätta mass-kundanpassning. 1.2 Syfte och mål Syftet med studien är att undersöka möjligheterna med att använda produktkonfiguratorer för att ta fram ritningar för badrumsgolv. Detta för att undersöka om det är möjligt att optimera processen med utformningen och beräkningen av badrumsgolvets tjocklekar. Målet med studien är att ta fram en produktkonfigurator för badrumsgolv som sedan jämförs med att traditionellt utformna och beräkna ett badrumsgolv med hjälp av ett CAD-program. 6 1.3 Frågeställningar Går det att utveckla en konfigurator för prefabricerade badrumsgolv som följer de krav som finns? Är utvecklingen av en konfigurator för prefabricerade badrumsgolv lönsam jämfört med traditionella metoder för framtagning av ritningar? 1.4 Avgränsningar Studien avgränsas av de regler som finns i form av regelverket BBR tillsammans med riktlinjerna om våtrum från GVK. Omfattningen av konfiguratorn begränsas i fallstudien av de gränsvärden som finns från Lindbäcks bygg kring den tekniska lösningen för kompositgolv. Baserat på referensunderlaget till fallstudien så har utformningen av badrummets kontur kommer att begränsas till att hantera tre varianter eftersom tidsåtgången för implementeringen av fler är för stor för att falla inom arbetets gränser. För skapandet av konfiguratorn i fallstudien begränsas mjukvaran till SolidWorks med tillägget TactonWorks Studio som idag används utav Tyréns vid utveckling av konfiguratorer. Alternativa mjukvaror kommer inte att undersökas i detta arbete. För prestandatestet av konfiguratorn kommer mjukvaran Autodesk Revit samt Autodesk AutoCAD att användas för att ta fram referenstider. 7 2 METOD 2.1 Fallstudie För att utvärdera möjligheterna kring parametrisering av badrumsgolv utförs en fallstudie där målsättningen är att utveckla en konfigurator med möjligheten att producera produktionsfärdiga ritningar för badrumsgolv baserat på användarens indata. Fallstuden utgör ett underlag för att besvara frågeställningen om möjligheten av att utveckla en konfigurator av denna typ men blir även ett underlag för prestandatestet för utvärderingen av produkten. Figur 1: Arbetsgång inom fallstudien för att utveckla konfiguratorn Arbetet i fallstudien för att försöka utveckla en konfigurator baseras kring att helhetsproblemet delas upp i mindre problem som var för sig ska försöka lösas. Med denna metod delas problembilden upp i problem med lägre komplexitet. Uppdelningen innebär även att delproblemen specificeras och olika lösningar utvecklas som sedan utvärderas för att hitta en lösning som fungerar för förutsättningarna som finns. När delproblemen är lösta så sammanfogas alla dessa för att skapa en produkt av helheten β konfiguratorn. (se figur 1) Arbetsmetoden innebär att fallstudien påbörjas med att identifiera de problem som behöver lösas för konfiguratorn. Detta igenom att, med underlag från 8 datainsamlingen, bestämma vilka funktioner konfiguratorn ska ha och där identifiera vilka element som behöver implementeras för att möjliggöra dessa funktioner. 2.2 Datainsamling Som ett underlag för fallstudien så utförs en insamling av data som används för att ta reda på dels vad konfiguratorn ska ha för funktionalitet samt även vilket parameterbehov dessa funktioner har. Figur 2: Diagram över hur datainsamlingen ska identifiera behoven I datainsamlingen identifieras de huvudfunktioner som behövs för att kunna skapa en utformning av ett badrumsgolv. För att utreda parameterbehovet hos konfiguratorn så analyseras de funktioner som identifieras för att finna vilka parametrar som behöver skapas för att åstadkomma dessa. De identiferade parametrarna klassas även med vilken typ av data de ska innehålla samt inom vilken domän denna data får finnas. (se figur 2) Underlaget till datainsamlingen kommer från referensmaterial i form utav ritningar från Lindbäcks bygg över olika badrumslösningar. Dessa ritningar står som grund för att definiera vilka funktioner och parametrar som konfiguratorn behöver implementera för att kunna utföra motsvarande utformningar. Som underlag för hur utformningen begränsas så studeras regelverket från BBR samt riktlinjerna från GVK gällande utformning av våtrum. 9 2.3 Prestandamätning För att undersöka resultatet av fallstudiens modell så utförs en prestandamätning av modellen genom att skapa ett antal olika badrumsutformningar, baserat på en kravlista, i både den utvecklade konfiguratorn samt i referensmjukvaran. Utförandet av utformningarna kommer att mätas i form av den tiden som det tar att skapa ett badrumsgolv från början till slut. Dessa värden ska sedan, tillsammans med utvecklingstiden, jämföras med varandra. Prestandamätningen har för syfte att ge konkreta värden för skillnaden mellan att använda en konfigurator som en produkt jämfört med att rita upp samma modell med hjälp av ett CAD-program för byggindustrin, i denna studie Autodesk Revit respektive Autodesk AutoCAD. Dessa värden kan sedan användas för att analysera tid- och kostnadsaspekter kopplade till utvecklingen av en konfigurator av typen. De utformningar som skapas i prestandatestet kommer även att användas som validering av konfiguratorn då man kan utföra en jämförelse av ritningarna som produceras för att se om konfiguratorn producerar dessa till en nivå som motsvarar en ritning skapad för hand. 2.3.1 Indata För att mäta effektiviteten hos konfiguratorn så används ett prestandatest där tiden för att skapa en utformning av ett badrumsgolv används som värde tillsammans med utvecklingstiden. För att få med motsvarande utformningar som konfiguratorn har haft som referensmaterial och för att skapa bredd i testet ställs följande utformningar upp: 1. Grundläggande utformning med dörr, dusch, WC och tvättställ 2. Utökad utformning med dörr, dusch, WC, tvättställ, tvättmaskin, torktumlare och avlopp 3. Utformning med tillgänglighet med dörr, dusch, WC, tvättställ 4. Utökad utformning med tillgänglighet med dörr, dusch, WC, tvättställ, tvättmaskin, torktumlare och avlopp Alla dessa utformningar ska utföras för alla olika golvtyper som implementeras i konfiguratorn. 10 Figur 3: En av utformningarna skapad för prestandatestet Med kraven ställda så skapas indata i form utav ritningar som följer dessa (se bilaga 1 och 2). Dessa utformningar kommer att testas i tre olika program. Det första testet är att utföra utformningen i den utvecklade konfiguratorn, det andra är att återskapa samma modell i mjukvaran Revit och det tredje testet är att utföra utformningen i mjukvaran AutoCAD. Dessa tester ger en jämförelse mellan att skapa utformningen i en konfigurator jämfört med ett CAD-program för byggindustrin. För att beräkna vilken återbetalning konfiguratorn har jämfört med att utforma badrummet i Revit eller AutoCAD så används ekvationen π= π‘π’π‘π£,ππππ π‘πΆπ΄π· β π‘ππππ där π är antalet utformningar som krävs, π‘π’π‘π£,ππππ är utvecklingstiden för konfiguratorn, π‘πΆπ΄π· är snittiden för att göra en utformning i Revit respektive AutoCAD och π‘ππππ är snittiden för att göra en utformning i konfiguratorn. 11 2.3.2 Testmiljöer Figur 4: Startposition för konfiguratorn Prestandatestet för konfiguratorn börjar med konfiguratorn startad och de aktuella modell- och ritningsfilerna öppnade i SolidWorks (se figur 4). Tidtagningen startar i detta stadie och löper tills att alla inställningar är gjorda, modellen är uppdaterad och ritningen är öppnad. Figur 5: Startposition för Revit I Revit startar prestandatestet med programmet startat och mall-filen Architectural Template öppnad (se figur 5). Inga ändringar har utförts för inställningar i programmet och inga extra familjer, utöver de som följer med standardmallen, har laddats in. Tidtagningen startar i detta skede och löper vidare under hela 12 utformningen tills att en ritningsvy är skapad som innehåller en färdig, måttsatt ritning med beräknade golvtjocklekar för utformningen. Figur 6: Startposition för AutoCAD Ritningen i AutoCAD startar med att en tom standardmall har öppnats som ger en blank modell att utgå ifrån (se figur 6). Tidtagningen startar i den tomma modellvyn och slutar när en fullständig ritning har skapats med tillhörande måttsatt modell över badrumsgolvet. Utformningen sker med hjälp av de grundläggande geometrierna som finns tillgänglig (linjer, cirklar och liknande) tillsammans med 2D-symboler motsvarande objekten som finns i badrum. 13 3 TEORI 3.1 Mass-kundanpassning Efterfrågan för anpassade produkter växer där kunderna vill se liknande leveranstider, kvalité och pris som hos en massproducerad motsvarighet. Det är här som mass-kundanpassningen kan ha sin roll som produktionsform där anpassade produkter kan levereras genom att utnyttja fördelarna hos massproduktion. Ett företag med masskundanpassning kan utnyttja strategier som exempelvis innebär ett användande av produktkonfiguratorer för att kombinera samman en produktlinje baserat på moduler. Dessa massproducerade moduler kan sedan, på efterfrågan från kund, monteras samman enligt önskemål. (Hvam et al. 2008) Informations- och kommunikationsteknik skapar nya möjligheter inom masskundanpassning för processer som ligger mellan kund och produktion där användandet av produktkonfiguratorer är ett exempel. (Hvam et al. 2008) 3.2 Produktarkitektur En linje av liknande produkter, härstammande från samma gemensamma plattform, men med egna specifika funktioner, som möter kunders krav kallas för en produktfamilj. Variationerna av produkten inom produktfamiljen kallas för produktvarianter eller produktinstanser. Tanken med produktfamiljen är att den riktar sig till ett visst marknadssegment men varje produktvariant kan uppfylla behovet hos en mer specifik andel av marknaden. (Jiao et al. 2007) Produktfamiljerna bygger på en produktplattform. Mayer (1997) har definierat produktplattformen som: β[β¦] en uppsättning av delsystem och gränssnitt som utvecklats för att bilda en gemensam struktur från vilken en ström av derivatprodukter effektivt kan utvecklas och producerasβ Produktplattformen, och i sin tur även produktfamiljerna, har sin grund i den underliggande produktarkitekturen. Produktarkitekturen kan beskrivas som sättet vilket produktens funktioner är tilldelade fysiska enheter och hur dessa enheter interagerar. (Ulrich, 1995) Ulrich (1995) delar även upp definitionen av produktarkitektur i tre delar; anordningen av funktionella element, kopplingen mellan funktionella element till fysiska komponenter och specifikationerna för gränssnitten hos interagerande 14 fysiska komponenter. Anordningen av de funktionella elementen och kopplingen mellan dessa och fysiska komponenter berättar hur en produkt är uppbyggd och vilka fysiska komponenter som uppfyller de önskade funktionerna. Hur dessa delar hänger samman beror av hur gränssnittet är utformat. (Ulrich, 1995) Figur 7: Exempel på en-till-en koppling av funktionella element till fysiska komponenter (Ulrich, 1995) Kopplingen mellan de funktionella elementen och de fysiska komponenterna kan anta olika relationer. Den enklaste varianten är en-till-en där varje funktion har en komponent (se figur 7). Mer komplicerade relationer finns i form av en-till-många eller många-till-en där funktioner och komponenter sammanhänger i en mer komplex koppling. (Ulrich, 1995) Figur 8: Exempel på skillnaden mellan frikopplade och kopplade gränssnitt (Ulrich, 1995) Gränssnitten kan man dela upp i två olika typer; frikopplade och kopplade. Det kopplade gränssnittet innebär att en ändring på den ena komponenten medför att även den andra komponenten måste ändras för att passa samman (se figur 8). (Ulrich, 1995) 15 3.3 Modulär arkitektur Inom produktarkitekturen kan man kombinera ihop relationer och gränssnitt för att skapa begrepp som beskriver topologin. En modulär arkitektur består utav en-tillen relationer tillsammans med frikopplade gränssnitt. (Ulrich, 1995) Vidare delar Ulrich (1995) upp den modulära arkitekturen i tre typer; slot, bus och sectional. Figur 9: De olika typerna av modulär arkitektur (Jensen, 2010) Inom slot-modularitet skiljer sig gränssnitten mellan komponenterna vilket medför att komponenterna i produkten inte kan byta plats med varandra. Bus-modularitet innebär istället att det finns en generell anslutning via samma typ av gränssnitt för alla komponenter. Den tredje typen, sectional-modularitet, använder sig av samma gränssnitt för alla komponenter samtidigt som det inte finns en enskild komponent som alla andra ansluter till. (Ulrich, 1995) Slot-modulariteten kan i sin tur även delas in i fyra olika system. Componentsharing innebär att flera moduler byggs upp med hjälp av en eller flera grundläggande komponenter av samma modell. Det omvända finns inom component-swapping där olika komponenter kan anpassa en modul för att skapa olika produktvarianter. Med hjälp av parametrisering kan cut-to-fit anpassa dimensionerna för komponenterna och tack vare samma gränssnitt passar delarna fortfarande ihop. Mix-modularitet kombinerar samman flera standardkomponenter för att skapa en modul. (Jensen, 2010) 16 3.4 Konfigurationssystem Att konfigurera innebär att man sammanställer en produkt av moduler som styrs enligt regler och restriktioner. Konfigurationssystemen har sin historia i 1980-talet där man utvecklade restriktionsbserad programmering. Detta system baseras på att man har en rymd av lösningar, bestående av exempelvis moduler, som man styr med restriktioner för att minska rymden tills att endast en lösning finns kvar β produkten. (Hvam, 2008) Aldanondo et al. (2000) definierar en konfigurator som: βEn konfigurator är ett program som hjälper den person som ansvarar för konfigurationen. Den består av en kunskapsbas som lagrar en generisk modell av produkten och en uppsättning stödverktyg som hjälper användaren att hitta lösningen eller välja komponenterβ Resultatet av att ha använt en konfigurator är en kundspecifik produktmodell där funktionerna och egenskaperna är bestämda tillsammans med specifikationer över vilka moduler och komponenter som ska sättas konstrueras och samman. (Malmgren et al. 2010) 17 4 DATORVERKTYG 4.1 SolidWorks SolidWorks från Dassault Systemes är en 3D CAD lösning för att ta skapa modeller primärt framtaget för tillverkningsindustrin. Från dessa kan man sedan bland annat ta fram ritningar och analyser för flöde, hållfasthet samt kostnad. En modell i SolidWorks är uppbyggd runt en hierarki med sketch, part och assembly som tillsammans utgör den modell man skapat. 4.1.1 Sketch Figur 10: Sketches i SolidWorks Grunden för den modell man skapar börjar med en så kallad sketch. Här har man möjligheten att ta fram tvådimensionella profiler med hjälp av linjer, cirklar, bågar och andra grundläggande geometrier (se figur 10). Inom dessa profiler kan man skapa relationer mellan geometrierna genom användandet av bland annat dimensioner och styrning av förhållandet mellan dem. Med dessa tekniker kan man skapa både enkla tvådimensionella profiler och profiler med komplexa samband. 18 4.1.2 Part Figur 11: Part i SolidWorks baserad på flera sketches Alla sketch-element man skapar återfinns i något som kallas för en part. I en part kan man välja att skapa flera olika sketches för att utgöra den modell man är ute efter att skapa. I detta läge kan man även välja att omvandla sketches till tredimensionella objekt genom exempelvis funktionen extrude som tar en tvådimensionell profil man ritat och ger den en ytterligare dimension, exempelvis en tjocklek (se figur 11). 4.1.3 Assembly Figur 12: Assembly i SolidWorks bestående utav flera parts Högst upp i modell-hierarkin finns det som kallas för assembly. Här samlar man parts och andra assemblies som man vill ska utgöra modellen man skapar (se figur 12). På liknande sätt som man skapade förhållanden i sketch-stadiet kan man här skapa förhållanden mellan de olika parts och assemblies man infogat via en funktion som kallas för mate. Utan några mates tillåts geometrier att röra sig helt fritt i modellrymden men genom att använda mates kan man bland annat se till att 19 två ytor alltid ligger i samma plan eller att avståndet mellan två parts har ett givet mått. 4.1.4 Drawing Figur 13: Drawing i SolidWorks För att skapa ritningar använder man programfunktionen drawing som tillåter användaren att infoga de parts och assemblies den önskar och placera valfria vyer från dessa på ritningsark (se figur 13). Under drawings lägger man även till de måttsättningar man vill visa tillsammans med övrig önskad annotation. Dessa ritningar kan sedan exporteras till bland annat DWG- eller PDF-format. 4.2 TactonWorks TactonWorks Engineer och Studio från Tacton är tillägg till SolidWorks vilket möjliggör att koppla regler och restriktioner till modeller för att skapa en konfigurator. 20 4.2.1 Components Figur 14: Kopplingen mellan SolidWorks och TactonWorks Motsvarande parts och assemblies i SolidWorks har TactonWorks något som kallas för components. Här skapar man strukturen som beskriver modellen och organiserar de delar man önskar att implementera (se figur 14). De parts eller assemblies man vill styra skapar man motsvarande components för och dessa kan sedan länkas samman via något som kallas för mapping. Genom att man har skapat kopplingen mellan en component och en part eller assembly så kan man nu få åtkomst till de parametrar som skapats i exempelvis sketches eller mates. 4.2.2 Attributes Attributes är TactonWorks metod för att hantera variabler inom modellen. Här kan man skapa ett valfritt antal variabler som kan användas internt för datalagring eller för styrning utav de parametrar som finns i sin SolidWorks-modell. Varje variabel definieras med ett namn och en domän där domänen berättar om vilken typ av data som ska användas med variabeln och hur den begränsas. 21 4.2.3 Domains Figur 15: Tabeller i TactonWorks Domäner är en av nyckelkomponenterna för styrning av sin modell. Genom att begränsa sina variabler till en domän kan man styra gränserna för variationen i modellen. En domän kan vara heltal, flyttal (reella tal), boolesk, tabeller eller egendefinierade. Heltal eller flyttal kan användas som domän till variabler som kommer att styra måttsättningar och här kan även numeriska gränser sättas vilket gör att man kan styra minsta och största värdet variabeln får anta. Tabeller inom TactonWorks är en funktion där man får skapa en statisk tabell med variabler som antar fasta värden baserat på de variationer av tabellen man skapat (se figur 15). Den booleska domänen är en form av egendefinierad domän där man gett ett numeriskt värde till alfabetiska representationer. I detta fall handlar det om att man gett βNoβ värdet 0 samt βYesβ värdet 1. 22 4.2.4 Constraints Figur 16: Gränssnitt för att skapa constraints i TactonWorks För att skapa regler och villkor kopplade till sina variabler i TactonWorks använder man sig utav constraints (se figur 16). Dessa kan vara baserade på relationer mellan variabler eller på logik kring variabler. Genom att använda constraints så kan man styra över värden på variabler genom bland annat enklare matematik eller villkorssatser. Constraints kan även användas för att sätta ingångsvärden till variabler vilket är nödvändigt för att TactonWorks ska kunna hantera modellen vid uppstart. 4.2.5 User Interface Figur 17: Gränssnitt för att skapa gränssnitt i TactonWorks Till slutanvändaren av konfiguratorn så skapar man ett gränssnitt via funktionen User Interface i TactonWorks. För att skapa ett gränssnitt kan man ge variabler inmatningsfält som användaren kan interagera med (se figur 17). I utformningen av gränssnittet får man skapa olika steg i vilka de fälten blir tillgängliga för användaren och man kan även styra synligheten av dessa fält baserat på variablers värden. Man kan här även bestämma vilken typ av fält som kommer att presenteras, 23 om det exempelvis ska vara ett inmatningsfält för siffror eller en lista med valmöjligheter. Gränssnittet är direkt sammankopplat med konfigurationsmodellen och ifylld data skickas direkt till konfiguratorn som i sin tur går igenom dem villkor som finns för att sedan presentera en ny variant av modellen. 4.3 Revit Autodesk Revit är en CAD BIM-mjukvara anpassat för byggindustrin och innehåller verktyg för bland annat arkitekter och konstruktörer. Mjukvaran bygger runt konceptet att alla objekt i modellen har information kopplad till sig och kan även styras till viss del av denna information. Från modellen man skapat kan man ta ut ritningar, mängdförteckningar och även göra prestandatester med avseende på konstruktion och energieffektivitet. Figur 18: Ritningsvy i Revit Utformningen i Revit sker i det som kallas för vyer som innehåller en representation av de element man skapat (se figur 18). Dessa kan exempelvis vara av typen plan-, elevations- eller ritningsvy. När man ritar i Revit så använder man sig utav grundläggande byggnadselement, så som väggar, golv och tak, tillsammans med fristående element som fönster, dörrar och inredning. Dessa fristående element byggs upp utav något som kallas för en familj. Dessa familjer kan innehålla en geometrisk representation av objektet med data kopplad till sig och kan även innehålla variationer av objektet. 24 4.4 AutoCAD AutoCAD från Autodesk är en CAD-mjukvara för både 2D och 3D och finns idag i en mängd branchspecifika versioner. Grunden i AutoCAD kommer från utformning med hjälp av geometriska element men i de branchspecifika utgåvorna finns även objekt för att underlätta arbetet. Exempel på dessa är de objekt som finns i AutoCAD Architecture för dörrar, fönster, väggar och liknande. Figur 19: Modellvy i AutoCAD Vid utformning i AutoCAD arbetar man främst i något som kallas för Model space (se figur 19) vilket är vyer där användaren tillåts att skapa de objekt som ska utgöra produkten. Här kan även dimensionering och annotering av modellen ske. För att producera ritningar från modellen så övergår man till läget som kallas för Paper space där man får möjlighet att bestämma hur modellen ska presenteras på ett eller flera ark. 25 5 UTVECKLING AV KONFIGURATOR 5.1 Krav för badrumsgolv De byggnadstekniska begränsningarna för badrumsgolvet återfinns från kraven på fall mot golvbrunnen samt domänerna som golvets måttsättning styrs utav. 5.1.1 Fall mot golvbrunn Där man har golvavlopp ska golvet tillsammans med det vattentäta skiktet ha ett fall mot avloppet i de delar av utrymmet som utsätts för vatten. Bakfall får inte förekomma i det utrymmet. (BBR, Kap. 6:5335) I duschdelen bör fallet vara minst 1:150 men, för att minska risken för olyckor, högst 1:50. Övriga ytor bör luta mot golvavloppet (BBR, Kap. 6:5335). Figur 20: Riktvärden för fall mot golvbrunn (GVK 2011) Vidare rekommendationer finns från GVK (2011) som anger riktvärden på fall i form av 13 mm/m inom duschplatsen och 6 mm/m för övriga ytor (se figur 20). GVK (2011) anger även ett intervall för fallet inom det övriga utrymmet på mellan 1:500 till 1:100. 5.1.2 Golvets dimensioner Fallstudien baseras på det badrumsgolv som Lindbäcks bygg kallar kompositgolv. Dessa golv har begränsningen i form av golvets yttre dimensioner och anger en längd på max 3600 mm samt en bredd på max 2600 mm. 26 5.2 Parameter- och komponentutredning 5.2.1 Funktioner Analysen av ritningsunderlaget från Lindbäcks bygg har gett att följande funktioner ska implementeras i konfiguratorn för att kunna skapa motsvarande utformningar: ο· ο· ο· ο· ο· ο· ο· ο· ο· ο· ο· ο· Ta användares indata och skapa en skalenlig måttsatt ritning Tre olika golvtyper; rektangulär, vinkel och kapad Golvtypernas utformning ska kunna styras via längder och bredder Golvet ska ha måttsättningar på ritningen för länger och bredder Nio olika komponenter Komponenterna ska kunna positioneras längs med kanterna på golvet Komponenterna ska kunna få ett avstånd längs med aktuella kanten Komponenternas avstånd ska kunna mätas från vänster eller höger Komponenterna ska ha måttsättningar för att beskriva position och avstånd Golvet ska ges tjocklekar i golvets hörn, duschens hörn och vid dörren Tjocklekarna ska beräknas enligt ett fall som användaren ska få välja De fält som finns på ritningen ska användaren få fylla med information 5.2.2 Delproblem I enlighet med metoden för utvecklingen av konfiguratorn så delas problemet med att utveckla detta verktyg upp i mindre delproblem. Dessa delproblem är baserade på vilka funktioner som ska implementeras och är identifierade som följande: ο· ο· ο· ο· ο· ο· Hur ska modellens uppbyggnad se ut? Hur ska golven utformas? Hur ska komponenterna utformas? Hur ska en komponent positioneras? Hur ska golvets tjocklekar beräknas? Hur ska måttsättning implementeras? 27 5.2.3 Parameteruppställning Tabell 1: Generaliserad parameterlista Parameter Värden Golvtyp Rektangel, vinkel, kapad Dimensioner, golv mm (längd 0 β 3600, bredd 0 β 2600) Position, komponent (generell) Vägg 1, vägg 2, vägg 3, vägg 4, (vägg 5) Position, komponent (avstånd) Mått i mm Position, måttsättning Koordinater på ritningen Position, annotering Koordinater på ritningen Fall, dusch mm/m Fall, övriga utrymmen mm/m Fält på ritningen Text De nyckelparametrar som identifierats har sammanställts (se tabell 1) och kommer att vara grunden för all utveckling utav både SolidWorks- och TactonWorksmodellen. Parametrarnas implementering anpassas sedan enligt de programfunktioner som finns tillgängliga. Tabell 2: Intervaller för fallet på golvet Område Intervall Dusch 1:150 β 1:50 Övrig yta 1:500 β 1:100 I enlighet med de krav som ställs från BBR och de rekommendationer som finns från GVK så identifieras även de intervall som fallet för golvet i modellen kommer att få anta (se tabell 2). Dessa kommer att implementeras i form av tabeller för att ge valmöjligheter för fasta värden. 28 Tabell 3: Komponentuppställning Namn Typ Rektangel Golv Vinkel Golv Kapad Golv WC Komponent Tvättställ Komponent WC (tillgänglig) Komponent Tvättställ (tillgänglig) Komponent Dusch Komponent Dörr Komponent Tvättmaskin Komponent Torktumlare Komponent Avlopp, för tvättmaskin Komponent De komponenter som identifierats har sammanställts i en uppställning (se tabell 3) och kommer att utvecklas i programvaran tillsammans med parameterlistan som referens. Komponenterna utvecklas i programvaran med en grund under de komponentspecifika attributen. 5.2.4 Analys De funktioner som är valda att implementeras i konfiguratorn i denna fallstudie baseras på målbilden att försöka skapa ett verktyg som kan utföra motsvarande utformningar som referensritningarna visar på. De funktioner som implementeras kan varieras kraftigt för att mer specifikt anpassa verktyget för en specifik typ utav verksamhet och detta bör då tas i åtanke eftersom utvecklingstiden i sin tur påverkas starkt av dessa val. Den generaliserade parameterlistan som tagits fram baserat på funktionsunderlaget är dessutom baserat på den valda metoden för utformningen utav konfiguratorn och varierar något beroende på hur man väljer att lösa några av de delproblem som finns. Denna lista är dock intressant i avseende av att den är programoberoende och visar på hur vilka de styrande parametrarna i konfiguratorn är. Dessa parametrar kan sedan innehålla en mängd underliggande parametrar i den faktiska implementeringen. 29 5.3 Designfilosofi Figur 21: Modulariseringen av konfiguratorn Utformningen av konfiguratorn kommer att baseras kring att modularisera användandet av komponenter. Detta sker för att förbättra tydligheten i modellen och göra det möjligt att efter ett mönster implementera nya komponenter. Modulariseringen bygger på att alla komponenter har samma uppsättning parametrar kopplade till sig som styr deras position, måttsättning på ritningen och inmatningsfälten i användargränssnittet. Komponenterna ska även ha ett enhetligt gränssnitt mot golvtypen som de ska användas hos. Genom att minimera kopplingen mellan de olika komponenterna förenklar man även felsökningen i konfiguratorn och kan enklare begränsa området där fel uppstått. Tillsammans med modulariseringen görs även beslutet att dela upp modellen i tre delar enligt de golvtyper som identifierats. Parametrarna som styr de olika golvtyperna och komponenterna är i grunden samma och genom en tydlig uppdelning av modellen enligt golvtyperna skapas en modellstruktur som förenklar implementeringen av nya golvtyper och komponenter. Eftersom uppdelningen gör de olika delarna fristående från varandra så innebär detta att om man gör ändringar i den ena golvtypen så kommer denna inte att påverka de andra. Detta medför även att man kan kontrollera komplexiteten hos konfiguratorn på ett bättre sätt om man vill minska utvecklingstiden genom att ha möjligheten att begränsa funktionalitet hos mer komplicerade golvutformningar. 5.3.1 Analys Att lägga upp en designfilosofi för utformningen och utvecklingen av konfiguratorn är av vikt i form av att ge struktur till utvecklingen men även att underlätta underhållsarbete eftersom det finns en tydlig röd tråd för hur implementeringen av funktionerna har skett. Valdet av hur denna designfilosofi kan fortsatt vara användbar oberoende av vilken programvara du väljer att utveckla konfiguratorn i och kan ses som ett generellt upplägg för hur konfiguratorn är utformad. I vissa fall kan det vara användbart att skapa en mer en specifik designfilosofi och gå in i mer detalj på bland annat namngivningsregler för parametrar. 30 5.4 Golvtyper Golvtyperna utformas efter de tre identifierade geometrierna och ska innehålla parametrar för respektive dimension som utgör formen. Golvens primära uppgift i modellerna är att utgöra en grundplatta för formgivningen av badrummet men ska även innehålla ett gränssnitt för komponenterna att ansluta till. Detta innebär att de inkluderade komponenterna ska referera till ytor och punkter på golvet för att möjliggöra positionering och dimensionering. 5.4.1 SolidWorks-modellen Figur 22: Sketch-element i de parts som representerar golvtyperna Varje golvtyp ska representeras av en egen part som i sin tur innehåller en sketch. Denna sketch är ritad med geometrin som den ska reflektera i åtanke och får parametrar utefter de måttsättningar som styr utformningen (se figur 22). Dessa tvådimensionella sketches får även en tredje dimension via funktionen extrude där tjockleken sätts till ett godtyckligt värde. Detta moment utförs för att skapa ytor runtom hela golvet som man sedan kan använda som gränssnitt och referens till komponenterna. Tjockleken som bestäms här har inget att göra med de beräknade tjocklekar på golvet som konfiguratorn ska ta fram. 31 Figur 23: Översikt modellhierarkin i SolidWorks I enlighet med designfilosofin (se avsnitt 5.3) så delas golvtyperna upp här i flera olika modeller. För att binda samman golvtyperna med deras komponenter så skapas var sin modell av typen assembly. Dessa assemblies ska användas som samlingsfiler där golvets geometri tillsammans med alla komponenter befinner sig och där relationerna mellan golv och komponent bestäms (se figur 23). 5.4.2 TactonWorks-modellen Figur 24: Översiktskarta TactonWorks-modellen Baserat på modellhierarkin i SolidWorks så utformnas hierarkin som ska representera golvtyperna i TactonWorks. Varje golvtyp får tre olika components var. Den första i hierarkin är en component som motsvarar ritningen som golvtypen 32 kommer att finnas under. Den andra motsvarar assembly-modellen där golvtypen tillsammans med de övriga komponenterna finns. Den sista motsvarar partmodellen som innehåller själva geometrin till golvet. (se figur 24) Tabell 4: Variabler hos golv av typen rektangel i TactonWorks-modellen Variabel Domän Värden Type Table: Floor Slope 1:100, 1:150 ... 1:500 Active Boolean Ja, Nej Length Int 0 β 3600 Width Int 0 β 2600 Variabler skapas i TactonWorks under golvtypernas components motsvarande de parametrar för dimensioner som skapats i sketch-elementet. Domänen till dessa variabler sätts till att vara av typen heltal och ett intervall sätts enligt parameterframställningen (se tabell 1). Utöver variabler för dimensioner så skapas även en variabel som ska styra statusen för golvtypen, om den är aktiv eller inte, samt en variabel som länkas till en tabell och används för ge fasta valmöjligheter för fallet. Genom constraints sätts sedan godtyckliga uppstartsvärden för alla variabler för att ge konfiguratorn data att arbeta med vid uppstart. 5.4.3 Analys Baserat på referensmaterialet och datainsamlingen så beslutades att tre olika golvtyper ska implementeras i denna konfigurator för att få lösningsrymden som önskades. Med den designfilosofi som används så är valet av antalet olika golvutformningar är en av huvudfaktorerna i hur utvecklingstiden kommer att se ut vid färdig produkt. Detta är på grund av att golvtyperna implementeras oberoende av varandra i modellen vilket innebär att de inte delar funktioner utan alla funktioner måste utvecklas för var och en utav golvtyperna. Den alternativa utvecklingsmetod som identifierades och testades för att implementera dessa tre golvtyper var att skapa en enda sketch, part och assembly som kunde ändra sin form för att kunna motsvara golvtyperna istället för att göra tre olika sketches, parts och assemblies. Denna metod hade kunnat innebära att implementeringen av de övriga funktionerna hade behövt mindre resurser men valdes bort eftersom det visade sig att försöken gav utförutsägbara resultat vid initiala tester med att ändra parametrarna som implementerades. 33 5.5 Komponenterna Komponenterna skapas utifrån de identifierade behoven (se tabell 3) och innehåller den motsvarande tvådimensionella representationen som ska synas på ritningen. Komponenterna skapas så att ett gränssnitt bildas som sedan kan användas för anslutningen till golvtyperna. 5.5.1 SolidWorks-modellen Figur 25: Sketch över komponenten WC i SolidWorks Varje komponent representeras av en egen part som i sin tur består utav två sketches. Den första av dessa sketches består utav den tvådimensionella representation av formen som ska synas på ritningen (se figur 25). Här ritas även en centrumlinje in som kommer att agera som referenslinje vid positionering och måttsättning av komponenten. Denna referenslinje kommer inte att synas vid användandet av konfiguratorn utan vara dold. Den andra sketch som skapas är en rektangel som ligger i bakkant utav komponenten och utgör grunden för en referensvägg. Figur 26: Komplett part för komponenten WC i SolidWorks 34 Båda sketches som skapats får en tredje dimension med en godtycklig höjd för att tillsammans representera den part de utgör via funktionen extrude (se figur 26). Detta skapar ytor på referensväggen som ligger bakom själva komponenten som kommer att användas för att koppla samman komponenten till golvtyperna. Figur 27: Kopplingen mellan komponent och golv i SolidWorks För att möjliggöra positionering utav komponenterna behöver de länkas ihop med golvtyperna. Här finns det två möjliga vägar för att utföra detta. Den första metoden är att skapa mates som roterar komponenten enligt en vissa vinkel för att ge den en position på en utav kanterna utav golvet. Den andra, och valda metoden, är att skapa separata mates som länkar samman komponenten med varje yta som utgör en kant på golvtypen (se figur 27). Typen av mate som används för detta är coincident vilket innebär att de ytor man valt kommer att ligga i samma plan. Tillsammans med de mates som skapats för alla kanter så skapas tillhörande mates som skapar ett bestämt avstånd från den vänstra änden av kanten. Med denna metod implementerad kan man släcka de mates man inte vill använda och endast ha igång de mates som representerar den sida av golvet man vill positionera sin komponent på. Valet gjordes att använda metoden där mates skapas som länkar samma varje kant separat med komponenten eftersom denna fanns vara mer robust i sitt utförande och minskade även behovet av att använda trigonometri vid implementeringen i TactonWorks. 5.5.2 TactonWorks-modellen Tabell 5: Variabler hos komponenter under golvtypen rektangel Variabel Domän Värden Type Table: Rectangle Component Vägg 1, Vägg 2, Vägg 3, Vägg 4 Active Boolean Ja, Nej Input offset Int 0 - 3600 Offset direction Offset directions Från vänster, från höger 35 I TactonWorks får alla de skapade komponenterna en egen component i vilken variabler skapas (se tabell 5). Tre av variablerna används för att kontrollera positionen av komponenten och den fjärde för att ändra statusen på komponenten. För att göra det möjligt att välja positionen hos komponenten så behöver man veta vilken vägg den ska befinna sig efter och vilket avstånd från kanten på väggen den ska ha. I detta fall skapas en variabel som har domänen satt till en tabell som innehåller möjliga val av position och även en variabel som kan sättas till ett numeriskt värde motsvarande det avstånd man önskar. Utöver dessa finns även en variabel som, via en egen domän, används för att bestämma vilken av kanterna på väggen man vill att avståndet ska beräknas ifrån; från vänster eller från höger. Med samma metod som för golvtyperna får variablerna constraints som bestämmer deras initiala värden. Tabell 6: Variabler för kontroll av WC-komponentens position Variabel Domän Värden WC Wall 1 State Boolean Ja, Nej WC Wall 2 State Boolean Ja, Nej WC Wall 3 State Boolean Ja, Nej WC Wall 4 State Boolean Ja, Nej WC Offset Int För att bestämma positionen av komponenten så behöver man även variabler som ska kopplas direkt till de mates som skapades i SolidWorks-modellen (se figur 25). Varje komponent får en variabel per möjlig kant på golvtypen som kan anta ett värde av ja eller nej beroende på om komponenten ska låsas till den väggen eller inte. Värdet på dessa variabler bestäms genom att constraints skapas som kopplar samman värdet på variabeln med det värde som är bestämt utifrån tabellen för möjliga positioner. För att positionera komponenten från en viss kant utav modellen så kan man antingen skapa två mates i SolidWorks-modellen, en från varje kant, eller så kan man endast använda en mate från ena kanten och sen beräkna dessa värde ifall måttsättningen ska ske från den andra. I detta fall valdes den senare metoden eftersom detta skapar endast en variabel som styr komponentens avstånd och därav förenklas beräkningarna vid senare tillfälle då man inte behöver ta hänsyn till två olika variabler. För att uföra detta så kopplas variabeln för avståndet till väggkanten samman med alla de mates för avstånd som skapades i SolidWorks-modellen (se figur 18) men för att kunna ändra avståndet beroende på vilken kant man önskar så skapas constraints för att styra detta. Dessa constraints kontrollerar vilken kant man önskar att måttsätta ifrån, enligt variabeln definierad för detta, och sätter värdet 36 antingen direkt till det avstånd som önskas, om avståndet ska mätas från vänster, eller så beräknar den om värdet, om avståndet ska mätas från höger, baserat på golvets dimensioner. 5.5.3 Analys Precis som med de olika golvtyperna så har antalet komponenter en stor betydelse för utvecklingstiden eftersom de implementeras individuellt och delar inte funktioner utan de är fristående från varandra. Den individuella metodiken innebär dock att konfiguratorn blir enkelt skalbar eftersom komponenter kan läggas till eller tas bort utan att behöva beröra de övriga delarna av konfiguratorn. Komponenterna är uppbyggda på ett sådant vis att de har möjlighet att utökas genom att lägga till extra geometrier i modellerna utan att behöva ändra i själva konfiguratorn. Detta innebär att man exempelvis kan på ett relativt enkelt vis lägga till en tredimensionell representation utav komponenterna. Den faktorn som på många vis styr komponenterna är vilken metod de positioneras med inom modellen. Två alternativa metoder till den valda undersöktes under fallstudien. Den första av dessa var att komponenterna skulle få positioneras via att ange de koordinater som de befann sig på inom golvutrymmet med origo i nedre vänstra hörnet av golvet. Denna metod visade sig vara robust i implementeringen men skulle medföra ett extra arbete för slutanvändaren av konfiguratorn. Detta eftersom användaren alltid skulle behöva beräkna positionerna enligt origo istället för enligt relativa mått baserat på dess position. Den andra alternativa metoden som undersöktes skulle innebära att slutanvändaren hade samma förutsättningar som den valda metoden men implementeringen skulle innebära vissa skillnader. Den huvudsakliga skillnaden är att istället för att fästa komponenten, via mates, i var och en av de olika väggarna för badrummet så skulle absoluta koordinater och vinklar beräknas inom konfiguratorn för att positionera komponenten i lösningsrymden. Denna lösning hade medfört ett mindre antal mates och regler i konfiguratorn men avfärdades då den visade sig ge oförutsägbara resultat i vissa fall. 5.6 Beräkning av golvets tjocklekar För varje hörn på golvet samt vid dörren så ska en tjocklek på golvet beräknas. Denna tjocklek är baserad på avståndet från golvbrunnen i duschen till den aktuella punkten tillsammans med ett värde för hur stort fallet ska vara. I TactonWorks skapas två olika tabeller baserad på de data som finns i parameteranalysen för fall i badrum. Den ena tabellen innehåller valmöjligheter för fallet i duschutrymmet och spänner sig mellan 1:50 och 1:150 i steg om 10. Den andra tabellen står för fallet i det övriga utrymmet och spänner sig mellan 1:100 och 1:500 i steg om 50. 37 Figur 28: Ytornas uppdelning på golvet Eftersom tjockleken på golvet beror av var i rummet golvbrunnen befinner sig och antaget att golvbrunnen befinner sig centrerat i duschutrymmet så bestäms ytorna i modellen utifrån duschens position och vilken storlek den har. Ett beslut är gjort i detta stadie där duschutrymmet bestäms till en cirkel med radien baserad på dess dimension (se figur 28). Vidare är ytan på golvet utanför duschen räknas till övrig yta i beräkningarna av golvets tjocklek. Figur 29: Exempel på beräkning av avstånd till hörn av golv Beräkningen av avståndet till hörnen på golvet sker genom att använda positionen och dimensionen på duschen kombinerat med dimensionerna för golvet (se figur 29) och den beräknade radien på duschutrymmet (se figur 28). Denna process upprepas via constraints genom iteration av alla duschens positioner för alla hörnen på den aktuella golvtypen. Samma process upprepas även för avståndet till dörren 38 från golvbrunnen men då inkluderas även dörrens position till iterationen av möjliga avstånd. När alla avstånd är beräknade så används de värden som är lagrad i variablerna som styrs utav tabellvärdena för fallen för att beräkna fram produkten av avståndet och fallet. Detta ger tjockleken på golvet vid den aktuella positionen. 5.6.1 Analys Grunden i att beräkna golvets tjocklekar med hjälp av ett bestämt fall i området är en relativt enkel process men implementeringen kan se på en mängd olika sätt i en konfigurator av denna typ. Duschområdet bestämdes i fallstudien till att vara representerad utav en cirkel. Detta medför att beräkningarna är enklare att utföra med avseende på avstånden från golvbrunnen till övriga punkter i modellen. En alternativ metod är identifierad där duschutrymmet antas till att vara i formen av en rektangel men har i denna studie valts att inte implementeras eftersom det visat sig vara mycket mer komplicerat. Att beräkna avståndet mellan golvbrunnen och de olika punkterna som tjocklekarna ska beräknas hos innebär att en mängd olika parametrar med tillhörande regler har behövt skapats. Detta på grund av att avståndet måste beräknas enskilt beroende av vilken vägg duschens är längs med och vilket avstånd duschen har längs med den väggen. Försök har gjorts att utveckla dessa avståndsberäkningar med andra metoder men alternativa lösningar har inte identifierats. 5.7 Ritningarna Enligt den modellstruktur som följs i utvecklingen av konfiguratorn så skapas det en egen uppsättning ritningar tillsammans med de variabler som ska styra dessa för varje golvtyp. Ritningarna blir fristående från varandra och detta skapar en uppdelning i TactonWorks-modellen som gör det tydligt vilka variabler som hör till vilken typ utav golv. 39 5.7.1 SolidWorks-modellen Figur 30: Ritningsöversikt för golvtypen rektangel i SolidWorks I SolidWorks skapas tre nya ritningsfiler, en för varje golvtyp som finns. I dessa ritningar länkas det in vyer från respektive assembly-modell. För att skapa alla måttsättningar som behövs för golven och komponenterna så itereras assemblymodellen via att gå igenom alla komponenters möjliga väggpositioner, en för en, och skapa måttsättningar tillhörande dessa. Alla dessa mått ska sedan att kopplas till deras motsvarande variabler i TactonWorks-modellen. I ritningarna skapas även alla de fält med information som ska finnas och ges godtyckliga värden. Även dessa ska kopplas till respektive variabel. 5.7.2 TactonWorks-modellen Tabell 7: Generella attribut under Rectangle Drawing Variabel Domän Värden Scale Float - Dim Offset Int - View Position X Int - View Position Y Int - Note Status Function - Note Project Function - Note [β¦] Function - Note Number Function - Tillhörande respektive golvtyp skapas generella variabler som är relaterade till ritningen de ska presenteras på (se tabell 7). Här skapas alla variabler för informationen som syns i fälten på ritningen tillsammans med ritningsskalan. Två 40 variabler här representerar dessutom var på ritningen mittpunkten av golvet kommer att befinna sig (View Position). Alla dessa variabler kopplas sedan samman med motsvarande element som skapats på ritningen i SolidWorks. En variabel skapas även här som kommer att styra måttsättningarnas avstånd till varandra på ritningen. Värdet på denna variabel sätts, via en constraint, till att ge ett avstånd som skapar god läsbarhet av ritningen. Denna variabel kommer att användas vid beräkningarna av positionen av all måttsättning. Tabell 8: Variabler för dimensionering av golvtypen rektangel på ritningen Variabel Domän Värden Floor Dim Prio Int - Floor Length Dim X Int - Floor Length Dim Y Int - Floor Width Dim X Int - Floor Width Dim Y Int - För att positionera måttsättningen av golvet på ritningen så skapas variabler som styr koordinaterna för varje mått som behövs (se tabell 8). Här finns även en variabel som styr vilken prioritet som måtten för golvet har jämfört med de andra mått som finns på ritningen. Figur 31: Schema för variabler för måttsättning av komponenter Varje komponent kan måttsättas antingen från höger eller från vänster, baserat på vilken sida användaren väljer att positionera komponenten ifrån, och de ska även kunna måttsättas oberoende av vilken position de har i modellen. Mått kopplade till komponenter måste även kunna döljas om komponenten inte används eller om den inte befinner sig på väggen måttsättningen tillhör. Detta medför att variabler krävs för att styra koordinaterna och statusen för varje komponent, för varje vägg och för mått från höger eller vänster (se figur 31). Alla variablerna skapade för måtten kopplas sedan samman med motsvarande mått på ritningen i SolidWorks. 41 Figur 32: Basen för positionering av mått på ritningarna Beräkningarna för dimensionernas positioner har sin bas i variablerna som bestämmer vilka koordinater som ritningsvyn ska ha på ritningen. Utifrån dessa beräknas sedan avstånden till ytterkanterna för golvet (se figur 32). Figur 33: Måttsättnings avstånd på ritningarna För att flera mått ska kunna placeras utmed samma kant på golvet utan att överlappa varandra så läggs ett bestämt avstånd till måttens positionsvariabler. Detta värde skapas utifrån produkten av ett fast värde och måttens prioritering i förhållande till de andra (se figur 33). 42 Tabell 9: Komponenternas dimensionsprioritering Komponent Prioritering Avlopp 1 Dusch 2 WC 3 Tvättställ 4 Dörr 5 Golv 6 För att få ut vilken prioritering för måttsättningen en viss komponent har på en viss del av ritningen används fasta värden för prioriteringen (se tabell 9) som jämförs mot de värden som andra komponenter har på samma del av ritningen. Detta utförs med användandet av villkorsstyrda constraints och värdet som fås används sedan i beräkningarna för positionen av måtten för att bestämma avståndet ut från kanten. Figur 34: Exempel på beräkning för position av mått Den slutgiltiga positionen av ett mått fås utav en beräkning som baseras på vilken vägg komponenten är på, vilket avstånd komponenten har, vilka dimensioner golvet har, vilken prioritet måttet har samt vilken position vyn har. Dessa parametrar kombineras ihop tillsammans med skalan för ritningen och beräknas med hjälp utav constraints (se figur 34). Beräkningarna för måttens positioner skiljer sig mellan de olika golvtyperna och vilken position komponenten har men grundkonceptet för beräkningen är lika. 43 Eftersom alla mått är skapade på ritningen redan i förhand så måste synligheten av dessa styras så att mått som hanterar komponenterna på andra positioner än vad de har inte syns. Detta görs via constraints som skapar villkor för synligheten baserade på variablerna för komponenternas status, position samt avståndsriktning. Positioneringen utav måttsättningen kan även utföras genom att analysera de positioner som måtten får och se sambandet mellan de mått som delar x- eller ykoordinater. Detta innebär att färre beräkningar behöver utföras eftersom vissa kan kombineras ihop men lösningen ovan används eftersom det skapar en tydlig struktur som är enklare att följa då alla mått har sina egna koordinat-beräkningar och är fristående från varandra. 5.7.3 Analys Ett av de mest resurskrävande stegen i utvecklingen utav konfiguratorn handlar om att skapa den automatiska måttsättningen utav ritningarna. Detta medför att en stor mängd data ska samspela för att positionera var och en av måtten på ritningen. Under utvecklingen gjordes valet att skapa alla mått individuellt på ritningen trots att vissa mått hade kunnat återanvändas. Detta val gjordes för att försöka skapa tydlighet i modelluppbyggnaden. Problemet med måttsättningen handlar dock mycket om den mängd av mått som måste skapas med tillhörande parametrar och regler. Ett exempel på detta är måttsättningen av komponenten tvättställ som behöver totalt 26 möjliga måttsättningar med tillhörande 76 parametrar för styrningen av dessa. Försök gjordes för att utveckla alternativa metoder som innebär att färre resurser behövdes för den automatiska måttsättningen men på grund av programmens begränsningar så hittades inga relevanta alternativ. Den andra problembilden som upptäcktes med den automatiska måttsättningen handlade om att försöka utveckla metoder som innebär att mått inte skulle överlappa med varandra. Lösningen blev en variant där varje mått får en prioritetsparameter som berättar för konfiguratorn vilket mått som ska hamna närmast kanten på golvet. Detta har visat sig vara en relativt grov lösning som inte alltid ger den perfekta placeringen av måtten men den fungerar i de flesta fallen och trots försök så har inga alternativa lösningar hittats. 44 5.8 Användargränssnittet Figur 35: Översikt användargränssnittet Gränssnittet för slutanvändaren av konfiguratorn delas upp i fyra steg av inställningar; golv, komponenter, fall och ritning. Dessa steg innehåller grupperingar av alla de inställningar som går att utföra (se figur 35). I de första av stegen så får användaren möjlighet att påbörja sin utformning genom att välja vilken layout badrumsgolvet ska ha utifrån de tre typer som konfiguratorn innehåller. Tillsammans med detta så presenteras de aktuella dimensioner som kan ändras för den valda layouten och de övriga ska ligga dolda i bakgrunden och ska inte kunna ändras av användaren. Vid följande steg så ska grupper av inställningar presenteras för användaren där varje grupp representerar en komponent motsvarande de komponenter som finns tillgängliga i konfiguratorn. Under varje grupp så skapas möjlighet för användaren att välja huruvida komponenten ska användas eller inte följt av möjligheten att ändra dess position tillsammans med eventuella övriga inställningar. När en komponent inte används ska de andra inställningarna som kan göras vara dolda. Dessa blir synliga så fort användaren ändrar status på komponenten. I det tredje steget skapas möjligheten att ändra vilket fall badrumsgolvet ska ha i de olika segmenten; duschen och övriga ytan. Detta genom att presentera valbara värden tagna från de tabeller som skapades för fallen i konfiguratorn. Tillsammans med dessa så skapas även en grupp där en förhandsgranskning utav badrumsgolvets tjocklek visas i de positioner som kommer att få en annotation på ritningen. Det sista steget ska innehålla inställningsmöjligheter för alla de fält som går att fylla i på ritningsblanketten. 45 5.8.1 Analys Användargränssnittets upplägg valdes att utformas i enlighet med modelluppbyggnaden där den delades upp i flera olika steg baserat på de nyckelfunktioner som konfiguratorn innehåller. En alternativ utformning hade varit att istället endast ha ett steg och dela upp inställningarna i olika delgrupper men valet gjordes för att skapa en tydlig uppdelning och minska på informationen som visas i varje delsteg. 46 6 RESULTAT 6.1 Konfigurator Figur 36: Första steget i konfiguratorn med inställningar för golvet Tabell 10: Inställningar i konfiguratorns första steg Inställning Domän Golvtyp Rektangel, vinkel, kapad Längd [1, 2] mm Bredd [1, 2] mm Vid uppstart av konfiguratorn möts man utav inställningspanelen för golvet (se figur 36). Här får man möjlighet att välja vilken utformning golvet ska ha samt vilka dimensioner denna ska ha (se tabell 10). 47 Figur 37: Andra steget i konfiguratorn med uppställningen av komponenterna Under det andra steget i konfiguratorn får användaren möjlighet att bestämma vilka komponenter som ska användas i modellen tillsammans med inställningarna för dessa (se figur 37). De komponenter som går att välja mellan är: ο· ο· ο· ο· ο· ο· ο· ο· ο· 48 Dörr Dusch Handfat Handfat (tillgänglighet) WC WC (tillgänglighet) Tvättmaskin Torktumlare Avlopp Figur 38: Andra steget i konfiguratorn med inställningar för komponenterna Tabell 11: Inställningar för komponenter i konfiguratorn Inställning Domän Använd Ja, Nej Position Vägg 1, Vägg 2, Vägg 3, Vägg 4, (Vägg 5) Ritkning Från vänster, från höger Avstånd mm Bredd [dörr, dusch] mm Öppning [dörr] Vänster, höger Avstånd till vägg [avlopp] mm Under varje valbar komponent i det andra steget så finns inställningar för position, avstånd och avståndsriktning. Vissa av komponenterna har dessutom utökade inställningsmöjligheter. (se tabell 11) 49 Figur 39: Tredje steget i konfiguratorn med inställningar för fall Tabell 12: Inställningar för fallet Inställning Domän Fall, golv 1:100, 1:150, 1:200, 1:250, 1:300, 1:350, 1:400, 1:450, 1:500 Fall, dusch 1:50, 1:60, 1:70, 1:80, 1:90, 1:100, 1:110, 1:120, 1:130, 1:140, 1:150 När inställningarna för komponenterna är gjorda fortsätter man till det tredje steget i konfiguratorn (se figur 39). Här finns inställningar för fallet (se tabell 12) och även en förhandsgranskning för golvets tjocklekar. 50 Figur 40: Fjärde steget i konfiguratorn med inställningar för ritningen Inställningar för ritningen finns under det fjärde steget (se figur 40) och inkluderar: ο· ο· ο· ο· ο· ο· ο· ο· ο· ο· ο· ο· Skala A-Konsult Projektnummer Ritad/konstr. Av Handläggare Datum Ansvarig Nummer Beteckning Projektnamn Ritningsnamn Status 51 Figur 41: Uppdatering utav modellen i konfiguratorn När användaren utfört alla önskade inställningar för badrummet måste användaren av konfiguratorn uppdatera ritningarna via Update Manager (se figur 41). 52 Figur 42: Ritning producerad av konfiguratorn När ritningarna är uppdaterade kan användaren växla vyn i SolidWorks till att visa den färdiga ritningen (se figur 42) som ska vara producerad med fullständig måttsättning av golvet samt alla komponenter och ska ha annotation utav avlopp samt korrekt beräknade tjocklekar på golvet enligt det fall som användaren valt. Tabell 13: Statistik från konfiguratorn Typ Antal SolidWorks Assembly 13 SolidWorks Part 13 SolidWorks Mate 261 TactonWorks Component 43 TactonWorks Attribute 1628 TactonWorks Constraint 1825 TactonWorks Table 7 TactonWorks Domain 2 TactonWorks UI Field 194 53 Golvtypernas andel i konfiguratorns datamängd Måttsättningarnas andel i konfiguratorns datamängd Rectangle 31% Other 42% Cut 38% Dimensions 58% Angle 31% Rectangle Angle Cut Dimensions Other Figur 43: Uppdelningen av datamängden på golvtyper respektive måttsättning 6.2 Prestandatest Prestandatestet resulterade i att 12 olika utformningar utfördes i respektive metod och mjukvara för att producera referenstiderna (se tabell 14) för jämförelsen tillsammans med referensritningar för att validera ritningarna producerade i konfiguratorn mot de som är skapade för hand (se bilaga 3, 4 och 5). Tabell 14: Tidsmätning från prestandatestet # Konfigurator Revit AutoCAD 1 2 min 58 sek 12 min 20 sek 15 min 56 sek 2 2 min 44 sek 12 min 18 sek 16 min 30 sek 3 4 min 00 sek 15 min 23 sek 17 min 21 sek 4 3 min 56 sek 12 min 51 sek 17 min 45 sek 5 4 min 01 sek 13 min 02 sek 17 min 29 sek 6 4 min 25 sek 16 min 45 sek 18 min 10 sek 7 3 min 10 sek 12 min 39 sek 15 min 57 sek 8 3 min 12 sek 12 min 58 sek 16 min 33 sek 9 3 min 30 sek 15 min 18 sek 17 min 33 sek 10 4 min 40 sek 15 min 53 sek 18 min 40 sek 11 4 min 39 sek 16 min 10 sek 18 min 57 sek 12 4 min 49 sek 16 min 37 sek 19 min 32 min Tabell 15: Medelvärden från tidsmätningen i prestandatestet 54 Metod Tid Konfigurator 3 min 50 sek Revit 14 min 16 sek AutoCAD 17 min 32 sek Tabell 16: Utvecklingstider för applikationerna Applikation Tid Konfigurator 160 tim Tabell 17: Återbetalning för de olika mjukvarorna jämfört med konfiguratorn Applikationer Antal utformningar Konfigurator mot Revit 920 Konfigurator mot AutoCAD 701 Återbetalningstid (160 timmar utvecklingstid) 2000 1800 Antal utformningar 1600 1400 1200 1000 800 600 400 200 0 0 10 20 30 40 50 60 70 80 90 100 110 120 Tidsbesparing per utformning [minuter] AutoCAD Revit Figur 44: Graf över återbetalningstiden baserat på tidsbeparing per utformning 55 7 SLUTSATS Går det att utveckla en konfigurator för prefabricerade badrumsgolv som följer de krav som finns? Fallstudien som är gjord visar att utvecklingen av en konfigurator som kan användas för att utforma en rad olika badrumsgolv är fullt möjlig. Studien visar även att konfiguratorn går att utvecklas på ett sådant vis att produkten som användaren får ut är en fullt måttsatt och annoterad ritning som inte behöver justeras manuellt. Är utvecklingen av en konfigurator för prefabricerade badrumsgolv lönsam jämfört med traditionella metoder för framtagning av ritningar? Undersökningen visar att återbetalningen för konfiguratorn jämfört med att utföra samma utformningar i Revit är 920 stycken olika utformningar. Samma jämförelse men mot AutoCAD visar på en återbetalning efter 701 stycken utformningar. Prestandamätningarna visar att den långa utvecklingstiden kombinerat med den relativt korta tiden det tar att rita upp ett badrumsgolv i CAD-programmen Revit samt AutoCAD leder till att lönsamheten hos konfiguratorn som produkt kan tolkas som låg i dessa fall. 56 8 DISKUSSION 8.1 Utvecklingsmetoden Resultatet av studien visar att, med de valda metoderna, så går det att utveckla en konfigurator för badrumsgolv som klart utför uppgiften i hand och med en modulär uppbyggnad så finns goda möjligheter för expansion och vidareutveckling för att implementera flera funktioner. Det som dock kan ifrågasättas i utvecklingen är den valda metodiken. Vid utvecklingen av en produkt som denna så finns det flera vägar att gå och eftersom endast en variant utvecklades så kan ingen slutsats från studien dras om huruvida den valda metoden var rätt väg att ta. Alternativa metoder kan eventuellt erbjuda snabbare utvecklingstider och andra funktionsmöjligheter. 8.2 Prestandamätningen De siffror som prestandamätningen visar är att återbetalningstiden, mätt i antalet utformningar, handlar om värden i storlekarna 920 stycken respektive 701 stycken. Ser man till konfiguratorn som en produkt kan detta tolkas som relativt många utformningar innan man når en lönsamhet men fler aspekter måste tas i hänsyn. Själva utförandet utav prestandatestet innebär att en relativt liten urvalsstorlek har använts i form utav 12 olika utformningar. Denna urvalsstorlek innebär att medelvärdet för tidsåtgången kan vara en felkälla eftersom underlaget inte är stort nog för att ge ett värde med låg varians. En annan felkälla i själva utförandet består i användaren utav mjukvarorna. I denna studie så är siffrorna bestämda utifrån att författaren av studien har utfört alla utformningar där denna är väl bekant inom ämnesområdet och programvarorna. Detta medför att de tider som presenterats mycket möjligt kan vara lägre jämfört med om tiderna hade tagits från en extern källa. Studien har inte heller upp eventuella övriga tidsbesparingar som kan finnas inom utformningen utav badrumsgolv utan tar endast upp den råa tidsbesparingen i användandet av de olika mjukvarorna. Trots att siffrorna ger en konkret bild över hur återbetalningstiden kan se ut så ger grafen över återbetalningstiden (se figur 44) en mer realistisk bild över detta. I denna graf så ser man att även väldigt små variationer i tidsbesparing per utformning kan ge stora skillnader i storleksordningen som återbetalningstiden finns inom. 8.3 Problemområden Med insikt i utvecklingen av konfiguratorn så ser man att tidsåtgången beror starkt av den stora mängd data som ska hanteras i form av 1628 variabler och 1825 villkor kopplade till dessa. Eftersom mjukvaran inte tillåter direkt iteration utav data så 57 måste alla dessa variabler och villkor manuellt skapas vilket kräver stora mängder tid vilket i sin tur minskar lönsamheten. Om möjligheten hade funnits att skapa bättre, mer flexibla, sammanhang mellan olika variabler och funktioner så hade utvecklingstiden förkortats. Detta leder till den möjliga felkällan som är valet utav mjukvara. Studien är baserad strikt kring användandet utav SolidWorks tillsammans med tillägget TactonWorks och därför ska resultatet inte ses som generellt för alla andra mjukvaror där resultatet hade kunnat bli ett annat. Analysen utav datamängden visar även hur lösningsrymden påverkar utvecklingstiden. Kollar vi på golvtyperna så upptar dom ungefär en tredjedel av datamängden (se figur 43) var och där måste man ställa frågan om vi verkligen behöver alla tre golvtyper. Ser vi även på den automatiska måttsättningen så upptar den över hälften av datamängden (se figur 43). Vad detta innebär är att det resultat som studien visar på bör kopplas starkt till den lösningsrymd som har implementerats. Att exempelvis välja att utveckla en konfigurator som endast hanterar en utav golvtyperna innebär att vi kan eliminera två tredjedelar utav datamängden och därav även en stor del utav utvecklingstiden. 8.4 Vidare studier Med ovanstående i åtanke och slutsatsen i hand att det går att skapa en konfigurator för badrumsgolv så kan vidare studier göras som undersöker möjligheterna för parametrisering av badrumsgolv i andra mjukvaror eller med andra metoder. Dessa studier kan påvisa dels om det finns andra metoder som ger bättre resultat i form av tekniken och effektiviteten men kan även ligga som grund för vidare studier om val utav mjukvara vid parametrisering och konfiguratorer i allmänhet. 58 REFERENSER Aldanondo et al. (2000). General configurator requirements and modeling elements. Proc. Workshop on Configuration, ECAI 2000, pp. 1-6. BBR (2008). Regelsamling för byggande, BBR 2008. Boverket. ISBN 978-9186045-02-9. GVK (2011). Säkra våtrum. AB Svensk Våtrumskontroll, GVK. Hvam, L. et al. (2008). Product Customization. Springer-Verlag Berlin Heidelberg. ISBN 978-3-540-71448-4. Jensen, P. (2010). Configuration of modularised building systems. Division of Architechture and Infrastructure. Luleå University of Technology. ISBN 978-917439-108-4. Jiao, J. et al. (2007). Product family design and platform-based product development: a state-of-the-art review. Springer Science+Business Media. Lessing, J. et al. (2005). Industrialised Housing: Definition and categorization of the concept. Proceedings IGLC-13, 13th Annual Conference of the International Group for Lean Construction, Sydney, Australia, 2005. Malmgren, L. et al. (2010) Product modelling of configurable building systems: A case study. Journal of Information Technology in Construction (ITcon), Vol. 15, pg. 354-368. Meyer, M.H. & Lehnerd, A.P. (1997). The power of product platforms: building value and cost leadership. New York: Free Press. ISBN 0-684-82580-5. SS 91 42 21 (2006). Byggnadsutformning β Bostäder β Invändiga mått. Swedish Standards Institute (SIS). Ulrich, K. (1995). The role of product architecture in the manufacturing firm. Massachusetts Institute of Technology. Research Policy 24, 419-440. 59 BILAGOR Bilaga 1: Utformningsexempel 1-6 för prestandatest Bilaga 2: Utformningsexempel 7-12 för prestandatest Bilaga 3: Utformningsexempel 4, Revit Bilaga 4: Utformningsexempel 4, AutoCAD Bilaga 5: Utformningsexempel 4, Konfigurator 60 Bi l aga1 Bi l aga2 Bi l aga3 Bi l aga4 Bi l aga5
© Copyright 2024