62
EXAMENSARBETE 2006:351 CIV OSKAR NILSSON ERIK BERGSTRÖM Makro- och parameterstyrning av CAD-modeller i SolidWorks CIVILINGENJÖRSPROGRAMMET Maskinteknik Luleå tekniska universitet Institutionen för Tillämpad fysik, maskin- och materialteknik Avdelningen för Datorstödd maskinkonstruktion 2006:351 CIV • ISSN: 1402 - 1617 • ISRN: LTU - EX - - 06/351 - - SE

Makro- och parameterstyrning av CAD-modeller i SolidWorks

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Makro- och parameterstyrning av CAD-modeller i SolidWorks

EXAMENSARBETE2006:351 CIV

OSKAR NILSSONERIK BERGSTRÖM

Makro- och parameterstyrningav CAD-modeller i SolidWorks

CIVILINGENJÖRSPROGRAMMETMaskinteknik

Luleå tekniska universitetInstitutionen för Tillämpad fysik, maskin- och materialteknik

Avdelningen för Datorstödd maskinkonstruktion

2006:351 CIV • ISSN: 1402 - 1617 • ISRN: LTU - EX - - 06/351 - - SE

Page 2: Makro- och parameterstyrning av CAD-modeller i SolidWorks

Förord Detta examensarbete har genomförts vid Institutionen för tillämpad fysik-, maskin- och materialteknik avdelningen för datorstödd maskinkonstruktion vid Luleå Tekniska Universitet. Arbetet omfattar 20p och sträckte sig mellan juni till december 2006. Examensarbetet har utförts av oss, Oskar Nilsson och Erik Bergström på och för Svalson AB i Öjebyn. Initiativtagare till detta arbete var Svalson AB vilka vi fick kontakt med via en annons på Internet. Vi vill tacka ett antal personer vilka har varit till stor hjälp för oss inom olika skeden av examensarbetets gång. Först av allt vill vi tacka vår handledare på Svalson AB Linus Svensson och vår examinator vid LTU Peter Jeppsson vilka varit oss till stor hjälp genom hela arbetet. Vi vill även speciellt tacka Ronny Andersson och Jan Forsberg, konstruktörer på Svalson AB vilka bistått oss med ritningar och fakta om luckorna. All övrig personal på Svalson AB förtjänar också ett stort tack för att de ställt upp med hjälp och vägledning när vi kommit med frågor, utan dem hade inte detta arbete varit möjligt. Även Jens Wennerstén och Arash Moini på MP Engineering AB i Skellefteå vill vi tacka för god support och för att de har bistått oss genom både en kurs i SolidWorks och utlånande av studiematerial. Sist men inte minst vill vi tacka personerna på SolidWorks API-support för programmeringsteknisk hjälp beträffande makron. Vi har fått snabba och utförliga svar på nästan alla problem vi stött på och frågat om. Luleå, december 2006

Oskar Nilsson Erik Bergström

Page 3: Makro- och parameterstyrning av CAD-modeller i SolidWorks

Sammanfattning Syftet med detta examensarbete var att införa 3D-CAD och optimera konstruktionsprocessen på Svalson AB. Vi har skapat CAD-modeller för två av företagets produkter, modeller som automatiserats genom makrostyrning och gjorts lättare att modifiera med hjälp av parameterisering. För att uppnå en optimering av konstruktionsprocessen och vinna framförallt tid har makrostyrning och parameterisering av modellerna använts. Arbetet har resulterat i CAD-modeller av två produkter varav den första helt styrs med ett av oss egenutvecklat makro som kan användas utan någon som helst CAD-kunskap. Detta frigör viktig tid för konstruktören då säljaren själv kan skapa en komplett CAD-modell som underlag för produktion. Arbetet har även resulterat i en helt parameteriserad CAD-modell av ytterliggare en produkt vilken det i ursprungsläget inte fanns något komplett ritningsunderlag för. Denna modell är tänkt att bli en bra grund för konstruktören som sedan enkelt tack vare smarta lösningar och parameterisering kan modifiera modellen precis enligt de krav kunden ställer. Vi anser att vi mycket väl uppfyllt de mål vi i början ställde upp tillsammans med Svalson AB och hoppas att vårt examensarbete kommer att bli till stor nytta och inspirera till fortsatt optimeringsarbete av konstruktionsprocessen med hjälp av 3D-CAD.

Page 4: Makro- och parameterstyrning av CAD-modeller i SolidWorks

Abstract The purpose of this master’s project was to introduce 3D-CAD and optimize the design process at Svalson AB. We have created CAD models for two of the company’s products, they have been automized by macro control and simplified by parametrization. To achieve an optimization of the design process and gain time, macro control and parametrization of the models have been used. The work has resulted in a CAD model of a product which is completely controlled by a macro. The macro is developed by us and can be used without any previous CAD experience. By using the macro, a sales person will be able to make CAD models without consulting the engineering department. This will save valuable time for the designers. The project has also resulted in a completely parameterized CAD model of another product which in the present lacks a complete drawing material. The purpose of the model is to serve as a foundation for the designer who, due to smart solutions and parameterized models, easily can modify it, meeting the customers demand. We consider that we’ve fullfilled the goals and demands which we stated during the beginning of the project and hope that our master’s project will be of great use and inspire to continued work of optimizing the design process with 3D-CAD.

Page 5: Makro- och parameterstyrning av CAD-modeller i SolidWorks

Innehållsförteckning 1. Bakgrund ................................................................................................................................ 6

1.1 Verksamhetsbeskrivning .................................................................................................. 6 1.2 Uppgiftsbeskrivning ......................................................................................................... 6 1.3 Syfte ................................................................................................................................. 6 1.4 Mål ................................................................................................................................... 6 1.5 Produktinformation .......................................................................................................... 7

1.5.1 Café au Lä ................................................................................................................. 7 1.5.2 SV 80......................................................................................................................... 8

2. Avgränsningar ........................................................................................................................ 9 3. Analys................................................................................................................................... 10

3.1 Problemanalys Lä-makro ............................................................................................... 10 3.2 Problemanalys SV-modell.............................................................................................. 12 3.3 Uppgiftsanalys Lä-makro............................................................................................... 13

3.3.1 Mål – Lä-makro....................................................................................................... 13 3.3.2 Kravspecifikation – Lä-makro ................................................................................ 13 3.3.3 Användbarhetskrav – Lä-makro.............................................................................. 14

3.4 Uppgiftsanalys SV-modell ............................................................................................. 15 3.4.1 Mål SV-modell ........................................................................................................ 15 3.4.2 Kravspecifikation SV-modell.................................................................................. 15

4. Metod ................................................................................................................................... 16 5. Begreppsförklaringar och genomgång av SolidWorks ........................................................ 16

5.1 Makro ............................................................................................................................. 16 5.2 API ................................................................................................................................. 17 5.3 VBA ............................................................................................................................... 17 5.4 PDM-system................................................................................................................... 17 5.5 Referenser....................................................................................................................... 18 5.6 SolidWorks..................................................................................................................... 19

6. Resultat................................................................................................................................. 21 6.1 Café au Lä ...................................................................................................................... 21

6.1.1 Makrostruktur.......................................................................................................... 21 6.1.2 Hur makrot bygger upp CAD-modellen.................................................................. 23 6.1.3 Uppbyggnaden av källfiler ...................................................................................... 25

6.2 SV................................................................................................................................... 27 6.3 Dimensionering av motvikter SV................................................................................... 29 6.4 Standardbibliotek ........................................................................................................... 30

6.4.1 Design library.......................................................................................................... 30 6.4.2 Weldment-profiler ................................................................................................... 30

7. Slutsatser .............................................................................................................................. 31 7.1 Sketchstyrning................................................................................................................ 31 7.2 Referenser....................................................................................................................... 31 7.3 Källfiler .......................................................................................................................... 31 7.4 Tidsbesparing ................................................................................................................. 32

7.4.1 Förenkling av Café au Lä-modell............................................................................ 32 7.4.2 Orderflöde ............................................................................................................... 32 7.4.3 2D vs 3D.................................................................................................................. 32

8. Rekommendationer .............................................................................................................. 33 9. Diskussion ............................................................................................................................ 34

9.1 Följning av tidsplan och kravspecifikation .................................................................... 34

Page 6: Makro- och parameterstyrning av CAD-modeller i SolidWorks

9.2 Möjliga påbyggnader...................................................................................................... 34 9.3 Alternativa metoder........................................................................................................ 35

9.3.1 Café au Lä ............................................................................................................... 35 9.3.2 SV............................................................................................................................ 35

10. Litteraturförteckning och källor ......................................................................................... 36 10.1 Böcker .......................................................................................................................... 36 10.2 Kursmaterial ................................................................................................................. 36 10.3 URL.............................................................................................................................. 36 10.4 Rapporter...................................................................................................................... 37

Bilagor Bilaga A - Användarmanual makro – Café au Lä Bilaga B - Kravdokument Bilaga C - Makrokod Bilaga D - Principskisser

Bilaga E - Bilder skapade av Lä–makrot

Page 7: Makro- och parameterstyrning av CAD-modeller i SolidWorks

1. Bakgrund I detta kapitel introduceras läsaren i uppgift, syfte och mål med detta examensarbete. Här ges även en kortare presentation av företaget och dess produkter. De två produkter som berörts mest under detta arbete beskrivs mer ingående.

1.1 Verksamhetsbeskrivning Svalson AB är ett mindre företag beläget i Öjebyn i Piteå kommun. Företaget tillverkar skjutluckor av ett flertal modeller såsom skottsäkra luckor, brandklassade luckor och luckor till uteserveringar. Luckorna finns både som motor- och manuellt styrda där de motorstyrda tillhör de vanligare. Några exempel på ställen där Svalsons skjutluckor kan hittas är apoteken i Luleå, alla SL:s vaktkurer i Stockholm och på en lyxkryssare i Karibien. Svalson AB grundades 1981 och har en omsättning på ca 30 MKr per år. De har idag 32 st anställda och kan beskrivas som ett familjeföretag. Företaget står idag för ca 90 % av den svenska marknaden och internationellt har de stora delar av marknaden. Kunderna finns i så gott som hela världen, från Europa till Australien och marknaden är ständigt växande. Exporten står idag för 40 % av försäljningen och de övriga 60 % finns här hemma i Sverige. All produktion sker i Öjebyn och idag finns inga planer på att flytta eller utöka produktionen till andra orter.

1.2 Uppgiftsbeskrivning Situationen idag Idag använder sig Svalson AB av AutoCAD LT som är en CAD-programvara för 2D-CAD. All CAD sker i 2D och sker helt manuellt av konstruktörerna utan automatiserade processer såsom makron etcetera. Detta betyder att en stor del av konstruktörens tid tas upp av att skapa CAD-modeller för varje enskild order och arbetet blir rutinmässigt. Detta är särskilt utmärkande på de lite enklare lucktyperna där ett försök att införa någon form av standard har påbörjats och de olika orderna ofta har stora likheter.

1.3 Syfte Syfte för Svalson AB Konstruktionsprocessen för måttanpassade standardprodukter ska tidsreduceras och frigöra konstruktörerna för nykonstruktion och specialanpassade produkter. Produktutvecklingskedjan ska förkortas för att främja större produktionsvolymer och nå en annan marknad än idag.

1.4 Mål Mål med arbetet

• Parameterisera och automatisera konstruktionsprocessen för produkten Café au Lä. • Skapa ett underlag för den fortsatta övergången till 3D-CAD.

6

Page 8: Makro- och parameterstyrning av CAD-modeller i SolidWorks

1.5 Produktinformation De två produkter som CAD-underlag skapats för inom ramen av detta examensarbete är den lite enklare luckan Café au Lä och den mer avancerade, motorstyrda luckan SV 80.

1.5.1 Café au Lä Café au Lä är en skjutlucka eller ett staket som i första hand är till för restauranger med uteserveringar. Staketet fungerar även som vindskydd med en höj- och sänkbar ruta. Luckan finns i fyra standardhöjder 800/1300, 900/1500, 1000/1700 och 1100/1900mm, där det större värdet är uppskjutet läge. Bredden kan varieras fritt från 1000mm upp till 2200mm. Luckmodellen är uppbyggd av två stycken glas, ett rörligt och ett fast, dessa är i sin tur innefattade i ramar av aluminium. Det skjutbara glaset är avlastat med en motvikt som gör att höjden på staketet är steglöst varierbar i de intervaller beskrivna ovan. Genom att koppla ihop flera luckor till längre sektioner kan hela altaner eller uteserveringar skyddas från vädrets makter och därigenom användas längre på säsongen. Det finns även andra applikationer där luckan kan användas. Ett exempel är som ljuddämpande väggar i ett kontorslandskap.

Figur 1.5.1 Café au Lä-luckor i Marstrand på västkusten.

7

Page 9: Makro- och parameterstyrning av CAD-modeller i SolidWorks

1.5.2 SV 80 SV-luckan är en vertikalgående stållucka där ramen kan tillverkas i vanligt eller rostfritt stål. Luckmodellen är i standardutförande elmotordriven där kraften går via linhjul till en lina som sitter fast förbunden med den rörliga glasramen och en motvikt. I varje lucka sitter två motvikter, två lagerbockar och två motorer. Luckan är ur säkerhetssynpunkt utrustad med intervallåsning och fallskydd. Intervallåsningen gör att luckan inte kan stannas av och skjutas upp av en obehörig person som försöker ta sig in, även om luckan inte är fullständigt stängd. Fallskyddet löser ut om linan skulle gå av och låser den nedåtgående rörelsen av den rörliga delen. Genom att ha ett fallskydd förhindras personskador vid linbrott. Glasalternativen som finns är lamellglas i 6 och 15mm tjocklek. Luckan finns med tre olika tätningsalternativ beroende på i vilken miljö den skall sitta, de alternativ som finns är inomhus-, utomhus- och brandtätad. Den brandtätade luckan är dock inte typgodkänd för installation i brandvägg.

Figur 1.5.2 SV-luckor på NK i Göteborg. De vanliga skyltfönstren har ersatts med motorstyrda luckor som enkelt kan öppnas för att göra caféet till en uteservering.

8

Page 10: Makro- och parameterstyrning av CAD-modeller i SolidWorks

2. Avgränsningar Examensarbetet är avgränsat till:

• två produkter varav en är en relativt enkel manuellt styrd lucka och den andra en mer avancerad motorstyrd lucka.

• att ej innehålla en koppling till Excel som nämndes i den ursprungliga

kravspecifikationen.

• att ej innefatta CAM-beredning.

• endast standardfall på Lä-luckan. Det finns fler fall, men dessa anses som specialfall.

9

Page 11: Makro- och parameterstyrning av CAD-modeller i SolidWorks

3. Analys För att automatisera framtagandet av ett orderspecifikt CAD-underlag till produkten Café au Lä har ett makro utvecklats. Makrot är en samling instruktioner som styr CAD-programvaran och skapar en CAD-modell av ordern utan att användaren behöver ha någon kunskap inom CAD. Detta makro benämns fortsättningsvis som Lä-makro eftersom det används för produkten Café au Lä. Till den mer avancerade motorstyrda luckan SV har en helt parameteriserad CAD-modell skapats för att underlätta konstruktörens arbete med att skapa en unik CAD-modell för varje order. Denna parameteriserade CAD-modell benämns som SV-modell fortsättningsvis.

3.1 Problemanalys Lä-makro Säljaren är den person som främst kommer att komma i kontakt med makrot. I nuläget består säljarens arbetsuppgifter till största delen av att sälja och marknadsföra Svalsons produkter. När en kund vill köpa Café au Lä-luckor kommer säljaren och kunden överens om vilka mått, lock och fötter som är mest lämpliga för att tillgodose kundens önskemål. Därefter vidarebefordras uppgifterna för den färdiga ordern till konstruktören vars uppgift är att skapa ett komplett CAD-underlag med ritningar som sedan skickas till kunden för bekräftelse. När kunden känner sig nöjd med ritningarna och bekräftat att allt stämmer matar säljaren in uppgifter om längd och bredd i ett egenutvecklat program i Microsoft Access. Detta program beräknar det korrekta antalet ingående detaljer och dess kaplängder. Programmet baseras på enkla ekvationer för att från de kända yttermåtten få fram rätt kaplängder och antal. Dessa utkast till kaplistor skickas sedan vidare till den produktionsansvarige som kontrollerar att värdena verkligen stämmer och kan beställa material och planera in ordern. Tanken med makrot är att korta ner vägen från kund till färdig produkt genom att reducera antalet steg i processen. Detta kommer att medföra att konstruktören inte behöver bli inblandad vid framtagandet av CAD-underlaget och kan ägna sig åt konstruktion och vidareutveckling av nya produkter. Säljaren har med det utarbetade makrot ett verktyg som skapar en komplett CAD-modell direkt från de data kunden och säljaren kommit överens om. Från denna modell skapas automatiskt ritningar och bilder som säljaren kan skicka till kunden för bekräftelse. Efter bekräftelse kan styckelistor med antal och rätt längder skapas med data direkt från modellen. På detta sätt kan säljaren snabbt ha ett färdigt underlag för produktion utan att några andra parter behöver blandas in vid framtagandet. Den produktionsansvariges arbete underlättas och reduceras till att enbart beställa erforderligt material och planera in ordern. I figur 3.1a nedan visas det nuvarande flödet för en order, figur 3.1b visar det tänkta orderflödet, där kap- och stycklistor är beroende av CAD-modellen samt att konstruktörens och den produktionsansvariges roller är mindre.

10

Page 12: Makro- och parameterstyrning av CAD-modeller i SolidWorks

Kund Konstruktör

Säljare

3 - Ritningsförslag

1 - Önskemål 2 - Ritningsdata

Produktionsansvarig

4 - Bekräftelse

6 - Preliminär kaplista

Tillverkning

Beräkningsprogram kaplistor

5 - Mått

7 - Arbetsorder

Figur 3.1a Nuvarande orderflöde Café au Lä.

11

Page 13: Makro- och parameterstyrning av CAD-modeller i SolidWorks

Kund Makro

Säljare

4 - Ritningsförslag och 3D-bilder

1 - Önskemål 2 - Ritningsdata

Tillverkning

5 - Bekräftelse

3 - CAD-modell, ritningsförslag, 3D-bilder, kap- och styckelistor

Produktionsansvarig

6 - Arbetsorder

Figur 3.1b Tänkt orderflöde med Lä-makrot.

3.2 Problemanalys SV-modell Konstruktören är den som idag är ansvarig för framtagandet av CAD-underlag till de luckor som ska produceras. Idag finns inget CAD-underlag eller ritningar på en komplett lucka av modellen SV. De ritningar som finns är mer generella och stor kunskap om luckornas funktion krävs för att produkten ska få ett tillfredställande slutresultat. Modellen kommer att utgöra en grund för att skapa ett komplett ritningsunderlag som underlättar för produktionspersonalen och möjliggör att bland annat inhyrd extrapersonal snabbt ska kunna sätta sig in i och förstå hur luckan ska konstrueras. Utöver detta kommer modellen även att vara ett bra hjälpmedel för vidareutveckling av ingående detaljer då CAD-modellen helt kommer att överensstämma med verkligheten och alla detaljer kommer att finnas med vilket inte är fallet är idag. Det är då enkelt att se till exempel var det är lämpligast att göra ett hål för kabelgenomföring och kontrollera så att kablarna inte tar i någonstans under luckans rörelse.

12

Page 14: Makro- och parameterstyrning av CAD-modeller i SolidWorks

3.3 Uppgiftsanalys Lä-makro Det är viktigt att innan arbetet påbörjas gå igenom de mål som ska uppnås med arbetet och vilka krav som ställs på i det här fallet makrot som skulle utvecklas. Detta för att underlätta skapandet av själva makrot och se till att slutresultatet verkligen blir det tänkta. Denna underrubrik handlar om just detta. Vilka mål som funnits med automatiseringen av framtagandet av CAD-underlag till produkten Café au Lä. Den ursprungliga kravspecifikationen på makrots funktioner gås även igenom och vilka användbarhetskrav som är önskade.

3.3.1 Mål – Lä-makro Målet med Lä-makrot är att skapa en automatisering av framtagandet av CAD-underlag till produkten Café au Lä. Automatiseringen ska vara av den grad att inga CAD-kunskaper förutsätts för att kunna skapa CAD-modellen. Detta för att uppnå en reducering av konstruktörens arbete vid framtagandet av CAD-underlaget och på så vis snabba upp processen från beställning till färdig produkt.

3.3.2 Kravspecifikation – Lä-makro Efter ett möte med berörd personal på Svalson AB fastställdes en del krav för makrots funktion. Makrot ska klara av att generera det som i figur 3.3.2b benämns som output efter att användaren matat in den information som anges som input i figur 3.3.2.a.

Input Antal luckor Kulör Bredd Höjd Höjdskillnad Vinkel Fot vänster Fot höger Lock vänster Lock höger Öppning Figur 3.3.2a tabell över input Antal luckor: Ska kunna varieras valfritt men ligger vanligtvis mellan 2-30st per order. Kulör: Fem olika RAL-fäger till att börja med. Bredd:

Ska kunna varieras steglöst mellan ca 500-2200mm.

13

Page 15: Makro- och parameterstyrning av CAD-modeller i SolidWorks

Höjd: Ska kunna varieras mellan fyra standardhöjder 800, 900, 1000 och 1100mm.

Höjdskillnad: Höjdskillnad mellan de olika luckorna i intervall mellan ±150mm. Vinkel: Vinkel mellan luckorna. Rak, 45º och 90º i två riktningar. Fötter: Väljs mellan enkel, dubbel, hörn vänster, hörn höger, 90º höger och vänster. Lock: Vänster, höger, dubbel, hörn 90º, hörn 45º, vänster och höger med uppvik. Öppning: Avstånd mellan luckorna. Är 0 mm som förval men kan ändras valfritt.

Output Modell 3D-översiktsritning 2D-ritning Kaplista Figur 3.3.2b tabell över output Modell:

Den av makrot generade CAD-modellen som alla mått och ritningar hämtas från.

3D-översiktsritning:

Två översiktsritningar i 3D på hela sektionen med mått, vinklar och information om vilka fötter och lock som ska sitta vart.

2D-ritning: Måttsatta ritningar på de ingående luckorna till verkstad för produktion. Kaplista: Kaplista till verkstad med mått på profilerna.

3.3.3 Användbarhetskrav – Lä-makro Makrot ska vara enkelt att förstå och använda. En person med grundläggande datorkunskap ska kunna använda sig av makrot. Med hjälp av användarmanualen ska det gå att använda makrot helt utan annan handledning.

14

Page 16: Makro- och parameterstyrning av CAD-modeller i SolidWorks

3.4 Uppgiftsanalys SV-modell Innan skapandet av en ny CAD-modell påbörjas underlättar det mycket att först ha tänkt igenom vad modellen ska innehålla, hur den ska vara uppbyggd och vad den främst kommer att användas till. Här nedan i denna underrubrik gås de ursprungliga målen och kraven på vår CAD-modell av produkten SV igenom.

3.4.1 Mål SV-modell Målet är att skapa en komplett CAD-modell av produkten SV som lätt ska kunna modifieras för att kunna möta kundens önskemål.

3.4.2 Kravspecifikation SV-modell Situationen idag: Idag finns ingen komplett CAD-modell av den vertikalgående stålluckan, något komplett ritningsunderlag finns inte heller. Detta betyder att personalen som ska tillverka eller montera dessa luckor måste ha kunskap om luckornas konstruktion eller rådfråga konstruktören vid tveksamheter om tillverkning eller montering. De krav som ställs på luckmodellen framkom vid ett möte med Ronny Andersson och Linus Svensson. Modellen ska innehålla:

• En i SolidWorks modellerad lucka som lätt går att modifiera för kundanpassade lösningar.

• Intervallåsning, vilket medför att luckans position kan låsas i vissa lägen för att

förhindra att luckan skjuts upp manuellt av utomstående.

• Motviktsberäkning. Ska med hjälp av definierade material på de ingående detaljerna i CAD-modellen kunna beräkna massan på den rörliga delen, och dimensionera motvikter. Resultatet ska vara motvikter av rätt dimensioner i stål, bly eller val av större sidostolpe för att få plats med en större motvikt.

• Automatisk beräkning av antal skruvhål med ett maximalt inbördes avstånd på 200

mm.

• Elektroniksystem S3. Luckan ska förberedas för den nya generationen elektroniksystem.

• Verkstadsritningar.

• Två olika glasalternativ. Glastjockleken ska kunna väljas mellan 6 och 15mm.

• Tre olika tätningsalternativ för varje glastjocklek.

15

Page 17: Makro- och parameterstyrning av CAD-modeller i SolidWorks

4. Metod Arbetet inleddes med att försöka sätta sig in i problemet och vilka moment som arbetet skulle bestå av. En tidplan (se bilaga B) för det fortsatta arbetet togs fram och arbetet delades upp i olika moment bestående av praktiska detaljer, kunskapsinhämtning, överföring av befintliga 2D-modeller till 3D, uppbyggande av nya CAD-modeller, automatisering av dessa, testkörning av automatiseringen och slutligen dokumentation i form av rapportskrivning som en fortlöpande process under arbetets gång. I mitten av juni påbörjades arbetet med en fyra dagar lång grundkurs av SolidWorks hos MP Engineering AB i Skellefteå. CAD-programvaran installerades på Svalsons datorer och tiden därefter togs upp av självstudier i syfte att lära sig hur själva programmet fungerade. Efter att grunderna i SolidWorks behärskades analyserades vilka mål som skulle uppnås, vilket syfte arbetet hade och vilka krav som ställdes på det. Djupare studier av produkten Café au Lä gjordes, dels genom besök vid monteringen och studier av befintligt ritningsunderlag. Därefter utvärderades vilka metoder för att automatisera framtagandet av det nya CAD-underlaget som fanns i SolidWorks. Valet föll på automatisering med hjälp av makron. CAD-modellen byggdes upp och när denna stod klar påbörjades arbetet med automationen vilket visade sig vara ett komplicerat och väldigt tidskrävande arbete. En bok om makron beställdes och webbsidor genomsöktes efter information och tips om uppbyggnaden av makron. När det färdiga makrot stod klart visade det sig att tid fanns för att skapa ännu en CAD-modell. Efter diskussion med Svalson föll valet på produkten SV. De erfarenheter som erhållits angående uppbyggnaden av CAD-modeller och olika metoder för modellering utvärderades och tillämpades på denna modell. När en färdig CAD-modell stod klar gicks de ursprungliga målen, syftet och kraven på hela examensarbetet igenom och jämfördes med de resultat som uppnåtts.

5. Begreppsförklaringar och genomgång av SolidWorks En genomgång av de begrepp som är ofta förekommande eller särskilt relevanta för detta examensarbete. Detta för att skapa en större förståelse för läsaren då många begrepp som berörs ej är allmänt kända i någon större utsträckning.

5.1 Makro Ett makro är en samling instruktioner som används för att automatisera ofta återkommande arbetsmoment i ett datorprogram, i detta fall SolidWorks. Med hjälp av makrot ges instruktioner till programmet för vilka operationer det ska utföra utan att som i vanliga fall behöva använda mus och tangentbord för att styra programmet. Detta är väldigt användbart om en tidskrävande operation ska utföras väldigt ofta och det manuella arbetet vill undvikas. Då kan ett makro med instruktioner för hur operationen ska utföras skapas och när detta är klart kan operationen enkelt och snabbt repeteras genom bara ett musklick. Makron har även andra användningsområden då ett makro kan skapa en mer komplex modell utifrån de villkor som anges. Till exempel kan avancerade ekvationer användas som beror av flera variabler för att dimensionera en modell.

16

Page 18: Makro- och parameterstyrning av CAD-modeller i SolidWorks

5.2 API API (Application Program Interface) är ett gränssnitt för kommunikation mellan programvara och programmeringsspråk. I detta fall mellan SolidWorks och vanligtvis Visual Basic men kan även vara andra programspråk. API:t innehåller en samling instruktioner och kommandon för hur makrot ska kunna kommunicera med CAD-programvaran och tala om vilka operationer som skall utföras.

5.3 VBA VBA (Visual Basic for Applications) är ett välanvänt programmeringsspråk som används som API i många Windowsapplikationer såsom Officepaketet och Microsoft Access. Det är uppbyggt av en begränsad version av Microsoft Visual Basic. Det finns applikationsspecifika kommandon som används för att styra händelseförloppet i programvaran, i detta fall SolidWorks.

5.4 PDM-system PDM är en förkortning av engelskans (Product Data Management) och är ett system för att hantera produktdata. PDM-systemet kan beskrivas som ett system som hanterar information gällande produkter. Ett fullständigt PDM-system hanterar produktens samtliga data under hela dess livscykel och måste därmed användas av alla olika berörda avdelningar inom företaget. Med ett lokalt PDM-system avses system som hanterar en delmängd av vad ett fullständigt PDM-system hanterar. För CAD är data som modeller, analysresultat, ritningar, produktionsberedning etcetera relevanta att lagra i PDM-systemet. Några fördelar med ett PDM-system är:

• Revisionshantering • Informationen lagras på ett och samma ställe vilket underlättar backup • Nästintill ett måste för grupparbete och samverkan då flera personer kan

jobba på samma modell samtidigt och sedan enkelt sätta ihop de ingående detaljerna till en sammanställning.

• De senaste revisionerna av alla ingående detaljer fås automatiskt vid

hämtning av en modell från systemet.

17

Page 19: Makro- och parameterstyrning av CAD-modeller i SolidWorks

5.5 Referenser I så gott som alla CAD-programvaror finns funktioner för att skapa referenser mellan både olika modeller och också detaljer i samma modell. Dessa funktioner finns även i SolidWorks och är tänkta att vara till hjälp för användaren och ge upphov till bland annat enklare och mer smarta modeller. En referens kan skapas på många sätt, vissa sker automatiskt utan interaktion från användaren och andra skapas manuellt. Exempel på referenser som skapas automatiskt är när en detalj kopieras så två kopior av samma detalj erhålls. Då ärver kopian egenskaperna från grunddetaljen och på så vis skapas en referens mellan de båda detaljerna. Detta kan vara till stor nytta exempelvis i en stor sammanställning där flera kopior av samma detalj ska ingå och alla detaljer ska ha samma mått. Om ett mått ska ändras på detaljerna i en sådan sammanställning och ändringen ska utföras på alla ingående kopior av detaljen är detta väldigt enkelt att utföra då enbart måttet på en av detaljerna behöver ändras. Måtten på de andra detaljerna ändras automatiskt eftersom de är kopior av varandra och har referenser mellan sig. En illustration av detta visas i figur 5.5a nedan. I figuren finns en lucka med höjden h och en identisk kopia av luckan vilka har en referens mellan varandra. Ändras höjden h i någon av luckorna ändras även h på den andra luckan. Luckornas mått kommer alltid att ha samma värden.

Lucka

Kopia av

lucka hh

Figur 5.5a Lucka och en identisk kopia av luckan båda med höjden h.

För att frigöra luckorna från varandra om dess mått ska kunna ändras oberoende kan den första luckan sparas med ett nytt filnamn. Inkluderas dessa två från början identiska luckor men nu med olika filnamn i samma sammanställning kan måtten på de olika luckorna ändras helt oberoende av varandra. Detta illustreras i figur 5.5b nedan.

Lucka 2 h + 1

Lucka 1 h

Figur 5.5b Två oberoende luckor som separata filer med höjderna h och h + 1.

Nackdelen med detta är att prestandan i modellen sjunker och den kräver mer lagringsutrymme eftersom två filer används. En fil för varje lucka istället för en fil för båda som i första figuren. Desto fler luckor i det här fallet som ska ingå i en sammanställning desto större blir prestanda- och utrymmesskillnaden mellan de olika alternativen. Modellen blir

18

Page 20: Makro- och parameterstyrning av CAD-modeller i SolidWorks

även mindre flexibel eftersom alla referenser mellan luckorna tappas. Ska en förändring som ska appliceras på alla luckorna göras måste förändringen göras på varje lucka vilket tar mycket tid.

5.6 SolidWorks SolidWorks är ett Windowsbaserat 3D-CAD-system med de för- och nackdelar som de flesta Windowsapplikationer har. Programvaran finns som tre olika färdiga paket, dessa är SolidWorks, Solid Works Office Professional och SolidWorks Office Premium. Dessa programpaket innehåller olika utrustningsnivåer. Under arbetets gång har vi haft tillgång till Solidworks Office Premium, men företaget har valt att köpa Solid Works Office Professional som har något färre funktioner än Premium. Nedan kommer valda delar av programutbudet att förklaras vidare, samt figur 5.6 visande gränssnittet i SolidWorks. Sheet Metal

Används för att skapa detaljer som ska böjas, bockas samt tillverkas i plåt. Kan användas till vinkellock och fötter i Lä-modellen

Weldment

Är ett enkelt sätt att bygga detaljer som utgår från ett tvärsnitt som sträcker sig utefter hela längden exempelvis strängsprutade aluminiumprofiler, ämnesrör och fyrkantprofiler. Fördelar med weldment är att det är lätt att skapa ett bibliotek med standardprofiler som endast består av 2D-geometrier. Även kaplistor med geringsvinklar skapas lätt, då dessa finns inbäddade i funktionen. Användes till det mesta i SV-luckan.

2D to 3D

Är ett sätt att överföra data från 2D-ritningar där konturlinjerna bildar sketcher på de olika planen.

COSMOSXpress

Är en enkel finita elementlösare som klarar av att göra lättare FEM-beräkningar, ger ingen fullständig bild av vilka hållfasthetsproblem som kan uppstå, men kan användas som ett verktyg för att se om det är värt att fortsätta med designen och var kritiska punkter är. Den klarar dock bara av beräkningar på detaljnivå. För en person som är van att jobba med FEA är den dock mycket begränsande.

PhotoWorks

Används för att rendera bilder med fotorealism, kan användas till att sälja in nykonstruerade modeller innan de är tillverkade

PDMWorks Workgroup

PDMWorks är ett PDM-system som används för att hålla reda på produktdata och revisionshantering.

19

Page 21: Makro- och parameterstyrning av CAD-modeller i SolidWorks

COSMOSWorks designer En mer avancerad lösare för FEA, klarar bland annat sammanställningar och det går även att styra och ändra meshnät och elementtyp.

SolidWorks Routing

Används för rör- och kabeldragning. SolidWorks Routing och COSMOSWorks Designer ingår endast i Premium-paketet.

Figur 5.6 Exempel på hur gränssnittet ser ut i SolidWorks. Här visas drivenheten till SV-luckan.

20

Page 22: Makro- och parameterstyrning av CAD-modeller i SolidWorks

6. Resultat Arbetet har resulterat i en med makro automatiserad CAD-modell för produkten Café au Lä, samt en parameteriserad modell för den andra produkten SV. Dessa resultat beskrivs närmare i detta kapitel.

6.1 Café au Lä För att åstadkomma den grad av automatisering som ställdes upp i kravspecifikationen har makron används. Ett alternativ till makron vore att styra modellen med hjälp av designtabeller som är en koppling mellan SolidWorks och Excel där vissa parametrar kan styras såsom konfigurationsberoenden med flera. Men detta har sina begränsningar eftersom makron ändå måste byggas in för att uppnå önskat resultat och gränssnittet ej går att påverka i samma utsträckning som med ett rent makro. Därför valdes designtabeller bort och ett fristående makro utvecklades.

6.1.1 Makrostruktur Makrot är uppbyggt av elva moduler och fem användarformulär programmerade i Visual Basic. Alla dessa har olika funktioner och anropas vid behov. Lite kort om modulerna och vad de gör: main:

Detta är själva huvudmodulen som är den första som startas upp då makrot körs. Här bestäms hur makrot ska köras genom indata från användaren, om en helt ny modell ska skapas, om en modell från en outputfil ska återskapas eller om funktioner såsom kaplista med flera vill användas från en manuellt editerad modell. Här byggs också själva modellen upp, bredd och höjd ändras, korrekta lock och fötter väljs och relationer skapas. Om en ny modell skapas kommer de olika formulären upp där först antal unika sektioner väljs, därefter matas måtten in, sedan byggs sektionen upp av luckorna, den första luckan i alla sektioner ligger redan i sektionsassemblyn då denna bara ändras blir den ett specialfall som behöver andra kommandon. Övriga specialfall är den absolut första luckan och den absolut sista luckan som endast kan ha vissa konfigurationer. Det finns även två underprocedurer döpta till NyaInstanser och MåttÄndring. NyaInstanser sköter hur och vilka konfigurationer som ska läggas till samt skickar vidare till Måttändring vilka mått på luckan som ska förändras.

AddMate:

Denna modul anropas från main under uppbyggnaden av modellen. Den skapar en relation mellan två luckor för att bestämma hur dessa ska sitta samman.

AddSektion:

Öppnar upp den initialt tomma huvudsammanställningen och lägger till varje sektion som ska ingå.

21

Page 23: Makro- och parameterstyrning av CAD-modeller i SolidWorks

bomlista: Skapar en styckelista för varje sektion med alla ingående detaljer, antal, konfigurationer och kaplängder på de detaljer där detta önskas. Denna information sparas som en textfil.

drawing:

Skapar enkla, skalenliga och svartvita JPEG-bilder med de två huvudmåtten längd och bredd tydligt markerade. Dessa är tänkt att kunna användas som illustration på arbetsordern.

KopieraFiler:

Kopierar filerna från källmappen till nya mappar beroende på hur många olika sektioner som valts att skapas.

MåttFrånText:

Läser in data från en outputfil för att kunna återskapa en tidigare genererad modell.

OpenWindow: Ändrar alla luckor från helt nedsänkt till helt uppskjutet läge. OutputFile:

Läser de data användaren matat in i main och skapar en outputfil med all information som text. Denna sparas sedan för att ha kvar indata och kunna återskapa modellen.

ResetFiles:

Rensar upp och tar bort alla eventuella mappar vars namn börjar med sektion i den mapp användaren valt att skapa modellen. Detta för att dessa mappnamn är reserverade och används till uppbyggandet av modellen.

speed: Ändrar diverse inställningar i SolidWorks för att snabba upp makrot. Lite kort om användarformulären och vad de gör: inmatningsmetod:

Här får användaren välja om en ny modell ska skapas eller om en modell från en tidigare outputfil ska skapas. Här matas även ordernumret in som sedan blir namnet på den mapp där vissa orderspecifika filer skapas.

unika:

Här väljs antal unika sektioner som skall skapas och färgval som enbart läggs till som information i outputfilen och ej i modellen.

Antal_luckor:

Här får användaren mata in hur många luckor den för närvarande aktuella sektionen ska innehålla och bestämma höjd och bredd på dessa.

22

Page 24: Makro- och parameterstyrning av CAD-modeller i SolidWorks

vinkelefter: Här bestäms hur de olika luckorna ska sitta samman beroende hur den färdiga modellens geometri skall se ut.

6.1.2 Hur makrot bygger upp CAD-modellen De indata som behövs läses in antingen från fil eller genom inmatning via formulär. Dessa data sparas i arrayer och matriser för att sedan användas vid uppbyggnaden av modellen, om det är en ny modell som inte tidigare gjorts sparas indata även ut i en textfil. Mer om detta finns att läsa i Bilaga A Användarmanual makro – Café au Lä. Från källbiblioteket skapas mappar som innehåller unika instanser av luckan, dessa mappar innehåller sammanställningar som är benämnda som sektion1, sektion2…sektionX. I var och en utav dessa finns en Café au Lä-lucka inlagd, benämnd som 13.1. Sammanställningen 13.1 består av en komplett lucka med konfigurationer, dessa konfigurationer innehåller information om vilka lock och fötter som är aktiva. Figur 6.1.2a här nedan visar en del av konfigurationsstrukturen för CAD-modellen 13.1.

Figur 6.1.2a Del av konfigurationsstrukturen i sammanställningen 13.1. Den första sektionssammanställningen öppnas och makrot väljer utifrån indata konfiguration på den första instansen av 13.1 och ändrar därefter huvudmåtten på luckan. Bredden ändras genom att styra relationer mellan de båda sidostolparna och höjden ändras genom ett byte av konfiguration på undersammanställningarna 13.1.1 och 13.1.2. Underproceduren måttändring sköter detta, som även har till uppgift att dimensionera motvikten. Motvikten är uppbyggd av en plattstång i stål med påsvetsade rör samt plastdetaljer. Motvikten finns i fyra olika varianter som är beroende av höjden på luckan. De efterföljande luckorna med samma huvudmått placeras sedan in i samma sektion, detta sker med underproceduren NyaInstanser. Proceduren räknar ut vilken av konfigurationerna som ska vara aktiv för den aktuella luckan och lägger till en ny instans av 13.1 i den aktiva sektionen. Luckan styrs på plats genom att relationer läggs till.

23

Page 25: Makro- och parameterstyrning av CAD-modeller i SolidWorks

Relationerna är uppbyggda efter strategin att locken som valts styr modellen. Programmet räknar ut vilka relationer som ska läggas till och söker därefter igenom modellen efter namngivna ytor på locket på den lucka som läggs till samt ytor på den som ska fästas, dessa namn visas i figur 6.1.2b.

Detalj Ytnamn

Stolprör (13.1.1.2) hål_stolpe lod_stolpe

ovan_stolpe Stolpe (13.1.1.1) ytter

Alla lock exkl. vinkellock

under_lock, lod_lock hål_lock

Vinkellock

under_lock vinkel_lock

hål_lock

Figur 6.1.2b Tabell över de namngivna ytor makrots AddMate-modul använder sig av för att skapa relationer mellan luckorna.

Modulen AddMate har till uppgift som namnet antyder att lägga till relationer mellan luckorna. Varje luckas position styrs med tre låsningar som spärrar alla frihetsgrader och gör den fullt definierad. När en lucka inte har samma huvudmått (bredd och höjd) som föregående öppnas en ny sektionssammanställning och proceduren upprepas. För mer information om sektioner se punkt 5 i Bilaga A - Användarmanual makro – Café au Lä. När luckorna inuti sektionerna är sammanbyggda öppnas en sammanställning som kallas huvudassembly, i denna läggs sektionssammanställningarna till och förfarandet för hur relationerna skapas upprepas. Uppbyggnaden av huvudassemblyn visas i figur 6.1.2c här nedan.

Huvudassembly

Sektion 1 Sektion 2

Lucka 1 Lucka 2 Lucka 1 Lucka 2 Lucka 3

Figur 6.1.2c Principskiss över huvudassembly bestående av två sektioner med två respektive tre luckor.

24

Page 26: Makro- och parameterstyrning av CAD-modeller i SolidWorks

6.1.3 Uppbyggnaden av källfiler Källfilerna behövs för att makrot ska gå att köra. Utan korrekta källfiler fungerar makrot inte alls. Från början var tanken att de skulle gå att klara sig utan källfiler helt och hållet, att makrot istället tog modellerna direkt från PDM-systemet och byggde upp modellen med hjälp av dem. Detta vore den mest flexibla lösningen eftersom varje ändring av modellen som finns inlagd i PDM-systemet direkt skulle komma med när makrot körs. Källfilerna har ingen direkt koppling till filerna i PDM-systemet. Görs en ändring i PDM-systemet måste nya källfiler skapas för att få med ändringen i den av makrot genererade modellen. För att underlätta uppbyggnaden av källfilerna har ett separat installationsmakro skapats för detta syfte. Källfilerna ligger i en mapp vid namn ”source”. Denna mapp kan vara placerad var som helst bara rätt sökväg anges när makrot startas. Vad som däremot är viktigt är att mappens innehåll ej får förändras utan den måste vara uppbyggd på ett visst sätt för att makrot ska fungera. För att underlätta uppdatering av källmapparna har ett installationsmakro skapats vilket skapar en komplett källmapp med rätt referenser och mappstruktur. Detta makro måste köras för att en ändring av luckan i PDM-systemet ska komma med även i den av makrot genererade modellfilen.

source

drawings

7016 assembly

1

2

3

X

.

.

.

Figur 6.1.3 Principskiss över källmappen och dess undermappar.

Source:

Innehåller filen ”huvudassembly.SLDASM” som är en tom sammanställning som när makrot körs blir den kompletta, färdiga modellfilen.

25

Page 27: Makro- och parameterstyrning av CAD-modeller i SolidWorks

Drawings: Innehåller filer för att skapa styckelistor och enkla översiktsbilder på luckorna i modellen som är tänkt att kunna användas på arbetsordern. Styckelistorna är ritningsdokument med en bom-lista som refererar till respektive sektion. Översiktsbilderna genereras från ett ritningsdokument som innehåller hela sektionen sedd framifrån och som refererar till respektive sektion. För varje tänkt sektion finns de ritningsdokument som refererar till dessa. Maxgränsen för hur många sektioner som bilder och styckelistor kan skapas för är satt till 20 i nuläget men detta är enkelt att utöka vid behov.

7016:

Innehåller filerna till de detaljer som inte påverkas av måttändringar i luckan. Dessa detaljer är lock, fötter, vändhjul och skruvar för att nämna några.

Assembly:

Denna mapp innehåller undermappar med namn från ”1” till det totala antalet sektioner som valts att skapa källfiler för när installationsmakrot körts. Varje undermapp innehåller identiskt antal filer men filnamnen slutar med understreck och det sektionsnummer den tillhör, till exempel _1 för filerna som ligger i mappen ”1” för sektion nummer ett.

26

Page 28: Makro- och parameterstyrning av CAD-modeller i SolidWorks

6.2 SV SV är en lucka som skiljer sig mycket från Café au Lä genom att den är motorstyrd, byggd av stål och oftast är helt fristående och inte sitter ihop i flera sektioner som Café au Lä oftast gör. Detta ställer andra krav på CAD-modellen och därför har en annan uppbyggnad av modellen använts. För att göra modellen så flexibel som möjligt har den parameteriserats enligt de krav på luckan som ställts upp tidigare i kravspecifikationen. Eftersom luckan till största del består av olika profiler har funktionen weldment i SolidWorks använts för att bygga upp modellen. Denna metod valdes för att förenkla CAD-arbetet och kunna dra nytta av de smarta funktioner såsom kaplängder och vinklar som automatiskt genereras med hjälp av weldment. Vissa tester genomfördes där weldment jämfördes med den tidigare använda mer traditionella metoden för att rita upp profiler till en lucka. Testerna visade att weldment var en bra metod som fungerade utmärkt för att rita upp profilerna med och därför valdes denna. För att kunna styra höjd och bredd valfritt har en styrsketch som alla detaljers mått styrs från använts. Detta för att måtten enkelt ska kunna ändras med så få operationer som möjligt. I figur 6.2a nedan visas de två huvudmåtten som styr höjd och bredd på hela luckan.

Figur 6.2a SV-lucka med styrsketchen och de två huvudmåtten synliga.

Styrsketcher som är kopplade till huvudstyrsketchen har sedan använts för att styra geometrin i varje undersammanställning. För att få modellen att innehålla de två olika glasen och de olika tätningsalternativen har konfigurationer använts för att styra detta. Konfigurationerna aktiverar och avaktiverar olika undersammanställningar beroende på vilken glastjocklek och tätning som önskas. De olika konfigurationerna illustreras i figur 6.2b.

27

Page 29: Makro- och parameterstyrning av CAD-modeller i SolidWorks

Default

Glastjocklek 6mm Glastjocklek 15mm

Brandtätning 6mm

Inomhustätning 6mm

Utomhustätning 6mm

Brandtätning 15mm

Inomhustätning 15mm

Utomhustätning 15mm

Figur 6.2b Principskiss över konfigurationer i huvudassembly för SV-lucka. Vissa detaljer i luckan styrs av luckans mått såsom antalet hål, urfräsningar, stoppklackar och skruvar. Dessa detaljers antal är direkt beroende av luckans mått och styrs med ekvationer i modellen. Ekvationerna ser till att antalet uppdateras när måtten ändras och att måtten mellan detaljerna håller sig inom de uppsatta ramarna. För skruvar räknar till exempel ekvationen ut hur många skruvar med högst 200mm inbördes avstånd som får plats på den totala sträckan där skruvarna ska sitta och uppdaterar modellen med de nya måtten och antalet skruvar. Exempel på ekvationer vi använt oss av i SV-modellen syns i figur 6.2c här nedan.

Figur 6.2c Urklipp visande ekvationer i sammanställningen ram för SV-luckan.

28

Page 30: Makro- och parameterstyrning av CAD-modeller i SolidWorks

6.3 Dimensionering av motvikter SV För att en lucka ska gå att öppna och stänga smidigt krävs en motvikt. På manuellt styrda luckor fungerar motvikten som en stopp som gör att luckans läge går att välja valfritt. Motvikternas tyngd och tyngden av det rörliga glaset står i jämvikt. På en motorstyrd lucka behövs även motvikter, detta för att få en smidig rörelse, avlasta motorn och kunna ha en så liten motor som möjligt. Vikternas dimensioner bestäms av hur tung den rörliga delen av luckan är. Tanken var först att kunna lägga implementera dimensioneringen av motvikterna direkt i modellen. Först testades att försöka lösa dimensioneringen med hjälp av ekvationer i CAD-modellen det visade sig dock att det ej var möjligt att få in massan automatiskt i ekvationerna och därför föll detta alternativ. Genom att använda ett externt makro kan den beräknade massan däremot användas för att dimensionera motvikterna och därför valdes detta alternativ. Nackdelen med detta är dock att motvikterna inte uppdateras automatiskt när förändringar görs i modellen utan användaren måste köra det externa makrot för att kunna utföra dimensioneringen. Men i de flesta fall finns inte behovet av att motvikterna ska uppdateras varje gång en förändring görs i modellen. Detta kan till och med vara till en nackdel eftersom modellens prestanda försämras då programmet måste dimensionera om motvikterna för varje lite ändring som görs i modellen. Valet av makro för dimensionering av motvikter visade sig i slutändan vara det bästa alternativet. Dimensioneringsmakrot hämtar data för massan av den rörliga delen av luckan. Denna massa bestäms av modellens utseende och vilket material och densitet som valts på de olika ingående detaljerna. Massan används sedan för att dimensionera längden på de olika motvikterna för att jämvikt mellan dessa och den rörliga delen ska uppstå. Vikternas längd kontrolleras mot vad som ryms i modellen och en motvikt väljs. I första hand väljs motvikter av stål om dessa får plats och i andra hand väljs motvikter av bly om stålvikten skulle bli för lång. Får ingen av dessa vikter plats i modellen informeras användaren om detta. Kan makrot hitta en motvikt som ryms i modellen väljs denna och den andra motvikten tas bort från modellen. Information om vilken motvikt som valts och vilka vikter och mått som använts görs synliga för användaren. I figur 6.3 nedan visas ett urklipp av den programkod dimensioneringsmakrot är uppbyggt av.

Figur 6.3 Del av dimensioneringsmakrot för motvikterna. För fullständig makrokod se Bilaga C – Makrokod.

29

Page 31: Makro- och parameterstyrning av CAD-modeller i SolidWorks

6.4 Standardbibliotek I SolidWorks finns ett antal typer av standardbibliotek som kan anpassas efter användarens behov, två av dessa beskrivs nedan.

6.4.1 Design library Under uppbyggnaden av modellerna har ett bibliotek med standardkomponenter skapats, de komponenter som lagts in är sådana som kan användas i andra luckmodeller. Exempel på komponenter som lagts in är motorer, skruvar och lås.

6.4.2 Weldment-profiler Vid framtagandet av SV-luckan användes funktionen weldment flitigt. Under katalogen "weldment profiles” har de tvärsnitt som använts lagts upp.

30

Page 32: Makro- och parameterstyrning av CAD-modeller i SolidWorks

7. Slutsatser De slutsatser som dragits av de resultat som uppnåtts kommer att behandlas i detta kapitel. Slutsatserna kan vara till stöd för vidare utveckling av arbetet med övergång till 3D-CAD och automation av ytterliggare delar av CAD-processen på Svalson AB.

7.1 Sketchstyrning Vid framtagningen av CAD-underlaget för SV-luckan användes till stor del ”top down”-modellering och det hela styrdes ifrån en styrsketch i huvudsammanställningen. Detta har sina fördelar när de huvudsakliga ändringarna är på huvudmåtten höjd och bredd. De problem som uppkommit vid modellerandet kan härledas till referensproblem vid underkonfigurationer, de problemen har yttrat sig genom att modellen inte uppdaterats synkront med yttermåtten på huvudsammanställningen. Problemen löstes genom att referera om de berörda sketcherna i huvudsammanställningen.

7.2 Referenser Ett stort problem vid framtagandet av CAD-modellen för Café au Lä-luckan var de inbördes referenser som skapades mellan luckorna i en sammanställning. Eftersom luckor av olika mått ska kunna ingå i samma order krävs det att luckornas mått går att ändras separat för varje instans av luckan i sammanställningen. Detta har vi löst genom att göra helt nya modellfiler för varje ny lucka som har ett annorlunda mått än den föregående. Detta har medfört att modellen kan ta väldigt stor plats och innehålla en stor mängd filer vilket i sin tur gör att modellens prestanda sjunker och sätter större krav på hårdvaran. Modellen blir även mindre flexibel eftersom en del viktiga referenser mellan luckorna försvinner när helt olika modellfiler används. Ska till exempel en enkel ändring appliceras på alla luckor i modellen måste ändringen göras på varje enskild lucka istället att för med bibehållna referenser endast ha behövt göra ändringen på en lucka.

7.3 Källfiler För att få ett så snabbt makro som möjligt använder det sig av källfiler som redan från början har rätt inbördes referenser mellan varandra. Detta sätt gör att makrot går snabbare och slipper utföra mindre operationer vid generering av en modell men tyvärr gör detta även att modellen ej automatiskt uppdateras vid en förändring av någon detalj i luckan. Det hade gått att göra ett makro som tar de senaste modellerna direkt från PDM-systemet men detta skulle bli oerhört tidskrävande och därför uteslöts det alternativet. Café au Lä är en relativt enkel produkt som ej behöver förändras så ofta och därför fungerar lösningen med källfiler bra på en sådan typ av produkt. Om en förändring görs i modellen som är relevant att ha med i den av makrot genererade modellen har ett installationsmakro skapats för att underlätta uppdateringen av makrots källfiler. Detta installationsmakro gör det relativt enkelt att uppdatera och skapa nya källfiler och kräver ingen kunskap om strukturen på källfilerna.

31

Page 33: Makro- och parameterstyrning av CAD-modeller i SolidWorks

7.4 Tidsbesparing Detta arbete ska kunna resultera i en väsentlig reducering av den tid som idag används till CAD-relaterade arbetsuppgifter. Mer ingående om denna tidsbesparing beskrivs nedan.

7.4.1 Förenkling av Café au Lä-modell Lä-makrot skulle gå att göra mycket snabbare genom att använda sig av en förenklad modell utan alla ingående detaljer. Fördelen blir att modellen går väldigt fort att skapa, tar lite lagringsutrymme och inte sätter så stora krav på hårdvaran. Denna metod har dock valts bort eftersom den har en stor nackdel. När modellen förenklas försvinner även information från modellen, information som i det här fallet var nödvändiga för att kunna skapa de i kravspecifikationen angivna styckelistor med exakt antal ingående detaljer med respektive mått och i förekommande fall även artikelnummer. Det kan även vara en fördel att ha en komplett modell med all information bibehållen i till exempel det fall då ett snitt görs i modellen för att visa någon ingående detalj eller förtydliga någon funktion.

7.4.2 Orderflöde Om Svalson AB kan införa Lä-makrot som en del i orderflödet kan stora tidsbesparingar göras. Konstruktörerna slipper de rutinmässiga arbete som krävs för att bygga upp en komplett CAD-modell och kan istället ägna sig åt produktutveckling och specialkonstruktioner. Tiden från lagd order till färdig produkt reduceras i de flesta fall vilket öppnar upp för en ökad produktion. Risken för tillverkningsfel reduceras även då kaplistor skapas med information direkt från CAD-modellen istället för de ekvationer som används idag

7.4.3 2D vs 3D Steget att gå från 2D-CAD som Svalson AB idag använder sig av till att gå till 3D-CAD i SolidWorks är tids- och resurskrävande initialt men på sikt kommer både mycket tid och stora resurser att vinnas på denna övergång. Konstruktionerna blir lättare att förstå och överblicka vilket resulterar i kortare utvecklingstid. En stor fördel är även att ritningar i 3D kan skapas för att produktionspersonalen enklare ska förstå hur produkten är tänkt att konstrueras och på så vis kan produktionstiden kortas i flera fall samt att risken för tillverkningsfel minskar.

32

Page 34: Makro- och parameterstyrning av CAD-modeller i SolidWorks

8. Rekommendationer Här nedan följer några erfarenheter som erhållits under arbetets gång som kan vara till hjälp vid arbete med SolidWorks och makron.

• Ekvationer, om ekvationer används bör dessa ligga så högt som möjligt sammanställningsträdet.

• Weldment ett snabbt sätt att skapa solidmodeller som består av balkar, profiler, rör

och stångmaterial.

• Design library är ett bra sätt att spara standardkomponenter på.

• Många bibliotek med färdiga 3D-modeller finns på Internet. Ett bra bibliotek är http://www.solidcomponents.se/ där många detaljer redan finns modellerade och hjulet ej behöver uppfinnas igen.

• PDM-system bör användas, samt lägg även till beskrivande text vid ändringar

eftersom det blir enklare att se skillnader mellan olika revisioner av en detalj eller sammanställning.

• Makro-/API-programmering besparar mycket arbete på operationer som upprepas

ofta. API-supporten är snabb på att svara och är en god hjälp vid problem gällande makron.

• Tänk noga igenom strukturen på sammanställningar, detaljer och program innan

arbetet påbörjas.

33

Page 35: Makro- och parameterstyrning av CAD-modeller i SolidWorks

9. Diskussion Efter avslutat arbete är det viktigt att gå tillbaks till de mål, syfte och krav som ställts upp innan arbetet påbörjades. Dessa bör sedan jämföras med de resultat som uppnåtts för att fastställa hur väl arbetet utförts. I detta kapitel behandlas detta och förslag på möjliga påbyggnader och alternativa metoder presenteras som stöd för fortsatt arbete med optimering av konstruktionsprocessen på Svalson AB.

9.1 Följning av tidsplan och kravspecifikation Den tidsplan som utarbetades i början av projektet har följts relativt väl dock har vissa delar tagit längre tid än planerat och andra kortare. En ytterligare lucka har modellerats som inte fanns med i den ursprungliga tidsplanen vilket har lett till en smärre försening. I kravspecifikationen för Café au Lä ingick ett antal punkter som de flesta är genomförda, de punkter som inte är genomförda har rationaliserats bort eller genomförts på ett smidigare sätt. En utav punkterna som förhandlades bort var vinkeländring mellan luckorna i två riktningar, detta på grund av att det endast finns en order hittills där en kund efterfrågat det alternativet och således inte särskilt nödvändigt att automatisera. Under den punkt som beskrivs med 2D ritningar uppstod ett smärre missförstånd, där vi trodde att företaget ville ha fullständiga produktionsritningar, men i själva verket vill de ha en skalenlig bild med huvudmått för att sätta på arbetsordern. Den del av kravspecifikationen för SV-luckan som inte hanns med var verkstadsritningar, detta kan förklaras med att luckan inte var inplanerad från början.

9.2 Möjliga påbyggnader Inom 3D-CAD och i det här fallet SolidWorks finns det stora möjligheter att bygga vidare utom ramarna av detta examensarbete. CAM

Något som Svalson AB skulle ha mycket nytta av i framtiden är att koppla CAM-beredningen direkt till CAD-modellen och slippa göra programmeringen av CNC-maskinerna direkt på plats. God möjlighet till det här finns i både den makrogenererade Café au Lä-modellen och den parameteriserade modellen av SV-luckan.

FEM

I SolidWorks ingår programmet COSMOS vilket är ett FEM-program som möjliggör att med datorns hjälp kunna utföra hållfasthetsberäkningar på utvalda delar av CAD-modellen. Detta kan bli ett mycket bra komplement till de praktiska hållfasthetsprover som Svalson AB utför idag på främst fötter som är en viktig detalj ur hållfasthetssynpunkt.

Makro

Vårt makro går att utökas för att omfatta automatisering av än mer funktioner, till exempel punkterna ovan. Makrot skulle också gå att anpassa så det skulle kunna fungera med andra typer av luckor förutom Café au Lä i det här fallet.

34

Page 36: Makro- och parameterstyrning av CAD-modeller i SolidWorks

3D-bilder I programmet PhotoWorks som hör till SolidWorks kan snygga 3D-bilder renderas ut med CAD-modellen som grund. Detta skulle gå att använda för att till exempel visa kunder hur det kan komma att se ut med skjutluckor hos dem. Bilderna som renderas fram skulle även kunna passa bra i reklambroschyrer och kunna användas inom marknadsföringen.

9.3 Alternativa metoder Under arbetets gång har nya funktioner och lösningar på problem framkommit. På grund av tidsbrist har ej dessa kunnat appliceras på det redan utförda arbetet men gås här igenom för eventuella framtida förändringar av de CAD-modeller vi byggt upp.

9.3.1 Café au Lä • Bygga upp de olika sektionerna av skal, ger en lättarbetad modell men tappar

information på vägen. Göra lätta modeller som inte innehåller allt för orderritningar för att sedan vid behov skapa riktig modell med plocklista och kaplistor när ordern är bekräftad.

• Bygga skelett av plan eller skissa hur den yta som ska hägnas in ser ut. Göra modellen

smartare så att programmet räknar ut vad som ska ingå efter rekommenderade förutsättningar.

• Använda weldment till profiler, ett snabbt och enkelt sätt att skapa detaljer med

konstant tvärsnitt.

• Koppla plan och lägga relationsreferenser högre upp i sammanställningsstrukturen.

• För att få en så lättdriven modell som möjligt kan så kallad lightweight användas. Detta är ett alternativ i SolidWorks som exkluderar viss information från modellerna och minskar minnesanvändande på vis.

• Använda konfigurationer för variantframställning, ett alternativ istället för källfilerna

som används i nuläget.

9.3.2 SV Lättare modeller av standardkomponenter, dessa detaljer kan göras till förenklade modeller av de riktiga modellerna. En sammanställning blir då en detalj och bara de synliga ytorna följer med vilket sparar både lagringsutrymme och gör modellen snabbare att arbeta med.

35

Page 37: Makro- och parameterstyrning av CAD-modeller i SolidWorks

10. Litteraturförteckning och källor

10.1 Böcker

1. Halvorson, Michael, Microsoft Visual Basic 6.0 Professional Step by Step, Microsoft Press, 1998, ISBN 1-57231-809-0 Steg för steg guide för att lära sig Visual Basic

2. Löfqvist, Torbjörn, Rapportskrivning – en introduktion, Tekniska högskolan i Luleå, 1995 Tips för utformning av rapporter

3. Spens, Mike, Automating SolidWorks 2006 using Macros, Schroff Development

Corportation, 2006, ISBN 1-58503-263-8 Bra bok för att lära sig hur makron skapas i SolidWorks

10.2 Kursmaterial

4. SolidWorks Grundkurs: Detaljer och sammanställningar, SolidWorks Corporation, 2005 Kurshäfte från MP-Engineering AB innehållande övningar på grundläggande saker i SolidWorks.

5. API Fundamentals: Designing Productivity Tools for SolidWorks, SolidWorks

Corporation, 2004 Kursmaterial från MP-Engineering AB innehållande övningar på API och makron i SolidWorks

10.3 URL

6. Svalson AB, http://www.svalson.com, 2006-11-11 Svalsons hemsida med information om företaget

7. SolidWorks API-support,

https://customercenter.solidworks.com/eservice_enu/start.swe?SWECmd=Start&SWEHo=customercenter.solidworks.com, 2006-11-13 SolidWorks egen API-support med mycket tips och färdiga exempel för nedladdning.

8. Lenny´s SolidWorks Resources, http://www.lennyworks.com/solidworks, 2006-11-15

Webbsida med mycket tips om makron och även exempel på makron för nedladdning

9. TriAxial Design and Analysis – SW Tips/Tricks, http://www.triaxialdesign.com/tip_tricks.html, 2006-11-15 Smarta tips och tricks för SolidWorks

10. Lathund om Visual Basic, http://www.proffs.nu/support/vb.asp, 2006-11-15

Lathund för Visual Basic med mycket exempel och övningar

11. ASCII-tabellen, http://www.asciitabell.se, 2006-11-15 Komplett ASCII-tabell som hjälpmedel till programmering

36

Page 38: Makro- och parameterstyrning av CAD-modeller i SolidWorks

12. SolidWorks Office Premium Brochure,

http://www.solidworks.com/pages/products/swofficepro/documents/OfficePremiumbrochure2006.pdf, 2006-11-17 Informationsbroschyr om SolidWorks Office Premium 2006

13. PDMWorks Product information, http://files.solidworks.com/pdmworks/PDMWorks_Workgroup_DS.pdf, 2006-11-17 Produktinformation om PDMWorks, PDM-systemet som ingår i SolidWorks

10.4 Rapporter

14. Dahlin, Linda, Rönnholm, Jonas, Parametrisering av Editubefilter. Koppling Excel- Solid Works-Excel, Luleå Tekniska Universitet, högskoleingenjörsprogrammet maskinteknik, institutionen i Skellefteå, 2001, ISSN 1404-5494

Examensarbete om parameterisering och makrostyrning i SolidWorks

15. Holmgren, Ola, En konstruktionsprocess för effektiv samverkan. Parametriserade produktmodeller i 3D-CAD vid konstruktion av spiraltrappor, Luleå Tekniska Universitet, institutionen i Skellefteå, avdelningen för Träteknik, 1999, ISSN 1402-1757 Licentiatuppsats om parameterisering och automatisering i SolidWorks

16. Lundberg, Rickard, Automatiserad dimensionering av hallbyggnad, Luleå Tekniska

Universitet, institutionen för Väg- vattenbyggnad, avdelningen för Stålbyggnad, 2000, ISSN 1402-1617 Examensarbete om automatisering av konstruktionsarbete

17. Moini, Arash, Åström, Peter, Parametrisering av selenfilter – För snabb

variantframställning, Luleå Tekniska Universitet, högskoleingenjörsprogrammet maskinteknik, institutionen i Skellefteå, 2000, ISSN 1404-5494 Examensarbete om parameterisering och makrostyrning av CAD-modeller i SolidWorks

37

Page 39: Makro- och parameterstyrning av CAD-modeller i SolidWorks

Bilaga A - Användarmanual makro – Café au Lä

Page 40: Makro- och parameterstyrning av CAD-modeller i SolidWorks

Café au Lä

Page 41: Makro- och parameterstyrning av CAD-modeller i SolidWorks

Klicka på ”LÄ-ikonen” nedan som finns under verktygsfältet i Solid Works för att starta makrot. Alternativt kan makrot startas manuellt genom att gå in på menyn ”Tools” klicka på ”Macro” och välj ”Run”. Leta därefter upp makrofilen och klicka på öppna.

LÄ-ikon <1>

Det första som visas är en dialogruta som frågar om en ny modell ska skapas eller inte. Väljs ja kommer en helt ny modell att genereras av makrot. Väljs nej förutsätts det att en tidigare modell existerar som det t.ex. gjorts manuella ändringar i, det ges nu tillgång till de funktioner som makrot tillhandahåller. Denna modell måste vara öppen i Solid Works innan makrot startas. Gå till punkt 9. <2>

Ange vilken enhet källfilerna till makrot finns på. Källfilerna måste ligga i en mapp som heter ”macro-temp” i roten av den enhet som valts.

Page 42: Makro- och parameterstyrning av CAD-modeller i SolidWorks

<3>

Ange vilken mapp filerna ska kopieras till. Att välja en lokal mapp är att rekommendera av prestandaskäl. Mappen måste existera och skapas ej automatiskt om ett mappnamn som ej finns matas in. <4>

Här ges valalternativ mellan att återskapa en tidigare genererad modell med hjälp av den outputfil som skapades vid det tillfället eller att skapa en helt ny modell genom inmatning av värden. Från fil:

Klicka på ikonen till höger med tre punkter på och välj den outputfil som makrot ska köra. Lämnas fältet för ordernummer tomt väljs det ordernummer som finns i outputfilen. Om ett nytt ordernummer önskas matas detta in det i den ruta avsedd för ordernummer. Gå till punkt 8

Inmatning:

Mata in önskat ordernummer i fältet för ordernummer. Lämnas fältet tomt väljs ”output” som ordernummer.

Klicka på Ok för att gå vidare.

Page 43: Makro- och parameterstyrning av CAD-modeller i SolidWorks

<5>

Här väljs antalet unika sektioner. En sektion är ett valfritt antal luckor av samma storlek som kommer i följd. Observera att luckorna måste komma i följd för att tillhöra samma sektion. Antalet sektioner stämmer inte alltid överens med antalet olika luckstorlekar i modellen. Exempel: En order där första luckan är en 1000x1000mm lucka som följs av tre luckor med 1200x1000mm som mått och som sista lucka är ännu en 1000x1000mm lucka. Här är det nödvändigt att välja tre sektioner trots att ordern bara består av två olika luckstorlekar. Detta för att 1000x1000mm luckorna ej kommer i följd. Färgen som väljs kommer inte att visas i modellen utan sparas enbart undan i outputfilen och är tänkt att kunna införas på arbetsordern. Val av färg är inte nödvändigt för att makrot ska fungera. <6>

Här väljs antal luckor och dess mått som ska ingå i respektive sektion. Bredden kan varieras valfritt och höjden finns i de fyra standardhöjderna.

Page 44: Makro- och parameterstyrning av CAD-modeller i SolidWorks

<7>

Det är här själva uppbyggnaden av geometrin mellan luckorna sker. Vinkel från föregående: 0 – luckorna är i rak linje med varandra 45 – luckorna får 45° vinkel mellan varandra 90 – luckorna får 90° vinkel mellan varandra Öppning till efterföljande:

Markeras detta alternativ skapas angiven distans mellan de två luckorna och de får båda enkellock och enkelfot på vänster resp. höger sida. Kan kombineras med vinkel för att erhålla både vinkel och distans mellan luckorna.

Höjdskillnad (+/-):

Markeras detta alternativ väljs uppvikt lock och önskad höjdskillnad mellan luckorna får anges. Väljs ett positivt värde förskjuts nästkommande lucka uppåt och ett negativt värde gör att luckan förskjuts nedåt. Kan ej kombineras med vinkel. Vinkeln blir alltid 0 mellan luckorna om detta alternativ väljs.

Ta hjälp av bilderna till höger i fönstret för att hålla koll på vilken lucka som är den aktuella luckan.

Page 45: Makro- och parameterstyrning av CAD-modeller i SolidWorks

<8> Vid svar nej i punkt 1 och menyn i figuren under ej är synlig nu, gå då vidare till punkt 9.

Här kan fem olika alternativ väljas att utföras på den färdiga modellen. Kap- och styckelistor:

Styckelistor med alla ingående delar och dess mått skapas sektionsvis som textfiler i samma mapp som outputfilen. Enkla måttsatta, svartvita bilder skapas också för varje sektion tänkta att kunna ingå på arbetsordern.

Spara BMP-bilder:

Två högupplösta bilder sparas till den mapp som valts tidigare, en bild är uppifrån med längdmåtten på luckorna synliga och en är en isometrisk bild. Möjlighet finns att lägga in fler bilder från olika vyer.

Spara som E-drawing:

Modellen sparas som E-drawing. Tar väldigt liten plats och den mesta av informationen finns ändå kvar med möjlighet att kunna zooma in vissa delar och spara som bilder och skicka till t.ex. kunder.

Spara modellen:

Sparar modellen som genererats till hårddisken. Modellen som genererats är ej sparad för att vinna tid då det i de flesta fall inte är nödvändigt att spara den.

Ändra alla luckor till uppskjutet läge: Ändrar alla luckor i modellen från nedskjutet läge till maximalt uppskjutet. Markera de alternativ som ska utföras och klicka på verkställ. För att avbryta och avsluta makrot klicka på avbryt.

Page 46: Makro- och parameterstyrning av CAD-modeller i SolidWorks

<9> Information om var de genererade filerna såsom styckelistor etc. ska sparas och var källfilerna som behövs för att makrot ska fungera lagras som ”custom properties” i huvudassemblyn. Har manuella ändringar gjorts i huvudassemblyn har dessa kanske råkats ta bort. I detta fall vet inte makrot var dessa filer finns och då fås dialogrutorna nedan upp. Om makrot körs på en gammal modell och filerna som skapas ska lagras i en annan mapp än den ursprungliga måste dessa ”custom properties” tas bort genom att göra på detta sätt: Gå in under menyn ”File”, välj ”Properties” och byt till fiken ”Custom”. Radera där informationen under ”source” och ”location”.

Ange mapp där källfilerna finns och klicka på OK.

Ange var filerna makrot skapar ska sparas. Mappen måste existera och skapas inte även om ett nytt mappnamn skrivs in. Klicka på OK för att komma vidare.

Page 47: Makro- och parameterstyrning av CAD-modeller i SolidWorks

Felsökningsschema makro Café au Lä

Felkälla Förklaring Åtgärd

PDM-system PDM-systemet kan störa makrot vilket ger felaktiga

referenser

Logga ut ur PDM-systemet

Operativsystem/CAD-system Vissa fel kan avhjälpas vid omstart av SolidWorks eller

omstart av Windows

Omstart av SolidWorks eller Windows.

Inställningar i SolidWorks Inställningarna i SolidWorks kan påverka makrots

funktionalitet

Kontrollera att inställningarna under Tools-menyn och alternativet Options är

identiska med bilderna nedan Fel i källmappar Källfilerna måste ha en

särskild struktur Skapa nya källmappar med

installationsmakrot Nya/borttagna detaljer eller

förändring av filnamn i CAD-modellen

Modellen byggs upp av namngivna ytor och delar.

Hämta en äldre version av 13.1 ur PDM-sysemet alternativt reparera modell och

skapa nya källmappar Annan version än SW 2006 SP

4.1 Makrot är skapat och testat i

SolidWorks 2006 SP 4.1 Kontakta support

Felaktig inmatning eller korrupt output-fil

Felaktiga data har skickats in i makrot

Kontrollera inmatning/output-fil

Urklipp visande korrekta inställningar för körning av makro under Tools/Options/Assemblies i SolidWorks

Page 48: Makro- och parameterstyrning av CAD-modeller i SolidWorks

Urklipp visande korrekta inställningar för körning av makro under Tools/Options/Performance i SolidWorks

Tips vid felsökning av kod:

• Ta bort alla ”on error resume next” ur makrot för att få det att stanna upp vid den rad där felet ligger.

• Håll in ctrl+break för att avbryta pågående makro.

Page 49: Makro- och parameterstyrning av CAD-modeller i SolidWorks

Bilaga B - Kravdokument

Page 50: Makro- och parameterstyrning av CAD-modeller i SolidWorks

Ursprunglig tidplan

Tidplan Poster/vecka 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 Praktiska detaljer Kunskapsinhämtning Överföring Parametrisering Makrostyrning Testning Rapportskrivning Färdig rapport

Planerad ledighet

Page 51: Makro- och parameterstyrning av CAD-modeller i SolidWorks

Praktiska detaljer Innefattar att gå igenom arbetstider, ersättning, få en arbetsplats, installera nödvändig programvara och få access till relevanta filer.

Kunskapsinhämtning

Innefattar att sätta sig in i hur produktuvecklingen fungerar i nuläget, lära sig programvaran och inhämta annan nödvändig kunskap.

Överföring

Innebär att överföra de befintliga 2d-ritningarna till 3d i Solidworks och korrigering av dem vid behov.

Parametrisering

Innefattar att analysera vad som ska parametriseras och sedan modifiering av modellerna.

Makrostyrning

Innefattar att få modellgenerering att ske automatiskt med input av data från Excel. Samt automatiskt generering kaplistor, ritningar och annan nödvändig information som output.

Testning

Är att verifiera funktion av modell, parametrisering och batch-körning och sedan korrigera om nödvändigt.

Rapportskrivning Är en fortgående dokumentationsprocess vilken resulterar i en färdig rapport. Färdig rapport Rapporten är klar.

Page 52: Makro- och parameterstyrning av CAD-modeller i SolidWorks

Kommentarer till tidplanen Förväntade problem

Att de olika momenten ska ta längre tid än planerat. Att oväntade problem dyker upp.

Avgränsningar

Vi har avgränsat oss till att börja med en produkt (LÄ1) som vi anser är en bra utgångsprodukt. Vi ska använda oss av Excel för inmatning av data vid makrostyrning för att förenkla arbetet.

Möjliga utvidgningar

• Koppla samman med ett PDM-system • Utöka med en komplexare produkt • Hållfasthetsberäkningar på utsatta detaljer (FEM) • Ersätta Excel med Java för att bli plattformsoberoende

Page 53: Makro- och parameterstyrning av CAD-modeller i SolidWorks

Ursprungligt kravdokument från Svalson AB Absolut krav:

• Automatisering av parameteriserade modeller (Excel -> CAD -> Ritningar + kaplistor). Detta inkluderar även idrifttagning av systemet.

• Rutiner för hur CAD-programvaran kan användas som stöd åt såväl säljorganisationen som produktionsberedningen. Detta inkluderar instruktioner/monteringsanvisningar etc baserade på 3D-CAD.

• LÄ1 som exempelprodukt. Ska sedan vara enkelt att modifiera detta för LÄ2. Påbyggnader i priordning:

1. PDM-system/revisionshantering 2. SV som komplement till LÄ1(SV varierar kraftigt till skillnad från LÄ1 som är

tämligen statisk). 3. Hur kan CAD-systemet hjälpa oss med hållfasthetsberäkningar (statiska och

dynamiska)? 4. Ersätta Excel med Java/VB för koppling till Svalsonspecifika program

Ursprunglig beskrivning av examensarbetet från Svalson AB

Utveckling av produktionsflöde centrerat kring 3D-CAD

Svalson AB tillverkar eldrivna skjutluckor och skjutfönster i aluminium och stål. Samtlliga produkter är skräddarsydda efter kundens önskemål. Vi håller till i Öjebyn (Piteå) och är ca 27 anställda, 1/3 på tjänstemannasidan och 2/3 i tillverkningen. Se www.svalson.com för mer information om Svalson och våra produkter.

I dagsläget sker vår maskinkonstruktion i 2D-CAD & vi genomför nu en övergång till 3D-CAD. Huvudmålet med examensarbetet är idrifttagning av det nya 3D-systemet samt att utarbeta rutiner för hur CAD-programvaran kan användas som stöd åt såväl säljorganisationen som produktionsberedningen. Arbetet kommer att avgränsas till en av våra produkter och arbetet i sig förutsätter ett nära samarbete med våra teknik- marknads- och verkstadsavdelningar.

Beroende på hur bra arbetet går kan projektet komma att inkludera rutiner för koppling CAD-CAM, idrifttagning av ett enklare PDM-system samt utarbetande av rutiner hur det ska användas i vår organisation.

Lämplig bakgrund är civilingenjör med inriktning mot maskinteknik eller motsvarande. Arbetet kräver kunskap om 3D-CAD, god datorvana och god/mycket god engelska. Kunskap om Microsoft Excel och VBA är önskvärda. Övrig kompetens som är meriterande är CAM, produktionsberedning, statiska och dynamiska hållfasthetsberäkningar, Java samt B-körkort.

Tidplan: juni – oktober 2006

Företag: Svalson AB

Page 54: Makro- och parameterstyrning av CAD-modeller i SolidWorks

Bilaga C – Makrokod

Dimensioneringsmakro för motvikter 'Dimensionerar rätt längd på motvikterna med hjälp av den uträknade massan på den rörliga delen. 'Stålvikt väljs i första hand och om den ej får plats väljs en vikt av bly. Får ingen av vikterna plats meddelas användaren om detta. 'Senast ändrad av Oskar Nilsson 20061024 Dim swApp As Object Dim Part As SldWorks.ModelDoc2 Dim rörlig As Double Dim rörlig2 As Double Dim motvikt As Double Dim maxlängd As Double Dim längd_stål As Double Dim längd_bly As Double Dim temp As Double Dim mass As SldWorks.MassProperty Dim longstatus As Long Dim swConfigMgr As SldWorks.ConfigurationManager Dim swConfig As SldWorks.Configuration Dim swModel As SldWorks.ModelDoc2 Dim conf As String Sub main() On Error GoTo ErrorHandler Set swApp = Application.SldWorks Set swModel = swApp.ActiveDoc Set swConfigMgr = swModel.ConfigurationManager Set swConfig = swConfigMgr.ActiveConfiguration 'kollar vilken konfiguration på den rörliga delen som är aktiv i huvudassemblyn conf = swConfig.GetComponentConfigName("glasinfästning_rörlig") 'byter part till den rörliga glasinfästningen och byter till konfigurationen som var aktiv i huvudassemblyn Set Part = swApp.ActivateDoc2("glasinfästning_rörlig.sldasm", False, longstatus) Part.ShowConfiguration conf 'hämtar massan på den rörliga delen Set mass = Part.Extension.CreateMassProperty rörlig = mass.mass 'stänger den rörliga glasinfästningen och återgår till huvudassemblyn swApp.CloseDoc "glasinfästning_rörlig.sldasm" Set Part = swApp.ActivateDoc2("huvudassembly.sldasm", False, longstatus) 'kollar vilken maxlängd en motvikt kan ha utan att bli för stor maxlängd = Part.Parameter("D1@styrsketch_glasinfästning_rörlig@glasinfästning_rörlig.Assembly").SystemValue

Page 55: Makro- och parameterstyrning av CAD-modeller i SolidWorks

temp = Part.Parameter("D1@Extrude1@motvikt_Bly.Part").SystemValue 'räknar ut vilken vikt varje motvikt måste ha rörlig2 = rörlig rörlig = (rörlig / 2) - 0.05 'beräknar längderna som krävs på motvikterna för att få rätt massa längd_stål = rörlig / 19.56435333 längd_bly = ((rörlig + 0.080275) / 27.41497) - temp 'ändrar motvikterna till rätt längder Part.Parameter("D1@Extrude1@motvikt_Stål.Part").SystemValue = längd_stål Part.Parameter("D2@Extrude1@motvikt_Bly.Part").SystemValue = längd_bly 'rebuildar för att uppdatera längdändringarna Part.EditRebuild3 'kollar vilken motvikt som ska väljas. I första hand stål och om den ej får plats bly. If längd_stål < maxlängd Then

boolstatus = Part.Extension.SelectByID2("motvikt_bly-1@huvudassembly", "COMPONENT", 0, 0, 0, True, 0, Nothing, 0) boolstatus = Part.Extension.SelectByID2("motvikt_bly-3@huvudassembly", "COMPONENT", 0, 0, 0, True, 0, Nothing, 0)

Part.EditSuppress Part.ClearSelection2 True MsgBox "En motvikt av stål valdes med följande data:" & Chr(10) & Chr(10) & "Beräknad massa rörlig del: " & rörlig2 & "kg" & Chr(10) & _ "Beräknad massa motvikt: " & rörlig & "kg" & Chr(10) & _ "Beräknad längd motvikt: " & längd_stål * 1000 & "mm" ElseIf längd_bly < maxlängd Then

boolstatus = Part.Extension.SelectByID2("motvikt_stål-1@huvudassembly", "COMPONENT", 0, 0, 0, True, 0, Nothing, 0) boolstatus = Part.Extension.SelectByID2("motvikt_stål-2@huvudassembly", "COMPONENT", 0, 0, 0, True, 0, Nothing, 0)

Part.EditSuppress Part.ClearSelection2 True MsgBox "En motvikt av bly valdes med följande data:" & Chr(10) & Chr(10) & "Beräknad massa rörlig del: " & rörlig2 & "kg" & Chr(10) & _ "Beräknad massa motvikt: " & rörlig & "kg" & Chr(10) & _ "Beräknad längd motvikt: " & (längd_bly + temp) * 1000 & "mm" Else MsgBox "Ingen av vikterna får plats i ramen" End If Exit Sub ErrorHandler: MsgBox "Ett fel uppstod!" & Chr(10) & Chr(10) & "Kontrollera följande:" & Chr(10) & "* att ha huvudassembly.SLDASM för SV-luckan öppen." & Chr(10) & _"* att den rörliga delen heter glasinfästning_rörlig.SLDASM" & Chr(10) & "* att motvikterna heter motvikt_bly.SLDPRT och motvikt_stål.SLDPRT" _ & Chr(10) & "* att inga mått är namnändrade eller borttagna i den rörliga glasinfästningen eller motvikterna" End Sub

Page 56: Makro- och parameterstyrning av CAD-modeller i SolidWorks

AddMate-modul 'Skapar en mate mellan två ytor. 'Som input ges vilka parter som ska mate:as, vilka ytor på parterna som ska väljas, vilken mate som ska skapas och 'eventuellt värde på distans om ett distansmått ska skapas. Ska en annan mate skapas skickas 0 in här istället. 'Senast ändrad av Oskar Nilsson 20060915 Dim part As Object Dim selmgr As Object Dim boolstatus As Boolean Dim longstatus As Long, longwarnings As Long Dim Feature As Object Option Explicit Dim swApp As SldWorks.SldWorks Dim swModel As SldWorks.ModelDoc2 Dim swPart As SldWorks.PartDoc Dim swModelDocExt As SldWorks.ModelDocExtension Dim swSelMgr As SldWorks.SelectionMgr Dim Comp1 As SldWorks.Component2 Dim Comp2 As SldWorks.Component2 Dim swEntity As SldWorks.Entity Dim selConfig As String Public Sub SelectComponentFaceByName(CompName1 As String, CompName2 As String, FaceName1 As String, FaceName2 As String, Mate As String, MateDistance As String) Dim swApp As Object Dim AssyDoc As Object Dim selmgr As Object Dim Body As SldWorks.Body2 Dim Face As Object Dim CurFaceName As String Const swSelCOMPONENTS = 20 Set swApp = CreateObject("SldWorks.Application") Set swModel = swApp.ActiveDoc Set swSelMgr = swModel.SelectionManager Set swModelDocExt = swModel.Extension Set part = swApp.ActiveDoc Set selmgr = part.SelectionManager 'hämtar den aktiva assemblyn Set AssyDoc = swApp.ActiveDoc() Set selmgr = AssyDoc.SelectionManager() 'väljer parterna boolstatus = swModelDocExt.SelectByID2(CompName1, "COMPONENT", 0, 0, 0, True, 0, Nothing, 0) Set Comp1 = swSelMgr.GetSelectedObjectsComponent2(1) boolstatus = swModelDocExt.SelectByID2(CompName2, "COMPONENT", 0, 0, 0, True, 0, Nothing, 0) Set Comp2 = swSelMgr.GetSelectedObjectsComponent2(2) 'hämtar komponentens kropp Set Body = Comp1.GetBody()

Page 57: Makro- och parameterstyrning av CAD-modeller i SolidWorks

'väljer första ytan på kroppen Set Face = Body.GetFirstFace 'går igenom alla ytor på kroppen för att hitta den sökta Do While Not Face Is Nothing CurFaceName = AssyDoc.GetEntityName(Face) If (CurFaceName = FaceName1) Then Face.Select (0) 'markerar ytan Exit Do End If Debug.Print CurFaceName Set Face = Face.GetNextFace 'byter till nästa yta Loop '--------------------byter till nästa part------------------ 'hämtar komponentens kropp Set Body = Comp2.GetBody() 'väljer första ytan på kroppen Set Face = Body.GetFirstFace 'går igenom alla ytor på kroppen för att hitta den sökta Do While Not Face Is Nothing CurFaceName = AssyDoc.GetEntityName(Face) If (CurFaceName = FaceName2) Then Face.Select (1) 'markerar ytan Exit Do End If Debug.Print CurFaceName Set Face = Face.GetNextFace 'byter till nästa yta Loop 'kollar vilken mate som ska väljas och mate:ar ihop ytorna If (Mate = "concentric") Then

Set Feature = part.AddMate2(1, 0, False, 0, 0, 0, 1, 1, 0, 0, 0, longstatus) part.ClearSelection2 True

End If If (Mate = "coincident") Then

Set Feature = part.AddMate2(0, 1, False, 0, 0, 0, 1, 1, 0, 0, 0, longstatus)

part.ClearSelection2 True End If If (Mate = "distance") Then

Set Feature = part.AddMate2(5, 1, True, MateDistance, MateDistance, MateDistance, 1, 1, 0, 0, 0, longstatus)

part.ClearSelection2 True End If 'uppåt If (Mate = "distance2") Then

Set Feature = part.AddMate2(5, 0, True, MateDistance, MateDistance, MateDistance, 1, 1, 0, 0, 0, longstatus)

part.ClearSelection2 True

Page 58: Makro- och parameterstyrning av CAD-modeller i SolidWorks

End If 'nedåt If (Mate = "distance3") Then

Set Feature = part.AddMate2(5, 0, False, MateDistance, MateDistance, MateDistance, 1, 1, 0, 0, 0, longstatus)

part.ClearSelection2 True End If If (Mate = "coincident2") Then

Set Feature = part.AddMate2(0, 0, False, 0, 0, 0, 1, 1, 0, 0, 0, longstatus)

part.ClearSelection2 True End If End Sub

Page 59: Makro- och parameterstyrning av CAD-modeller i SolidWorks

Bilaga D – Principskisser

13.1 – Café au Lä-lucka

Lucka

Ram Rörlig ruta Motvikt Lock Fötter

Principskiss över Cafe aú Lä-lucka med ingående detaljer.

13.1.1 – Ram

Ram

Stolpe

Stolprör

Liggande glaslist Vändhjul

Glas

Styrning

Plattstång

Principskiss över ram till Café au Lä-lucka med ingående detaljer.

Page 60: Makro- och parameterstyrning av CAD-modeller i SolidWorks

13.1.2 – Rörlig ruta

Rörlig ruta

Stående glaslist

Övre glaslist

Nedre glaslist

Glid Glas Stående vinkel

Principskiss över rörlig ruta till Café au Lä-lucka med ingående detaljer.

13.1.3 – Motvikt

Motvikt

Plattstång Stålrör Nedre glid Övre glid

Principskiss över motvikt till Café au Lä-lucka med ingående detaljer.

Page 61: Makro- och parameterstyrning av CAD-modeller i SolidWorks

Bilaga E – Bilder skapade av Lä–makrot

Översiktsbild ovanifrån över den av makrot genererade modellen med utsatta längder.

Page 62: Makro- och parameterstyrning av CAD-modeller i SolidWorks

Isometrisk översiktsbild över den av makrot genererade modellen.

Måttsatt bild genererad av makrot tänkt att kunna bifogas på arbetsordern.