Download as pdf or txt
Download as pdf or txt
You are on page 1of 62

2006:351 CIV

EX A M E N SARB E T E

Makro- och parameterstyrning


av CAD-modeller i SolidWorks

OSKAR NILSSON
ERIK BERGSTRÖM

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


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


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.
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.
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
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


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
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
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
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
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
Kund 3 - Ritningsförslag Konstruktör

1 - Önskemål 2 - Ritningsdata

4 - Bekräftelse
Säljare

5 - Mått

Beräkningsprogram
kaplistor

6 - Preliminär kaplista

Produktionsansvarig

7 - Arbetsorder

Tillverkning

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

11
4 - Ritningsförslag
och 3D-bilder
Kund Makro

1 - Önskemål 2 - Ritningsdata
3 - CAD-modell,
ritningsförslag,
3D-bilder,
kap- och
5 - Bekräftelse styckelistor
Säljare

Produktionsansvarig

6 - Arbetsorder

Tillverkning

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
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
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
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
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
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
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
h h
lucka

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
ä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
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
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
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
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
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
hål_stolpe
Stolprör (13.1.1.2) lod_stolpe
ovan_stolpe
Stolpe (13.1.1.1) ytter
under_lock,
Alla lock exkl. vinkellock lod_lock
hål_lock
under_lock
Vinkellock 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
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.

drawings

1
source

2
7016 assembly
3
.
.
.

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
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
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
Default

Glastjocklek 6mm Glastjocklek 15mm

Brandtätning Utomhustätning Utomhustätning Brandtätning


6mm 6mm 15mm 15mm

Inomhustätning Inomhustätning
6mm 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
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
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
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
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
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
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
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
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&SWE
Ho=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
12. SolidWorks Office Premium Brochure,
http://www.solidworks.com/pages/products/swofficepro/documents/OfficePremiumbr
ochure2006.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
Bilaga A - Användarmanual makro – Café au Lä
Café au Lä
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.
<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.


<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.
<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.
<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.
<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.
Felsökningsschema makro Café au Lä

Felkälla Förklaring Åtgärd


PDM-system PDM-systemet kan störa Logga ut ur PDM-systemet
makrot vilket ger felaktiga
referenser
Operativsystem/CAD-system Vissa fel kan avhjälpas vid Omstart av SolidWorks eller Windows.
omstart av SolidWorks eller
omstart av Windows
Inställningar i SolidWorks Inställningarna i SolidWorks Kontrollera att inställningarna under
kan påverka makrots Tools-menyn och alternativet Options är
funktionalitet identiska med bilderna nedan
Fel i källmappar Källfilerna måste ha en Skapa nya källmappar med
särskild struktur installationsmakrot
Nya/borttagna detaljer eller Modellen byggs upp av Hämta en äldre version av 13.1 ur PDM-
förändring av filnamn i CAD- namngivna ytor och delar. sysemet alternativt reparera modell och
modellen skapa nya källmappar
Annan version än SW 2006 SP Makrot är skapat och testat i Kontakta support
4.1 SolidWorks 2006 SP 4.1
Felaktig inmatning eller korrupt Felaktiga data har skickats in i Kontrollera inmatning/output-fil
output-fil makrot

Urklipp visande korrekta inställningar för körning av makro under Tools/Options/Assemblies 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.


Bilaga B - Kravdokument
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
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.
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
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
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.A
ssembly").SystemValue
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
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()
'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
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
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

Plattstång
Stolpe

Stolprör Glas

Liggande
glaslist Vändhjul

Styrning

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


13.1.2 – Rörlig ruta

Rörlig ruta

Stående Övre Nedre Stående Glid Glas


glaslist glaslist glaslist 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.


Bilaga E – Bilder skapade av Lä–makrot

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

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

You might also like