Afstudeeropdracht: KOVO tools
D. E. Schra
“…It’s a big plus!”
Afstudeeropdracht in het kader van de studie tot ACE System Manager Aan het CAD College te Nijmegen Onder begeleiding van ir. R. Boeklagen
Auteur:
Bedrijf:
Dennis Schra
KOVO BV
Evert Reddersland 51
Industrieweg 18
7951 GR Staphorst
7951CX Staphorst
122.doc
1
Afstudeeropdracht: KOVO tools
Project:
D. E. Schra
KOVO tools
‘Een uitbreiding van de AutoCAD functionaliteit met handige hulpmiddelen, sjablonen etcetera, welke zowel intern als extern te gebruiken is door onze tekenaars.’
Auteur:
D. E. Schra
Opdrachtgever:
KOVO BV te Staphorst
Opleiding:
AutoDesk Certified Engineer (HBO, deeltijdopleiding)
Instituut:
TEC CAD College te Nijmegen
Studiebegeleider:
ir. R. Boeklagen
Datum:
6 oktober 2008
122.doc
2
Afstudeeropdracht: KOVO tools
D. E. Schra
Voorwoord AutoCAD. Toen ik er voor het eerst mee te maken kreeg op de MTS, kwam het op me over als een stukje software voor specialisten. Ik werd best een beetje zenuwachtig van dat grote zwarte scherm en al die blauwe blokjes die verschenen als ik een object selecteerde. De opdrachten die we kregen waren niet mals en ik vreesde al voor slechte cijfers op dit onderdeel.
Na een half jaar stage bij een lokale installateur kwam hier echter al snel verandering in. In dat halve jaar tekende ik voornamelijk toegeleverde plattegronden van bouwbedrijven over in AutoCAD 12, om er daarna de diverse installaties in te tekenen. Het boek “AutoCAD 12, computerondersteund ontwerpen” van ir. R. Boeklagen lag bij dit bedrijf op de plank als leerboek en naslagwerk. Op de minder drukke momenten heb ik grote delen van dit boek doorgewerkt, waarna het programma al veel minder geheimen voor mij had.
Ik was eigenlijk wel een beetje gegrepen door het AutoCAD-virus en heb na het afronden van de MTS dan ook gesolliciteerd naar een baan als werkvoorbereider/AutoCAD-tekenaar. Bij mijn eerste werkgever werd een aangepaste versie van AutoCAD 12 gebruikt onder DOS. Een stabieler systeem heb ik nadien nooit meer gehad. Na de overstap naar mijn huidige werkgever ben ik mij meer gaan verdiepen in het aanpassen van de AutoCAD omgeving. Een eigen AutoCAD menu maken, Diesel macro’s schrijven en kleine LISP routines. Op een gegeven moment moest er toch meer kennis komen van een der programmeertalen, en zo ben ik met het CAD College te Nijmegen in aanraking gekomen.
Voor u ligt het resultaat van een project dat meer tijd in beslag heeft genomen dan in eerste instantie de bedoeling was. Ik ben in 2003 begonnen met de studie tot “Autodesk Certified Engineer”. Door diverse redenen heeft het nogal lang geduurd voordat ik aan afstuderen toe was. In de tussentijd heb ik echter niet stil gezeten, en ben wel bezig gebleven met het programmeren in VBA.
juni 2008, Staphorst
122.doc
3
Afstudeeropdracht: KOVO tools
D. E. Schra
Inhoudsopgave Project:
KOVO tools ........................................................................................................2
Voorwoord.........................................................................................................................3 Samenvatting.....................................................................................................................5 1
Inleiding .....................................................................................................................6
Bedrijfsprofiel KOVO BV ......................................................................................................7 1.1
De werkzaamheden ................................................................................................9
1.2
De organisatie ........................................................................................................9
2
Probleemstelling ........................................................................................................ 11 2.1
3
Een slim menu ..................................................................................................... 13
Ib/Iz generator .......................................................................................................... 18 3.1
4
Werking van de Ib/Iz generator ............................................................................. 20
Klantkeuze ................................................................................................................ 22 4.1
Werking van klantkeuze ........................................................................................ 22
5
Instellingen ............................................................................................................... 24
6
I/O importeren .......................................................................................................... 26
7
Conclusie .................................................................................................................. 28
8
Bronvermelding ......................................................................................................... 29
Bijlagen: I.
Programmacode opstarten AutoCAD
II.
Voorbeeld installatieschema
III.
Programmacode Ib/Iz generator
IV.
Programmacode klantkeuze
V.
Programmacode instellingen
VI.
Programmacode importeer I/O
VII.
Voorbeeld importeer I/O
VIII.
Installatie instructie KOVO-tools
122.doc
4
Afstudeeropdracht: KOVO tools
D. E. Schra
Samenvatting Om op een juiste manier te tekenen met AutoCAD ben je afhankelijk van veel variabelen. Als er dan tekenwerk verricht moet worden voor meerdere klanten, die allemaal weer hun eigen CAD-standaard hebben, komen er nog weer een aantal keuzes bij. Om het aantal fouten op de tekenkamer tot een minimum te beperken zijn er meerdere oplossingen mogelijk.
Het resultaat van dit project is een AutoCAD-menu met een aantal slimme tools die het voor onze tekenaars makkelijker maakt om vlot te wisselen tussen tekenwerk voor onze verschillende klanten, om te zorgen voor meer uniformiteit in het tekenwerk en om tijdrovende klusjes op een snellere manier op te lossen. Het menu is eenvoudig mee te nemen naar de klant, zodat ook de collega’s die gedetacheerd zitten de tools eenvoudig kunnen gebruiken.
122.doc
5
1 Inleiding Als we eerlijk zijn is AutoCAD eigenlijk best een ingewikkeld programma. En dan met name voor de mensen die het zien als een stuk gereedschap wat gewoon moet werken. Een instelling als ltscale Kan het uiterlijk van een tekening al behoorlijk veranderen. En als de variabelen pickfirst en highlight op ‘0’ staan, kan dit al snel tot irritatie lijden. Binnen ons bedrijf wordt tekenwerk verricht voor een grote verscheidenheid aan klanten. De meeste van deze klanten hebben een CAD-standaard, een aantal standaard kaders en meestal ook nog een aantal CTB-bestanden.
Ook het subscription gebeuren heeft het er niet op alle gebieden makkelijker op gemaakt. Enerzijds moet je mee met de laatste versie om de melding ‘Drawing was made with an incompatible version’ te voorkomen, en aan de andere kant kan je niet direct upgraden omdat de applicaties die wij gebruiken (StabiCAD, Nordined) eerst compatible gemaakt dienen te worden met de nieuwe versie van AutoCAD.
Bij het installeren van een nieuwe versie van AutoCAD op een pc moeten er altijd nog weer de nodige dingen ‘goed’ gezet worden. Denk hierbij aan Plotters, PMP-bestanden, peninstellingen, en templates.
Op dit moment gaat er binnen KOVO nog te veel tijd verloren met het zoeken naar bepaalde instellingen. Ook de uniformiteit van het tekenwerk laat soms te wensen over. Voor bovenstaande zaken en ook voor andere tijdrovende werkzaamheden zal ik proberen een passende oplossing te vinden.
122.doc
6
Bedrijfsprofiel KOVO BV KOVO is opgericht in het jaar 1996 door de heren Klaas Oostra (KO) en Jan Voskuil (VO). In het begin bestond het bedrijf uit een verbouwde zolder bij Klaas thuis en een bordje in diens voortuin. De werkzaamheden bestonden toen nog voornamelijk uit het maken van elektrotechnische installatietekeningen voor installateurs. De leiding van het tekenwerk werd door Klaas gedaan, en de financiële kant nam Jan voor zijn rekening. Na twee jaar vanuit de zolderkamer te hebben gewerkt werd er mede door het groeiende aantal werknemers en de drang om te groeien gezocht naar nieuwe huisvesting. In 1999 is KOVO verhuisd naar de Industrieweg in Staphorst. (Zie afbeelding 1)
Afbeelding 1
Jan Voskuil heeft het bedrijf in 2002 verlaten om weer iets voor zichzelf op te starten. Het bedrijf in zijn huidige vorm staat nog steeds onder leiding van Klaas Oostra en opereert nog steeds vanuit het pand aan de industrieweg in Staphorst. Het personeelsbestand bestaat op dit moment uit 30 personen.
Op het moment dat ik dit verslag schrijf is KOVO druk bezig met de bouw van een nieuw pand in Assen. (Zie afbeelding 2) Dit doen we om de lijnen met de klanten in het noorden van het land iets korter te maken en om ze zo beter van dienst te kunnen zijn
122.doc
7
Afbeelding 2
122.doc
8
1.1 De werkzaamheden De werkzaamheden die wij bij KOVO verrichten kunnen het best omschreven worden als dienstverlening in de installatietechnische sector. Dit houdt ruwweg in dat we alle kantoorwerkzaamheden kunnen uitvoeren die met de installatietechniek te maken hebben. In de beginjaren van KOVO waren het vooral installatiebedrijven die van onze diensten gebruik maakten. En dan met name het calculeren en het verzorgen van elektrotechnische installatietekeningen waren werkzaamheden die men graag aan ons toevertrouwde.
In de loop der jaren is het bedrijf opgedeeld in drie afdelingen met een eigen afdelingshoofd omdat er een duidelijk onderscheid kwam te liggen tussen elektrotechniek, besturingstechniek en werktuigbouwkunde. Op dit moment verzorgen we tekenwerk, calculaties, advisering, directievoering en het beheer van tekeningen en gebouwgebonden installaties. Deze werkzaamheden kunnen we aan kantoor uitvoeren, maar ook het werken bij de klant op locatie behoort tot de mogelijkheden. Om u enig inzicht te geven in onze werkzaamheden en onze klanten zal ik hieronder een aantal voorbeelden beschrijven.
•
Voor een aantal ziekenhuizen in noord Nederland verzorgen wij het tekeningenbeheer. Dit houdt in dat we zorg dragen voor het verwerken van revisie op bestaande tekeningen, of revisies controleren als deze door een andere partij zijn uitgevoerd. Ook het vervaardigen van vluchtwegplattegronden en tekeningen ten behoeve van gebruiksvergunningen behoort tot onze werkzaamheden.
•
Voor een fabrikant van vuilniswagens verzorgen we het tekenwerk van het gehele elektrische systeem. De bekabeling van deze vrachtauto’s gebeurt niet meer op de conventionele manier, maar doormiddel van een zogenaamd harness. Een soort kabelboom die alle verlichting, hydrauliek, pneumatiek, besturing en beveiligingsvoorzieningen van de perskit doormiddel van stekkers verbind.
•
Voor een aantal kleine en grotere installateurs verzorgen wij tekenwerk en calculaties op zowel elektrotechnisch als werktuigbouwkundig gebied.
1.2 De organisatie De organisatiestructuur binnen KOVO ziet er in grote lijnen als volgt uit. (Zie organigram 1)
122.doc
9
Directie
Systeembeheer
Administratie
Afdelingshoofd Elektrotechniek
Afdelingshoofd Besturingstechniek
Afdelingshoofd Werktuigbouwkunde
Projectmedewerkers
Projectmedewerkers
Projectmedewerkers
Intern
Intern
Intern
Extern
Extern
Extern
Organigram 1
Dit organigram geeft alleen de structuur weer. Echte hiërarchische lagen kennen we binnen KOVO niet. We zijn eigenlijk gewoon een clubje techneuten, die bij de meeste bedrijven qua kennis en ervaring zeker nog iets kunnen toevoegen!
122.doc
10
2 Probleemstelling Hoe zorg je er nou voor dat je tekenwerk er altijd gelijk uitziet, en hoe kan je tijdrovende bezigheden sneller laten verlopen? Hoe zorg je ervoor dat het aanpassen van een aantal instellingen voor iedereen duidelijk is? En hoe maak je deze functionaliteit ook nog bruikbaar voor de gedetacheerde collega’s? Dat zijn de vragen die ik mezelf gesteld heb.
De mogelijke oplossingen voor bovenstaande problemen zijn: •
Een standaard applicatie die samenwerkt met AutoCAD
•
Problemen handmatig blijven oplossen, maar de kennis van AutoCAD vergroten bij de tekenaars
•
Zelf een programma schrijven doormiddel van: 1. LISP 2. Visual Basic for Applications (VBA)
Het aanschaffen van een kant en klare applicatie is geen oplossing. We maken bij KOVO gebruik van StabiCAD en Nordined, maar deze applicaties lossen lang niet alle problemen voor ons op. Het aanmaken en beheren van projecten werkt allemaal naar behoren, maar deze programma’s zijn gemaakt voor bedrijven op zich. Hier bedoel ik mee dat het eigenlijk alleen in te richten is naar één CAD-standaard. Maar als je tekenwerk doet voor meerdere klanten, kan je niet alle instellingen gelijk houden. Ook het aantal beschikbare kaders zal weer het nodige zoekwerk met zich meebrengen.
Door bij de tekenaars de kennis van AutoCAD te vergroten zullen de diverse instellingen sneller terug te vinden zijn. Mijn ervaring met opleidingen is echter dat er niet veel van de behandelde stof blijft hangen als het een ‘verplichte’ cursus is. In het verleden zijn we al eens begonnen met het schrijven van een soort handleiding, maar de praktijk wijst uit dat, vooral onder tijdsdruk, het lezen van dit soort informatie niet gebeurt.
Het komt er dus eigenlijk op neer dat er iets gemaakt moet worden dat er nog niet is, en dan wel op zo’n manier dat het eenvoudig te integreren is binnen AutoCAD, tijdwinst opleverd en ook makkelijk mee is te nemen voor onze tekenaars die bij de klant op locatie zitten.
Er werd toen al snel aan een extra AutoCAD menu gedacht. Geen groot log programma, maar een menu waarbinnen op simpele manier een stukje gereedschap toegevoegd kan worden, maar ook met dezelfde eenvoud weer te verwijderen is als het niet naar behoren werkt of door een standaard AutoCAD functie overbodig is geworden. Ook oudere, maar nog zeer bruikbare Lisp-routine’s kunnen op deze manier handig geïntegreerd worden.
122.doc
11
Om het laden van een menu automatisch te laten verlopen, ben je aangewezen op een van de in AutoCAD geïntegreerde programmeertalen Lisp of VBA. Lisp is een van de oudste programmeertalen die nog in gebruik is. Het is in principe net zo krachtig als VBA, maar veel minder makkelijk in gebruik. Lisp staat eigenlijk voor ‘LISt Processing’’ maar word gekscherend meestal vertaald met ‘Lost In Stupid Parentheses’ Omdat het ontbreken van een haakje in de programmacode voor veel problemen kan zorgen. Mijn voorkeur gaat dan ook uit naar VBA omdat dit tegenwoordig in veel programma’s is ingebouwd. Hierdoor is het eenvoudig om een koppeling met een ander programma tot stand te brengen. Ook het ontwerpen en programmeren van een dialoogvenster is in VBA makkelijker dan in Lisp.
122.doc
12
2.1 Een slim menu Om ervoor te zorgen dat de tekenaars niet eerst zelf op een programmeercursus hoeven is er geprobeerd het laden van het menu zo eenvoudig mogelijk te maken. Het enige wat er gedaan moet worden, is het toevoegen van een zogenaamd zoekpad in de options van AutoCAD. En het hierna een keer opnieuw opstarten van het programma. Door in dit zoekpad van AutoCAD een zogenaamde startup-file te plaatsen, is het mogelijk een VBA programma te doorlopen tijdens het opstarten van AutoCAD. Op deze manier is het laden van het menu al te automatiseren.
Bij het gebruik van het menu aan kantoor levert dit geen problemen op. Als de gedetacheerde collega’s echter ook gebruik willen maken van het menu, dan zal het programma op exact dezelfde plaats op de PC bij de klant geïnstalleerd moeten worden om te zorgen dat de padverwijzingen blijven werken. Omdat dit bij de meeste klanten niet wenselijk of haalbaar is, moet het menu gebruikt kunnen worden vanaf een USB-stick of externe harde schijf. Hier komt echter een volgend probleem boven drijven: Een USB-stick heeft niet op elk systeem dezelfde schijfletter. Dit brengt dus met zich mee dat de padverwijzingen in het menu steeds moeten worden gecontroleerd en eventueel aangepast.
Bij het laden van het aangepaste menu is het van belang dat de gecompileerde bestanden van een vorige versie van het menu eerst ook verwijdert worden. Om voor mezelf duidelijk te krijgen wat er van het programma wordt verwacht heb ik eerst een stroomschema gemaakt. (Zie figuur 1)
122.doc
13
Start
Is het KOVO menu geladen?
nee
ja Menu ontladen, gecompileerde bestanden verwijderen
Kloppen de padverwijzingen in het menu? ja
nee
Padverwijzingen aanpassen
Het menu laden
Einde
Figuur 1
Bij het opstarten van AutoCAD moet er eerst gecontroleerd worden of het menu al geladen is. Als dit het geval is dan moet het menu worden ontladen en de gecompileerde versies van het menu moeten verwijdert worden. Het verwijderen van het menu is toegevoegd om het verspreiden van een nieuwe versie eenvoudiger te maken. Zo wordt een oude versie altijd verwijdert, en kan er direct met de nieuwe versie gewerkt worden. Het volgende belangrijke punt zijn de padverwijzingen in het menu. Verwijzen deze wel naar de juiste schijf? Om dit probleem op te lossen is er een functie geschreven die kan zoeken naar de naam van een schijf, en de schijfletter als antwoord terug geeft. (Zie deelcode 1) Deze functie is in VBA in een aparte module geplaatst, om hem ook te kunnen gebruiken binnen andere programma’s
122.doc
14
Function SchijfLetter(ByVal strSchijfNaam As String) Dim objFS As FileSystemObject Dim strSchijf As String Dim d, dc, s, n
' Het filesystemobject aanmaken Set objFS = New FileSystemObject ' De schijfletter van de schijf met de gegeven 'strSchijfNaam' opzoeken Set dc = objFS.Drives On Error Resume Next For Each d In dc If d.DriveType = Remote Then n = d.ShareName Else
Deelcode 1
Als nu de schijfnaam van de USB-stick verandert wordt in ‘KOVO’ en de bovenstaande functie wordt doorlopen, dan zal deze de schijfletter van de USB-stick als antwoord geven. Door nu een regel uit het menu-bestand te lezen die een padverwijzing bevat, kan deze eenvoudig vergeleken worden met de net opgezochte schijfletter. Indien nodig kunnen de padverwijzingen dan aangepast worden. Hiervoor wordt de volgende code gebruikt. (Zie deelcode 2)
122.doc
15
[...] ' Controleren of de schijfletter goed in het menu staat ' De schijfletter uit het menu lezen Set f = objFS.OpenTextFile(strSchijfExtern & ":\kovo- _ cad\prog\kovo.mnu", 1, TristateFalse) strHuidig = UCase(Right(f.ReadLine, 11)) strNieuw = UCase(strSchijfExtern & ":/kovo-cad") f.Close ' De beide strings vergelijken
Deelcode 2
Voor het zoeken en vervangen van tekst in een bestand zijn er delen programmacode van internet gehaald. Deze kunt u eventueel raadplegen in bijlage I.
Tijdens deze opstartroutine wordt er ook gebruik gemaakt van een zogenaamd INI-bestand. Hierin worden waarden opgeslagen die in andere programma’s weer opnieuw zijn te gebruiken. Een aantal voorbeelden hiervan zijn: •
Titel. Zo kunnen alle dialoogvensters voorzien worden van dezelfde titel
•
Status Intern/Extern. Sommige programma’s moeten intern op een andere plek naar hun gegevens zoeken dan extern
•
De naam van het AutoCAD menu
•
De versie van het menu en de programmacode.
Het versienummer wordt op dit moment nog niet gebruikt, maar in de toekomst zal deze gebruikt gaan worden om fouten te achterhalen en voorkomen. En het uitwisselen van nieuwe versies eenvoudiger maken. Het gebruik van het computerregister is in dit geval geen optie, omdat bij extern gebruik van de USB-stick de gegevens dan ook opgeslagen zouden worden op de PC van de klant.
Na het laden van het menu worden er nog een aantal AutoCAD instellingen gedaan. Zo wordt de interval van de automatische opslag op 10 minuten gezet, de scrollbars worden uitgeschakeld, de kruisharen van de cursor worden op 100% gezet en het alternate fontfile wordt op ‘isocp.shx’ gezet
122.doc
16
Het menu is verder al voorzien van een aantal toolbars. Deze zijn gevuld met een aantal functies die ik zelf veel gebruik. Deze zullen in de toekomst nog uitgebreid worden met wensen van collega’s. Ook de pulldown menu’s zijn al gevuld met een aantal handige functies, waaronder het vanuit AutoCAD kunnen opstarten van de KOVO webmail. In dit verslag wordt verder niet ingaan op de standaard AutoCAD functionaliteit die hiervoor is gebruikt.
Verder zijn er in het menu een aantal kleine programma’s ondergebracht die binnen KOVO de nodige tijdwinst opleveren. Van deze programma’s worden er in de volgende hoofdstukken nog een aantal besproken. De programma’s kunnen gestart worden vanuit de pulldown menu’s van het geladen KOVO menu.
122.doc
17
3 Ib/Iz generator Binnen ons bedrijf wordt er veel gebruik gemaakt van de AutoCAD applicatie StabiCAD. Dit is een soort intelligente schil die om AutoCAD heen is gebouwd. Binnen de Elektrotechnische module is het mogelijk een installatieschema te genereren van een verdeelkast. Een installatieschema is een simpele weergave van de opbouw van een verdeelkast. Er staat bijvoorbeeld op aangegeven hoeveel afgaande groepen de verdeelkast voedt, welke belasting er op een groep is aangesloten en wat voor soort kabel er is gebruikt om de eindverbruikers aan te sluiten op de verdeler. Zie bijlage II voor een voorbeeld van een installatieschema. Volgens de norm dienen op een installatieschema ook de Ib en Iz aangegeven te worden. Ib staat voor de ontwerpstroom en Iz is de maximaal toelaatbare stroom die de kabel mag voeren.
StabiCAD heeft hiervoor wel een mogelijkheid ingebouwd, maar deze functie werkt traag en niet altijd naar behoren. Zo dienen de waarden voor Ib en Iz steeds opnieuw berekend te worden bij het opnieuw genereren van een installatieschema. Deze handeling dient per groep te gebeuren, en aangezien sommige verdelers meer dan 50 eindgroepen hebben, wordt het een tijdrovende klus. Om deze twee kolommen sneller te tekenen is er in VBA een programma voor geschreven. Als eerste is de globale werking weer in eens stroomschema gezet om de structuur voor het programmeren alvast op papier te hebben.(Zie figuur 2)
De moeilijkheid van dit programma zit in het selecteren van de waarden. De waarden kunnen geselecteerd worden met een window of een crossing. Dit geeft als resultaat echter een selectieset die niet gesorteerd is op volgorde van boven naar beneden. Grote verdelers worden vaak onder een hoek van 90° getekend omdat ze dan beter op een liggend ISO-formaat passen. Dit betekent dus dat de geselecteerde waarden niet op hun Y-waarde, maar op hun X-waarde gesorteerd moeten worden.
Om deze twee problemen op te lossen wordt eerst de invoeghoek achterhaald door de rotatiehoek op te vragen van de eerste tekst in de selectieset. De schaal van het getekende schema wordt bepaald aan de hand van de hoogte van de geselecteerde tekst. Hierna wordt verder gerekend met de coördinaten en de opgegeven regelafstand. Bij een horizontaal getekende verdeler zal eerst de tekst uit de selectieset gefilterd worden met het hoogste Y-coördinaat. Hierna wordt de volgende tekst gezocht door bij de waarde van het Y-coördinaat van de eerste tekst de regelafstand op te tellen. Is het schema onder 90° getekend, dan zal er verder gerekend worden met de X-coördinaat en de regelafstand.
122.doc
18
Start
Selecteer de te verwerken waarden
Bevat de selectie waarden
nee
ja Selecteer de 3-fase groepen
Waarde gemarkeerd als 3-fase?
nee
ja
Waarde delen door: 400 x sqrt 3
Waarde delen door: 230
Waarden in de tabel plaatsen
Einde
Figuur 2
122.doc
19
3.1 Werking van de Ib/Iz generator
Afbeelding 3
In de bovenste 2 invoervelden dienen de maten opgegeven te worden van het raster. Deze waarden worden normaal gesproken ingesteld in StabiCAD. Om weer te kunnen voldoen aan de wensen van de klant zijn deze hier te wijzigen. De meest voorkomende instelling is 12 bij 10, dus deze waarden worden standaard ingevuld. Met de 1e knop worden de vermogenswaarden uit de kolom van het installatieschema geselecteerd, gevolgd door een enter. De interface ziet er dan ongeveer uit zoals in afbeelding 3. Aangezien voor 1-fase en 3-fase groepen verschillende berekeningsfactoren gelden kan dit onderscheidt aangegeven worden doormiddel van vinkjes. De 3-fase groepen worden wel geselecteerd en de rest wordt leeg gelaten. Middels een vinkje kan nog aangegeven worden of de Iz ook in de tabel wordt weergegeven.
De combobox hieronder geeft nog de mogelijkheid kolommen over te slaan tussen de huidige tabel en de nieuw te tekenen kolommen. Dit is gedaan omdat er klanten zijn die na de kolom met het aangesloten vermogen nog aangeven hoe deze belasting over de 3 fasen is verdeeld. De knop ‘Waarden invullen’ zal ervoor zorgen dat de geselecteerde kolommen volgens de gekozen instellingen op tekening worden gezet.
122.doc
20
In bijlage III vindt u de code van bovenstaand programma.
122.doc
21
4 Klantkeuze Aangezien KOVO tekenwerk doet voor veel verschillende opdrachtgevers, is het soms een zoekplaatje naar de juiste kaders en plotinstellingen. Van een klant krijgen we meestal een tiental kaders toegeleverd en een aantal CTB-bestanden, die de plotinstellingen bevatten. Deze bestanden worden bij ons op het netwerk opgeslagen volgens een vaste mappenstructuur. Bij het opstarten van een nieuw project brengt dit het nodige zoek- en instelwerk met zich mee. Eerst via het netwerk het juiste kader invoegen, en daarna de plotinstellingen goedzetten.
Door alle kaders en plotinstellingen te verweken in een template wordt de handelingen die nodig zijn voor het afdrukken van een tekening al sterk gereduceerd. Ook de plotinstellingen per kader hoeven in een template maar een keer goed te worden ingesteld. Op dit moment is het mogelijk in AutoCAD een kader in te voegen vanuit een template. Als er met de rechtermuistoets geklikt wordt op het tabblad van een layout, kan met de functie ‘From template...’gezocht worden naar de juiste template, en van hieruit een kader ingevoegd worden. Het zoekpad naar de template bestanden is in te stellen in de opties van AutoCAD.
Omdat de gegevens volgens een vaste structuur zijn opgeslagen is het mogelijk het zoekpad naar het template te automatiseren. Hiermee wordt bedoelt dat na het kiezen van een klant, het zoekpad naar de map met gegevens van de gekozen klant kan worden gezet. Na het kiezen van een bepaalde klant moeten alleen diens kaders beschikbaar zijn. En de kaders moeten op een eenvoudige manier in te voegen zijn in AutoCAD zonder te veel zoeken op het netwerk.
4.1 Werking van klantkeuze Bij het initialiseren van het programma wordt de map met klantgegevens doorlopen, en wordt er een combobox gevuld met de namen van de gevonden bedrijven. De gebruiker kan hier de betreffende klant uitkiezen en op de knop ‘laad instellingen’ klikken, waarna er twee zoekpaden in AutoCAD worden aangepast. Het zoekpad voor templates zal gewijzigd worden alsmede het zoekbestand naar de peninstellingen van de klant. Als de juiste instellingen gekozen zijn kunnen er kaders ingevoegd worden vanuit het pulldown menu ‘kaders’. Na het kiezen van een formaat zal er een nieuwe layout aangemaakt worden met het gewenste kader en ook al de juiste plotinstellingen. Dit scheelt een hoop werk! In afbeelding 4 ziet u een schermafdruk van het programma
Afbeelding 4
122.doc
22
Om onderscheid te maken tussen intern en extern werken wordt er gebruik gemaakt van het zelfde INI-bestand als bij het opstarten van AutoCAD. De status wordt uitgelezen, en dit zorgt ervoor dat het programma op de USB-stick naar klantgegevens gaat zoeken. Op dit moment is het gebruik van de klantgegevens op de USB-stick beperkt tot de gegevens van KOVO. Na het detecteren van de status ‘Extern’ worden de zoekpaden ingesteld naar de gegevens van KOVO, en wordt de combobox op het formulier grijs gemaakt, zodat deze niet meer te gebruiken is.
In overleg met de klant is het mogelijk diens gegevens ook voor de gedetacheerde tekenaars beschikbaar te maken. De mappenstructuur op de USB-stick is op dezelfde manier opgezet als op het netwerk zodat het eventueel overdragen van gegevens van en naar het netwerk in de toekomst geen problemen oplevert.
In Afbeelding 5 ziet u een voorbeeld van het pulldown menu voor het kiezen van een kader. De programmacode van klantkeuze vind u terug in bijlage IV
Afbeelding 5
122.doc
23
5 Instellingen Het installeren van een nieuwe versie van AutoCAD brengt altijd weer de nodige werkzaamheden met zich mee. En in deze tijden van AutoDesk subscription volgen de versies elkaar in een snel tempo op. Het instellen van de zoekpaden naar de Printers, standaard CTB-bestanden, PMP-bestanden en tijdelijk bestanden moet dan op elke PC opnieuw ingesteld worden. Omdat dit best een bewerkelijk proces is als je het op 10 PC’s moet uitvoeren is hier ook een klein programma voor geschreven.
Het Instellingen-programma zorgt ervoor dat bij een nieuw geïnstalleerd station met een aantal simpele handelingen de padverwijzingen goed ingesteld kunnen worden. De padverwijzingen worden bij het initialiseren van het programma ingelezen vanuit hetzelfde INI-bestand als waar de rest van de programma’s gebruik van maken. Mochten de padverwijzingen uit het INI-bestand niet bestaan op het huidige systeem, dan wordt dit kenbaar gemaakt door een rode achtergrondkleur van het betreffende pad. Ook is de knop om de padverwijzingen door te voeren in AutoCAD uitgeschakeld. Tijdens het initialiseren wordt ook gecontroleerd of de paden al in gebruik zijn in AutoCAD. Als dit het geval is wordt de achtergrondkleur van het betreffende pad groen. In Afbeelding 6 ziet u een voorbeeld van het programma nadat het net is opgestart.
Afbeelding 6.
Alle ‘rood’ aangegeven paden dienen eerst vervangen te worden voor bestaande paden, waarna ze doormiddel van de doorvoeren knop in AutoCAD gezet kunnen worden. Als controle kan het programma hierna nogmaals opgestart worden. Als alle paden dan groen zijn gemarkeerd, is de aanpassing goed uitgevoerd. De nieuw gekozen paden kunnen doormiddel van de knop opslaan verwerkt worden in het INI-bestand. Tijdens de initialisatie van het programma wordt er gekeken of er intern of extern gewerkt wordt om het zoekpad naar klantgegevens in of uit te schakelen.(Zie afbeelding 6) Het zoekpad naar de klantgegevens wordt ook gebruikt door het programma dat ik het vorige hoofdstuk heb besproken.
Door binnen een netwerk nu eenmaal de juiste zoekpaden in te stellen en deze op te slaan op de USB-stick, wordt het instellen van de rest van de PC’s een kwestie van 3 klikken.
122.doc
24
De code van het instellingen programma vind u terug in bijlage V
122.doc
25
6 I/O importeren In de besturingstechniek worden tegenwoordig steeds meer PLC’s toegepast. Een PLC is een programmeerbare module die regeltechnische functies kan uitvoeren. Zelfs voor de kleinere installaties begint de PLC de relaistechniek van vroeger al steeds meer te verdringen.
Een PLC wordt meestal in delen getekend, omdat zo’n complex apparaat niet op 1 schemablad past. Eerst wordt er een configuratie getekend waarop wordt aangegeven uit welke onderdelen de PLC is opgebouwd, op welke manier het systeem gevoed wordt en de eventuele communicatie met andere installatieonderdelen. Hierna wordt de zogenaamde I/O uitgetekend. Dit zijn de fysieke in- en uitgangen van het PLC-systeem. De in- en uitgangen van een PLC zijn meestal samengebouwd in modules die eenvoudig zijn bij te plaatsen. Men spreekt in dit geval vaak van kaarten. Bij het tekenen van deze I/O is het intypen van de kanaalinformatie een vervelend en tijdrovend werkje. Met de kanaalinformatie wordt de omschrijving bedoeld van het signaal dat de PLC in gaat of de actie die een uitgang van de PLC aanstuurt.
De engineer die de I/O bepaalt, zet zijn lijst meestal op in Excel. Doordat een in- of uitgang van een PLC is voorzien van een uniek adres, kunnen deze gegevens doormiddel van VBA op een eenvoudige manier geïmporteerd worden in AutoCAD
Er zijn AutoCAD blocks aangemaakt met hetzelfde aantal attributen als er in Excel worden gebruikt door de engineer. Op tekening hoeven in eerste instantie alleen de unieke adressen per in- en uitgang ingevuld te worden. Als de I/O lijst klaar is kan de data tussen Excel en AutoCAD vergeleken worden op basis van de unieke adressering.
Afbeelding 7
In afbeelding 7 ziet het dialoogvenster van het programma. Met de browse knop kan er gezocht worden naar het Excel bestand dat de I/O informatie bevat. Na het klikken op de knop ‘Importeer gegevens’ zullen alle blocks in de tekening met de naam ‘DI’ of ‘DO’ worden verwerkt. Het ingevulde adres uit AutoCAD wordt vergeleken met alle waarden in de adressenkolom in Excel. Als er een zelfde adres wordt gevonden zullen de gegevens die links en rechts van dit adres zijn ingevoerd in Excel worden uitgelezen en ingevuld in de rest van de attributen van het block.
122.doc
26
In bijlage VI vind u de code van het hierboven beschreven programma. De code die wordt gebruikt om een samen te werken met Excel staat hier niet bij. Deze code is ondergebracht in een aparte module, zodat deze eenvoudig gebruikt kan worden vanuit andere programma’s
In bijlage VII vind u een voorbeeld van een 8-voudige digitale ingangskaart. Bovenaan staat de kaart zoals deze met de hand getekend moet worden. Daaronder staat een deel van het Excel bestand dat de I/O informatie bevat, en daaronder staat een volledig ingevulde kaart na het gebruik van het programma.
Dit programma kan bij grote installaties met veel I/O enorm veel tijdwinst opleveren. Ook bij wijzigingen in het Excel bestand hoeven de gegevens meer eenmaal opnieuw ingelezen te worden om de PLC signalen weer kloppend te maken. Er is voor een koppeling met Excel gekozen om de drempel laag te houden voor de engineers. Mocht het wenselijk zijn, dan kan dit programma in de toekomst nog aangepast worden voor import vanuit Acces.
122.doc
27
7 Conclusie Om echt snel en gestandaardiseerd te tekenen ben je eigenlijk wel aangewezen op een standaard applicatie als StabiCAD of Nordined. Deze zorgen voor het lagenbeheer, een symbolenbibliotheek en allerlei te genereren schema’s. Maar voor het oplossen van problemen met instellingen en het reduceren van de tijd die men nodig is om een tekening op te zetten, is programmeren in VBA een prima manier om het leven van de tekenaar aangenamer te maken.
Wat me bij het programmeren het meest is tegengevallen, is het afvangen van fouten. Als ontwerper van de software denk je dat de werking vanzelfsprekend is. Het op alle mogelijke punten in de code voorkomen van foutieve invoer moet niet onderschat worden!
Een ander punt van aandacht is de levensduur van een USB-stick. Dat deze niet voor eeuwig blijven functioneren heb ik zelf mogen ondervinden. Een regelmatige back-up van de gegevens op de USBstick is geen overbodige luxe.
Het menu wat ik tijdens dit project heb ontworpen is nog niet af. Maar zal dit waarschijnlijk ook nooit zijn. Elke versie van AutoCAD heeft weer zijn nieuwe handigheidjes en ook de ontwikkelaars van de standaard applicaties zitten niet stil. Maar ik denk wel dat er altijd processen binnen ons bedrijf zullen blijven die gestroomlijnd kunnen worden door het gebruik van de KOVO-tools.
122.doc
28
8 Bronvermelding Boeklagen, R. (2007). AutoCAD 2008: Computer ondersteund ontwerpen. Nijmegen: TEC; Twente Engineering Consultancy BV
Rubin, J. (2003). Replace text in a text file using VBA in Microsoft Excel. Geraadpleegd medio 2005, http://www.exceltip.com/st/Replace_text_in_a_text_file_using_VBA_in_Microsoft_Excel/494.html
De ondertitel op de voorpagina wordt in een andere context ook gebruikt door: automobielmerk Chevrolet
(Chevrolet is een onderdeel van General Motors Corporation)
122.doc
29