AutoCAD 2008 toepassing Breedplaat Agrarische Sector (BAS) & Plot-toepassing (IP) M.J. de Lange
Dit opleidingstraject is gevolgd bij TEC / CAD College te Nijmegen, het eindexamen wordt afgenomen door docenten van de NOVI Hogeschool van Amsterdam, welke ook zorg draagt voor het diploma.
AutoCAD 2008 toepassing Breedplaat Agrarische Sector (BAS) & Plot-toepassing (IP)
VERSLAG
TEC / CAD College te Nijmegen Opleiding
: HBO deeltijdopleiding
Richting
: Autodesk Certified Engineer / AutoCAD Systeem Manager
Eindverslag Student
: M.J. de Lange
Student nummer
: 200715202
Periode
: april 2007 - februari 2008
Werkzaam bij Bedrijfsnaam
: Ingenieursgroep Romkes BV
Begeleidend docent Ir. R. Boeklagen
: TEC / CAD College te Nijmegen
VOORWOORD
Het afgelopen jaar heb ik hard gewerkt aan het maken van een doeltreffend, tijdsbesparend en foutloos tekenprogramma voor AutoCAD 2008. Vanwege het feit dat er bij mijn huidige werkgever veelal het motto “gisteren moest het klaar” wordt gehanteerd, is mede mijn motivatie hiervoor ontstaan. De keuze om alle aan deze opleiding verbonden zaken in eigen tijd uit te voeren, heeft dan ook het voordeel gehad dat ik veel doeltreffend heb kunnen testen op de werkvloer door de positieve houding van mijn werkgever hierop. Doordat men ziet dat het werkt, raak je extra gemotiveerd. Helaas is zoals een kunstenaar van zijn schilderij, een producer van zijn afmix, vind ik dat het programma nog niet af is en altijd aan vernieuwing en verandering toe is. Er zijn ongetwijfeld naast de wijzigingen die ik zelf wil doorvoeren, ook nog vele andere zaken die verbeterd kunnen worden. Ik hoor dan ook graag suggesties voor verbeteringen. Mijn dank gaat uit naar: Ingenieursgroep Romkes BV te Sint Nicolaasga, voor het mogelijk maken van dit project (en dan in het bijzonder naar de heer S. Romkes die altijd in is voor het door ontwikkelen binnen zijn bedrijf); TEC / CAD College te Nijmegen (en dan in het bijzonder de heer R. Boeklagen en mevrouw L. Bergsma voor alle hulp en ondersteuning van deze opleiding); maar ook naar de gebruikers van dit of een ander uitvoortvloeiend project van deze opleiding. De positieve reacties van de huidige gebruikers en wellicht toekomstige gebruikers kunnen een motiverende factor zijn in het verder ontwikkelen van deze en nieuwe projecten.
Sneek, januari 2008 M.J. (Mark Johan) de Lange
INHOUDSOPGAVE
VOORWOORD INHOUDSOPGAVE SAMENVATTING
1
INLEIDING
2
1
WERKOMGEVING EN DOEL
3
1.1 1.2 1.3 1.4
Ingenieursgroep Romkes BV Mijn plaats binnen Ingenieursgroep Romkes BV Probleemstelling Het doel van het project
3 6 7 8
2
WERKWIJZE
9
2.1 2.2 2.3 2.4
Beschrijving huidige werkwijze Knelpunten van de huidige werkwijze Mogelijkheden voor de nieuwe werkwijze Beschrijving nieuwe werkwijze
9 11 12 14
3
DE NIEUWE TOEPASSING
15
3.1 3.2 3.2.1 3.2.2 3.2.3 3.2.4 3.2.5 3.3 3.3.1 3.3.2 3.3.3
Stroomschema Gebruikte formulieren AutoCAD-app.: Breedplaat Agrarische Sector AutoCAD-app.: Wapeningsspecificatie Breedplaat Agrarische Sector AutoCAD-app.: Database Beheer (BAS) AutoCAD-app.: Plot AutoCAD-app.: Uitlezen Plot-/Printerinstellingen Gebruikte onderdelen en code Maken “Acaddoc.lsp” voor laden diverse applicaties bij start AutoCAD Bepalen versie en plaatsen “Support File Search Path” Database gebruiken met behulp van sql (structured query language)
15 16 16 19 20 22 23 25 26 29 30
4 4.1 4.2
CONCLUSIE EN AANBEVELINGEN Conclusie Aanbeveling
34 34 34
AutoCAD Certified Engineer – System Manager (2008)
1
SAMENVATTING Dit eindverslag beschrijft de stappen die doorlopen zijn voor de toepassing “Breedplaat agrarische sector” (BAS) en Plot-toepassing (IP). Het totale project begint met een planning. Dit is een basis voor het af te leggen traject. Na de planning start de ontwerpfase In de ontwerpfase wordt er een plan opgesteld en er wordt gekozen om een toepassing te maken waardoor het tekenproces versneld wordt en fouten worden vermindert of uitgesloten. Er wordt een prototype gemaakt welke bestaat uit twee onderdelen. Een grafisch ontwerp en een bijbehorende code. Ook wordt al bepaald welke onderdelen worden toegepast in de toepassing. Tijdens deze ontwerpfase wordt de toepassing getest door een gebruiker en de hieruit voortvloeiende vragen en opmerkingen vormen dan ook een prima aanvulling op de voorlopige uitwerking. In de voorlopige uitwerking wordt gekeken naar de opmerkingen die zijn gemaakt tijdens de eerste test fase. Het programma wordt aangepast en verbeterd. Er wordt meer aandacht besteed aan de code en deze voldoet dan ook aan de standaard regels voor het programmeren. Ook wordt een duidelijk en overzichtelijk formulier ontworpen. Deze dient als basis voor het definitieve formulier. In de voorgaande test fases is het programma uitvoerig getest en nu wordt het dan ook aangepast tot een definitieve toepassing.
De gemaakte toepassingen worden nu al circa 6 maand gebruikt en zijn een zeer goede toevoeging binnen het bedrijf. De tijdswinst is circa 85 procent. Ook is de plot toepassing zeer uitgebreid en ook als losse toepassing een perfecte toevoeging op AutoCAD. Deze toepassing wordt dan ook apart geïnstalleerd, en is in bijna alle gevallen sneller dan de standaard AutoCAD plot toepassing.
Het blijkt dat deze kennis van VBA (Visual Basic for Applications) een zeer goede toevoeging is voor een bedrijf, niet alleen in deze toepassing maar voor veel meer doeleinden. Dit blijkt dan ook omdat er inmiddels meerdere toepassingen zijn gemaakt en worden gebruikt. Ook wordt er veelal de opmerking gemaakt dat dit veel eerder had gemoeten, het is een zeer nuttige investering voor het bedrijf.
Breedplaat Agrarische Sector (BAS) & Plot-toepassing (IP)
M.J. de Lange
AutoCAD Certified Engineer – System Manager (2008)
2
INLEIDING Na het starten van dit project, heb ik veel ideeën gehad over de toe te passen onderdelen. Terugkijkend op het afgelopen jaar constateer ik dat er naarmate de tijd vorderde, veel onderdelen waarvan ik dacht dat ze noodzakelijk waren, vervangen heb door andere onderdelen waarvan ik eerder het bestaan niet eens wist. In dit verslag wil ik beschrijven wat het programma aan mogelijkheden biedt. Zowel problemen als oplossingen worden behandeld. Mijn toepassing “Breedplaat Agrarische Sector” (BAS) is een toepassing binnen AutoCAD geschreven in VBA (Visual Basic for Applications). Er is naast deze toepassing ook een bijbehorende maar los geïnstalleerde toepassing “Plot” (IP) gemaakt. Deze toepassing is bedoelt om het afdrukproces voor deze en alle andere tekeningen te versnellen.
Breedplaat Agrarische Sector (BAS) & Plot-toepassing (IP)
M.J. de Lange
AutoCAD Certified Engineer – System Manager (2008)
1. 1.1
3
WERKOMGEVING EN DOEL INGENIEURSGROEP ROMKES BV
Algemeen Ingenieursgroep Romkes BV, gestationeerd in St. Nicolaasga (Fr.), is sinds 1988 actief als innovatief, zelfstandig en onafhankelijk ingenieursbureau voor bouwtechniek. Het bureau heeft zich in de afgelopen jaren breed kunnen ontwikkelen in de diverse aspecten van het constructief ontwerp, vanaf het ontwerp tot en met het vervaardigen van werkplaatstekeningen. Wij zijn in staat om op alle mogelijke wijzen constructief “mee te denken” met opdrachtgever, aannemer en/of architect. Nieuwe rekenmethoden en toepassingen worden toegepast om een concurrerend constructief ontwerp (alternatief) aan te kunnen bieden.
Figuur 1: Hoofdkantoor Ingenieursgroep Romkes BV
De (ca. 20) werknemers zijn gespecialiseerd in de verschillende aspecten van het constructieve ontwerp. Binnen het bureau zijn alle disciplines aanwezig om een totale oplossing aan te kunnen bieden voor uw project: woningbouw, utiliteitsbouw, industrie, windenergie alsmede voor bijzondere constructies en attracties. De uitwerking hiervan kan variëren van bouwkundig/ constructief ontwerp volgens geldende (internationale) normering tot het vervaardigen (automatisch) van werkplaatstekeningen. Naast ontwerp- en tekenwerk heeft Ingenieursgroep Romkes BV ervaring opgedaan in het begeleiden van bouwprojecten en (constructief) consult in het algemeen.
Breedplaat Agrarische Sector (BAS) & Plot-toepassing (IP)
M.J. de Lange
AutoCAD Certified Engineer – System Manager (2008)
4
Programmatuur Ons bureau heeft gedurende al de jaren vooropgelopen, daar waar het ging om automatisering. Hierbij moet gedacht worden aan continue investeringen in reken- en tekensoftware, alsmede de eigen ontwikkeling van programmatuur. Deze investeringen bieden het bedrijf de flexibiliteit om de laatste ontwikkelingen in de constructieve sector te kunnen blijven volgen. Immers, construeren en adviseren is een continue afweging van mogelijkheden, enerzijds begrensd door de kosten en anderzijds door de voorschriften. Sinds de ontwikkeling van geavanceerdere rekenmethodieken (denk aan de toepassing van Eindige Elementen Methode; EEM) heeft Ingenieursgroep Romkes BV geïnvesteerd in het toepassen van gespecialiseerde programmatuur. Met diverse Eindige Elementen pakketten (w.o. ESA-Prima Win) is het mogelijk complexe constructies te beschouwen. Door een combinatie van ontwikkelde ervaring (controle) en deze programmatuur is het mogelijk een afgewogen constructief ontwerp aan te bieden, waarbij de relatie tussen geometrie, belasting en materiaal optimaal wordt benut. Een juiste keuze van materialen en hoeveelheden is bepalend voor een economische haalbaarheid van het project. De bouw kent diverse richtingen, daar waar het gaat om construeren.
Figuur 2: Fabricage en EEM model console OCNA te Amsterdam
Ingenieursgroep Romkes BV heeft zich omtrent het vervaardigen van constructief tekenwerk verdiept in alle fasen van het tekenproces. Het bureau kan constructief tekenwerk in de besteksfase aanbieden voor (bouwkundig) constructief tekenwerk, alsmede de vervaardiging van productie en werkplaatstekeningen. Hierbij wordt veelvoudig gebruik gemaakt van het volautomatische tekenprogramma StruCAD waarmee het mogelijk is om niet alleen de staalconstructie grafisch uit te werken, alsmede het leveren van alle benodigde data voor aansturing van werkplaatmachines (bijv. pons-knip-straat). Ingenieursgroep Romkes BV biedt deze diensten aan sinds 1995, en heeft diverse StruCAD prijzen met haar tekenwerk gewonnen.
Breedplaat Agrarische Sector (BAS) & Plot-toepassing (IP)
M.J. de Lange
AutoCAD Certified Engineer – System Manager (2008)
5
Figuur 3: Borneo brug te Amsterdam
Zusterondernemingen Door de opkomst van de houtskeletbouw is in 1998 een zusterbedrijf opgericht, HoekstraRomkes Houtkonstrukties BV, met als specialisatie het berekenen en tekenen van houtskeletbouwconstructies. Hoekstra Romkes Houtkonstructies BV heeft voor het vervaardigen van houtskeletelementen een eigen software pakket (Wood) ontwikkeld waarmee gehele woningen parametrisch ontworpen worden. Met deze software is het mogelijk om automatisch overzichttekeningen, details en bestellijsten te genereren. Aanvullend worden bestanden geleverd voor aansturing van zaag- en boorstraten.
Breedplaat Agrarische Sector (BAS) & Plot-toepassing (IP)
M.J. de Lange
AutoCAD Certified Engineer – System Manager (2008)
1.2
6
MIJN PLAATS BINNEN INGENIEURSGROEP ROMKES BV
Op 10 Mei 2001 ben ik begonnen bij Ingenieursgroep Romkes BV als bouwkundig tekenaar. Dit komt neer op het maken van diverse tekeningen, te denken aan funderingstekeningen, staaloverzicht-tekeningen en bouwkundige plattegronden voor bijvoorbeeld een aanbouw, verbouw of nieuwbouw van woning, kantoor of utiliteitsbouw.
Directeur
S. Romkes BSc. BSc.
Secretaresse
Constructeur
Administratie
Beton-tekenaar
Staal-tekenaar
Bouwkundig-tekenaar
Y. van Solkema
H. Kuipers BSc. BSc.
A. de Horn
J. de Vries
M. Rispens
W. Stoelwinder
G. vd Stouwe
W. ten Napel MSc. MSc.
G. Wijnstra
G. Helmus
M.J. de Lange
R. vd Heide
R. de Jong
G. Jongsma
R. Lolkema
figuur 4
In december 2005 ben ik me gaan verdiepen in een programma, welke al een tijd binnen ons bedrijf werd opgebouwd. Echter, de toenmalige collega was niet actief genoeg bezig met dit project. Door zijn vertrek bij Ingenieursgroep Romkes BV was er dus ruimte gekomen voor mij om dit op te pakken en verder te ontwikkelen. Dit programma werd geprogrammeerd door een extern bedrijf en LISP was hiervan de basis. Na een jaar van onderzoek naar de mogelijkheden van automatisering, vond ik het dan ook zeer interessant om hier zelf iets mee te kunnen doen. Ik zag het goed voor me waar en waarom dit belangrijk is binnen een bedrijf. In april 2007 heb ik een cursus VBA (Visual Basic for Applications) basis gevolgd, dit is mij dan ook zeer goed bevallen bij CAD College te Nijmegen. Hierna heb ik besloten een vervolgcursus te doen. Deze heb ik dan ook met genoegen gevolgd. Nu er ook een mogelijkheid was om een deeltijd HBO opleiding te doen, was hiervoor een grote interesse. Na overleg met mijn werkgever heb ik besloten deze te gaan volgen. Mijn taken binnen Ingenieursgroep Romkes BV zijn dan nu niet alleen meer tekenaar maar ook systeembeheer van de server, webpagina opzet, webpagina onderhoud en AutoCAD automatisering.
Breedplaat Agrarische Sector (BAS) & Plot-toepassing (IP)
M.J. de Lange
AutoCAD Certified Engineer – System Manager (2008)
1.3
7
PROBLEEMSTELLING
De huidige projecten hebben vaak een bepaalde herhaling. Bijvoorbeeld lagen, details, onderhoek, kader etc. Door dit handmatig te wijzigingen of nieuwe tekeningen aan te maken is het erg tijdrovend en bestaat er een grotere kans op fouten. Ook is er op de projecten weinig winst te maken. Een reden om met Ingenieursgroep Romkes BV in zee te gaan, is vaak dat wij in staat zijn sneller zaken af te handelen dan andere bedrijven. Vaak wordt er door onze opdrachtgever in een fax aangegeven wat zij wensen te ontvangen. Echter dit is niet altijd even duidelijk. Na dit handmatig overgetekend te hebben, ter controle te hebben gestuurd, kom je er vaak achter dat de gegevens of een deel daarvan anders moeten worden uitgetekend. Omdat de snelheid en de prijs hierop zijn afgestemd, is het zonde om dit nogmaals ter controle te moeten sturen. Hierdoor kan er geen winst worden gemaakt. Bij aanpassingen op vele plaatsen in de tekening is dan ook de kans dat men iets over het hoofd ziet aanwezig. Door dit te automatiseren is de kans op fouten eigenlijk uitgesloten.
Breedplaat Agrarische Sector (BAS) & Plot-toepassing (IP)
M.J. de Lange
AutoCAD Certified Engineer – System Manager (2008)
1.4
8
HET DOEL VAN HET PROJECT
Het beoogde doel van het project is om een tijdsopleverend programma te maken. Ook moet er rekening worden gehouden met mogelijkheden voor aanpassingen die ook kunnen worden gemaakt door gebruikers die geen verstand hebben van programmeren. Het wordt dan ook aanbevolen gebruik te maken van bijvoorbeeld database files. Ook worden meerdere andere functies gebruikt om een brede toepassing te maken, hierdoor wordt het inzicht vergroot in de mogelijkheden van VBA. Er wordt een duidelijke toepassing gemaakt die de gewenste oplossingen kan bieden. Hierbij wordt met name gedacht aan: door een aantal velden in te vullen met de daarvoor bestemde gegevens, wordt zeer snel en overzichtelijk een foutloze tekening gemaakt. Na het aanmaken van deze tekening wordt doormiddel van een ander formulier snel en efficiënt de tekening aangepast zoals aangegeven in het formulier. Deze methode is 100% foutloos. Ook al is de plot toepassing van AutoCAD zeer uitgebreid en goed, door de gebruiker worden vaak dezelfde instellingen steeds aangepast. Daarom wordt er ook een aparte plot toepassing gemaakt, die apart te installeren is. Met deze toepassing dient het afdrukken en stuk sneller en eenvoudiger te worden.
Breedplaat Agrarische Sector (BAS) & Plot-toepassing (IP)
M.J. de Lange
AutoCAD Certified Engineer – System Manager (2008)
2. 2.1
9
WERKWIJZE BESCHRIJVING HUIDIGE WERKWIJZE.
Wanneer Ingenieursgroep Romkes BV een opdracht krijgt voor het uitwerken van een legplan, wordt dit middels een fax bevestigd. Ook wordt er gelijk een brief van onze opdrachtgever verstuurd met de post. In meestal alle gevallen is snelheid zeer belangrijk, de productie mag niet stil staan door het te laat aanleveren van de definitieve tekeningen. In de opdrachtbevestiging worden de volgende gegevens aangegeven: Algemene gegevens: Ordernummer Datum Werkomschrijving Plaats Opdrachtgever Contactpersoon Projectgebonden gegevens: Soort vloer Oppervlakte per niveau aangegeven (m²) Breedte vloerplaten (mm) Schildikte (mm) Totale vloerdikte (mm) Plaatwapening Bovenwapening Tralieliggers (aantal en diameter) Betonkwaliteit schil Betonkwaliteit opstort Milieuklasse Maximale tijdelijke ondersteuningafstand (mm) Gegevens ten behoeve van de planning: Tekening ter controle (weeknummer) Tekening definitief (weeknummer) Levering (weeknummer) Na het ontvangen van bovenstaande gegevens zal een tekenaar de tekening moeten maken. Door middel van het goed instellen van de standaard lagen, wordt lijn voor lijn een tekening gemaakt. Principedetails worden in de tekening geplaatst vanaf een locatie op de server. Deze details worden gewijzigd door het dubbelklikken en het aanpassen van attributen. Als alles getekend is, voegt de tekenaar een kader en onderhoek in en vult deze in aan de hand van de aangeleverde opdrachtgegevens. Nu worden alle plotinstellingen ingesteld om een afdruk te kunnen maken. De tekening wordt vervolgens verstuurd naar de opdrachtgever met het verzoek de tekening te controleren en te voorzien van opmerkingen, en om eventueel sparingen aan te geven.
Breedplaat Agrarische Sector (BAS) & Plot-toepassing (IP)
M.J. de Lange
AutoCAD Certified Engineer – System Manager (2008)
10
Hierna dient de tekening weer retour te worden gestuurd naar Ingenieursgroep Romkes BV voor het definitief maken van de tekening en klaar voor productie. Als de tekening terug is gestuurd met opmerkingen aan Ingenieursgroep Romkes BV, zal de desbetreffende tekenaar de tekening aanpassen. Hierbij moet je denken aan; overspanning van de plaat, sparingen, wanddiktes, opstort en schildikte. Ook zal de wapening moeten worden aangegeven. Er is door de jaren heen al veel ervaring opgedaan betreffende de wapening bij een bepaalde overspanning en belasting (kN/m²). Mede hierdoor kan de tekenaar, al voor dat de constructeur deze voor definitief heeft vrij gegeven, invullen. Na het aanpassen van de tekening wordt deze afgedrukt op een A3 en bij de constructeur neergelegd, die deze vervolgens berekent en eventueel de tekening aanpast.
De bovenstaande procedure neemt gemiddeld 1 uur in beslag.
Breedplaat Agrarische Sector (BAS) & Plot-toepassing (IP)
M.J. de Lange
AutoCAD Certified Engineer – System Manager (2008)
2.2
11
KNELPUNTEN VAN DE HUIDIGE WERKWIJZE.
Wanneer er na een opdrachtbevestiging wordt gestart met een project, wordt deze handmatig lijn voor lijn in AutoCAD uitgetekend. Ook wordt naar eigen inzicht gekozen voor een detail. Omdat hier niet genoeg duidelijke afspraken over zijn, en alle werken verschillende principes hebben, komt het vaak voor dat de tekening van een tekenaar nogal verschilt met de andere tekenaar. Ook worden vaak kleine terugkomende teksten vergeten in te vullen waardoor er fouten ontstaan. Al met al wordt er veel langer gedaan over het maken van een tekening, die ter controle wordt gestuurd. Wanneer de tekening na controle terug wordt gestuurd, zal de tekening aangepast moeten worden. Ook deze stijl van aanpassen varieert per tekenaar. Wanneer deze tekening definitief is zal door de tekenaar, voor deze bij de constructeur wordt neergelegd, ook de wapening worden toegepast. Echter in dit stadium is dit nog niet definitief, dit wordt later bepaald door de constructeur. Omdat in veel gevallen wordt gekozen om principe details te hanteren, is het wel eens zo dat in het ene principe detail de ene wapening staat aangegeven en in het andere detail een heel andere wapening. Door dit niet zorgvuldig, of over het hoofd te zien, ontstaan fouten die leiden tot grote gevolgen. De daaruit voortvloeiende kosten kunnen verhaald worden bij de tekenaar. Ook het vergeten van bijvoorbeeld tijdelijke ondersteuning of dilataties kan fataal zijn. Doordat wellicht in de bovengenoemde fase een fout gemaakt kan worden, is de taak van de constructeur nu tevens het controleren van de tekening. Dit is erg kostbaar omdat de constructeur duurder is dan een tekenaar. Ook blijft het mensenwerk en fouten zijn niet uitgesloten. Afdrukken maken is een tijdrovend onderdeel, de ene opdrachtgever wil alles op witdruk en de andere als pdf of als dwg. Omdat telkens alle instellingen van het plotten moet worden veranderd, gaat hierin veel tijd verloren. Ook komt het soms voor dat plotcoördinaten verkeerd staan. Kortom binnen AutoCAD zou er denk ik wel behoefte zijn aan een snelle toepassing voor het afdrukken.
Breedplaat Agrarische Sector (BAS) & Plot-toepassing (IP)
M.J. de Lange
AutoCAD Certified Engineer – System Manager (2008)
2.3
12
MOGELIJKHEDEN VOOR DE NIEUWE WERKWIJZE.
Voor het maken van deze toepassing is bekeken welke manier van automatisering het meest doeltreffend is. Er zijn een aantal opties bekeken: • • • •
Dynamische tekeningen maken Geautomatiseerd invullen van attributen zonder het maken van een tekening Uitbesteden aan een extern bedrijf VBA formulieren maken voor invoer gegevens
Dynamische tekeningen maken Indien er wordt gekozen voor een dynamische tekening moet men denken aan het gegeven dat een standaard tekening wordt geopend, en in deze tekening de dynamische blokken worden aangepast. Het voordeel hiervan is dat de gebruiker weinig kennis van AutoCAD hoeft te hebben, maar wel een goede tekening kan maken, met dezelfde stijl als de andere tekenaars. Ook worden binnen een blok alle gegevens afgestemd. Het nadeel van deze keuze is dat we hier te maken hebben met verschillende opdrachtgevers, welke van te voren niet bekend zijn. Ook zou in de dynamische blokken veel verschillende keuzes moeten worden gemaakt, waardoor er te veel mogelijkheden ontstaan. Het gevaar is dat men het overzicht kwijtraakt en de tekeningen niet duidelijk meer is. Voor deze keuze wordt dan ook niet gekozen, wellicht kan dit wel worden gebruikt als uitbreiding voor de toepassing, immers deze functie is zeer krachtig. Geautomatiseerd invullen van attributen zonder het maken van een tekening In deze mogelijkheid wordt een tekening gemaakt met standaard details en wordt doormiddel van een macro of een kleine VBA-applicatie de tekening aangepast, zodat alle gegevens stroken met elkaar. Het voordeel van deze mogelijkheid is dat alle gegevens, zoals verwerkt in de macro of VBAapplictatie, op elkaar zijn afgestemd en niks wordt vergeten. Ook is dit een snelle manier van tekenen. Het nadeel is dat bijvoorbeeld maatvoering niet wordt aangepast en dat er hierdoor niet kan worden gegarandeerd dat de tekening 100% foutloos is. Bovendien kan dit alleen worden toegepast in geval van een standaard tekening. Vanwege het feit dat dit niet foutloos is, wordt hier niet voor gekozen. Het is beter dat dit als functie wordt gebruikt binnen een andere toepassing.
Breedplaat Agrarische Sector (BAS) & Plot-toepassing (IP)
M.J. de Lange
AutoCAD Certified Engineer – System Manager (2008)
13
Uitbesteden aan een extern bedrijf Er kan worden gekozen om een toepassing te laten maken door een extern bedrijf. Het voordeel hiervan is dat er geen tijd verloren gaat aan het complexe programmeren wat dan ten koste gaat van ander werk. Het nadeel is dat er vaak wordt vergeten dat deze programmeur veel gegevens door moet nemen en dat er een goed inzicht moet worden gegeven voordat deze een programma kan schrijven. Ook is het testen van deze programmatuur erg tijdrovend omdat meestal de programmeur geen verstand heeft van bijvoorbeeld krachten of andere specifieke onderdelen. In de meeste gevallen wordt dan ook de fout pas gevonden als het bijvoorbeeld al in productie gaat. Hier wordt dan ook niet voor gekozen. VBA formulieren maken voor invoer gegevens Er kan worden gekozen om een programma te maken in VBA voor het uittekenen van alle gewenste gegevens. Het voordeel van deze keuze is dat er door het bedrijf wordt aangegeven welke gegevens moeten worden gebruikt en ook welke bijvoorbeeld moeten worden gewijzigd. Er wordt een programma exact op maat gemaakt, zonder opties die zijn bedacht maar nooit worden gebruikt. Ook in het geval van wijzigingen of van nieuwe opties kan gelijk overlegd worden, zonder eerst afspraken te moeten maken met een extern. Dit voorkomt vertraging . Het nadeel is dat een persoon aanspreekbaar dient te zijn wanneer er problemen zijn, dit kan dus op elk willekeurig moment. Ook dient men veel kennis te hebben van programmeren om de wellicht in de toekomst te verwachten opmerkingen te kunnen verwerken. Voor deze keuze is dan ook gekozen.
Breedplaat Agrarische Sector (BAS) & Plot-toepassing (IP)
M.J. de Lange
AutoCAD Certified Engineer – System Manager (2008)
2.4
14
BESCHRIJVING NIEUWE WERKWIJZE.
Met deze nieuwe toepassing binnen AutoCAD kan men in een paar minuten een complete tekening maken inclusief alle gegevens te hebben verwerkt in onder andere de details, onderhoek en alle daarbij behorende attributen. Alle teksten in de plattegrond en details komen met elkaar overeen, er wordt gevraagd of de tekening moet worden opgeslagen en er verschijnt een toepassing voor het afdrukken. Voorheen vergat men soms wel eens ergens een tekst of iets anders aan te passen, met deze nieuwe toepassing kan dit 100% worden voorkomen! In de toepassing “AutoCAD-app.: Breedplaat Agrarische Sector” kan men alle gegevens in vullen, die te vinden zijn op de opdrachtbevestiging. Na het invullen van alle gegevens klik je op OK. Nu wordt de gehele tekening getekend, inclusief details, onderhoek, alle attributen en een bijbehorend kader. Nadat de gehele tekening is gemaakt, wordt de gebruiker gevraagd of deze tekening ook moet worden opgeslagen. Nu is de gehele tekening gereed en kan men de tekening afdrukken met de bijbehorende toepassing “AutoCAD-app.: Plot” deze toepassing is dan ook het meest uitgewerkt in dit eindverslag. Nadat de tekening via de post of mail weer gecontroleerd retour is gestuurd, wordt de tekening aangepast. Dit houdt meestal in dat de hart op hart afstand van de wanden een aantal millimeters moet worden verschoven of andere eenvoudige zaken. Na alles te hebben aangepast kan de tekening definitief gemaakt worden. Dit gaat door middel van de toepassing “AutoCAD-app.: Wapeningsspecificatie Breedplaat Agrarische Sector”. In deze toepassing wordt aangegeven welke wapening er zal moeten worden toegepast, er wordt een selectie gemaakt binnen AutoCAD om aan te geven welk gedeelte moet worden aangepast. Nu wordt de toepassing “AutoCAD-app.: Plot” geactiveerd. Hiermee drukt men de tekening heel eenvoudig af op een A3 en legt deze bij de constructeur neer. Deze controleert de tekening en past deze vervolgens, indien nodig, aan met dezelfde toepassing. Nu wordt deze tekening verstuurd naar de opdrachtgever, fabrikant en de gemeente.
Breedplaat Agrarische Sector (BAS) & Plot-toepassing (IP)
M.J. de Lange
AutoCAD Certified Engineer – System Manager (2008)
3. 3.1
15
DE NIEUWE TOEPASSING STROOMSCHEMA
Breedplaat Agrarische Sector (BAS) & Plot-toepassing (IP)
M.J. de Lange
AutoCAD Certified Engineer – System Manager (2008)
3.2
16
GEBRUIKTE FORMULIEREN • • • • •
3.2.1
AutoCAD-app.: Breedplaat Agrarische Sector (§3.2.1) AutoCAD-app.: Wapeningsspecificatie Breedplaat Agrarische Sector (§3.2.2) AutoCAD-app.: Database Beheer (BAS) (§3.2.3) AutoCAD-app.: Plot (§3.2.4) AutoCAD-app.: Uitlezen Plot-/Printerinstellingen (§3.2.5)
AUTOCAD-APP.: BREEDPLAAT AGRARISCHE SECTOR Autocad commando: BAS
Figuur 5
In dit formulier kunnen de volgende gegevens worden verwerkt:
Breedplaat Agrarische Sector (BAS) & Plot-toepassing (IP)
M.J. de Lange
AutoCAD Certified Engineer – System Manager (2008)
• • -
• •
Plaatgegevens Schildikte (mm) Opstort (mm) Opmerking (niveau, kN/m² of een belasting) Plaatbreedte keuze uit 1200 of 2400 (mm) Gegevens plaat Lengte van de plaat (mm) Totale breedte van alle platen (mm) Keuze voor tussensteunpunt: (zonder tussensteunpunt, met tussensteunpunt zonder onderbreking en met tussensteunpunt en onderbreking.) Indeling platen Aantal te tekenen platen (stuks) Pasplaat (mm) Restmaat (mm) Keuze voor restmaat (vooraan of achteraan)
-
Extra toevoegingen Principedetail oplegging Principedetail doorsnede Principedetail dilatatie Principedetail tussensteunpunt Invoegen kader en onderhoek
-
Algemene gegevens Status (ter controle of definitief) Type stal (D of G) Projectnummer Projectnaam Opdrachtgever Datum (dd-mm-jjjj) Tekenaar Soort vloer (voergang, boxdek, kelderdek, melkstal, buitenvloer) Hoofdwapening (B-netten) Voegwapening (V-netten) Hart op hart dilatatie (mm)
•
17
Breedplaat Agrarische Sector (BAS) & Plot-toepassing (IP)
M.J. de Lange
AutoCAD Certified Engineer – System Manager (2008)
• -
18
Wand / Oplegging Wanddikte links (mm) Wanddikte tussensteunpunt (mm) Wanddikte rechts (mm) Ruimte tussen wand links (mm) Ruimte tussen wand rechts (mm) Oplegging links (mm) Oplegging rechts (mm) Onderbreking boven het tussensteunpunt (mm)
Dit formulier is bedoeld voor het uittekenen van een breedplaat vloer. Voor het maken van een ter controle tekening zijn meestal nog niet alle gegevens definitief aanwezig, echter de productie van deze platen staat al wel in de planning. De fabrikant van de platen stuurt ons dan ook een fax met daarop een planning en de gegevens waarop zij hun prijs hebben bepaald. De tekening overeenkomstig met de prijsaanvraag, wordt door ons opgezet middels deze toepassing en ter controle gestuurd. Deze procedure vermindert de tijd met ongeveer 85%.
Breedplaat Agrarische Sector (BAS) & Plot-toepassing (IP)
M.J. de Lange
AutoCAD Certified Engineer – System Manager (2008)
3.2.2
19
AUTOCAD-APP.: WAPENINGSSPECIFICATIE BREEDPLAAT AGRARISCHE SECTOR Autocad commando: DEF
Figuur 6
In dit formulier kunnen de volgende gegevens worden aangepast • -
Soort vloer Voergang Boxdek Kelderdek Melkstal Buitenvloer
-
Hoofdwapening B189 [Ø6-150-150] B257 [Ø7-150-150] B335 [Ø8-150-150] B424 [Ø9-150-150] B524 [Ø10-150-150] B634 [Ø11-150-150] B754 [Ø12-150-150]
-
Voegwapening V188 2x V188 V251
-
Dilatatiewapening 3 Ø12-150 4 Ø12-150 5 Ø12-150
•
•
•
Dit formulier wordt gebruikt als de tekening naar ons retour is gestuurd en wij de tekening definitief gaan maken. Na het eventueel aanpassen van de tekening, te denken aan bijvoorbeeld maatvoering, wordt deze tekening voorzien van informatie zoals wapening voor de constructeur. Bij deze procedure is het in het verleden wel eens voorgekomen, dat er gegevens werden vergeten in te vullen of te wijzigen. Hierdoor kan een grote fout worden gemaakt betreffende het bestellen van de wapening of het berekenen daarvan. Met deze nieuwe toepassing is de kans op fouten uitgesloten, alleen wanneer de gebruiker de gegevens niet juist invoert kan dit een probleem opleveren, maar dit wordt dan wel weer aangepast door de constructeur. Twijfel is in alle gevallen nu uitgesloten.
Breedplaat Agrarische Sector (BAS) & Plot-toepassing (IP)
M.J. de Lange
AutoCAD Certified Engineer – System Manager (2008)
3.2.3
20
DATABASE BEHEER (BAS) Autocad commando: DB
Figuur 7
In dit formulier kunnen de volgende gegevens worden aangepast en opgeslagen. • -
Soortvloer Omschrijving vloer
-
Hoofdwapening Omschrijving Net Code Hoofdwapening Verdeelwapening
-
Voegwapening Omschrijving Net Code Hoofdwapening Verdeelwapening
-
Dilatatiewapening Omschrijving Dilatatiewapening
•
•
•
Breedplaat Agrarische Sector (BAS) & Plot-toepassing (IP)
M.J. de Lange
AutoCAD Certified Engineer – System Manager (2008)
• • -
21
Opdrachtgevers Omschrijving Opmerking Tekenaars Omschrijving Volledige naam
Dit formulier wordt gebruikt om de database uit te lezen en aan te passen of extra gegevens toe te voegen. Alles wordt opgeslagen op de locatie die is aangegeven in de INI-file. Deze methode is gebruikt om er voor te zorgen dat wanneer bijvoorbeeld een wapeningsnet wordt aangepast bij de fabrikant, de gebruiker van het programma deze zelf kan aanpassen of toevoegen zonder dat er een programmeur aan te pas hoeft te komen.
Breedplaat Agrarische Sector (BAS) & Plot-toepassing (IP)
M.J. de Lange
AutoCAD Certified Engineer – System Manager (2008)
3.2.4
22
AUTOCAD-APP.: PLOT Autocad commando: IP
Figuur 8
In dit formulier kunnen de volgende gegevens worden gekozen. •
Plotter instellingen (zie 3.1.5)
•
Formaat (lengte x breedte) Schaal (deze functie leest een XData waarde (=formaat) uit het gekozen object) A4 (297 x 210 mm) (standaard) A3 (420 x 297 mm) (standaard) A1 (841 x 594 mm) (de breedte is standaard, de lengte mag variëren) A0 (1189 x 841 mm) (de breedte is standaard, de lengte mag variëren) A0H (1280 x 914 mm) (de breedte is standaard, de lengte mag variëren)
• • -
Afdruk Object (je kan een of meerdere objecten selecteren) Window (je kan door middel van twee punten een window aanmaken, Eerst linksonder daarna rechtsboven) Opties Filter Preview PDF Aantal kopieën
Indien “filter” is geselecteerd, kan je ook nog uit de volgende opties kiezen Layer (kies een layer uit de lijst om alle objecten met deze layer af te drukken) Block (kies een bloknaam uit de lijst om alle objecten met deze bloknaam af te drukken) Deze op zichzelf staande toepassing is apart opgeslagen van de andere toepassing, dit omdat veel gebruikers van AutoCAD zich ergeren aan het feit dat ze telkens alles opnieuw moeten instellen als zij van formaat of printer willen veranderen. Door middel van deze toepassing kan je een standaard instelling instellen onafhankelijk van welke versie. Ook kan je externe tekeningen snel en makkelijk afdrukken.
Breedplaat Agrarische Sector (BAS) & Plot-toepassing (IP)
M.J. de Lange
AutoCAD Certified Engineer – System Manager (2008)
3.2.5
23
AUTOCAD-APP.: UITLEZEN PLOT-/PRINTERINSTELLINGEN
Figuur 9
In dit formulier kan je de volgende gegevens kiezen en opslaan. • -
Instellingen A4 Plotter Papierformaat
-
Instellingen A3 Plotter Papierformaat
-
Instellingen grootformaat Plotter Papierformaat A1 Papierformaat A0 Papierformaat A0H
•
•
Breedplaat Agrarische Sector (BAS) & Plot-toepassing (IP)
M.J. de Lange
AutoCAD Certified Engineer – System Manager (2008)
24
Indien PDF optie geselecteerd • -
Instellingen PDF Plotter Papierformaat A4 Papierformaat A3 Papierformaat A1 Papierformaat A0 Papierformaat A0H
Met dit formulier kunt u de printinstellingen opslaan voor de daarvoor bestemde formaten. Ook is er een mogelijkheid om pdf-instellingen aan te geven, hiervoor dient u uiteraard wel in het bezit te zijn van een pdf-printer. Indien u deze handeling nog nooit eerder heeft uitgevoerd zal dit worden gevraagd.
Breedplaat Agrarische Sector (BAS) & Plot-toepassing (IP)
M.J. de Lange
AutoCAD Certified Engineer – System Manager (2008)
3.3
25
GEBRUIKTE ONDERDELEN EN CODE
Voor de nieuwe toepassing worden onder andere de volgende onderdelen gebruikt om deze toepassing in VBA (Visual Basic for Applications) te laten werken. • • •
Maken “acaddoc.lsp” voor laden diversen bij start AutoCAD (§3.3.1) Bepalen AutoCAD versie en plaatsen “Support File Search Path” (§3.3.2) Database gebruiken met behulp van SQL (Structured Query Language) (§3.3.3)
Breedplaat Agrarische Sector (BAS) & Plot-toepassing (IP)
M.J. de Lange
AutoCAD Certified Engineer – System Manager (2008)
3.3.1
26
MAKEN “ACADDOC.LSP” VOOR LADEN DIVERSE APPLICATIES BIJ START AUTOCAD
Voor het laden van de toepassingen bij het starten van AutoCAD wordt gekozen om een “acaddoc.lsp” file te maken. Door deze file te plaatsen in de support directory van de desbetreffende AutoCAD versie, wordt alles geladen zoals aangegeven in deze file. Hier de code (grijs) en uitleg:
;;; ;;;
ACADDOC.LSP User defined per document function loader COPYRIGHT MJ-DESIGN
Voor het gebruik van gegevens of andere zaken die niet moeten worden gezien als code wordt een “;” (puntkomma teken) gebruikt.
;;;-----------------------------------------------------------------;;; VOOR EEN MELDING MSGBOX ---------------------------------------; (alert "Tools INGENIEURSGROEP ROMKES BV geinstalleerd!!") ;;; EIND MELDING MSGBOX -------------------------------------------;;;------------------------------------------------------------------
Indien meldingen moeten worden weergegeven dien je gebruik te maken van de volgende code: (alert “PLAATS HIER JE EIGEN TEKST”)
;;;-----------------------------------------------------------------;;; BIJ OPSTARTEN IN COMMANDLINE ----------------------------------(princ "\nINDIEN GEINSTALLEERD - Applicatie BAS geladen") ;;; EIND MELDINGEN COMMANDLINE ;;;------------------------------------------------------------------
Indien meldingen moeten worden weergegeven in de command line van AutoCAD, kan je gebruik maken van de volgende code: (princ “\nPLAATS HIER JE EIGEN TEKST”)
(defun Laden (app omschrijving) (print omschrijving ) (if (findfile app) (progn (vl-vbaload app) (princ " geladen")) (princ " niet geladen" )) ) (defun Starten (app omschrijving) (print omschrijving ) (if (findfile app) (progn (vl-vbarun app) (princ " geladen")) (princ " niet geladen" )) )
Omdat er inmiddels meerdere toepassingen zijn gemaakt, maar niet overal geïnstalleerd worden, wordt hier gebruik gemaakt van een tweetal functies die aan gaan geven welke applicatie wel en welke niet is geladen. Deze melding wordt weergegeven in de commandline. De uitleg is als volgt: Eerst wordt aangegeven dat het een (defun) functie betreft, hierna geef je aan dat je twee strings doorgeeft (app omschrijving) na de functie te hebben aangeroepen.
Breedplaat Agrarische Sector (BAS) & Plot-toepassing (IP)
M.J. de Lange
AutoCAD Certified Engineer – System Manager (2008)
27
Nu wordt aangegeven doormiddel van het commando “print” dat er iets moet worden geplaatst op de commandline. (print omschrijving ) Er wordt nu een opdracht gegeven om te zoeken naar het bestand op de lokatie zoals aangegeven, indien deze bestaat wordt de eerste opdracht uitgevoerd indien niet, de tweede. (if (findfile app) (progn (vl-vbaload app) (princ " geladen")) (princ " niet geladen" )
Indien het opgegeven bestand bestaat, voert de computer de volgende opdracht uit: (vl-vbaload app) (princ " geladen")
Vl-vbaload oftewel vbaload en het bestand wat is doorgegeven als app, ook vult hij de eerder doorgegeven commandline aan met de tekst “geladen”. Indien het bestand niet is gevonden, wordt het volgende uitgevoerd: (princ " niet geladen" )
Er wordt alleen een toevoeging geplaatst in de commandline “niet geladen”. De aansturing van deze functie zou er zo uit kunnen zien: (Laden "C:\\Program Files\\Ingenieursgroep Romkes BV\\Applicatie\\startup.dvb" "Applicatie Startup" )
Hier wordt doorgegeven aan de functie “Laden” als eerste string, de filenaam inclusief het volledige path voorzien van \\ of / , in de 2e en laatste string wordt aangegeven welke omschrijving de te laden applicatie heeft. De eerste en de tweede functie zijn vrijwel gelijk, alleen wordt het commando vl-vbarun oftewel vbarun doorgegeven aan AutoCAD. De functie zal er zo uit komen te zien: (Starten "C:/Program Files/Ingenieursgroep Romkes BV/Applicatie/startup.dvb!startup.startup" "Startup Pathfind")
Hier wordt eveneens als het eerste voorbeeld eerst de functie genoemd “Starten”, gevolgd door wederom de filenaam inclusief het volledige path, gevolgd met de omschrijving. Oftewel Functie: (defun APPLICATIENAAM (STRING1 STRING2) (print STRING2) (if (findfile STRING1) (progn (vl-vbaload STRING1) (princ “ geladen”)) (princ “niet geladen)) )
Aanroepen functie: (APPLICATIENAAM “STRING1” “STRING2”)
Breedplaat Agrarische Sector (BAS) & Plot-toepassing (IP)
M.J. de Lange
AutoCAD Certified Engineer – System Manager (2008)
28
;;;-----------------------------------------------------------------;;; MAKEN SNELCOMMANDO VOOR IN COMMANDLINE ------------------------(defun-q s::startup () ; ================================================================== (defun C:ip ()(command "-vbarun" "IGR_PLOTTEN") (princ)) (defun C:bas ()(command "-vbarun" "IGR_BAS") (princ)) (defun C:def ()(command "-vbarun" "IGR_BAS_DEF") (princ)) (defun C:db ()(command "-vbarun" "IGR_BAS_DB") (princ)) (princ) );startup ;;; EIND SNELCOMMANDO ---------------------------------------------;;;------------------------------------------------------------------
Omdat er wordt gekozen deze toepassing te kunnen laten werken zonder een MNU-file maar wel met een snelcommando in de commandline te laden, dien je de volgende code toe te passen in de acaddoc.lsp file. (defun-q s::startup () (defun C:TOETSCOMBINATIE ()(command "-vbarun" "SUBNAAM IN MODULE") (princ)) (princ) );startup Zoals in bovenstaande code te zien is, worden de volgende toetscombinaties toegepast: ip = AutoCAD-app.: Plot (§3.2.4) bas = AutoCAD-app.: Breedplaat Agrarische Sector (§3.2.1) def = AutoCAD-app.: Wapeningsspecificatie Agrarische Sector (§3.2.2) db = AutoCAD-app.: Database Beheer (BAS) (§3.2.3)
Breedplaat Agrarische Sector (BAS) & Plot-toepassing (IP)
M.J. de Lange
AutoCAD Certified Engineer – System Manager (2008)
3.3.2
29
BEPALEN AUTOCAD VERSIE EN PLAATSEN “SUPPORT FILE SEARCH PATH”
Om er voor te zorgen dat de toepassing binnen AutoCAD kan functioneren en de benodigde blokken en andere gegevens kunnen worden gevonden, wordt deze directory, (waar ze te vinden zijn), geplaatst in de Support File Search Path die ook kan worden gevonden bij opties en het tabblad files. Deze handeling wordt geplaatst in een dvb-file, een module STARTUP. Omdat er bij ons op kantoor meerdere versies van AutoCAD zijn geïnstalleerd, zijn deze dan ook apart benoemd in de startup-file, zodat als er eventueel grote verschillen zouden moeten worden toegepast, deze kunnen worden verwerkt in de setup.dvb. Ook als in de ene versie andere applicaties of toepassingen zijn geïnstalleerd, of verschillende SuppPath zijn opgegeven. Door dit apart op te geven kunnen mogelijke fouten worden voorkomen. Bij de hieronder getoonde code is “15.” AutoCAD 2000i en “17.” AutoCAD 2008. Hier mijn code (grijs) en uitleg: Sub Startup() SuppPath = AutoCAD.Preferences.Files.SupportPath aversion = AutoCAD.Version aversion = Left$(aversion, 3) If aversion = "15." Then SuppPath = SuppPath & ";c:\program files\Ingenieursgroep Romkes BV\Applicatie\block" AutoCAD.Preferences.Files.SupportPath = SuppPath End If If aversion = "17." Then SuppPath = SuppPath & ";c:\program files\Ingenieursgroep Romkes BV\Applicatie\block" AutoCAD.Preferences.Files.SupportPath = SuppPath End If End Sub
In bovenstaande code wordt ervoor gekozen om eerst de bestaande lijst met SuppPath uit te lezen, gelijk hierna de versie, SuppPath = AutoCAD.Preferences.Files.SupportPath aversion = AutoCAD.Version
daarna wordt de volledige naam terug gebracht naar 3 karakters aversion = Left$(aversion, 3)
nu wordt de versie die is gevonden uitgelezen en wordt de door mij aangegeven path toegevoegd If aversion = "15." Then SuppPath = SuppPath & ";c:\program files\Ingenieursgroep Romkes BV\Applicatie\block" AutoCAD.Preferences.Files.SupportPath = SuppPath End If
Of If aversion = "17." Then SuppPath = SuppPath & ";c:\program files\Ingenieursgroep Romkes BV\Applicatie\block" AutoCAD.Preferences.Files.SupportPath = SuppPath End If
Breedplaat Agrarische Sector (BAS) & Plot-toepassing (IP)
M.J. de Lange
AutoCAD Certified Engineer – System Manager (2008)
3.3.3
30
DATABASE GEBRUIKEN MET BEHULP VAN SQL (STRUCTURED QUERY LANGUAGE)
Om er voor te zorgen dat de toepassing binnen AutoCAD gebruik kan maken van een aantal gegevens die kunnen veranderen, wordt er gekozen om sql-bestanden te gebruiken. Dit houdt wel in dat er in VBA een extra “References” toegevoegd dient te worden. Deze kan worden gevonden bij het pulldown menu Tools en dan References. Selecteer uit de lijst het volgende object: “Microsoft AciveX Data Objects 2.8 Library”. Nu kan er gebruik worden gemaakt van SQL. Om deze soort van ondersteuning goed te kunnen toepassen wordt er vanuit gegaan dat je een aantal statements kent, hier een paar voorbeelden: (eigen naam in grijs) sql = "CREATE TABLE NaamTabel (VoorNaam string, AchterNaam string,)"
In het bovengenoemd voorbeeld wordt aangegeven dat je een tabel creëert (CREATE TABLE) met de volgende nieuwe tabel (NaamTabel) met daarin twee rijen, de rij voornaam (VoorNaam) en achternaam (AchterNaam). In dit voorbeeld wordt aangegeven dat deze rijen de eigenschap STRING hebben (dit word benoemd achter de naam van de rij). sql = "SELECT * FROM NaamTabel WHERE AchterNaam = 'De Lange'"
In dit voorbeeld wordt opdracht gegeven te zoeken (/ selecteren) in de tabel (SELECT * FROM NaamTabel) waar de achternaam (WHERE Achternaam) De Lange is (= ‘De Lange’). sql = "DELETE * FROM NaamTabel WHERE AchterNaam = ‘De Lange’"
Hier worden gegevens verwijdert uit de tabel (DELETE * FROM NaamTabel) indien de naam De Lange is (WHERE AchterNaam) De Lange is (= ‘De Lange’).
De bovenstaande “statements” kunnen ook met “eigen namen” variabelen worden aangeduid. Hierdoor kan gebruik worden gemaakt van het commando CALL, hiermee wordt een opdracht (Sub) geactiveerd. In het volgende voorbeeld wordt het aangegeven. Eerst wordt de code weergegeven, daarna de uitleg.
Breedplaat Agrarische Sector (BAS) & Plot-toepassing (IP)
M.J. de Lange
AutoCAD Certified Engineer – System Manager (2008)
31
De regel met het commando CALL: Call InvoegenInDatabaseTabel(strDatabasenaam, "NaamTabel", strGegevens)
De uitleg van het commando CALL Call InvoegenInDatabaseTabel strDatabasenaam
“NaamTabel”
= Aanroepen van opdracht (Sub) = Naam van de opdracht (Sub) die wordt uitvoert = Naam van een eerder aangegeven (gereserveerde) “String” Bijvoorbeeld: Dim databasenaam as String Databasenaam = “c:\DatabasePath\DatabaseFile.mdb” = Deze naam staat tussen aanhalingstekens omdat dit een eenmalige naam is. Er kan ook worden gekozen voor een eerder aangegeven (gereserveerde) naam, dan zou het er als volgt uit zien: Dim strNaamTabel as String strNaamTabel = “NaamTabel” Indien er wordt gekozen voor een eerder aangegeven (gereserveerde) String, dan dient de volgende text gebruikt te worden, in plaats van “NaamTabel” gebruikt men strNaamTabel (in dit geval zonder aanhalingstekens)
Call InvoegenInDatabaseTabel(strDatabasenaam, strNaamTabel, strGegevens) strGegevens
= Dit is wederom een eerder aangegeven (gereserveerde) “String” deze komt er dan zo uit te zien: Dim strGegevens as String strGegevens = “’VoorNaam’ , ‘AchterNaam’” Hier wordt aangegeven dat tussen de aanhalingstekens de VoorNaam en AchterNaam wordt toegevoegd.
Breedplaat Agrarische Sector (BAS) & Plot-toepassing (IP)
M.J. de Lange
AutoCAD Certified Engineer – System Manager (2008)
32
De opdracht die je aanroept: Sub InvoegenInDatabaseTabel(ByVal strDBQFile As String, ByVal strNaamTabel As String, ByVal strGegevens As String)
Dim db As ADODB.Connection Dim sql As String Set db = VBA.CreateObject("Adodb.connection") sql = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ= " & strDBQFile db.Open (sql) sql = "INSERT INTO " & strNaamTabel & " VALUES(" & strGegevens & ")" db.Execute (sql) End Sub
De uitleg van de opdracht Sub NaamOpdracht
(ByVal strDBQFile as String)
Dim db As ADODB.Connection
Dim sql As String
= Naam van de opdracht, indien er wordt gekozen om hier iets van te voren aan toe te kennen dien je gebruik te maken van ByVal (ByVal strNaamToekenning As String) = Hier wordt aangegeven dat wanneer deze sub wordt aanroept ook een string wordt verwacht, er wordt in het bovengenoemde voorbeeld een drietal toekenningen gevraagd, de DBQFile (naam van de Database-file), de strNaamTabel (de naam van de tabel) en strGegevens (de gegevens die dienen te worden toegevoegd in de database tabel) = Reserveren van een ADODB.Connection (een ActiveX Data Object DataBase) (dit zijn standaard regels, het geheel zal niet functioneren als deze regel niet wordt toegepast) = Reserveren (van een plaats in het geheugen voor de tijdsduur van deze opdracht) van een “String” Plaats alle reserveringen aan het begin van de code om er een goed overzicht in te houden.
Set db = VBA.CreateObject("Adodb.connection") = Plaats in db een VBA-Object, en dan wel een “Adodb.connection”. dit is wederom een standaard regel. sql = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ= " & strDBQFile = Plaats in de gereserveerde “String” de volgende text: “DRIVER={Microsoft Access Driver (*.mdb)}; DBQ= c:\DatabasePath\DatabaseFile.mdb” Omdat ervoor wordt gekozen de naam van de DatabaseFile te willen opgeven aan de opdracht, is gebruik gemaakt van een (ByVal strDBQFile As String) code bij de opdrachtnaam. Daardoor word de code als volgt:
Breedplaat Agrarische Sector (BAS) & Plot-toepassing (IP)
M.J. de Lange
AutoCAD Certified Engineer – System Manager (2008)
33
sql = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ= " & strDBQFile db.Open (sql) = Hier wordt aangegeven dat de “Adodb.connection” wordt geopend, omdat is gekozen om van te voren aan te geven welke file etc. er worden gebruikt, dient dit van te voren opgegeven te worden zoals te zien is bij de reservering van de sql. (= standaard regel). sql = "INSERT INTO " & strNaamTabel & " VALUES(" & strGegevens & ")" = hier wordt opnieuw een bepaalde zin toegekend aan de gereserveerde plaats sql. Ook hier wordt van tevoren aangegeven wat er op de gereserveerde benaming moet worden geplaatst. Indien hier niet voor wordt gekozen ziet de regel er als volgt uit: sql = "INSERT INTO NaamTabel VALUES( ‘VoorNaam’ , ‘AchterNaam’)" db.Execute (sql) = Hier wordt aangegeven dat de “Adodb.connection” wordt uitgevoerd (Execute), met een eerder aangegeven gereserveerde string.
De bovenstaande informatie kan naar eigen inzicht worden gewijzigd in eigen woorden en er kunnen veel creaties worden gemaakt, men kan wijzigen, openen, oproepen, verwijderen, een lijst oproepen, etc, etc.
Breedplaat Agrarische Sector (BAS) & Plot-toepassing (IP)
M.J. de Lange
AutoCAD Certified Engineer – System Manager (2008)
4.
34
CONCLUSIE EN AANBEVELINGEN
4.1
CONCLUSIE
De nieuwe toepassingen “Breedplaat Agrarische Sector (BAS)” & “Plot (IP)” zijn een goede toevoeging binnen AutoCAD, dit is dan ook gebleken omdat er alleen maar positieve reacties zijn geweest voor deze toepassing. Zeker de toepassing IP is een zeer snelle toepassing voor het afdrukken in AutoCAD, De toepassing is tijdens het ontwikkelen vaak aangepast en de functie filter maakt dit dan ook nog krachtiger. Hiermee kan in een paar tellen bijvoorbeeld 80 tekeningen (bijvoorbeeld een bloknaam of layer voor het kader) worden afgedrukt. Inmiddels zijn er mede dankzij het programma BAS veel meer vierkante meters uitgetekend op jaarbasis, dit geeft dan ook als resultaat dat er meer omzet wordt gemaakt en tevens meer winst omdat de tijdsduur per vierkante meter aanzienlijk korter is.
4.2
AANBEVELING
De toepassing “Breedplaat Agrarische Sector (BAS)” kan in de toekomst worden uitgebreid met nog meer vormen, het bijvoorbeeld aaneengesloten uittekenen van meerdere vloeren. Ook het gebruik maken van een insertionpoint voor het uittekenen van de nieuwe vloer. De toepassing “Plot IP” zou ik graag nog iets beter er uitgebreider willen maken. Echter op het vlak van voorkomen van verkeerde afdrukken.
Er zijn dankzij deze opleiding veel mogelijkheden onderzocht met betrekking tot het gebruiken van VBA, Dit heeft dan ook al geleidt tot meerdere doeltreffende toepassingen en niet alleen voor deze bovengenoemde uitgewerkte toepassingen voor AutoCAD. Een greep uit de toepassingen: •
AutoCAD app.: Onderhoek Met deze toepassing kan je een onderhoek in een oogopslag controleren en aanpassen. Omdat alle gegevens worden weergegeven in een formulier, die gemaakt is voor ons bedrijf. Ook kan je bijvoorbeeld alle onderhoeken in deze tekening in een keer voorzien van een bepaalde opmerking of status.
•
AutoCAD app.: Object Info Met deze toepassing geef je aan wat de dikte, nummer van element, en het gewicht per kubieke meter is. Nu geef je een pickpoint welke een omranding creëert. Aan de hand van de ingevoerde gegevens wordt er berekend wat het oppervlakte, de inhoud en het gewicht is van het element, en men kiest zelf waar de tekst zal moeten worden geplaatst.
Breedplaat Agrarische Sector (BAS) & Plot-toepassing (IP)
M.J. de Lange
AutoCAD Certified Engineer – System Manager (2008)
•
35
AutoCAD app.: Snijpunt correctie Deze toepassing controleert alle lijnen in de tekening en bekijkt de lengte, het begin en het eindpunt. Wanneer de lijn een lengte 0 heeft zal deze verwijdert worden en een zichtbaar blok worden geplaatst. Het begin en eindpunt zullen worden afgerond naar 1mm. Soms kan het voorkomen dat door het importeren en exporteren van de ene naar de andere programmatuur deze lijnen een afwijking krijgen. Wanneer deze lijnen als draadmodel in een rekenpakket worden geplaatst kan het voorkomen dat dit pakket het beschouwd als een staaf die bijvoorbeeld geen oplegging heeft en dus bezwijkt, terwijl dit niet het geval is maar een afronding. Door het draadmodel door deze applicatie te halen wordt dit voorkomen. Dit voorkomt veel zoekwerk in een draadmodel naar waar de afwijking zit.
•
AutoCAD app.: StruCAD Deze applicatie zorgt ervoor dat de tekening als losse elementen en indien gekozen in één layer als dxf wordt opgeslagen. De tekening wordt, zolang er nog blokken zijn, geëxplodeerd. Alle aangegeven soorten van elementen kunnen worden gewist. Je kunt kiezen uit de volgende elementen: tekst, mtext, dimension, hatch, attribute en solid. Ook zal automatisch aan de tekening een naam worden gegeven in het originele path, indien deze bestaat zal er een toevoeging worden gedaan.
•
AutoCAD app.: Vloerplaten Deze toepassing tekent lijnen op de aangegeven hart op hart afstand en rotatie. Er wordt gevraagd naar een beginpunt (vanaf hier worden de lijnen op de aangegeven hart op hart afstand uitgetekend), een rotatie (dit is de rotatie van alle lijnen) en een pickpoint voor het maken van een gebied (boundry).
•
Ingenieursgroep Romkes BV – Beheer Dit is een toepassing voor Windows, dus geen AutoCAD. Dit betreft een database programma wat werkt met sql. Deze toepassing is ideaal omdat je gemakkelijk kunt zoeken naar bedrijfsrelaties en de daarbij behorende contactpersonen. Ook is het een fluitje van een cent om hier relaties of contactpersonen aan toe te voegen (hiervoor dien je wel in te loggen).
Breedplaat Agrarische Sector (BAS) & Plot-toepassing (IP)
M.J. de Lange