EXAMENSARBETE. Parametrisering av badrumsgolv. Jani Mukkavaara 2015. Civilingenjörsexamen Arkitektur



Relevanta dokument
Nina Pikulik, Tyréns Konfigurationssystem för en teknisk plattform. Konfigurationsprocess istället för traditionell projektering

Förstudie om konfigurerbar modulariserad plattbro. Per-Ola Ekström Tyréns

Tentamen. 2D4135 vt 2004 Objektorienterad programmering, design och analys med Java Torsdagen den 3 juni 2004 kl

Konfigurerbar modulariserad plattbro. Patrik Jensen Tyréns/LTU

NYHETER I INVENTOR 2012

Innehållsförteckning 2 IKOT

Kompetenscenter. Lean Wood Engineering

Checklista 1 för detaljer Projektnamn: Datum: Detaljnummer:

Från projektering till konfigurering. produktplattformar inom anläggningsbyggande TYRÉNS 2016

Träff 1 Skissa & Extrudera

Programmering = modellering

Tio Smarta POINT s. Varför skaffa POINT smart Ark+! Smarta användare nyttjar smarta applikationer.

Grundritning Platta på mark

7. Konstruera Koncept

Innehåll. Förord 10 1 Inledning 12

Introduktion Fillet Success Camera View Settings Self Intersecting Sweeps...

Institutionen för matematik och datavetenskap Karlstads universitet. GeoGebra. ett digitalt verktyg för framtidens matematikundervisning

7.1.1 Modulindelning. Delsystem: Pneumatiskt system. Elmotor för rotation. Axel. Lager. Chuck. Ram. Kylsystem. Sensorer

Rumsuppfattning är förmågan att behandla sinnesintryck av former

EXAMENSARBETE. Koppling mellan ritning och modell. AutoCAD Architecture Mattias Korpela. Högskoleexamen Samhällsbyggnad

7. Konstruera konceptet

Grundritning Torpargrund

Kapitel 17 Delritning... 3

Essä Min syn på modulariseringstänkande i PU-processen

Skapa systemarkitektur

Laboration 1: Figurer i hierarki

RubberShell Självhäftande gummiduk

Innehåll. Förord 10 1 Inledning 12

CAD, GRUND. Topocad CAD, grundkurs. Adtollo Academy Topocad grundkurs i CAD

Designmönster, introduktion. Vad är det? Varför skall man använda mönster?

Konfigurationssystem för tekniska plattformar. Tyréns AB

Föreläsning 5-6 Innehåll. Exempel på program med objekt. Exempel: kvadratobjekt. Objekt. Skapa och använda objekt Skriva egna klasser

Handbok i BIM-projektering

Företagspresentation

Föreläsning 5-6 Innehåll

Det nya byggandet såser det ut!

APPLIKATIONSUTVECKLING TILL 3D CAD

EXAMENSARBETE. Jämförelse mellan Revit och Tekla. Framtagning av tillverkningsritningar. Petter Bergström Högskoleexamen Samhällsbyggnad

DFA2 Design For Assembly

Tentamen i Objektorienterad modellering och design Helsingborg

SIK Smart Industri Kalmar län

INSTÄLLNINGAR FÖR IRONCADS 2D-RITNING

BIM som stöd i produktionssystem

Undersökande arbetssätt i matematik 1 och 2

Mjukvarudesign. Designprocessen. Teknisk design. Konceptuell design

DFA Design For Assembly

since 1870 Duschsystem för seniorer

Förord...6 Författare...7 WITU AB...7 Bokens upplägg...8 Målsättning...8. Revit Architecture...9

Tentamen ID1004 Objektorienterad programmering October 29, 2013

PRODUKTUTVECKLING 3. CAD & 3D-ritning. Erik Almers

Konfigurationssystem för en teknisk plattform

Classes och Interfaces, Objects och References, Initialization

2I1049 Föreläsning 5. Objektorientering. Objektorientering. Klasserna ordnas i en hierarki som motsvarar deras inbördes ordning

Visualisering och ritningsframställning

Grundritning Torpargrund

Vinjetter TDDC91 Datastrukturer och algoritmer

VÅTRUMSPRODUKTER VÅTRUMSPRODUKTER

Helt enkelt rent. Geberit designbrunnar.

NYHETER I INVENTOR 2012

Samtidig utvärdering av form- & lägekrav

Undersökning av hjulupphängning och styrning till ett fyrhjuligt skotarkoncept. Emil Larsson

ARKITEKTONISKA OBJEKT I INDUSTRIELLT BOSTADSBYGGANDE

ARKITEKTPROVET 2013 DAG 1. 1: LINJE & VECK [ENKELHET, UNDERSÖKNING] [1H]


Objektshantering i AutoCad Architecture Johan Jönsson

Bemästra verktyget TriBall

Tentamen i Objektorienterad modellering och design

Bemästra verktyget TriBall

customized Perfection HighLine

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

Gränsdragning. för Probads badrumsmoduler.

FRÅN FORSKNING TILL AFFÄRSIDÉ

Classes och Interfaces, Objects och References Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016

LATHUND REVIT/RHINO WORKSHOP

Kapitel 4 Tak Tak Kapitel 4

Sommarstugan Övningar för CAD2

En ny funktionellmodell som motsvarar det valda konceptet flytbojen, har skapats för att kunna dela in konceptet i moduler, se figur 1.

Kapitel 7 Skorsten, trappa och inredning... 3

PMM (Process Maturity Metrics) Allmänt. Mätetal för framgångsfaktorer. 1. CM konfigurationsstyrning

Kök i rostfritt stål. Purus - specialisten på skräddarsydda diskbänkar.

EXAMENSARBETE. Parametrisering av cirkulationsplats typ D. Erik Smiding. Civilingenjörsexamen Arkitektur

DEN KOMPLETTA PROGRAMVARAN FÖR DESIGN OCH TILLVERKNING AV TRÄTRAPPOR PROGRAMVARA FÖR DESIGN OCH TILLVERKNING AV TRÄTRAPPOR LÄTT ATT ANVÄNDA

Grafiska pipelinen. Edvin Fischer

lindab comfort Step by step manual till DIMcomfort 4.0

magazine Höstens tema: BIM Stunden alla har väntat på: Lanseringen av Topocad 16 BIM i fokus när järnväg projekteras HÖST 2015

Medieteknologi Webbprogrammering och databaser MEB725, 5p (7,5 ECTS) Klientprogrammering JavaScript Program på flera sidor

Överföring av Data, Heikki Halttula Vianova Systems Finland Oy Finland

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

INNEHÅLL NYHETER I INVENTOR STARTA, SPARA OCH AVSLUTA...37

i LabVIEW. Några programmeringstekniska grundbegrepp

Huvudfunktioner Arbetet i DEROB-LTH är grupperat i sju huvudfunktioner: File, Project, Case, Library, Model, Simulation och Results.

Föreläsning 8 - del 2: Objektorienterad programmering - avancerat

Utvärdering av Revit Architecture

ANVÄNDARMANUAL REVIT LT PLUS

Fönster och dörr. Kapitel 3 - Fönster och dörr... 3

CADS Data- Manager. Användarhandbok. CAD Studion AB

Helt enkelt rent. Geberit designbrunnar.

Sanitarne celice. VARIS Prefabricerade badrumsenheter

Instruktioner för Malmö stad serviceförvaltningen stadsfastigheter

Arrayer. results

Transkript:

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 Inledning... 6 1.1 Bakgrund... 6 1.2 Syfte och mål... 6 1.3 Frågeställningar... 7 1.4 Avgränsningar... 7 2 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 3 Teori... 14 3.1 Mass-kundanpassning... 14 3.2 Produktarkitektur... 14 3.3 Modulär arkitektur... 16 3.4 Konfigurationssystem... 17 4 Datorverktyg... 18 4.1 SolidWorks... 18 4.1.1 Sketch... 18 4.1.2 Part... 19 4.1.3 Assembly... 19 4.1.4 Drawing... 20 4.2 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 5 Utveckling av konfigurator... 26 5.1 Krav för badrumsgolv... 26 5.1.1 Fall mot golvbrunn... 26 4

5.1.2 Golvets dimensioner... 26 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 Analys... 30 5.4 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 Analys... 39 5.7 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 Analys... 46 6 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 t utv,konf n = t CAD t konf där n är antalet utformningar som krävs, t utv,konf är utvecklingstiden för konfiguratorn, t CAD är snittiden för att göra en utformning i Revit respektive AutoCAD och t konf ä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 Golvtyp Värden 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) Position, måttsättning Position, annotering Fall, dusch Fall, övriga utrymmen Fält på ritningen Mått i mm Koordinater på ritningen Koordinater på ritningen mm/m mm/m 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 Rektangel Vinkel Kapad WC Tvättställ WC (tillgänglig) Tvättställ (tillgänglig) Dusch Dörr Tvättmaskin Torktumlare Avlopp, för tvättmaskin Typ Golv Golv Golv Komponent Komponent Komponent Komponent Komponent Komponent Komponent Komponent 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