Afstudeeropdracht : Autocad Plot Utility Student : Gerard Creemers Afstudeeradres : GTI Infratechniek bv Willingestraat 4 3087 AN Rotterdam



Vergelijkbare documenten
Dieper in Visual Basic.Net

HBO Traject ACE. Generiek testplan voor AutoCAD. Auteur Ing. M. van Walraven. Datum 11 februari Docent Ir. Ronald Boeklagen

GCE cad-app. GCE cad-service 4/16/2012

ARGO DATA SYSTEMS BV DE OPLOSSING VOOR TOTALE EXPEDITIE EN TRANSPORT AUTOMATISERING. Document Instellingen

Badge it. Inhoudsopgave. 1. Installatie... 3

Visual Basic.NET. Visual Basic.NET. M. den Besten 0.3 VB. NET

Automatisering voor Financiële Dienstverleners. Werken met Queries en Merge Documenten. For more information visit our website at

Gebruiksaanwijzing. Versie 1.0. Michiel Bouman

Midi PDF Bladmuziek lezer

Samenvoegen met Word en Excel 2010

Analyse KeyLock versie Door MartinJM

Invoegen... 8 Invulpunt... 9 Nieuwe bouwsteen maken... 9 Bouwsteen opslaan Wijze van werken in Outlook Informatie...

VBA voor doe-het-zelvers

Plotten & Printen met Autocad:

1. Document Management

Cursus Onderwijs en ICT. Programmeren met Visual Basic

Elektronisch factureren

RELEASE NOTES. VERSIE Revisie 1.0. Imtech ICT Application Solutions

15 July Betaalopdrachten web applicatie beheerders handleiding

Gebruiksaanwijzing AMS Labelmaker Versie 2.0

Handleiding Icespy MR software

AutoCAD Plotroutine. Emmtec Engineering. Afdeling bouwkunde civiel

*CADELAT* Studentenversie 7.1

Hoofdstuk 7: Werken met arrays

Installeren van het programma:

1. Installatie netwerklock

CAD Standaard Plottool Gebruikershandleiding

15 July Betaalopdrachten web applicatie gebruikers handleiding

Installatiehandleiding TiC Narrow Casting Manager

1. Introductie 2. Omschrijving 2 Omschrijving van de onderdelen (voorzijde) Algemeen 3

Werken op afstand via internet

Installeren en configureren Océ printers in AutoCAD 2000

W2105 Import Externe Bestanden

Studenthandleiding Portfolio in Blackboard Learn

Handleiding ISaGRAF. Wil men het programma bewaren, dan is het verstandig een back-up te maken: C9 Back-up / Restore

De standaardtekening Door Nicoline Kievit

DWGuardian / DWG Standaard Checker

mydesktop Anywhere Deze mydesktop Anyhwere oplossing biedt een aantal voordelen:

Handleiding voor het installeren van VBA scripts in Outlook

Hoofdstuk 4: Nieuwe objecten

Gebruikershandleiding BBLV Applicatie Beveiligingsprogramma Handleiding voor gebruikers van het BBLV Beveiligingsprogramma versie 2.

Planbord installatie instructies

Het overzetten van WinDigipet data tussen PC (s) of Laptops

Handleiding: MRJ Online Back-up versie 1.0

Friesland College Leeuwarden

Start de applicatie op om naar het inlogscherm te gaan. Onthoudt mijn gegevens

Hoofdstuk 2: Werken met variabelen

Installatie van sqlserver

Inhoudsopgave. Inhoudsopgave blz. 3. Inleiding 4

Technische Fiche om een commando met een passend icoontje aan te maken in de Ribbon Interface.

Handleiding muziek spelen van een tablet.

Hoofdstuk 9: Menu s toevoegen

Formulieren o.b.v. Vrije Overzichten

De maker van deze pagina aanvaard geen enkele aansprakelijkheid voor de inhoud ervan, wel is deze met de grootste zorg samengesteld

Index. Versie: 5.0 Datum:

Installatie Handleiding. Twan Wintjes

In dit artikel zal ik u uitleggen hoe u rechtstreeks vanuit Troublefree Retail kan afdrukken

Instructietekst printen en plotten van inspectietekeningen

Gebruikershandleiding

Een eerste applicatie

Proware Cloud. Documentatie. Proware Cloud. Kiosk Documentatie. versie Versie 2.30

Installatie Handleiding voor: TiC Narrow Casting Certified. System Integrators

2/12/2013 CAAP DRAWING MANAGER SUPPORT DOCUMENT V1.3. Antwoord op al uw vragen! Matthijs van Vliet

HANDLEIDING VIEW DESKTOP. Handleiding VIEW Desktop. P. de Gooijer. Datum: Versie: 1.3

Landelijk Indicatie Protocol (LIP)

de heer ir. R. Boeklagen Inhoudsopgave

VB Magazine Online /08 1 / 6

VBA voor Doe het Zelvers deel 9

Installatie SQL Server 2014

ASRemote WebService. Via deze webservice kunt u:

1 Werken met (keuze)lijstjes: de control listbox

Handleiding voor het gebruik van de Cervix module

Printopdrachten sturen vanaf een notebook op de campus en je pc thuis naar de printer/copiers voor studenten

Installatie SQL: Server 2008R2

Handleiding voor het installeren van en werken met Skype

Installatie VTP. versie

Handleiding Telewerken met Windows. Inleiding. Systeemvereisten. Inhoudsopgave

Handleiding Pivot docent Wendy Bruins versie 1.2 december 2008

Snel starten met Testweb PSL-b als Leerkracht

November 2004 versie 1.0

Veel gestelde vragen nieuwe webloginpagina

Alle systemen. Voor het eerst aan het werk met Windows 7 en Office Bestemd voor: Medewerkers Versie: 0.1 Datum: Eigenaar: SSC ICT

Ook op internet wordt gebruik gemaakt van databases, zoals bij Marktplaats en Hyves.

Inhoudsopgave: Whisper380-computerhulp

HvA Instituut voor Interactieve Media ActionScript 3.0

Inhoudsopgave: Whisper380-computerhulp

Selenium IDE Webdriver. Introductie

Versturen van vanuit een Delphi VCL toepassing

Online c++ leren programmeren:

Inhoudsopgave PC Software installeren... 2 BlackBerry back-up maken of terugplaatsen... 7 BlackBerry resetten... 9 BlackBerry Activeren...

iphone app - Rapporten

Installatie Steam. 2 Open Internet Explorer. 3 Typ de volgende link in de navigatiebar :

Dynamiek met VO-Script

Het maken, plaatsen en beheren van symbolen (blocks) In deze beschrijving zijn de afbeeldingen uit de windows versie van AutoCad 2013

Ontwikkeld in opdracht van de Stichting Geïntegreerd Bouwen door CAData systems te Gorinchem.

4.4 Voeg ruimtes toe Hoe ga jij te werk? 1. Over LEVIY. 4.5 Aanwezigen Zijn er aanwezigen bij de DKS-controle? 2. Algemene definities. 3.

Parallelle Poort Aansturen Met Visual Basic

Transcriptie:

Engineering & Automatisering, locatie Rotterdam Willingestraat 4 3087 AN Rotterdam Postbus 5299 3008 AG Rotterdam Tel.: 010 283 28 28 Fax: 010 283 28 90 E-mail: info-infra@gti-group.com Autocad Plot Utility gever Afstudeeropdracht : Autocad Plot Utility Student : Gerard Creemers Afstudeeradres : Willingestraat 4 3087 AN Rotterdam Onderwijsinstelling : TEC cadcollege Kerkenbos 1018b 6546 BA Nijmegen Opleiding : Autocad Systeem Manager Docent : R. Boeklagen Afstudeerperiode : 14-10-2002 tot 28-05-2003 Opgesteld: Gezien: Gecontroleerd: Naam: G.J. Creemers Naam: F.L. Braemer Naam: B.F. Maas Paraaf Paraaf Paraaf Statutaire Zetel Wormerveer, Handelsregister Amsterdam 35011527 Onderdeel van GTI nv

gever Voorwoord Als deeltijd student aan de opleiding Autocad Systeem Manager wordt ik opgeleid tot specialist op het gebied van Autocad en Visual Basic voor Applications. Bij is er behoefte aan een geheel nieuw tekening plot programma met eigen functionaliteit. Dit was voor mij de ideale gelegenheid om het geleerde in de praktijk toe te passen. Tijdens het schrijven van dit programma heb ik de kans gekregen het plot programma te ontwikkelen en toe te passen bij GTI Infratechniek. In dit verslag beschrijf ik hoe dit is gerealiseerd. Voordat ik hiermee begin bedank ik de mensen die ervoor gezorgd hebben dat dit programma kon worden uitgevoerd. Allereerst mijn docent Dhr. R. Boeklagen voor zijn ondersteuning en begeleiding tijdens mijn opleiding. De medewerkers van de afdeling Engineering, voor hun ondersteuning en het testen van het programma en het naar voren brengen van adviezen en wensen. Gerard Creemers, Hoogvliet, 0 Pagina 1 van 18

gever Samenvatting GTI Infratechniek is een landelijk opererende organisatie die complete technische dienstverlening aanbiedt op het gebied van verkeer, logistiek en vervoer. GTI Infratechniek beschikt over een eigen Engineeringafdeling. Binnen de engineeringafdeling bestond er een plot programma, nl. Batchplot van Autodesk waarmee binnen de afdeling niet optimaal gewerkt kon worden. Om beter gebruik te kunnen maken van een plot programma was er meer functionaliteit nodig. Deze functionaliteit is toegevoegd in het nieuwe Autocad Plot Utility namelijk; Plotstyle table selecteren Printer/plotter selecteren Script bewerking uitvoeren. VBA routines uitvoeren. Deze functionaliteit is met succes toegevoegd en de gebruikers zijn zeer tevreden over het resultaat. Tijdens de uitvoering is er een probleem naar voren gekomen. Het probleem was de tussentijdse verandering van Visual Basic 6.0 naar Visual Studio.Net na het converteren naar de nieuwe versie bleek na uitvoering dat het programma niet meer werkte, na enige aanpassingen in het programma lukte het om deze plot Utility weer werkend te krijgen. Pagina 2 van 18

gever Inhoudsopgave 1. INLEIDING...4 1.1 GTI nv...4 1.2...5 1.3 Afdeling Engineering...6 1.4 Doelstelling afstuderen....7 2. ONTWIKKELING AUTOCAD PLOT UTILITY...9 2.1 Plot Utility start...9 2.2 Tekeningen Selecteren...10 2.3 Plot settings selecteren...12 2.4 Printer en Plotstyle selecteren...14 2.5 Bewerkingen kiezen...15 2.6 Printen tekeningen...16 2.7 Plot Utility afsluiten...16 3. CONCLUSIE...17 4. UITBREIDINGEN...17 5. PROGRAMMA CODE...FOUT! BLADWIJZER NIET GEDEFINIEERD. Pagina 3 van 18

gever 1. Inleiding 1.1 GTI nv GTI richt zich op technische dienstverlening in de utiliteit, industrie en infrastructuur in de Benelux. GTI ontwikkelt integrale oplossingen: van ontwerp tot en met realisatie, onderhoud en beheer, in alle voorkomende technische disciplines. GTI vervult deze functies voor haar opdrachtgevers via een netwerk van eigen werkmaatschappijen, samenwerkingsverbanden en strategische allianties. GTI heeft de kennis, ervaring en omvang om de meest uiteenlopende projecten uit te kunnen voeren. GTI ontwikkelt zich tot een marktgerichte organisatie waarin alle aspecten van technische dienstverlening geïntegreerd of op deelgebieden kunnen voorkomen. GTI-bedrijven behandelen zowel grote en complexe projecten als kleinere en eenvoudigere projecten. Kernbegrippen in de dienstverlening van GTI zijn betrouwbaarheid, kwaliteit, flexibiliteit en verantwoordelijkheid. GTI heeft bijna 10.000 medewerkers in dienst en beschikt over een netwerk van 90 bedrijven in Nederland en België. Deze bedrijven zijn georganiseerd in de sectoren GTI Utiliteit, GTI Industrie, GTI Infratechniek en GTI België. GTI heeft de Benelux als thuismarkt, maar is wereldwijd actief waar opdrachtgevers dat vragen. Hoofddirectie Bunnik Concern P&O Financiële Zaken Juridische Zaken Concernmarketing & Communicatie ICT Procurement Kwaliteit, Arbo & Milieuzaken Utiliteit Industrie Infratechniek Pagina 4 van 18

gever 1.2 Ikzelf ben werkzaam bij GTI Infratechniek, afdeling Engineering locatie Rotterdam. GTI Infratechniek is een landelijk opererende organisatie die complete technische dienstverlening aanbiedt op het gebied van verkeer, logistiek en vervoer. Met een breed aanbod in specialismen en disciplines, richt GTI Infratechniek zich op resultaat door een geïntegreerde aanpak. En biedt een dienstenpakket voor alle modaliteiten: openbaar vervoer, wegen, railinfrastructuur, tunnelbouw, havens en luchthavens. Infra NL Commercie1) Engineering Onderst. Stafafdelingen2) Automatisering IOS Hoogspanning Spoor3) Distributie & Droge Infra Natte Infra & Communicatie Mainports Projectteams4) Projectteams4) Projectteams4) Projectteams4) Locaties / Montage ZW Locaties / Montage NW 1)Acquisitie, Consultancy, Cost-engineering/Calculatie 2)P&O, FinAd, Inkoop, ICT, KAM 3)Rapportage aan Spoor Be en Infra NL 4)Projectteams = Projectleider, Werkvoorbereider en Montageleider Pagina 5 van 18

gever 1.3 Afdeling Engineering De afdeling Engineering maakt deel uit van een eigentijds bedrijf. Afhankelijk van het project en de wensen van onze opdrachtgever zijn we een integraal onderdeel van een samenwerkingsverband en/of onderdeel van de GTI-(project)organisatie. Het werkterrein van Engineering is breed. Van verkennende studies en strategisch advies tot en met detailontwerp. Vanwege onze kennis, ervaring en schaalgrootte zijn we veelvuldig partner bij ontwikkeling van grote en innovatieve werken. Bijvoorbeeld als partner die een deeltraject voor haar rekening neemt. Onze expertises van de afdeling Engineering zijn het adviseren, specificeren, ontwerpen en tekenen van installaties op de volgende vakgebieden. Laagspanningsinstallaties Middenspanningsinstallaties Noodstroominstallaties Enzovoort De afdeling Engineering bestaat uit ±35 medewerkers waarvan er ±15 tekenaars met Autocad 2002 werken. De marktgebieden waar wij actief zijn: Verkeer en vervoer Rail Haven en overslagbedrijven Tunnelinstallaties Pagina 6 van 18

gever 1.4 Doelstelling afstuderen. Op de afdeling Engineering doen we vaak een groot aantal tekeningen uitprinten, hiervoor kunnen we Autocad batchplot gebruiken of we maakten een grote script file aan waar de tekeningen instonden die uitgeprint moesten worden. Omdat we overgestapt zijn van Autocad R14 naar Autocad 2002 is er in Autocad batchplot geen mogelijkheid om met een plotstyle uit te printen en tevens is er ook geen mogelijkheid om bewerkingen te laten uitvoeren. Met bewerkingen wordt bedoeld een script file uitvoeren of een VBA-routine laten uitvoeren voordat deze betreffende tekening wordt uitgeprint. Hierdoor was er een verzoek gekomen van de medewerkers van de Engineeringafdeling voor het ontwikkelen van een nieuw Autocad plot programma. Om het systeem tot een volwaardige Autocad Plot Utility te maken, zijn de volgende functionaliteit toegevoegd. Plotstyle table selecteren Printer/plotter selecteren Script bewerking uitvoeren. VBA routines uitvoeren In de volgende hoofdstukken wordt beschreven hoe deze doelstellingen zijn gerealiseerd en welke methoden hiervoor zijn gebruikt. Dat wil zeggen de manier waarop de opdracht is uitgevoerd en welke problemen naar voren zijn gekomen. Tot slot wordt in het conclusie gedeelte de bevindingen uiteen gezet. Op de volgende pagine vindt u een stroomdiagram van het bestaande Autocad Batchplot en van Autocad Plot Utility. Pagina 7 van 18

gever Pagina 8 van 18

gever 2. Ontwikkeling Autocad Plot Utility In dit hoofdstuk wordt het ontstaan van het Autocad Plot Utility beschreven. Hiervoor is een verdeling gemaakt in de verschillende onderdelen. Elk onderdeel is in een aparte paragraaf beschreven. 2.1 Plot Utility start Autocad Plot Utility is een standalone programma. De Autocad Plot Utility wordt gestart door middel van een snelkoppeling die te vinden is op de desktop van de computer. Hierdoor wordt automatisch Autocad gestart en daarna de Autocad Plot Utility. Hierdoor is het mogelijk om bepaalde variabelen die door Autocad Plot Utility worden gebruikt uit Autocad op te vragen. Deze variabelen zijn: De printer configuration search path. De plot style table search path. Er zijn nog een paar variabelen die het Autocad Plot Utility nodig heeft. Deze variabelen zijn opgeslagen in een INI bestand. Dit bestand heet plotprog.ini en is terug te vinden in de directory waar ook het Autocad Plot Utility is geïnstalleerd. Het betreft de volgende programma variabelen; Werkdirectory Home directory van de gebruiker. De werkdirectory geeft de directory en schijf aan waar de selecteerbare tekening staan die in het Autocad Plot Utility kunnen worden geselecteerd. De home directory geeft aan waar straks de eventuele tekst bestanden of plot settings files moeten worden neergezet. Bij heeft elke gebruiker op de server een eigen home directory. Hieronder volgt een voorbeeld van plotprog.ini. [werkdir] werkdir=j:\ [homedir] homedir=h:\ Het moeilijkste van het uitlezen van een ini file was het omzetten van de VBA functie naar VB.NET functie. Hieruit volgt dat de long variabele 64 bits is geworden in VB.NET in plaats van 32 bits in VBA. We moeten dan de int32 variabele gaan gebruiken. Hieronder volgt de functie voor het uitlezen van de ini file: Pagina 9 van 18

gever Private Declare Unicode Function GetPrivateProfileString Lib "kernel32" _ alias "GetPrivateProfileStringW" (ByVal lpapplicationname As String, _ ByVal lpkeyname As String, ByVal lpdefault As String, ByVal _ lpreturnedstring As String, ByVal nsize As Int32, ByVal lpfilename As String) As Int32 Hieronder volgt een stukje programma om de printer configurations en de plot style table s uit te lezen en in een listbox te zetten. Dim x As Integer Dim plotdevice As Object Dim stylename As Object plotdevice = acadobj.activedocument.activelayout.getplotdevicenames For x = LBound(plotdevice) To UBound(plotdevice) cbbprinter.items.add(plotdevice(x) Next stylename = acadobj.activedocument.activelayout.getplotstyletablenames For x = LBound(stylename) To UBound(stylename) cbbstylename.items.add(stylename(x)) Next 2.2 Tekeningen Selecteren Na het opstarten komen we in het scherm zoals in figuur 1 is weer gegeven. Hier kunnen tekeningen toegevoegd, verwijdert of uitgeprint worden. Door middel van de Exit button kunnen de tekeningen die in de listbox staan opgeslagen worden in een tekst document. De Add button dient er voor om tekeningen te selecteren die uitgeprint moeten worden. Figuur 1 Voor het selecteren van tekeningen wordt gebruik gemaakt van de openfiledialog methode. Hierin is het mogelijk om een filter vast te leggen en er is tevens een multiselect mode mogelijk. De multiselect mode dient ervoor dat er een mogelijkheid is om gebruik te maken van de shift of control toetsen. Voor de openfiledialog methode is een eigen functie gemaakt, zo kunnen er gemakkelijk variabelen mee gegeven worden en soms zijn er al vaste variabelen die door de programmeur van tevoren zijn gedefinieerd. Hieronder volgt een stukje code hoe er gebruik gemaakt wordt van de functie die het aanroepen van een openfiledialog eenvoudiger maakt. In deze functie is te zien, dat niet altijd de variabele multiselect en directory meegegeven dient te worden, deze zijn optioneel in deze functie. Pagina 10 van 18

gever Private Function showmenu(byval menu As Object, ByVal title As String, ByVal filter As String, Optional ByVal MultiSelect As Boolean = False, Optional ByVal directory As String = "") As DialogResult With menu If directory = "" Then.InitialDirectory = strhomedir Else.InitialDirectory = directory End If.Title = title.filter = filter.multiselect = MultiSelect.FilterIndex = 2.RestoreDirectory = True showmenu =.ShowDialog() End With End Function In figuur 2 is het resultaat te zien van de openfiledialog methode. Figuur 2 Hieronder volgt de code voor de Del button: Als op de button openen wordt gedrukt dan wordt de listbox gevuld met de geselecteerde tekeningen. De listbox kan bewerkt worden met de Del of Clear button. Met de Del button is het mogelijk om één tekeningnummer te gelijk verwijderen uit de listbox, dit komt omdat de listbox een checkedlistbox is, waardoor multiselect niet gebruikt kan worden. Met de Clear button is het mogelijk om in één keer de listbox leeg te maken. Private Sub delbutton_click(byval sender As System.Object, ByVal e As System.EventArgs) Handles delbutton.click Dim fnames As Windows.Forms.ListBox.SelectedObjectCollection Dim x As Integer if lstdrawingfiles.items.count <> 0 Then fnames = lstdrawingfiles.selecteditems Do While fnames.count <> 0 lstdrawingfiles.items.remove(fnames.item(x)) Loop End If End Sub Pagina 11 van 18

gever In figuur 3 is het resultaat te zien nadat er tekeningen zijn toegevoegd. Ook te zien is dat er voor elk tekeningnummer een vink boxje staat; dit wordt automatisch aangevinkt wanneer de betreffende tekening wordt uitgeprint. De buttons en de listboxen zijn voorzien van tooltips, deze tooltips gegeven handige tips en beschrijven wat de buttons en listboxen doen en wat de gebruiker eventueel niet mag doen. Figuur 3 2.3 Plot settings selecteren In figuur 4 toont het scherm waar de plot settings kunnen worden ingesteld. Het betreft de instellingen, plot area en schaal instelling. De volgende Plot Area s kunnen worden gekozen: Display Extents Limits Window Figuur 4 Als gebruik gemaakt wordt van de optie window, worden de twee textboxen en tevens de pick button geactiveerd. In de eerste textbox wordt de linker onderhoek bepaald en in de tweede textbox de rechter bovenhoek. Met de pick button wordt de eerste tekening van de listbox geladen, als hier nog geen tekeningen in staan wordt er een foutmelding gegeven die aangeeft dat er eerst een tekening toegevoegd moet worden. Hierna is het mogelijk in de desbetreffende tekening Pagina 12 van 18

gever het gewenste window te selecteren dat geprint moet worden. Deze waardes worden tevens in de twee desbetreffende textboxen gezet. Verder is er een mogelijkheid om een schaal te kiezen met behulp van een combobox, waar al verschillende schaal waardes in staan. Tevens bestaat de mogelijkheid voor de gebruiker de schaal factor in te vullen met de twee tekstboxen daaronder. Tevens is er de mogelijkheid om een print preview te laten zien van de tekening met de ingestelde plot area, schaal factor en de eventuele plot style table. Na een click op de Print preview button wordt de eerste tekening uit de listbox geladen en krijgt de gebruiker een Autocad print preview te zien zoals deze ook te zien is bij printen full preview. Voorbeeld code van Autocad print preview: Private Sub btnpreview_click(byval sender As System.Object, ByVal e As System.EventArgs) Handles btnpreview.click Dim acaddoc As AutoCAD.AcadDocument Dim i As String Dim strtext As String Dim numerator As Double, denominator As Double Dim spoint(1) As Double Dim epoint(1) As Double If lstdrawingfiles.items.count <> 0 Then acadobj.preferences.system.singledocumentmode() = True acadobj.visible = True acadobj.activedocument.saveas(strhomedir & "test.dwg") acaddoc = acadobj.activedocument.open(lstdrawingfiles.items.item(0)) acadobj.activedocument.sendcommand("filedia" & vbcr & "1" & vbcr) acadobj.activedocument.activelayout.stylesheet = Me.cbbStylename.Text If cbbschaal.text = "Scaled to Fit" Then acadobj.activedocument.activelayout.standardscale = AutoCAD.AcPlotScale.acScaleToFit Else acadobj.activedocument.activelayout.paperunits = AutoCAD.AcPlotPaperUnits.acMillimeters numerator = txtunits.text denominator = txtdrawingunits.text acadobj.activedocument.activelayout.paperunits() = AutoCAD.AcPlotPaperUnits.acMillimeters acadobj.activedocument.activelayout.setcustomscale(numerator, denominator) End If If rdbwindow.checked = True Then spoint(0) = Val(Mid(txtLowerpunt.Text, 1, (InStr(1, txtlowerpunt.text, ",")) - 1)) spoint(1) = Val(Mid(txtLowerpunt.Text, (InStr(1, txtlowerpunt.text, ",")) + 1)) epoint(0) = Val(Mid(txtUpperpunt.Text, 1, (InStr(1, txtupperpunt.text, ",")) - 1)) epoint(1) = Val(Mid(txtUpperpunt.Text, (InStr(1, txtupperpunt.text, ",")) + 1)) acadobj.activedocument.activelayout.setwindowtoplot(spoint, epoint) acadobj.activedocument.activelayout.plottype = AutoCAD.AcPlotType.acWindow End If If rdbextents.checked = True Then acadobj.activedocument.activelayout.plottype = AutoCAD.AcPlotType.acExtents End If If rdbdisplay.checked = True Then acadobj.activedocument.activelayout.plottype = AutoCAD.AcPlotType.acDisplay End If If rdblimits.checked = True Then acadobj.activedocument.activelayout.plottype = AutoCAD.AcPlotType.acLimits End If acadobj.activedocument.activelayout.configname = cbbprinter.text acadobj.activedocument.activelayout.paperunits = AutoCAD.AcPlotPaperUnits.acMillimeters Me.Hide() acadobj.activedocument.plot.displayplotpreview(autocad.acpreviewmode.acfullpreview) Me.Show() Else MsgBox("Eerst Tekeningen Toevoegen",, "Plot Utility") End If End Sub Pagina 13 van 18

gever De ingestelde instellingen kunnen eventueel opgeslagen worden met de Save button. Deze instellingen worden opgeslagen in een ini georiënteerde file de plot settings file (*.psf) en kunnen met de Load button worden geladen. Hieronder volgt een voorbeeld van ect.psf : [plot area] area=window lowerpunt=10,7 upperpunt=417,296 [plot scale] schaal=1 : 1,46 units=1 drawunits=1,46 [plot device] device=a4 Printer Laserjet 5.pc3 [plot style] style=gti Kleuren (Zwart-Wit).ctb We zien ook dat de printer en de plotstyle worden opgeslagen in de psf-file. 2.4 Printer en Plotstyle selecteren Zoals in figuur 5 is weergegeven kan in dit formulier de printer en de plotstyle geselecteerd worden. Ook is er de mogelijkheid om printers of plotstyles toe te voegen met de desbetreffend buttons. Deze comboboxen worden van te voren geladen zodra het programma wordt opgestart. Deze waardes worden uit de tekening geladen met de twee volgende variabelen: Voor printers in te voegen wordt de variabele GetPlotDeviceNames gebruikt en voor de plotstyle table s Figuur 5 wordt de variabele GetPlotStyleTableNames gebruikt. Pagina 14 van 18

gever 2.5 Bewerkingen kiezen Onder het volgende tabje is te zien dat er ook bewerkingen kunnen worden uitgevoerd zoals script files (*.scr) of VBA routines (*.dvb). De routines worden van boven naar beneden één voor één uitgevoerd tot dat ze allemaal zijn bewerkt, dit geldt voor elke tekening die geselecteerd is. Met de add button kunnen we bestaande scripts files of VBA routines toevoegen aan de listbox. De script files worden dan aangestuurd met een sendcommando en de VBA Figuur 6 Commando s worden met loaddvb en runmacro uitgevoerd. Voorbeeld van sendcommando: If strbewerk = "scr" Then acadobj.activedocument.sendcommand("script" & vbcr & lstbewerking.items.item(t) & vbcr) Else End If Het is nog niet mogelijk om VBA routines te laten draaien, omdat de macro namen allemaal het zelfde moeten heten, dit zal ik eerst nog moeten aanpassen. In de script files kunnen geen VBA routines worden geladen met VBAload en uitgevoerd worden met het commando VBArun. Dit werkt niet, omdat VB.NET dan niet meer weet waar hij gebleven is in het programma. Pagina 15 van 18

gever 2.6 Printen tekeningen Om de geselecteerde tekeningen te kunnen printen, dient naar het eerste tabje Drawing files te worden gegaan. In deze tab vinden we de Plot button. Zodra op deze button wordt gedrukt worden de tekeningen met de ingestelde waardes uitgeprint. Als er bij bewerkingen iets ingevuld is dan komt er een vraag of u deze bewerkingen wilt uitvoeren. Als ja geantwoord wordt, dan worden deze bewerkingen uitgevoerd en tevens uitgeprint en anders worden de tekeningen uitgeprint zonder dat de bewerkingen zijn uitgevoerd. Na elke tekening die is uitgeprint verschijnt er een vinkje in de checkedbox die voor het tekeningnummer staat, dit betekent dat de tekening goed is uitgeprint en geeft niet aan of de bewerkingen goed zijn uitgevoerd. Bij het uitprinten van de tekeningen ontstond er een probleem dat VB.NET te snel was met het aanroepen van Autocad. Hierdoor ontstond er een fout melding Kan aangeroepen niet uitvoeren. Om dit probleem op te lossen is met een commando VB.NET bewust langzamer gemaakt. Het volgende commando is hiervoor gebruikt: System.Threading.Thread.CurrentThread.Sleep(2500) Hierdoor blijf de computer 2,5 sec wachten en dan is Autocad gereed met laden en wacht op het volgende commando. Er zit ook een fout afhandeling in als er bijvoorbeeld nog een Autocad commando geactiveerd is, dan laat het programma een messagebox zien met daarin een tekst dat Autocad nog een commando heeft geactiveerd. 2.7 Plot Utility afsluiten Zodra alle tekeningen zijn uitgeprint dan kunnen we met de Exit button uit het programma gaan. Het programma komt dan met de vraag of je de tekeningenlijst wilt opslaan. Met nee sluit het programma af en wordt Autocad afgesloten. Met ja komt het scherm zoals in figuur 7 is weergegeven naar voren. Hierin wordt de bestandsnaam en de directory waar het tekst bestand opgeslagen dient te worden bepaald. Met de Import button is het tekst Figuur 7 Pagina 16 van 18

gever bestand weer in te lezen, voordeel hiervan is dat de gebruiker de tekeningen die aan een bepaald project gekoppeld zijn kan uitprinten zonder deze stuk voor stuk te hoeven selecteren. Op de afdeling engineering maken we gebruik van verschillende documentenbeheerssystemen die bijvoorbeeld een tekst bestand aan kunnen maken met de eventuele gewijzigde tekeningnummers of complete mappen laten uitprinten. Deze tekst bestanden worden net als het voorgaande met de Import button geïmporteerd. Door enkele printer settings goed te zetten kan de gebruiker dan heel snel en eenvoudig tekeningen uit printen. 3. Conclusie Om het programma te maken heb ik gekozen voor Visual Basic 6.0 en later om gezet naar Visual Basic.NET wat de nodige problemen met zich mee gaf. De reden hiervan is dat ik een executable programma wou maken, zodat niemand de source code kan wijzigen. Op onze afdeling engineering en op verschillende buiten locaties is het programma ongeveer 3 maanden probleemloos in bedrijf. Het resultaat hiervan is dat onze tekenaars makkelijker met de desgewenste instellingen, tekeningen kunnen uitprinten ten opzichte van Autocad Batchplot. 4. Uitbreidingen Zoals gewoonlijk zijn er altijd bepaalde wensen die naar voren komen na het uit testen van Autocad Plot Utility. Deze wensen worden in de volgende versies van Autocad Plot Utility ingevoerd of gewijzigd. De volgende eventuele aanpassingen zijn: VBA routines laten uitvoeren, dit houdt in de gebruikte VBA routines aanpassen dat alle routines het zelfde worden aangeroepen. Verschillende sorteer mogelijkheden voor het uitprinten van tekeningen. Mogelijkheid inbouwen om na het printen de computer te laten afsluiten. Mogelijkheid om op verschillende printers en/of plotstyles uit te printen. Pagina 17 van 18

gever Pagina 18 van 18