27.08.2015 Views

dezelfde stroom bij elke stap die ik zet." Alain

Eindverslag - CADCollege

Eindverslag - CADCollege

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

"Als <strong>ik</strong> van de ene berg<strong>stroom</strong> naar de andere ga, zie <strong>ik</strong> steeds<br />

<strong>dezelfde</strong> <strong>stroom</strong>. Maar als <strong>ik</strong> van rots naar rots klim, verandert<br />

<strong>dezelfde</strong> <strong>stroom</strong> <strong>bij</strong> <strong>elke</strong> <strong>stap</strong> <strong>die</strong> <strong>ik</strong> <strong>zet</strong>."<br />

<strong>Alain</strong>


Voorwoord<br />

Na de middelbare school ben <strong>ik</strong> Architectonische Vormgeving gaan studeren aan de Academie voor<br />

Beeldende Kunsten te ’s Gravenhage. Hier ben <strong>ik</strong> in aanraking gekomen met het programma AutoCAD<br />

(14). Na drie jaar Architectonische Vormgeving ben <strong>ik</strong> overge<strong>stap</strong>t naar de richting Grafische en<br />

Typografische Vormgeving. Deze stu<strong>die</strong> heb <strong>ik</strong> een jaar gevolgd waarna <strong>ik</strong> ben gestopt met studeren<br />

en ben gaan werken. Ongeveer een jaar geleden heb <strong>ik</strong> besloten om mijn stu<strong>die</strong>, hetzij op een andere<br />

manier, weer op te pakken en ben begonnen aan deze HBO opleiding. Mijn situatie is dus momenteel<br />

dat <strong>ik</strong> geen relevante werkervaring heb <strong>die</strong> zou kunnen <strong>die</strong>nen om hieruit een afstudeeropdracht af te<br />

leiden.<br />

Gelukkig waren er medestudenten en een docent <strong>die</strong> hebben geholpen met het aandragen van ideeën<br />

voor een passende en haalbare opdracht. Mede dankzij deze mensen, <strong>die</strong> mijn programmaontwerp<br />

regelmatig van commentaar voorzagen, is dit geheel (het programma en dit verslag) tot stand<br />

gekomen.<br />

Mijn dank gaat uit naar Ronald Boeklagen en Leonie Bergsma van het TEC CAD College voor hun<br />

ondersteuning en begeleiding. Naar Michael Slavenburg en Eric Boers (medestudenten) voor hun<br />

enthousiasme en commentaar. En naar Paul Arts (tevens van het TEC CAD College) voor het geven<br />

van de laatste tips.<br />

IV 4


Inhoudsopgave<br />

Pagina<br />

Voorwoord<br />

IV<br />

Samenvatting 6<br />

Inleiding 7<br />

Hoofdstuk 1 Het Stroomschema 8<br />

1.1 Inleiding 8<br />

1.2 Definitie van een <strong>stroom</strong>schema 8<br />

1.3 Het gebru<strong>ik</strong> van een <strong>stroom</strong>schema 8<br />

1.4 Het verschil tussen een <strong>stroom</strong>schema en een <strong>stroom</strong>diagram 8<br />

1.5 Basissymbolen van een <strong>stroom</strong>schema en <strong>stroom</strong>diagram 10<br />

1.5.1 Basissymbolen van een <strong>stroom</strong>schema 10<br />

1.5.2 Basissymbolen van een <strong>stroom</strong>diagram 11<br />

1.6 Keuze tussen het <strong>stroom</strong>schema en het <strong>stroom</strong>diagram 12<br />

1.6.1 Voordelen en nadelen van een <strong>stroom</strong>schema 12<br />

1.6.2 Voordelen en nadelen van een <strong>stroom</strong>diagram 12<br />

1.7 De opbouw en het structuren van een <strong>stroom</strong>schema 13<br />

1.8 De opbouw van een <strong>stroom</strong>schema met een procedure 14<br />

1.9 Het geautomatiseerd tekenen van een <strong>stroom</strong>schema 14<br />

1.10 Vergelijking van verschillende programma’s 15<br />

1.11 Besluit 18<br />

Hoofdstuk 2 Het Programma 19<br />

2.1 Inleiding 19<br />

2.2 Het <strong>stroom</strong>schema als probleem 19<br />

2.3 Symbolen, pijlen en tekst 21<br />

2.3.1 Beginfase en eindfase 21<br />

2.4 De Lay-out 22<br />

2.4.1 Het beginontwerp 22<br />

2.4.2 Het tussenontwerp 23<br />

2.4.3 Het eindontwerp 24<br />

2.5 Het resultaat 24<br />

Hoofdstuk 3 De werking van het programma 25<br />

3.1 Inleiding 25<br />

3.2 Werken met het programma 25<br />

3.3 Het <strong>stroom</strong>schema 29<br />

3.4 Delen van de code 30<br />

3.4.1 Algemene instellingen 30<br />

3.4.2 Symbolen 30<br />

3.4.3 Tekst 32<br />

3.4.4 Pijlen 35<br />

Conclusie 38<br />

Bijlagen<br />

A NEN Norm 3283 XXXIX<br />

B Overige symbolen XL<br />

C Help procedure programma XLII<br />

D Gebru<strong>ik</strong>saanwijzing installatie XLIV<br />

E Literatuurlijst XLVI<br />

V5


Samenvatting<br />

Dit verslag is nagenoeg een chronologische vertelling van het ontwerpproces.<br />

Hoofdstuk 1 begint met wat een <strong>stroom</strong>schema is en waarvoor een <strong>stroom</strong>schema wordt gebru<strong>ik</strong>t. Hier<br />

wordt een verschil gemaakt tussen een Programma Stroom Schema en een Programma Stroom<br />

Diagram. Dit zijn twee verschillende manieren om een grafische beschrijving (schema) van een proces<br />

van een programma weer te geven. Deze twee schema’s verschillen van elkaar in de symbolen en de<br />

opbouw, en worden aan de hand van een voorbeeld uitgelegd. Beide manieren van tekenen hebben<br />

voor- en nadelen. Deze voor- en nadelen van het gebru<strong>ik</strong> van deze schema’s wordt weergegeven in<br />

een tabel waarna er een keuze wordt gemaakt om door te gaan met één van deze twee grafische<br />

beschrijvingen.<br />

Vervolgens wordt er uitgelegd hoe een <strong>stroom</strong>schema theoretisch wordt opgebouwd tot een<br />

verwoording van een programma. De praktijk wordt uitgelegd aan de hand van een vergelijking van een<br />

aantal programma’s <strong>die</strong> op de markt zijn waarmee <strong>stroom</strong>schema’s getekend kunnen worden. Vanuit<br />

deze vergelijking wordt het idee aangedragen voor het nog te ontw<strong>ik</strong>kelen programma.<br />

Hoofdstuk 2 begint met het opsplitsen van het probleem “<strong>stroom</strong>schema”, zodat elk deelprobleem apart<br />

benaderd en opgelost kan worden. Deze deelproblemen zijn; de algemene instellingen, de symbolen,<br />

de tekst en de pijlen. Vanuit deze deelproblemen wordt er gezocht naar oplossingen om deze om te<br />

<strong>zet</strong>ten in een programma. Het proces om tot deze oplossingen te komen is in twee duidelijke fases<br />

gebeurd. Alle deelproblemen zijn in beide fases beschreven zodat er een duidelijk overzicht ontstaat<br />

over hoe het programma zich ontw<strong>ik</strong>keld heeft.<br />

Vervolgens wordt het proces beschreven van de lay-out van het programma, w<strong>elke</strong> drie fases heeft<br />

doorgemaakt. Hier worden alle voor- en de nadelen van een lay-out benoemd om zo het goede van<br />

een lay-out te behouden en het minder goede te verbeteren, om tot het uiteindelijke resultaat te komen.<br />

Hoofdstuk 3 begint met het uitleggen aan de hand van een aantal afbeeldingen hoe het programma<br />

werkt en w<strong>elke</strong> instellingen er in het programma zitten.<br />

Vervolgens wordt het <strong>stroom</strong>schema van het geschreven programma getoond en worden er delen van<br />

de code van het programma beschreven. Deze delen van de code zijn eveneens opgesplitst in de<br />

algemene instellingen, symbolen, tekst en pijlen om het overzicht te behouden.<br />

Tot slot wordt er in de conclusie gekeken naar het geheel van het programma. W<strong>elke</strong> punten voldoen<br />

aan de door mij gestelde eisen, en w<strong>elke</strong> punten kunnen in de toekomst verbeterd worden.<br />

6


Inleiding<br />

Doordat <strong>ik</strong> mijn afstudeeropdracht niet vanuit mijn werkzaamheden kon afleiden, heb <strong>ik</strong> gekeken naar<br />

praktische problemen <strong>die</strong> naar voren kwamen tijdens deze opleiding om zo, in plaats van een<br />

werkgever, mijn toekomstige medestudenten tegemoet te komen.<br />

Tijdens deze opleiding behoor je een werkend programma te schrijven en een eindverslag met hierin<br />

opgenomen een <strong>stroom</strong>schema. Mij (en een aantal medestudenten) is al snel duidelijk geworden dat<br />

het lastig is om “even snel” een <strong>stroom</strong>schema te tekenen. Ten eerste zijn er een aantal verschillende<br />

symbolen met elk een andere betekenis en ten tweede zijn er verschillende programma’s waarmee<br />

<strong>stroom</strong>schema’s getekend kunnen worden.<br />

Door het bovengenoemde heb <strong>ik</strong> (niet helemaal alleen) gekozen voor het praktische probleem; het<br />

<strong>stroom</strong>schema. En doordat een <strong>stroom</strong>schema <strong>bij</strong> <strong>elke</strong> vorm van een programma ontwerpen<br />

duidelijkheid schept, is dit een onderwerp waar zowel beginnende (medestudenten) als gevorderde<br />

programmeurs hun voordeel mee kunnen doen.<br />

Met dit gekozen onderwerp ben <strong>ik</strong> mij eerst een aantal vragen gaan stellen w<strong>elke</strong> men kan tegenkomen<br />

in de inleiding van de meeste hoofdstukken. Vervolgens ben <strong>ik</strong> aan de hand van de vragen<br />

verschillende opties gaan uitproberen om tot een gewenst resultaat te komen, namelijk een programma<br />

dat <strong>stroom</strong>schema’s “tekent”.<br />

Met als uitgangspunt dat mijn programma duidelijker, sneller, meer gestandaardiseerd maar vooral<br />

eenvoudig in gebru<strong>ik</strong> moet zijn, is dit ontwerp tot stand gekomen.<br />

7


Hoofdstuk 1 Het Stroomschema<br />

1.1 Inleiding<br />

Om meer inzicht en duidelijkheid te krijgen wat een <strong>stroom</strong>schema is, wordt in dit hoofdstuk eerst<br />

<strong>die</strong>per op het “probleem” <strong>stroom</strong>schema ingegaan. Dit is gebeurd aan de hand van de volgende<br />

vragen; Wat is een <strong>stroom</strong>schema en/of een <strong>stroom</strong>diagram? Waarvoor <strong>die</strong>nt een<br />

<strong>stroom</strong>schema/diagram? Wat doet een <strong>stroom</strong>schema/diagram? En hoe wordt deze opgebouwd? Wat<br />

betekenen de symbolen? W<strong>elke</strong> symbolen worden voor w<strong>elke</strong> acties/bewerkingen gebru<strong>ik</strong>t? Wat is het<br />

verschil tussen een <strong>stroom</strong>schema en een <strong>stroom</strong>diagram? Wanneer wordt een <strong>stroom</strong>schema<br />

gebru<strong>ik</strong>te en wanneer een <strong>stroom</strong>diagram?<br />

Vervolgens worden er verschillende manieren vergeleken om een <strong>stroom</strong>schema te tekenen waaruit<br />

naar voren komt waar de knelpunten zitten, om van hieruit tot een besluit te komen hoe dit beter kan en<br />

hoe verder te gaan met dat gegeven. Hieruit komt de eerste op<strong>zet</strong> voor een ontwerp.<br />

1.2 Definitie van een <strong>stroom</strong>schema<br />

Stroomschema – Stroomdiagram – Blokdiagram – Flowchart<br />

Een <strong>stroom</strong>schema is een hulpmiddel om de structuur en de werking van een computerprogramma<br />

voor te stellen en/of te verduidelijken. Het is een methode om een bepaald proces of beslissing op een<br />

logische beeldende manier in kaart te brengen.<br />

Een <strong>stroom</strong>schema bestaat uit hokjes met een symbolische vorm <strong>die</strong> systematisch, verbonden door<br />

een aantal lijnen of pijlen, de volgorde van handelingen en beslissingen een programma doorlopen en<br />

verduidelijken. Een goed <strong>stroom</strong>schema is onafhankelijk van gebru<strong>ik</strong>te programmeer taal. En om netjes<br />

te programmeren wordt er begonnen met een <strong>stroom</strong>schema.<br />

1.3 Het gebru<strong>ik</strong> van een <strong>stroom</strong>schema<br />

Een <strong>stroom</strong>schema wordt altijd gebru<strong>ik</strong>t voor het beschrijven van een proces. Dit kunnen processen zijn<br />

in de chemie, biologie, farmacie etc. Het proces wat hier beschreven gaat worden, is het<br />

programmeren. Programmeren is door analyseren een probleem oplossen. Het probleem wordt<br />

opgedeeld in zelfstandige deelproblemen. Van elk deelprobleem wordt een omschrijving gemaakt van<br />

de uit te voeren <strong>stap</strong>pen om tot een oplossing te komen. Deze uit te voeren <strong>stap</strong>pen worden in een<br />

grafisch schema omge<strong>zet</strong>; het Programma Stroom Schema (PSS) en/of het Programma Stroom<br />

Diagram (PSD).<br />

1.4 Het verschil tussen een <strong>stroom</strong>schema en een <strong>stroom</strong>diagram<br />

Een <strong>stroom</strong>schema en een <strong>stroom</strong>diagram hebben beiden <strong>dezelfde</strong> functie, een grafische beschrijving<br />

(schema) van het proces van een programma. Maar om het verschil te visualiseren zijn op de volgende<br />

pagina in figuur 1A, een <strong>stroom</strong>schema en een <strong>stroom</strong>diagram naast elkaar geplaatst. De procedure<br />

<strong>die</strong> als voorbeeld is genomen is het tekenen met pen op papier van een stoomschema. Het<br />

<strong>stroom</strong>schema (links) bevat het symbool subroutine met de tekst ‘Plaats symbolisch blok’. Deze<br />

subroutine is uitgewerkt in een <strong>stroom</strong>diagram (rechts).<br />

8


Figuur 1A Het verschil tussen een <strong>stroom</strong>schema en een <strong>stroom</strong>diagram<br />

9


1.5 Basissymbolen van een <strong>stroom</strong>schema en <strong>stroom</strong>diagram<br />

1.5.1 Basissymbolen van een <strong>stroom</strong>schema<br />

In een <strong>stroom</strong>schema worden een aantal verschillende standaard symbolen gebru<strong>ik</strong>t. Hierdoor zijn de<br />

verschillende soorten opdrachten eenvoudig te herkennen. Deze symbolen zijn terug te vinden in de<br />

NEN Norm 3283:1967, zie <strong>bij</strong>lage A. In deze Norm zijn geen bindende aanwijzingen voor de<br />

verhoudingen van de hoogte en de breedte van de symbolen gegeven, de dusdanige verhouding<br />

tussen de hoogte en de breedte <strong>die</strong>nt te worden aangehouden zodat het symbool direct herkenbaar is.<br />

De volgende symbolen worden het meest gebru<strong>ik</strong>t;<br />

Afsluiting, onderbreking (NEN 3283:1967-433), wordt gebru<strong>ik</strong>t als beginpunt, eindpunt, pauze, uitstel of<br />

onderbreking.<br />

Invoer (NEN 3283:1967-313), directe communicatie van mens naar machine. Tijdens de verwerking<br />

wordt er met de hand informatie ingevoerd door middel van het be<strong>die</strong>nen van schakelaars,<br />

toetsenborden of drukknoppen. Het programma zal verder werken met deze ingevoerde informatie en<br />

op deze manier het resultaat beïnvloeden.<br />

Bewerking, proces, handeling (NEN 3283:1967-310/410), een uniek programma of deel van een<br />

programma. Elke bewerking kan afzonderlijk door het besturingssysteem worden afgehandeld. Het zijn<br />

aaneengeschakelde activiteiten om één of meer doelen te bere<strong>ik</strong>en. Een bewerking omschrijft tevens<br />

de wijze waarop de activiteiten verlopen en hoe ze zich ontw<strong>ik</strong>kelen.<br />

Vooraf ingesteld proces (NEN 3283:1967-412), een programmadeel bestaande uit één of meerdere<br />

bewerkingen <strong>die</strong> ergens anders wordt beschreven zoals een functie of een subroutine.<br />

Sturing, beslissing (NEN 3283:1967-411), handeling waarmee wordt bepaald w<strong>elke</strong> van een aantal<br />

alternatieve wegen moet worden gevolgd naar een volgende bewerking.<br />

Alle overige symbolen van een <strong>stroom</strong>schema zijn te vinden op <strong>bij</strong>lage B<br />

10


1.5.2 Basissymbolen van een <strong>stroom</strong>diagram<br />

Een <strong>stroom</strong>diagram bevat een klein aantal standaard symbolen. Een aantal van deze symbolen worden<br />

voor verschillende soorten opdrachten en zijn als dusdanig niet herkenbaar. Deze symbolen liggen niet<br />

vast in een Norm.<br />

Bij een <strong>stroom</strong>diagram worden de volgende symbolen gebru<strong>ik</strong>t;<br />

Bewerking (Proces). Een uniek programma of deel van een programma. Elke bewerking kan<br />

afzonderlijk door het besturingssysteem worden afgehandeld. Het zijn aaneengeschakelde activiteiten<br />

om één of meer doelen te bere<strong>ik</strong>en. Een bewerking omschrijft tevens de wijze waarop de activiteiten<br />

verlopen en hoe ze zich ontw<strong>ik</strong>kelen.<br />

Vooraf ingesteld proces. Een programmadeel bestaande uit één of meerdere bewerkingen <strong>die</strong> ergens<br />

anders wordt beschreven zoals een functie of een subroutine.<br />

B<br />

A<br />

C<br />

D<br />

E<br />

A. Voorwaarde of beslissing. Handeling waarmee wordt bepaald w<strong>elke</strong> van een aantal<br />

alternatieve wegen moet worden gevolgd naar een volgende bewerking.<br />

B. – C. Het “waar” en “niet waar” zijn van de voorwaarde of beslissing.<br />

D. – E. Handeling navolgend op “waar” en “niet waar”.<br />

B C D<br />

E F G<br />

A<br />

A. Voorwaarde of beslissing. Handeling waarmee wordt bepaald w<strong>elke</strong> van een aantal<br />

alternatieve wegen moet worden gevolgd naar een volgende bewerking.<br />

B.-C.-D. Waarden, behandel afhankelijk van de gekozen waarde een variabele<br />

E.-F.-G. Variabelen, handelingen navolgend op de waarden<br />

A<br />

B<br />

B<br />

C<br />

C<br />

A. Zolang de voorwaarde “waar” is wordt deze bewerkingen herhaald<br />

B. – C. Bewerkingen<br />

A<br />

11


1.6 Keuze tussen het <strong>stroom</strong>schema en het <strong>stroom</strong>diagram<br />

Het gebru<strong>ik</strong> van een <strong>stroom</strong>schema of een <strong>stroom</strong>diagram is zelf te bepalen. Het door elkaar gebru<strong>ik</strong>en<br />

van een <strong>stroom</strong>schema en een <strong>stroom</strong>diagram heeft geen bezwaar. Maar om fouten te voorkomen is<br />

het beter om één van de twee te gebru<strong>ik</strong>en. Hierdoor zal <strong>ik</strong> niet beide schema’s uitwerken maar een<br />

keuze maken om verder te gaan met één soort schema. Deze keuze maak <strong>ik</strong> aan de hand van de<br />

voordelen en nadelen van beide schema’s.<br />

1.6.1 Voordelen en nadelen van een <strong>stroom</strong>schema<br />

Voordelen<br />

Nadelen<br />

• Als men een grafische beschrijving van een • Een <strong>stroom</strong>schema neemt meer ruimte in<br />

proces tegenkomt is het meestal omschreven • Handelingen moeten in meer <strong>stap</strong>pen<br />

in een <strong>stroom</strong>schema.<br />

omschreven worden.<br />

• Nagenoeg alle symbolen staan omschreven<br />

in de normen van het Nederlands<br />

Normalisatie-instituut (NEN) (zie <strong>bij</strong>lage A)<br />

• Computerprogramma’s zoals het Office<br />

pakket (Word, Excel, PowerPoint), AutoCAD<br />

(Symbolen A) etc. zijn voorzien van deze<br />

symbolen, ondersteunen deze manier van<br />

een schema tekenen.<br />

• Aan de symbolische vorm is te herkennen<br />

w<strong>elke</strong> handeling zal plaatsvinden of verwacht<br />

wordt.<br />

• Een <strong>stroom</strong>schema is zeer overzichtelijk.<br />

1.6.2 Voordelen en nadelen van een <strong>stroom</strong>diagram<br />

Voordelen<br />

Nadelen<br />

• Deze vorm van schema is veel compacter • Een <strong>stroom</strong>diagram wordt veel minder<br />

waardoor deze minder ruimte in beslag<br />

gebru<strong>ik</strong>t<br />

neemt.<br />

• De symbolen voldoen niet aan een enkele<br />

• Er zijn minder <strong>stap</strong>pen nodig om een<br />

vorm van een norm, dus iedereen deze naar<br />

handeling te omschrijven.<br />

eigen inzicht gebru<strong>ik</strong>en.<br />

• Deze schemasymbolen staan niet standaard<br />

in software programma’s.<br />

• De symbolen zijn universeel en zal niet als<br />

een bepaalde handeling herkend worden.<br />

• Een <strong>stroom</strong>diagram is minder overzichtelijk<br />

Naar aanleiding van de voordelen en nadelen beschreven in deze tabellen heb <strong>ik</strong> gekozen om het<br />

<strong>stroom</strong>schema verder uit te werken.<br />

12


1.7 De opbouw en het structuren van een <strong>stroom</strong>schema<br />

Een <strong>stroom</strong>schema is de schematische weergave van de <strong>stap</strong>pen <strong>die</strong> in programma worden doorlopen.<br />

In de volgende figuren wordt een voorbeeld van een <strong>stroom</strong>schema opgebouwd naar aanleiding van<br />

een simpel programma.<br />

Om de logische werking van het programma te verduidelijken is hier gebru<strong>ik</strong> gemaakt van pijlen. De<br />

pijlen geven de volgorde weer waarin het <strong>stroom</strong>schema moet worden doorlopen.<br />

Figuur 1B hieronder, is de meest eenvoudige vorm van een programma, een beginblok en een eindblok<br />

w<strong>elke</strong> nagenoeg altijd in een programma zitten. Het programma begint en een <strong>stap</strong> verder stopt het.<br />

Figuur 1B De meest eenvoudige vorm van een programma<br />

• Het eerste <strong>stroom</strong>schema hieronder, figuur 1C, is uitgebreid met 2 blokken, bewerkingen of<br />

procedures.<br />

• Het volgende <strong>stroom</strong>schema hieronder, figuur 1D, is uitgebreid met een nieuwe bewerking. Deze<br />

bevat een variabele en is geplaatst tussen de vorige twee bewerkingen.<br />

• Het derde <strong>stroom</strong>schema hieronder, figuur 1E, is uitgebreid met een blok voor de invoer van een<br />

waarde. De andere waarden zijn nu afhankelijk van wat de gebru<strong>ik</strong>er invoert.<br />

• Het laatste <strong>stroom</strong>schema hieronder, figuur 1F, is uitgebreid met een sturingsblok. In dit blok wordt<br />

altijd een waarde vergeleken. In het eerste blok wordt dus een waarde ingegeven, in het tweede<br />

blok wordt deze opgehoogd. In het derde blok wordt de opgetelde waarde vergeleken met de op <strong>die</strong><br />

plek ingevoerde waarde. Zolang de waarde niet gelijk is aan de ingevoerde waarde zal het<br />

programma de waarden blijven ophogen.<br />

Figuur 1C Figuur 1D Figuur 1E Figuur 1F<br />

13


1.8 De opbouw van een <strong>stroom</strong>schema met een procedure<br />

Een procedure is een stukje programma of code dat zo is klaargemaakt dat hij meerdere keren gebru<strong>ik</strong>t<br />

kan worden. Een procedure kan bestaan uit een Function (functie) dit zijn procedures <strong>die</strong> een resultaat<br />

teruggeven, of uit een Sub (subroutine) dit zijn procedures <strong>die</strong> geen resultaat teruggeven.<br />

Figuur 1G laat een <strong>stroom</strong>schema zien met 2 manieren om een function of een sub aan te geven in een<br />

<strong>stroom</strong>schema.<br />

Figuur 1G 2 Manieren om een function of een sub aan te geven in een <strong>stroom</strong>schema<br />

1.9 Het geautomatiseerd tekenen van een <strong>stroom</strong>schema<br />

Tot zover het theoretische gedeelte van het <strong>stroom</strong>schema. Nu de praktijk.<br />

Het tekenen van een <strong>stroom</strong>schema kan op 2 verschillende manieren gebeuren; met pen en papier of<br />

met een computerprogramma. Er zijn verschillende computerprogramma’s waar dit mee mogelijk is.<br />

Met de veel gebru<strong>ik</strong>te programma’s zoals Word en Excel komt men al een heel eind, maar er zijn ook<br />

programma’s zoals Visio en Smartdraw <strong>die</strong> specifiek schema’s (vaak in de breedste zin van het woord)<br />

tekenen. Tekenprogramma’s zoals AutoCAD zijn zeer uitgebreid en hebben de mogelijkheid om<br />

bepaalde tekeningen en handelingen te standaardiseren.<br />

Elk programma heeft zijn voordelen en zijn nadelen en elk persoon <strong>die</strong> ermee moet tekenen heeft zijn<br />

eigen voorkeuren en vaardigheden.<br />

14


1.10 Vergelijking van verschillende programma’s<br />

In de volgende tabellen worden 4 programma’s op een aantal punten vergeleken op het gemak van<br />

het tekenen van een <strong>stroom</strong>schema. De eerste 2 programma’s, Word en Excel, zijn in verhouding de<br />

meest gebru<strong>ik</strong>te programma’s. De volgende 2 programma’s, AutoCAD en Smartdraw, zijn meer<br />

geavanceerde programma’s en daardoor <strong>bij</strong> een minder breed publiek bekend.<br />

Het tekenen van een <strong>stroom</strong>schema zonder programma is weggelaten, daar dit op nagenoeg alle<br />

punten matig tot slecht scoort.<br />

Het gemak van<br />

het gebru<strong>ik</strong> van: Word (Figuur 1H) Excel (Figuur 1I)<br />

Blokken<br />

Uitlijnen<br />

Verbindingslijnen<br />

(pijlen)<br />

Tekst in blok<br />

Tekst <strong>bij</strong> pijl<br />

Goed (in<strong>die</strong>n shifttoets voor de<br />

standaard verhoudingen ingedrukt<br />

gehouden wordt)<br />

Goed, ten opzichte van de objecten<br />

onderling<br />

Redelijk, pijlen bestaande uit<br />

meerdere lijnen worden vaak niet<br />

naar de wensen van de gebru<strong>ik</strong>er<br />

getekend<br />

Redelijk, via menu onder rechter<br />

muisknop<br />

Tekst wordt linksboven uitgelijnd<br />

geplaatst binnen het blok en kan<br />

meerdere regels bevatten<br />

Tekst <strong>die</strong> niet binnen het blok valt<br />

(teveel regels) is niet zichtbaar<br />

Matig, voor <strong>elke</strong> tekst naast het<br />

schema <strong>die</strong>nt een tekstvalk te worden<br />

aangemaakt<br />

Goed (in<strong>die</strong>n shifttoets voor de<br />

standaard verhoudingen ingedrukt<br />

gehouden wordt)<br />

Goed, ten opzichte van de objecten<br />

onderling<br />

Redelijk, pijlen bestaande uit<br />

meerdere lijnen worden vaak niet<br />

naar de wensen van de gebru<strong>ik</strong>er<br />

getekend<br />

Redelijk, tekst kan direct ingetypt<br />

worden<br />

Tekst wordt linksboven uitgelijnd<br />

geplaatst binnen het blok en kan<br />

meerdere regels bevatten<br />

Tekst <strong>die</strong> niet binnen het blok valt<br />

(teveel regels) is niet zichtbaar<br />

Goed<br />

F1 Help<br />

Redelijk (beknopt, staat niets over Matig<br />

uitlijning)<br />

A4 formaat Ja Nee<br />

Precisie Niet (op het oog) Nauwelijks (enig houvast aan de<br />

exceltabel op de achtergrond)<br />

Standaardiseren Redelijk Redelijk<br />

Snelheid Redelijk Redelijk<br />

Bijzonderheden Er wordt getekend in een tekenveld<br />

Pijltoetsen werken<br />

Opties van het pulldown menu<br />

Tekenen en AutoVormen kunnen<br />

“losgescheurd” worden<br />

Pijltoetsen werken<br />

Opties van het pulldown menu<br />

Tekenen en AutoVormen kunnen<br />

“losgescheurd” worden<br />

Het printveld kan vergroot of verkleind<br />

worden zodat het schema nagenoeg<br />

altijd op A4 past<br />

15


Het gemak van<br />

het gebru<strong>ik</strong> van: AutoCAD (Figuur 1J) Smartdraw (Figuur 1K)<br />

Blokken<br />

Uitlijnen<br />

Verbindingslijnen<br />

Tekst in blok<br />

Tekst <strong>bij</strong> pijl<br />

Slecht, alles <strong>die</strong>nt zelf getekend te<br />

worden<br />

Goed, in<strong>die</strong>n er een raster gebru<strong>ik</strong>t<br />

wordt<br />

Redelijk, de lijnen kunnen zoals de<br />

gebru<strong>ik</strong>er wenst neerge<strong>zet</strong> worden<br />

De pijlpunten vergen iets meer<br />

handigheid met het programma<br />

Slecht, <strong>elke</strong> tekst moet opnieuw<br />

geactiveerd en uitgelijnd worden<br />

Als de tekst te groot is zal deze buiten<br />

het blok vallen<br />

Matig, <strong>elke</strong> tekst moet opnieuw<br />

geactiveerd en uitgelijnd worden<br />

Redelijk, er zijn geen standaard<br />

verhoudingen voor blokken (shifttoets<br />

werkt niet)<br />

Redelijk, op het oog<br />

Redelijk, pijlen worden <strong>bij</strong> de meeste<br />

blokken automatisch getekend<br />

Pijlen bestaande uit meerdere lijnen<br />

worden vaak niet naar de wensen van<br />

de gebru<strong>ik</strong>er getekend<br />

Redelijk, tekst kan direct ingetypt<br />

worden<br />

Tekst wordt gecentreerd geplaatst<br />

binnen het blok en kan meerdere<br />

regels bevatten<br />

Het programma past zelf de<br />

letterhoogte aan besch<strong>ik</strong>bare ruimte<br />

binnen het blok<br />

Goed<br />

F1 Help Niet Goed (uitgebreid, alleen in Engelse<br />

taal)<br />

A4 formaat Nee Ja<br />

Precisie Goed Niet (op het oog)<br />

Standaardiseren Ja, kan door middel van blocks Redelijk<br />

Snelheid Slecht Goed<br />

Bijzonderheden<br />

Het programma heeft de<br />

mogelijkheden om <strong>stroom</strong>schema’s<br />

sneller en beter te kunnen tekenen<br />

Bij het printen kan de schaal vergroot<br />

of verkleind worden zodat het schema<br />

nagenoeg altijd op A4 past<br />

Van tevoren kan de lay-out gekozen<br />

worden<br />

In<strong>die</strong>n er een achtergrondkleur is<br />

gekozen hebben niet alle blokken<br />

deze kleur<br />

16


Figuur 1H Het tekenen van een <strong>stroom</strong>schema in Word<br />

Figuur 1I Het tekenen van een <strong>stroom</strong>schema in Excel<br />

Figuur 1J Het tekenen van een <strong>stroom</strong>schema in AutoCAD<br />

Figuur 1K Het tekenen van een <strong>stroom</strong>schema in Smartdraw<br />

17


1.11 Besluit<br />

De symbolen van een <strong>stroom</strong>schema liggen vast in de NEN norm 3283, maar komen in geen enkel<br />

programma op een dusdanige manier herkenbaar voor. Daar<strong>bij</strong> voldoet geen enkel programma aan alle<br />

wensen.<br />

Dus als men sporadisch een <strong>stroom</strong>schema tekent voldoen de programma’s Word en Excel. Als men<br />

presentaties met <strong>stroom</strong>schema’s maakt is een programma als Smartdraw een optie. Voor alle<br />

anderen, hier uitgaande van AutoCAD/VBA programmeurs (mijn medestudenten), <strong>die</strong> regelmatig<br />

functionele <strong>stroom</strong>schema’s volgens de norm willen tekenen is er weinig. En dit betekent dat<br />

AutoCAD/VBA programmeurs naast het programma AutoCAD altijd een ander programma moeten<br />

hebben openstaan om een <strong>stroom</strong>schema in te tekenen, wat niet wenselijk is.<br />

Naar aanleiding van de resultaten zoals af te lezen is in de tabel van de vorige paragraaf is het idee/de<br />

uitdaging ontstaan om een programma te ontw<strong>ik</strong>kelen waarmee het tekenen van een <strong>stroom</strong>schema<br />

makkelijker en sneller gaat. Het programma moet duidelijk in gebru<strong>ik</strong> zijn en het moet de symbolen van<br />

het <strong>stroom</strong>schema standaardiseren op de NEN Norm.<br />

Voor het ontw<strong>ik</strong>kelen van een zoals hierboven beschreven programma is een geavanceerd<br />

tekenprogramma als AutoCAD in combinatie met de programmeermogelijkheden van VBA hier het<br />

meest gesch<strong>ik</strong>t voor. Ook omdat AutoCAD/VBA programmeurs hierdoor minder programma’s nodig<br />

hebben om eenvoudig een <strong>stroom</strong>schema te tekenen.<br />

Doordat er binnen AutoCAD tevens met blocks gewerkt kan worden kunnen de NEN symbolen in de<br />

tekening geladen worden (vanaf Internet of een symbolen CD) waardoor de tekening<br />

gestandaardiseerd zal worden zodat elk symbool een constante is. VBA <strong>bij</strong> uitstek gesch<strong>ik</strong>t voor om de<br />

pijlen te definiëren en alle symbolen op een eenvoudige manier op te roepen via formulier met een<br />

makkelijk werkbare lay-out. Dit formulier moet het programma gaan verwoorden aan alle bovenstaande<br />

ideeën voldoet.<br />

18


Hoofdstuk 2 Het Programma<br />

2.1 Inleiding<br />

Nu bekend is wat het idee voor het te schrijven programma is kwamen de volgende vragen naar voren;<br />

Wat maakt een programma duidelijk en overzichtelijk? Wat maakt een programma gebru<strong>ik</strong>svriendelijk?<br />

Wat maakt een programma eenvoudig te gebru<strong>ik</strong>en? Hoe wordt het programma verwoordt in de<br />

lay-out? Hoe ontwerp <strong>ik</strong> een lay-out <strong>die</strong> aanspreekt? De symbolen zijn bekend maar hoe gaan deze<br />

geplaatst worden? Hoe worden de veel gebru<strong>ik</strong>te en de minder gebru<strong>ik</strong>te symbolen verdeeld? Hoe<br />

worden de pijlen gedefinieerd? Hoe wordt een “Help”gebru<strong>ik</strong>t als men er zelf niet uit komt?<br />

Een heleboel vragen waar in dit hoofdstuk op in gegaan wordt aan de hand van het proces wat mijn<br />

uiteindelijke programma heeft doorgemaakt tijdens het ontwerpen van het programma met<br />

<strong>bij</strong>behorende lay-out<br />

2.2 Het <strong>stroom</strong>schema als probleem<br />

Zoals in het vorige hoofdstuk al geschreven stond; om een probleem op te lossen <strong>die</strong>nt deze verdeeld<br />

te worden in deelproblemen.<br />

Als het probleem “Stroomschema” grof opgesplitst wordt, blijven er 4 deelproblemen over, te weten; de<br />

algemene instellingen, de symbolen, de tekst <strong>die</strong> hier eventueel in geplaatst gaat worden en de pijlen.<br />

De algemene instellingen zorgen ervoor dat binnen het programma bepaalde instellingen aangepast<br />

worden om het programma te vereenvoudigen en om het resultaat te standaardiseren, denk hier<strong>bij</strong> aan<br />

tekstfont, tekenlimiet etc. De gebru<strong>ik</strong>er kan eenvoudig alle verdere handelingen verrichten zonder dat<br />

deze merkt dat deze instellingen aangepast zijn of dat de gebru<strong>ik</strong>er deze zelf eerst heeft moeten<br />

aanpassen.<br />

Om een <strong>stroom</strong>schema logisch te tekenen moet dit overzichtelijk gebeuren. Eerst wordt het grootste<br />

gedeelte van de symbolen geplaatst met daarin direct de tekst, vervolgens de pijlen, waarna het<br />

<strong>stroom</strong>schema met nog ontbrekende symbolen, teksten en pijlen wordt aangevuld. Dit gegeven is<br />

omge<strong>zet</strong> in een <strong>stroom</strong>schema over hoe “het <strong>stroom</strong>schema” met het programma getekend zou<br />

moeten worden, zie figuur 2A op de volgende pagina.<br />

19


Figuur 2A Het geautomatiseerd tekenen van een <strong>stroom</strong>schema<br />

20


2.3 Symbolen, pijlen en tekst<br />

Het om<strong>zet</strong>ten van de deelproblemen naar een gebru<strong>ik</strong>svriendelijk programma is een proces geweest<br />

met 2 duidelijke fases; de beginfase en de eindfase.<br />

2.3.1 Beginfase en eindfase<br />

Beginfase<br />

Algemene De instellingen werden vanuit het<br />

instellingen programma geactiveerd. Raster, grit en<br />

tekstfont werden met VBA aangepast<br />

binnen de actieve tekening zodra het<br />

programma gestart werd of een functie<br />

van het programma werd gebru<strong>ik</strong>t<br />

Resultaat Geen flexibiliteit. Bovenstaande<br />

instellingen waren niet aan te passen<br />

tijdens het tekenen van een<br />

<strong>stroom</strong>schema doordat tijdens het<br />

gebru<strong>ik</strong> het programma deze instellingen<br />

t<strong>elke</strong>ns activeerde<br />

Symbolen<br />

Resultaat<br />

Tekst<br />

Resultaat<br />

Pijlen<br />

Resultaat<br />

Elke lijn van een symbolisch blok werd<br />

los getekend met in een sub<br />

gedefinieerde lijnen in VBA<br />

Door alle losse lijnen werd de code zeer<br />

lang en onoverzichtelijk waardoor de<br />

kans op foutmeldingen toeneemt, en het<br />

blok was lastig te verplaatsen doordat<br />

alle losse lijnen geselecteerd moest<br />

worden<br />

De tekst bevatte 1 regel <strong>die</strong> op een vast<br />

punt binnen de getekende lijnen stond<br />

De tekst was niet flexibel en net als de<br />

rest een los onderdeel en moest dus ook<br />

geselecteerd worden als het blok<br />

verplaatst werd<br />

Elke pijl werd los gedefinieerd, wat<br />

inhield dat er een behoorlijk aantal<br />

verschillende pijlen was met een vast<br />

aantal bochten en een vaste richting van<br />

de pijlpunt.<br />

Geen flexibiliteit, men moest van te voren<br />

weten w<strong>elke</strong> pijl er nodig was (hoeveel<br />

bochten en de stand van de pijlpunt) en<br />

door alle losse pijlen werd de code zeer<br />

lang en onoverzichtelijk waardoor de<br />

kans op foutmeldingen toeneemt. Pijlen<br />

met meer dan drie bochten moesten<br />

worden aangevuld met de normale lijn<br />

vanuit AutoCAD zelf<br />

Eindfase<br />

De instellingen zijn opgeslagen in een<br />

tekening. Het tekenlimiet staat ingesteld<br />

op formaat A4. Het raster, en het<br />

zichtbare A4 kader zijn blocks <strong>die</strong> in een<br />

niet te printen laag staan. Het tekstfont is<br />

gewoon onder Format aangepast<br />

Zeer flexibel. De gebru<strong>ik</strong>er heeft alle<br />

vrijheid om de instellingen naar eigen<br />

wens aan te passen zonder dat deze<br />

<strong>elke</strong> keer opnieuw wordt aangepast door<br />

het programma<br />

De symbolische blokken staan<br />

opgeslagen als blocks (volgens de NEN<br />

norm) binnen de tekening. Het<br />

programma roept de betreffende blocks<br />

op<br />

Doordat er gewerkt wordt met blocks <strong>die</strong><br />

opgeroepen worden kunnen de NEN<br />

blocks van internet of de symbolen-CD<br />

gebru<strong>ik</strong>t worden<br />

De tekst kan uit meerdere regels bestaan<br />

<strong>die</strong> op het block geplaatst wordt<br />

De tekst is flexibeler, maar is nog steeds<br />

een los onderdeel <strong>die</strong> apart geselecteerd<br />

moet worden om samen met het block te<br />

verplaatsen.<br />

Er zijn 2 pijlen gedefinieerd; de enkele<br />

pijl, waar maar 2 punten voor nodig zijn,<br />

en de oneindige pijl, waar de lijn zoveel<br />

lengtes en bochten kan bevatten tot dat<br />

de gebru<strong>ik</strong>er de lijn afsluit met Enter<br />

Zeer flexibel. Er hoeft alleen een keuze<br />

gemaakt te worden of de pijl uit 1 lijn<br />

bestaat of uit meerdere lijnen. De richting<br />

van de pijlpunt wordt geplaatst in de<br />

laatst gekozen richting<br />

21


2.4 De Lay-out<br />

Ook de lay-out van het programma heeft een proces doorgemaakt. Dit omdat het gebru<strong>ik</strong>svriendelijke<br />

programma ook een gebru<strong>ik</strong>svriendelijke lay-out nodig heeft. De lay-out moet voor zichzelf spreken<br />

zodat <strong>elke</strong> gebru<strong>ik</strong>er zonder enige voorkennis het programma kan gebru<strong>ik</strong>en. De lay-out heeft 3<br />

ontwerpfases doorgemaakt; het beginontwerp, het tussenontwerp en het eindontwerp.<br />

2.4.1 Het beginontwerp<br />

Grootte<br />

Duidelijkheid<br />

Gebru<strong>ik</strong><br />

Ontwerp 1 (figuur 2B) Ontwerp 2 (figuur 2B)<br />

+ … Het programma neemt in het<br />

tekenveld nauwelijks ruimte in beslag<br />

- Het programma is in verhouding tot …<br />

het tekenscherm erg ruimtevullend<br />

+ Het is duidelijk w<strong>elke</strong> knop voor welk …<br />

symbool of pijl gebru<strong>ik</strong>t moet worden<br />

- Door de hoeveelheid informatie kan de<br />

verkeerde knop ingedrukt worden<br />

+ Het tekenen van een <strong>stroom</strong>schema<br />

gaat al een stuk eenvoudiger<br />

- Het merendeel van de symbolen staan<br />

er niet op<br />

Doordat er geen illustraties gebru<strong>ik</strong>t<br />

worden moet er vanuit de omschrijving<br />

begrepen worden om w<strong>elke</strong> symbolen<br />

en pijlen het gaat<br />

Als men alle omschrijvingen weet is er<br />

met het programma te werken<br />

Zeer onhandig.<br />

Figuur 2B Het beginontwerp van de lay-out<br />

22


2.4.2 Het tussenontwerp<br />

Grootte<br />

Duidelijkheid<br />

Gebru<strong>ik</strong><br />

Ontwerp 3 (figuur 2C) Ontwerp 4 (figuur 2C)<br />

+ Doordat het programma uit<br />

tabbladeren bestaat neemt het<br />

programma niet veel ruimte in beslag<br />

Doordat het programma uit<br />

tabbladeren bestaat neemt het<br />

programma niet veel ruimte in beslag,<br />

al wordt het programma breder <strong>bij</strong> het<br />

tabblad “Blokken” en langer <strong>bij</strong> het<br />

tabblad “Help”<br />

- … …<br />

+ Het is duidelijk w<strong>elke</strong> knop voor welk<br />

symbool of pijl gebru<strong>ik</strong>t moet worden<br />

- De pijlen moeten nog steeds goed<br />

vooraf geschat worden om de juiste<br />

pijl aan te kl<strong>ik</strong>ken<br />

Het is duidelijk w<strong>elke</strong> knop voor welk<br />

symbool of pijl gebru<strong>ik</strong>t moet worden<br />

en doordat er nog maar 2 pijlen zijn<br />

hier minder vergissingen in mogelijk<br />

Bij de pijlen komt er na het afsluiten<br />

van de lijn nog een pijlpunt van 5 mm<br />

aan<br />

+ Door de overzichtelijkheid goed Het programma uitgebreid is met een<br />

“Help” en kunnen problemen direct<br />

worden opgelost. De meer specifieke<br />

(minder gebru<strong>ik</strong>te) symbolen staan<br />

onder de uitbreiding van het tabblad<br />

“blokken” en is dus compleet.<br />

- Het merendeel van de symbolen staan<br />

er niet op<br />

…<br />

Figuur 2C Het tussenontwerp van de lay-out<br />

23


2.4.3 Het eindontwerp<br />

Het eindontwerp, figuur 2D, lijkt erg veel op het 4 de ontwerp van de vorige paragraaf, alleen de<br />

volgende onderdelen zijn aangepast/geoptimaliseerd;<br />

• De lay-out is meer met kleur omdat de vormen van de symbolen hierdoor nog beter naar voren<br />

komen en het oogt in zijn totaliteit vriendelijker dan een programma dat bestaat uit een grijze<br />

achtergrond met zwarte lijntjes en letters. Een grafische lay-out voor een grafische beschrijving van<br />

een proces (programma).<br />

• De pijlen zijn geoptimaliseerd zodat waar de lijn wordt afgesloten ook direct de punt van de pijlpunt<br />

daar geplaatst wordt.<br />

• In plaats van dat het tabblad “Help” langer wordt, wordt deze breder net als de verbreding van het<br />

tabblad “Blokken” zodat ook in het formulier een bepaalde standaard ontstaat.<br />

• Het tabblad “Blokken” kan nog verbreed worden maar niet meer versmald, het programma versmald<br />

zichzelf als een ander tabblad of een standaard symbool/blok geactiveerd wordt.<br />

• Het tabblad “Help” verbreed zich automatisch als een van de Help-tabs geactiveerd wordt en het<br />

programma versmald zichzelf als een ander tabblad (Blokken of Pijlen)geactiveerd wordt.<br />

Figuur 2D Het eindontwerp van de lay-out<br />

2.5 Het resultaat<br />

Doordat er in verschillende fases is gewerkt ontstaat er een proces waar het positieve van een ontwerp,<br />

zowel programma als lay-out, wordt behouden of eventueel wordt verbeterd. Het minder goede van het<br />

ontwerp wordt dusdanig verbeterd en aangepast dat hier een duidelijk verschil ontstaat om het<br />

programma en de lay-out te perfectioneren.<br />

Het resultaat is een eenvoudig geschreven programma dat net zo eenvoudig werkt met een<br />

aansprekende lay-out.<br />

24


Hoofdstuk 3 De werking van het programma<br />

3.1 Inleiding<br />

In dit hoofdstuk wordt beschreven hoe het programma werkt in combinatie met AutoCAD. Vervolgens<br />

wordt het geschreven programma visueel uitgebeeld in een <strong>stroom</strong>schema waarna er delen van de<br />

code worden uitgelegd waaruit het programma is opgebouwd.<br />

3.2 Werken met het programma<br />

Het resultaat is een programma naast dat duidelijk en simpel is geschreven, een duidelijke<br />

gebru<strong>ik</strong>svriendelijke lay-out heeft en voor de gebru<strong>ik</strong>er eenvoudig werkt.<br />

De werking van het programma wordt getoond aan de hand van een aantal figuren;<br />

Figuur 3A<br />

Zodra de template met het programma geopend/gestart wordt zijn de verschillende<br />

instellingen actief w<strong>elke</strong> zijn opgeslagen in de tekening terug te vinden volgens de normale<br />

methode van AutoCAD. Deze instellingen zijn op de blocks na te wijzigen zonder dat dit<br />

nadelig werkt voor het programma. Als de blocks gewijzigd worden kan AutoCAD deze niet<br />

meer oproepen en zal er niets getekend worden of er komen minder fraaie tekeningen te<br />

voorschijn.<br />

De instellingen <strong>die</strong> zich in de tekening bevinden zijn;<br />

• Het tekstfont is aangepast naar Arial<br />

• Het tekenlimiet heeft het formaat van een A4<br />

• Er zijn een aantal lagen ingesteld waarin zich blocks bevinden;<br />

• Een block van een 5 millimeter raster w<strong>elke</strong> op slot staat en niet wordt geprint<br />

• Een block van een 10 millimeter raster w<strong>elke</strong> op slot staat en niet wordt geprint<br />

• Een block van een kader op het A4 formaat w<strong>elke</strong> op slot staat en niet wordt geprint<br />

• Een lege laag “Blokken” waarin het schema wordt getekend en wel wordt geprint<br />

• De tekening is geladen met alle blocks <strong>die</strong> worden gebru<strong>ik</strong>t door het programma<br />

• Deze blocks bevatten attributen<br />

• Het programma is embedded in de tekening<br />

25


Figuur 3A De actieve instellingen binnen de template<br />

Figuur 3B<br />

Figuur 3C<br />

Figuur 3D<br />

Figuur 3E<br />

Dit is de template <strong>die</strong> het hele programma bevat. Het programma is embedded (ingeladen)<br />

in de tekening. Het programma wordt als deze template aangeleverd om vervolgens door<br />

de gebru<strong>ik</strong>er deze ook als template op de harde schijf op te slaan. Dus om het programma<br />

te gebru<strong>ik</strong>en hoeft de gebru<strong>ik</strong>er alleen de opgeslagen template te openen.<br />

De symbolen worden geplaatst door de betreffende knop van het programma te activeren<br />

waarna in de commandoregel gelezen kan worden waar het symbool geplaatst moet<br />

worden. Nadat het symbool geplaatst is wordt er een nieuw programma actief waarmee de<br />

tekst kan worden geplaatst.<br />

Het tekenen van pijlen is een kwestie van de juiste pijl kiezen. De enkele pijl bestaat uit<br />

een enkele lijn met daaraan de pijlpunt. De oneindige pijl bestaat uit meerdere lijnen, de<br />

pijlpunt wordt geplaatst nadat er is afgesloten met Enter of dat er op Escape is gedrukt. De<br />

punt van de pijl wordt geplaatst op de laatste muiskl<strong>ik</strong> van de geplaatste lijn. De pijlpunt<br />

heeft <strong>dezelfde</strong> richting als de laatst getekende lijn.<br />

Mocht men er toch niet uitkomen, graag willen weten wat de betekenis is van bepaalde<br />

symbolen zijn of de NEN norm willen bekijken kan dit op het tabblad Help. De teksten van<br />

dit tabblad zijn terug te vinden op <strong>bij</strong>lage C<br />

26


Figuur 3B De programma bevattende template<br />

Figuur 3C Het plaatsen van de symbolen en tekst met het programma<br />

27


Figuur 3D Het plaatsen van de pijlen met het programma<br />

Figuur 3E Het gebru<strong>ik</strong> van het tabblad Help van het programma<br />

28


3.3 Het <strong>stroom</strong>schema<br />

Figuur 3F Het stoomschema van het geschreven programma<br />

29


3.4 Delen van de code<br />

Doordat het programma uit meerdere onderdelen bestaat, wordt de code per onderdeel behandeld;<br />

3.4.1 Algemene instellingen<br />

Instelling voor het tonen/activeren van het programma zodra de template geopend wordt<br />

Private Sub AcadDocument_Activate()<br />

frmStroomschema.Show<br />

End Sub<br />

Instelling voor de breedte van het formulier/lay-out zodra deze gestart wordt<br />

Private Sub UserForm_Activate()<br />

Me.Width = 125<br />

End Sub<br />

Instelling voor de standaard breedte van de tabbladen “Blokken”, “Pijlen” en “Help”<br />

Private Sub MultiPage1_Change()<br />

Me.Width = 125<br />

End Sub<br />

Instelling voor het verbreden van tabblad “Blokken” om de Specifiek Symbolische Blokken te openen<br />

Private Sub ImVerbreden_Click()<br />

Me.Width = 310<br />

End Sub<br />

Instelling voor het verbreden van de tabbladen w<strong>elke</strong> zich bevinden op het tabblad “Help”<br />

Private Sub MultiPage2_Change()<br />

Me.Width = 310<br />

End Sub<br />

3.4.2 Symbolen<br />

De symbolen worden aangemaakt in de module Tekenen. Zodra een functie van het programma<br />

geactiveerd wordt zal de code achter het formulier deze module oproepen<br />

Een block oproepen vanuit module Tekenen<br />

Sub NEN_Blokken(ByVal Naam As String, ByVal x As Double, ByVal y As Double, ByVal h As Double)<br />

Dim punt(0 To 2) As Double<br />

Dim NENBlokObject As AcadBlockReference<br />

punt(0) = x<br />

punt(1) = y<br />

punt(2) = 0<br />

On Error Resume Next<br />

Eerst wordt er gezocht of de op te roepen block in de tekening staat<br />

Set NENBlokObject = ThisDrawing.ModelSpace.InsertBlock(punt, Naam, 1, 1, 1, h)<br />

Als dit niet zo is wordt de harde schijf doorzocht of de blocks zich daar bevinden<br />

If Err Then<br />

Set NENBlokObject = ThisDrawing.ModelSpace.InsertBlock(punt, Naam & ".dwg", 1, 1, 1, h)<br />

Err.Clear<br />

End If<br />

NENBlokObject.Update<br />

End Sub 'Einde NEN_Blokken<br />

30


Achter de knoppen van het programma bevinden zich deze codes. Doordat er voor nagenoeg elk<br />

symbool <strong>dezelfde</strong> code wordt gebru<strong>ik</strong>t staan hier enkele voorbeelden om een indruk te krijgen.<br />

Het oproepen van block NEN 433; Begin of Einde, vanuit het programma<br />

Private Sub LbBegin_Click()<br />

Definiëren van het punt dat de gebru<strong>ik</strong>er plaatst in het tekenveld<br />

p = ThisDrawing.Utility.GetPoint(, "Waar")<br />

x = p(0)<br />

y = p(1)<br />

Het oproepen van het aangemaakte/opgeroepen block vanuit de module Tekenen<br />

Tekenen.NEN_Blokken "NEN 433", x, y, h<br />

Het oproepen van een nieuw formulier/programma om de tekst te plaatsen<br />

frmAttribuutBeginEinde.Show<br />

End Sub<br />

Om aan te tonen dat de code nauwelijks veranderd <strong>bij</strong> verschillende te plaatsen symbolen volgen hier<br />

de codes van de symbolen NEN 313 Invoer, NEN 310 Bewerking en NEN 411 Sturing<br />

Private Sub LbInvoer_Click()<br />

p = ThisDrawing.Utility.GetPoint(, "Waar")<br />

x = p(0)<br />

y = p(1)<br />

Tekenen.NEN_Blokken "NEN 313", x, y, h<br />

frmAttributenAlgemeen.Show<br />

End Sub<br />

Private Sub LbBewerking_Click()<br />

p = ThisDrawing.Utility.GetPoint(, "Waar")<br />

x = p(0)<br />

y = p(1)<br />

Tekenen.NEN_Blokken "NEN 310", x, y, h<br />

frmAttributenAlgemeen.Show<br />

End Sub<br />

Private Sub LbSturing_Click()<br />

p = ThisDrawing.Utility.GetPoint(, "Waar")<br />

x = p(0)<br />

y = p(1)<br />

Tekenen.NEN_Blokken "NEN 411", x, y, h<br />

frmAttributenSturing.Show<br />

End Sub<br />

31


3.4.3 Tekst<br />

Er worden verschillende tekstsoorten aangemaakt in de module Tekenen. Deze tekstsoorten worden<br />

opgeroepen vanuit de verschillende formulieren <strong>die</strong> gekoppeld staan aan de symbolen van het<br />

programma. Vanuit deze formulieren kan de gebru<strong>ik</strong>er de gewenste tekst invoeren waarna deze in het<br />

symbool geplaatst wordt.<br />

Het aanmaken van links uitlijnende tekst in de module Tekenen<br />

Sub Tekst(ByVal regel As String, ByVal x As Double, ByVal y As Double, ByVal h As Double)<br />

Dim punt(0 To 2) As Double<br />

Het aanmaken van een tekst in AutoCAD<br />

Dim objTekst As AcadText<br />

punt(0) = x<br />

punt(1) = y<br />

On Error Resume Next<br />

De net aangemaakte tekst toevoegen<br />

Set objTekst = ThisDrawing.ModelSpace.AddText(regel, punt, h)<br />

objTekst.Update<br />

End Sub 'Einde Tekst<br />

Het aanmaken van gecentreerde tekst in de module Tekenen<br />

Sub TekstGecentreerd(ByVal regel As String, ByVal x As Double, ByVal y As Double, ByVal h As Double)<br />

Dim punt(0 To 2) As Double<br />

Dim oorsprong(0 To 2) As Double<br />

Het aanmaken van een tekst in AutoCAD<br />

Dim objTekst As AcadText<br />

punt(0) = x<br />

punt(1) = y<br />

On Error Resume Next<br />

De net aangemaakte tekst toevoegen<br />

Set objTekst = ThisDrawing.ModelSpace.AddText(regel, punt, h)<br />

De tekst centreren op het aangegeven punt<br />

objTekst.Alignment = acAlignmentMiddleCenter<br />

Call objTekst.Move(oorsprong, punt)<br />

objTekst.Update<br />

End Sub 'Einde TekstGecentreerd<br />

Het aanmaken van rechts uitlijnende tekst in de module Tekenen<br />

Sub TekstRechts(ByVal regel As String, ByVal x As Double, ByVal y As Double, ByVal h As Double)<br />

Dim punt(0 To 2) As Double<br />

Dim oorsprong(0 To 2) As Double<br />

Het aanmaken van een tekst in AutoCAD<br />

Dim objTekst As AcadText<br />

punt(0) = x<br />

punt(1) = y<br />

On Error Resume Next<br />

De net aangemaakte tekst toevoegen<br />

Set objTekst = ThisDrawing.ModelSpace.AddText(regel, punt, h)<br />

De tekst rechts uitlijnen vanaf het aangegeven punt<br />

objTekst.Alignment = acAlignmentMiddleRight<br />

Call objTekst.Move(oorsprong, punt)<br />

objTekst.Update<br />

End Sub 'Einde TekstRechts<br />

32


Achter de knoppen van de tekstprogramma’s bevinden zich deze codes. Doordat er voor nagenoeg elk<br />

tekstprogramma <strong>dezelfde</strong> code wordt gebru<strong>ik</strong>t staan hier enkele voorbeelden om een indruk te krijgen.<br />

Het plaatsen van een tekst door middel van het tekstprogramma “Begin of Einde” figuur 3G<br />

Private Sub ImAttributenStartEinde_Click()<br />

Het formulier van het programma moet verdwijnen zodra de tekst geplaatst is<br />

Me.Hide<br />

p = ThisDrawing.Utility.GetPoint(, "Kl<strong>ik</strong> het plaatspunt van het blok aan")<br />

x = p(0)<br />

y = p(1)<br />

De tekst <strong>die</strong> geplaatst moet worden is de tekst uit de tekstbox van het programma<br />

GetoondeTekst = Me.TxtRegel1<br />

Tekenen.TekstGecentreerd GetoondeTekst, x, y - 5, 2.5<br />

End Sub<br />

Het plaatsen van een tekst door middel van het tekstprogramma “Sturing” figuur 3H<br />

Private Sub ImAttributenAlgemeen_Click()<br />

Het formulier van het programma moet verdwijnen zodra de tekst geplaatst is<br />

Me.Hide<br />

p = ThisDrawing.Utility.GetPoint(, "Kl<strong>ik</strong> het plaatspunt van het blok aan")<br />

x = p(0)<br />

y = p(1)<br />

De gecentreerde tekst <strong>die</strong> geplaatst moet worden vanuit de tekstbox van het programma<br />

GetoondeTekst = Me.TxtRegel1<br />

Tekenen.TekstGecentreerd GetoondeTekst, x, y - 20 / 4, 2.5<br />

GetoondeTekst = Me.TxtRegel2<br />

Tekenen.TekstGecentreerd GetoondeTekst, x, y - 20 / 2, 2.5<br />

GetoondeTekst = Me.TxtRegel3<br />

Tekenen.TekstGecentreerd GetoondeTekst, x, y - 20 / 4 * 3, 2.5<br />

De links uitlijnende tekst <strong>die</strong> geplaatst moet worden vanuit de tekstbox van het programma<br />

GetoondeTekst = Me.TxtWaarNietWaar<br />

Tekenen.Tekst GetoondeTekst, x + 16, y - 20 / 4 - 1.25, 2.5<br />

GetoondeTekst = Me.TxtNietWaarWaar<br />

Tekenen.Tekst GetoondeTekst, x + 1, y - 25 - 1.25, 2.5<br />

De rechts uitlijnende tekst <strong>die</strong> geplaatst moet worden vanuit de tekstbox van het programma<br />

GetoondeTekst = Me.TxtWaarrNietWaar<br />

Tekenen.TekstRechts GetoondeTekst, x - 16, y - 20 / 4, 2.5<br />

GetoondeTekst = Me.TxtNietWaarWaar<br />

Tekenen.TekstRechts GetoondeTekst, x - 1, y - 25, 2.5<br />

End Sub<br />

33


Het plaatsen van een tekst door middel van het tekstprogramma “Blokken algemeen” met 3 links<br />

uitlijnende tekstregels, figuur 3I<br />

Private Sub ImAttributenAlgemeen_Click()<br />

Het formulier van het programma moet verdwijnen zodra de tekst geplaatst is<br />

Me.Hide<br />

p = ThisDrawing.Utility.GetPoint(, "Kl<strong>ik</strong> het plaatspunt van het blok aan")<br />

x = p(0)<br />

y = p(1)<br />

De links uitlijnende tekst <strong>die</strong> geplaatst moet worden vanuit de tekstbox van het programma<br />

GetoondeTekst = Me.TxtRegel1<br />

Tekenen.Tekst GetoondeTekst, x - 12.5, y - 20 / 4 - 1.25, 2.5<br />

GetoondeTekst = Me.TxtRegel2<br />

Tekenen.Tekst GetoondeTekst, x - 12.5, y - 20 / 2 - 1.25, 2.5<br />

GetoondeTekst = Me.TxtRegel3<br />

Tekenen.Tekst GetoondeTekst, x - 12.5, y - 20 / 4 * 3 - 1.25, 2.5<br />

End Sub<br />

Het plaatsen van een tekst door middel van het tekstprogramma “Blokken algemeen” met gecentreerde<br />

tekstregels, figuur 3J<br />

Private Sub ImAttributenAlgemeen_Click()<br />

Het formulier van het programma moet verdwijnen zodra de tekst geplaatst is<br />

Me.Hide<br />

p = ThisDrawing.Utility.GetPoint(, "Kl<strong>ik</strong> het plaatspunt van het blok aan")<br />

x = p(0)<br />

y = p(1)<br />

De gecentreerde tekst <strong>die</strong> geplaatst moet worden vanuit de tekstbox van het programma<br />

GetoondeTekst = Me.TxtRegel1<br />

Tekenen.TekstGecentreerd GetoondeTekst, x, y - 20 / 4, 2.5<br />

GetoondeTekst = Me.TxtRegel2<br />

Tekenen.TekstGecentreerd GetoondeTekst, x, y - 20 / 2, 2.5<br />

End Sub<br />

Figuur 3G Figuur 3H Figuur 3I Figuur 3J<br />

34


3.4.4 Pijlen<br />

De pijlpunt wordt als block aangemaakt in de module Tekenen. De lijnen worden aangemaakt in de<br />

module Pijlen. De enkele lijn en de laatst getekende lijn van de meervoudige lijn worden 5 mm verkort<br />

waarna de pijlpunt, <strong>die</strong> 5 mm lang is, wordt opgeroepen uit de module Tekenen en geplaatst in de<br />

zelfde richting als de enkele lijn en de laatst getekende lijn van de meervoudige lijn. Zodra de functie<br />

enkele pijl of oneindige lijn van het programma geactiveerd wordt zal de code achter het formulier de<br />

module Pijlen oproepen.<br />

Het aanmaken van het block pijlpunt in de module Tekenen<br />

Sub Blok_Punt(x, y, h)<br />

De punten definiëren <strong>die</strong> worden gebru<strong>ik</strong>t om de pijlpunt te tekenen<br />

Dim p0(0 To 2) As Double<br />

Dim p1(0 To 2) As Double<br />

Dim p2(0 To 2) As Double<br />

Dim p3(0 To 2) As Double<br />

Dim oorsprong(0 To 2) As Double<br />

Dim punt(0 To 2) As Double<br />

punt(0) = x<br />

punt(1) = y<br />

On Error Resume Next<br />

Eerst wordt er gezocht of het nog aan te maken block al in de tekening staat<br />

Set BlokPuntObject = ThisDrawing.Blocks.Item("BlokPunt")<br />

If Err Then<br />

Zoniet dan wordt het block aangemaakt<br />

Set BlokPuntObject = ThisDrawing.Blocks.Add(oorsprong, "BlokPunt")<br />

Pijlgrootte = 5<br />

p0(0) = 0: p0(1) = -Pijlgrootte / 4<br />

p1(0) = Pijlgrootte: p1(1) = 0<br />

p2(0) = 0: p2(1) = Pijlgrootte / 4<br />

p3(0) = 0: p3(1) = Pijlgrootte / 4<br />

Van het block een solid maken zodat de punt niet uit losse lijnen bestaat<br />

Dim SolidObj As AcadSolid<br />

Set SolidObj = BlokPuntObject.AddSolid(p0, p1, p2, p3)<br />

SolidObj.Update<br />

End If<br />

Het oproepen van een block referentie (w<strong>elke</strong> of al in de tekening staat of net is aangemaakt)<br />

Dim pijl As AcadBlockReference<br />

Set pijl = ThisDrawing.ModelSpace.InsertBlock(punt, "BlokPunt", 1, 1, 1, h)<br />

pijl.Update<br />

End Sub 'Einde Blok Punt<br />

35


Het aanmaken van een oneindige pijl in de module Pijlen<br />

Sub Oneidige_Pijl()<br />

Definiëren van het beginpunt en het volgende punt dat de gebru<strong>ik</strong>er plaatst in het tekenveld<br />

Dim p(0 To 2) As Double<br />

p0 = ThisDrawing.Utility.GetPoint(, "Beginpunt")<br />

x0 = p0(0)<br />

y0 = p0(1)<br />

p1 = ThisDrawing.Utility.GetPoint(p0, "Volgend punt")<br />

x1 = p1(0)<br />

y1 = p1(1)<br />

Het aanmaken van een lijn<br />

Dim LijnObject As AcadLine<br />

Set LijnObject = ThisDrawing.ModelSpace.AddLine(p0, p1)<br />

On Error Resume Next<br />

Het aanmaken vanaf het derde en de daarop volgende punten totdat de lijn wordt afgesloten met Enter<br />

Do<br />

p(0) = p0(0): p(1) = p0(1)<br />

p0(0) = x1: p0(1) = y1<br />

x0 = p0(0): y0 = p0(1)<br />

Call ThisDrawing.Utility.InitializeUserInput(0, "Enter")<br />

p1 = ThisDrawing.Utility.GetPoint(p0, "Volgend punt of [Enter]")<br />

x1 = p1(0)<br />

y1 = p1(1)<br />

If Not (x0 = x1 And y0 = y1) Then<br />

Set LijnObject = ThisDrawing.ModelSpace.AddLine(p0, p1)<br />

Else<br />

Het definiëren van de variabelen hoek en de lengte van de laatst getekende lijn van de pijl<br />

Dim hoek As Variant<br />

hoek = LijnObject.Angle<br />

Dim oude_lengte As Variant<br />

Dim nieuwe_lengte As Variant<br />

oude_lengte = LijnObject.Length<br />

nieuwe_lengte = oude_lengte - 5<br />

Het uitwissen van de laatst getekende lijn, zodat de nieuwe laatste lijn – 5 mm met daaraan direct de<br />

pijlpunt, geplaatst kan worden<br />

LijnObject.Delete<br />

Het tekenen van de nieuwe laatste lijn<br />

Dim punt(0 To 2) As Double<br />

Dim PolarPunt As Variant<br />

PolarPunt = ThisDrawing.Utility.PolarPoint(p, hoek, nieuwe_lengte)<br />

Set LijnObject = ThisDrawing.ModelSpace.AddLine(p, PolarPunt)<br />

x3 = PolarPunt(0)<br />

y3 = PolarPunt(1)<br />

Het plaatsen van het aangemaakte/opgeroepen block vanuit de module Tekenen<br />

Call Tekenen.Blok_Punt(x3, y3, hoek)<br />

GoTo stoppen<br />

End If<br />

Loop<br />

stoppen:<br />

End Sub 'Einde Oneindige Pijl<br />

36


Het aanmaken van een enkele pijl in de module Pijlen<br />

Sub Enkele_Pijl()<br />

Definiëren van het beginpunt en het eindpunt dat de gebru<strong>ik</strong>er plaatst in het tekenveld<br />

p0 = ThisDrawing.Utility.GetPoint(, "Beginpunt")<br />

p1 = ThisDrawing.Utility.GetPoint(p0, "Eindpunt")<br />

Het aanmaken van een lijn<br />

Dim LijnObject As AcadLine<br />

Set LijnObject = ThisDrawing.ModelSpace.AddLine(p0, p1)<br />

Het definiëren van de variabelen hoek en de lengte van de pijl<br />

Dim hoek As Variant<br />

hoek = LijnObject.Angle<br />

Dim oude_lengte As Variant<br />

Dim nieuwe_lengte As Variant<br />

oude_lengte = LijnObject.Length<br />

nieuwe_lengte = oude_lengte - 5<br />

Het uitwissen van de als eerst getekende lijn, zodat de nieuwe lijn – 5 mm met daaraan direct de<br />

pijlpunt, geplaatst kan worden<br />

LijnObject.Delete<br />

Het tekenen van de nieuwe lijn<br />

Dim punt(0 To 2) As Double<br />

Dim PolarPunt As Variant<br />

PolarPunt = ThisDrawing.Utility.PolarPoint(p0, hoek, nieuwe_lengte)<br />

Set LijnObject = ThisDrawing.ModelSpace.AddLine(p0, PolarPunt)<br />

x = PolarPunt(0)<br />

y = PolarPunt(1)<br />

Het plaatsen van het aangemaakte/opgeroepen block vanuit de module Tekenen<br />

Call Tekenen.Blok_Punt(x, y, hoek)<br />

End Sub 'Einde Enkele Pijl<br />

Het oproepen van de enkele pijl, vanuit het programma<br />

Private Sub LbEnkelePijl_Click()<br />

Het oproepen van de aangemaakte pijl vanuit de module Pijlen<br />

Call Pijlen.Enkele_Pijl<br />

End Sub<br />

Het oproepen van de oneindige pijl, vanuit het programma<br />

Private Sub LbOneindigePijl_Click()<br />

Het oproepen van de aangemaakte pijl vanuit de module Pijlen<br />

Call Pijlen.Oneidige_Pijl<br />

End Sub<br />

37


Conclusie<br />

In de op<strong>zet</strong> om een duidelijker, sneller, meer gestandaardiseerd maar vooral eenvoudig programma te<br />

ontwerpen ben <strong>ik</strong> naar mijn idee aardig geslaagd. Persoonlijk vind <strong>ik</strong> het programma prettig werken en<br />

heb het programma veelvuldig gebru<strong>ik</strong>t <strong>bij</strong> het tekenen van de <strong>stroom</strong>schema’s in dit verslag.<br />

De personen aan wie dit programma getoond is en de personen <strong>die</strong> dit programma getest hebben zijn<br />

er al even positief over.<br />

Maar doordat er tot op heden maar een klein aantal personen (<strong>die</strong> nu ondertussen weten hoe het<br />

programma werkt) het programma hebben getest zullen er ongetwijfeld nog kinderziekten naar boven<br />

komen. Maar problemen zijn er om opgelost te worden en zijn dus een onderdeel van het totale proces<br />

om tot een goed ontwerp/product te komen.<br />

Het plaatsen van de tekst is naar mijn idee een punt wat de toekomst nog te verbeteren is.<br />

En mocht <strong>bij</strong> de gebru<strong>ik</strong>er het programma desondanks toch niet aan alle wensen voldoen, staan alle<br />

blocks met attributen opgeslagen in de tekening en zijn deze op de manieren binnen AutoCAD te<br />

gebru<strong>ik</strong>en. De blocks kunnen ook makkelijk omge<strong>zet</strong> worden in een Toolpallete waardoor ze ook simpel<br />

te gebru<strong>ik</strong>en zijn. Alleen op deze manier van werken vergt het tekenen van de pijlen weer enige tijd.<br />

38


Bijlage A NEN Norm 3283<br />

NEN 3283:1967 nl<br />

Documentnummer<br />

NEN 3283:1967 nl<br />

Publicatiedatum 01-12-1967<br />

Registratiedatum 01-01-1980<br />

Taal<br />

Nederlandse titel<br />

Engelse titel<br />

nl<br />

Automatische informatieverwerking - Symbolen voor schema's<br />

Flowchart symbols for information processing<br />

Vervangt<br />

Vervangen door<br />

Wijzigt<br />

Gewijzigd door<br />

ICS code(s) 35.080<br />

Intrekkingdatum<br />

Uitgever<br />

NEN<br />

Aantal pagina's 4<br />

Nationale samenvatting<br />

Deze norm geeft symbolen voor schema's voor automatische informatieverwerking.<br />

Engelse samenvatting<br />

Relaties ISO/DP 1299<br />

Opmerking<br />

Commissienummer 381007<br />

Commissie<br />

Bundels<br />

Vertaling<br />

Commissie Europees<br />

Commissie Internationaal<br />

Richtlijnen<br />

Regelgeving<br />

NEN 3283:1967 nl<br />

39


XXXIX<br />

40


Bijlage B Overige symbolen<br />

Gegevens invoer, uitvoer (NEN 3283:1967-320/420), algemeen<br />

voor het gebru<strong>ik</strong> van invoer/uitvoer handelingen.<br />

Voorbereiding (NEN 3283:1967-413), het klaarmaken van een<br />

instructie of een groep van instructies; het <strong>zet</strong>ten van een<br />

wissel, het initialiseren van een routine etc.<br />

Handmatige bewerking (NEN 3283:1967-312/414), hier<strong>bij</strong> wordt<br />

geen gebru<strong>ik</strong> gemaakt van mechanische hulpmiddelen.<br />

Document (NEN 3283:1967-323), de overdracht van informatie<br />

waar<strong>bij</strong> de drager een document is.<br />

Meerdere documenten.<br />

Interne opslag (NEN 3283:1967-329), het vastleggen of<br />

overdragen van informatie waar<strong>bij</strong> de drager een<br />

kernengeheugen is.<br />

Kaart (NEN 3283:1967-324), de overdracht van informatie<br />

waar<strong>bij</strong> de drager een kaart (in alle specialistische vormen) is.<br />

Ponsband (NEN 3283:1967-325), de overdracht van informatie<br />

waar<strong>bij</strong> de drager een ponsband is.<br />

Scheidingslijn<br />

Connector (NEN 3283:1967-333/432), het afbreken van een lijn<br />

<strong>die</strong> onder verwijzing naar een andere connector met een<br />

corresponderende aanduiding ergens anders wordt voortge<strong>zet</strong><br />

Connector naar andere pagina<br />

Samenvoeging<br />

Of<br />

XL 41


Samenvoegen met selectie (NEN 3283:1967-316),<br />

samenvoegen met gelijktijdige uitsplitsing; het vormen van twee<br />

of meer rijen informatie-eenheden uit twee of meer andere rijen.<br />

Sorteren (NEN 3283:1967-317), het ordenen van een serie<br />

informatie-eenheden in een speciale volgorde.<br />

Uitsplitsen - Extract - (NEN 3283:1967-315), het volgens<br />

bepaalde criteria scheiden van een rij informatie-eenheden in<br />

twee of meer rijen.<br />

Samenvoegen - Merge - (NEN 3283:1967-314), het in elkaar<br />

voegen van twee of meerdere rijen in één enkele rij.<br />

Uitstel<br />

Gekoppeld geheugen (NEN 3283:1967-321), algemeen<br />

symbool voor een handeling waar<strong>bij</strong> gebru<strong>ik</strong>t wordt gemaakt<br />

van een gekoppeld geheugen zoals magneetband,<br />

magneetschijf etc.<br />

Magneetband (NEN 3283:1967-326), de vastlegging of<br />

overdracht van informatie waar<strong>bij</strong> de drager een magneetband<br />

is.<br />

Magneetschijf (NEN 3283:1967-328), de vastlegging of<br />

overdracht van informatie waar<strong>bij</strong> de drager een magneetschijf<br />

is.<br />

Magneettrommel (NEN 3283:1967-327), de vastlegging of<br />

overdracht van informatie waar<strong>bij</strong> de drager een<br />

magneettrommel is.<br />

Weergave (NEN 3283:1967-3210), directe communicatie van<br />

machine naar mens. Overdracht waar<strong>bij</strong> de informatie<br />

gedurende het proces direct toegankelijk wordt.<br />

XLI 42


Bijlage C Help procedure programma<br />

Algemeen<br />

Zodra de template wordt geopend zijn<br />

de volgende instellingen actief;<br />

De tekenlimiet is ingesteld op A4<br />

formaat. Binnen deze limiet bevinden<br />

zich een zichtbaar raster en kader. Het<br />

raster en het kader zijn blokken en<br />

staan in de betreffende laag op slot.<br />

Deze lagen worden niet geprint.<br />

Alle blokken <strong>die</strong> gebru<strong>ik</strong>t worden door<br />

het <strong>stroom</strong>schemaprogramma zijn in<br />

de template ingeladen.<br />

Deze worden geplaatst in de laag<br />

Blokken w<strong>elke</strong> geactiveerd wordt door<br />

het programma.<br />

Deze laag staat niet op slot en zal<br />

worden geprint.<br />

Het tekstfont staat ingesteld op Arial.<br />

Het <strong>stroom</strong>schemaprogramma start<br />

automatisch zodra de template wordt<br />

geopend. Mocht het programma<br />

afgesloten worden, dan is deze te<br />

herstarten door een nieuwe tekening<br />

te openen en vervolgens op Annuleren<br />

te drukken.<br />

Blokken<br />

Op het direct zichtbare gedeelte op de<br />

tab “Blokken” staan de standaard (veel<br />

gebru<strong>ik</strong>te) <strong>stroom</strong>schemasymbolen. Dit<br />

gedeelte kan verbreed worden (>)<br />

waardoor de specifiek symbolische<br />

(minder voorkomende) <strong>stroom</strong> -<br />

schemasymbolen zichtbaar worden.<br />

Het plaatsen van de symbolen;<br />

Activeer na het maken van een keuze<br />

het symbool door er met de linker muis -<br />

knop op te kl<strong>ik</strong>ken. Op de commando -<br />

regel komt de tekst “Waar?” waarna er<br />

op een willekeurige plek in het tekenveld<br />

gekl<strong>ik</strong>t kan worden. Het symbool wordt<br />

geplaatst.<br />

LET OP: Het plaatspunt van alle<br />

<strong>stroom</strong>schemasymbolen zit bovenin het<br />

midden van het symbool<br />

Tekst<br />

De symbolen w<strong>elke</strong> ingeladen zijn in<br />

de tekening bevatten tekst,<br />

uitgezonderd de symbolen NEN 314<br />

Samenvoegen, NEN 315 Ophalen,<br />

NEN 316 Samenvoeging, NEN 317<br />

Sorteren, Samenvoeging en Of.<br />

Nadat een symbool geplaatst is,<br />

verschijnt er een invulbox waarin de<br />

omschrijving (tekst) ingevoerd kan<br />

worden. Dit kan in 1,2 of 3 regels (naargelang<br />

de grootte van het symbool) zijn<br />

en op <strong>elke</strong> regel past ongeveer 15<br />

tekens. De grootte van de tekst bepaalt<br />

w<strong>elke</strong> regels nodig zijn om deze goed te<br />

verdelen binnen het symbool. Een tekst<br />

< 15 tekens wordt geplaatst op de<br />

middelste regel. Een tekst < 30 tekens<br />

wordt op de eerste en de derde regel<br />

geplaatst. Met een tekst > 30 tekens<br />

worden alle 3 de regels gebru<strong>ik</strong>t.<br />

Hierdoor zal de tekst op de juiste plaats in<br />

het symbool komen te staan.<br />

LET OP: De tekst wordt los geplaatst en<br />

het plaatspunt van de tekst zit bovenin<br />

het midden van het laatst geplaatste<br />

symbool.<br />

Betekenis symbolen<br />

Gegevens invoer, uitvoer<br />

Voorbereiding<br />

Handmatige bewerking<br />

Document<br />

Meerdere documenten<br />

Interne opslag<br />

Kaart<br />

Ponsband<br />

Scheidingslijn<br />

Connector<br />

Connector naar andere pagina<br />

Samenvoeging<br />

Of<br />

Samenvoegen met selectie<br />

Sorteren<br />

Uitsplitsen<br />

Samenvoegen<br />

Gekoppeld geheugen<br />

Uitstel<br />

Magneetband<br />

Magneetschijf<br />

Magneettrommel<br />

Weergave<br />

XLII 43


Het plaatsen van de pijlen<br />

NEN Norm 3283<br />

Activeer na het maken van een keuze<br />

de pijl door er met de linker muis -<br />

knop op te kl<strong>ik</strong>ken. Op de commando -<br />

regel komt de tekst “Beginpunt”<br />

waarna er op een willekeurige plek in<br />

het tekenveld gekl<strong>ik</strong>t kan worden.<br />

Hierna wordt er afhankelijk van de<br />

gekozen pijl gevraagd om het<br />

“Eindpunt” of om een “Volgend punt of<br />

[Enter]”<br />

LET OP: De pijl wordt geplaatst vanaf<br />

de staart (Xà) en de pijlpunt wordt geplaatst<br />

op het “Eindpunt” of de met<br />

[Enter] afgesloten lijn (àX).<br />

De enkele pijl<br />

Pijl bestaande uit één enkele rechte<br />

lijn. Na het “Beginpunt” wordt er direct<br />

gevraagd om het “Eindpunt”.<br />

De oneindige pijl<br />

Pijl bestaande uit meerdere rechte<br />

lijnen. Na het “Beginpunt” wordt er<br />

gevraagd naar een “Volgend punt of<br />

[Enter]”.De punt wordt dus pas<br />

geplaatst nadat de lijn is afgesloten<br />

met Enter.<br />

Copyright©<br />

Copyright© W.H.C. Oskam 2005.<br />

Alle rechten voorbehouden.<br />

Waarschuwing: dit computerprogramma<br />

is auteursrechtelijk beschermd.<br />

Onrechtmatige verveelvoudiging of<br />

distributie van dit programma, of een<br />

gedeelte ervan is verboden en strafbaar.<br />

XLIII 44


Bijlage D Gebru<strong>ik</strong>saanwijzing installatie<br />

LET OP: Het programma is een AutoCAD bestand en kan alleen worden gebru<strong>ik</strong>t in<strong>die</strong>n dit programma<br />

reeds is geïnstalleerd op de te gebru<strong>ik</strong>en computer!<br />

De programmahoudende template kan op verschillende manieren aangeleverd worden; via de e-mail,<br />

zie figuur D1 of via een externe opslag (hiermee wordt bedoeld een diskette, CD of via een USB-stick),<br />

zie figuur D2.<br />

Figuur D1 De template aangeleverd via de e-mail<br />

Figuur D2 De template aangeleverd via een externe opslag<br />

Het is de bedoeling dat de template wordt geopend. Als de template via de e-mail aangeleverd wordt<br />

kan deze geopend worden door erop te dubbelkl<strong>ik</strong>ken. Als de template via een externe opslag wordt<br />

aangeleverd kan deze worden geopend door AutoCAD te activeren, en Bestand – Openen te activeren.<br />

Deze externe bron te <strong>die</strong>nt geselecteerd te worden. Alle bestanden w<strong>elke</strong> zijn opgeslagen op de<br />

externe opslag worden getoond, activeer het juiste bestand door er op de kl<strong>ik</strong>ken en vervolgens op<br />

openen te kl<strong>ik</strong>ken.<br />

De template wordt geopend. Het volgende beeld, figuur D3, wordt getoond. Er verschijnt de<br />

achtergrondtekening waarin het <strong>stroom</strong>schema getekend <strong>die</strong>nt te worden en een melding dat dit<br />

bestand macro’s bevat. Deze macro’s vormen het programma. Kl<strong>ik</strong> op “Enable Macros” om het<br />

programma te activeren, figuur D4.<br />

Figuur D3 Macro’s toestaan om het programma te activeren<br />

Figuur D4 Het programma<br />

XLIV 45


Vervolgens wordt de geopende template opgeslagen als template op de harde schijf of een netwerk,<br />

naargelang de wensen van de gebru<strong>ik</strong>er of bedrijf.<br />

Activeer Bestand – Opslaan als … Selecteer <strong>bij</strong> bestandtype AutoCAD Drawing Template [*dwt], figuur<br />

D5. Sla de template vervolgens op in de map “Template” of een andere map w<strong>elke</strong> snel en eenvoudig<br />

terug te vinden is. De map “Template” heeft een voordeel dat er reeds een snelkoppeling is, waardoor<br />

deze map snel en eenvoudig terug te vinden is.<br />

Figuur D5 Bestandtype aanpassen naar AutoCAD Drawing Template [*dwt]<br />

Figuur D6 Opslaan in een eenvoudig terug te vinden map<br />

Mocht het programma per ongeluk weg gedrukt worden is deze eenvoudig op te roepen door Bestand –<br />

Openen te activeren om vervolgens op annuleren te kl<strong>ik</strong>ken. Het programma herstart dan automatisch.<br />

Voor alle andere vragen betreffende het gebru<strong>ik</strong> van het programma kan het tabblad Help van het<br />

programma zelf worden geraadpleegd.<br />

Veel plezier met het programma!<br />

XLV 46


Bijlage E Literatuurlijst<br />

Boeken ter ondersteuning van het onderzoek naar <strong>stroom</strong>schema’s<br />

• Boeklagen, R. AutoCAD 2005 Computer ondersteunend ontwerpen<br />

TEC CAD College B.V. Nijmegen 2004<br />

• Boeklagen, R. BCAD 5<br />

TEC CAD College B.V. Nijmegen 2003<br />

• Albada Jelgersma, H.E. Informatica BBO<br />

Websites ter ondersteuning van het onderzoek naar <strong>stroom</strong>schema’s<br />

• Microsoft ® Encarta ® Encyclope<strong>die</strong> Winkler Prins. ©<br />

1993-2002<br />

• http://www.pzzl.com. Pzzl.com<br />

Amsterdam 2001<br />

• Bos, G. Nederlands Computerwoordenboek<br />

1998<br />

• http://www.vandale.nl. Van Dale Taalweb<br />

NEN Norm ter ondersteuning van het onderzoek naar <strong>stroom</strong>schema’s<br />

• Nederlands Normalisatie Instituut NEN 3283 Automatische Informatieverwerking<br />

Tweede druk, Delft, 1967<br />

Boeken ter ondersteuning van het schrijven van het verslag<br />

• Taalfonds, Het. Spellingswijzer onze taal<br />

Elfde druk, Amsterdam/Antwerpen 2005<br />

XLVI 47

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!