GTI Infratechniek bv 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:
[email protected]
Autocad Plot Utility Opdrachtgever Opdracht Datum
Afstudeeropdracht : Student : Afstudeeradres :
Autocad Plot Utility Gerard Creemers GTI Infratechniek bv Willingestraat 4 3087 AN Rotterdam
Onderwijsinstelling :
TEC cadcollege Kerkenbos 1018b 6546 BA Nijmegen Autocad Systeem Manager R. Boeklagen 14-10-2002 tot 28-05-2003
Opleiding Docent Afstudeerperiode
: : :
GTI Infratechniek bv Autocad Plot utility 9 januari 2003
Opgesteld:
Gezien:
Gecontroleerd:
Naam:
Naam:
Naam:
G.J. Creemers
F.L. Braemer
B.F. Maas
Paraaf
Paraaf
Paraaf
Statutaire Zetel Wormerveer, Handelsregister Amsterdam 35011527 Onderdeel van GTI nv
Opdrachtgever Opdracht Datum
GTI Infratechniek bv Autocad Plot utility 9 januari 2003
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 GTI Infratechniek bv 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, 09 januari 2003
Pagina 1 van 18
Opdrachtgever Opdracht Datum
GTI Infratechniek bv Autocad Plot utility 9 januari 2003
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
Opdrachtgever Opdracht Datum
GTI Infratechniek bv Autocad Plot utility 9 januari 2003
Inhoudsopgave
1. INLEIDING..............................................................................................................................................................4 1.1 GTI nv...................................................................................................................................................................4 1.2 GTI Infratechniek bv ...........................................................................................................................................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
Opdrachtgever Opdracht Datum
GTI Infratechniek bv Autocad Plot utility 9 januari 2003
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
Utiliteit
ICT Procurement Kwaliteit, Arbo & Milieuzaken
Industrie
Infratechniek
Pagina 4 van 18
Opdrachtgever Opdracht Datum
GTI Infratechniek bv Autocad Plot utility 9 januari 2003
1.2 GTI Infratechniek bv 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)
Projectteams4)
Distributie & Communicatie
Projectteams4)
Droge Infra
Projectteams4)
Natte Infra & Mainports
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
Opdrachtgever Opdracht Datum
GTI Infratechniek bv Autocad Plot utility 9 januari 2003
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
Opdrachtgever Opdracht Datum
GTI Infratechniek bv Autocad Plot utility 9 januari 2003
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
Opdrachtgever Opdracht Datum
GTI Infratechniek bv Autocad Plot utility 9 januari 2003
Pagina 8 van 18
Opdrachtgever Opdracht Datum
GTI Infratechniek bv Autocad Plot utility 9 januari 2003
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 GTI Infratechniek bv 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
Opdrachtgever Opdracht Datum
GTI Infratechniek bv Autocad Plot utility 9 januari 2003
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
Opdrachtgever Opdracht Datum
GTI Infratechniek bv Autocad Plot utility 9 januari 2003
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.
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. Figuur 2 Hieronder volgt de code voor de “Del”button: 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
Opdrachtgever Opdracht Datum
GTI Infratechniek bv Autocad Plot utility 9 januari 2003
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
Opdrachtgever Opdracht Datum
GTI Infratechniek bv Autocad Plot utility 9 januari 2003
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(lstdrawing files.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 = AutoCA D.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, (InS tr(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(spoi nt, 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
Opdrachtgever Opdracht Datum
GTI Infratechniek bv Autocad Plot utility 9 januari 2003
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 wordt de variabele Figuur 5
GetPlotStyleTableNames gebruikt.
Pagina 14 van 18
Opdrachtgever Opdracht Datum
GTI Infratechniek bv Autocad Plot utility 9 januari 2003
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 & lstbewerki ng.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
Opdrachtgever Opdracht Datum
GTI Infratechniek bv Autocad Plot utility 9 januari 2003
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
Opdrachtgever Opdracht Datum
GTI Infratechniek bv Autocad Plot utility 9 januari 2003
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
Opdrachtgever Opdracht Datum
GTI Infratechniek bv Autocad Plot utility 9 januari 2003
Pagina 18 van 18