35
Bygg din egen verktygslåda till PC-DMIS Workshop, PC-DMIS dagar 2015

Bygg din egen verktygslåda till PC-DMISdownload.hexmet.se/PC-Dmis/2019.R2/PCDMIS-dagar/2015/Bygg... · 2019-10-01 · Exempel på skript – MultiPlanes.BAS Slutligen ett något

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Bygg din egen verktygslåda till PC-DMISdownload.hexmet.se/PC-Dmis/2019.R2/PCDMIS-dagar/2015/Bygg... · 2019-10-01 · Exempel på skript – MultiPlanes.BAS Slutligen ett något

Bygg din egen verktygslåda till PC-DMIS Workshop, PC-DMIS dagar 2015

Page 2: Bygg din egen verktygslåda till PC-DMISdownload.hexmet.se/PC-Dmis/2019.R2/PCDMIS-dagar/2015/Bygg... · 2019-10-01 · Exempel på skript – MultiPlanes.BAS Slutligen ett något

Vad ska vi prata om?

• Verktygsfält och Snabbknappar i PC-DMIS

• Koppla inbyggda funktioner till en knapp

• Koppla externa program

• Koppla Basic-skript

• Exempel på skript

• Frågor?

Page 3: Bygg din egen verktygslåda till PC-DMISdownload.hexmet.se/PC-Dmis/2019.R2/PCDMIS-dagar/2015/Bygg... · 2019-10-01 · Exempel på skript – MultiPlanes.BAS Slutligen ett något

Verktygsfält och snabbknappar i PC-DMIS

Page 4: Bygg din egen verktygslåda till PC-DMISdownload.hexmet.se/PC-Dmis/2019.R2/PCDMIS-dagar/2015/Bygg... · 2019-10-01 · Exempel på skript – MultiPlanes.BAS Slutligen ett något

Verktygsfält och snabbknappar i PC-DMIS

Page 5: Bygg din egen verktygslåda till PC-DMISdownload.hexmet.se/PC-Dmis/2019.R2/PCDMIS-dagar/2015/Bygg... · 2019-10-01 · Exempel på skript – MultiPlanes.BAS Slutligen ett något

Verktygsfält och snabbknappar i PC-DMIS

Page 6: Bygg din egen verktygslåda till PC-DMISdownload.hexmet.se/PC-Dmis/2019.R2/PCDMIS-dagar/2015/Bygg... · 2019-10-01 · Exempel på skript – MultiPlanes.BAS Slutligen ett något

Verktygsfält och snabbknappar i PC-DMIS

Page 7: Bygg din egen verktygslåda till PC-DMISdownload.hexmet.se/PC-Dmis/2019.R2/PCDMIS-dagar/2015/Bygg... · 2019-10-01 · Exempel på skript – MultiPlanes.BAS Slutligen ett något

Koppla inbyggda funktioner till en knapp

Page 8: Bygg din egen verktygslåda till PC-DMISdownload.hexmet.se/PC-Dmis/2019.R2/PCDMIS-dagar/2015/Bygg... · 2019-10-01 · Exempel på skript – MultiPlanes.BAS Slutligen ett något

Koppla inbyggda funktioner till en knapp

• Modifiera aldrig PC-DMIS inbyggda verktygsfält! Det blir bara gråt…

• Nästan allting i PC-DMIS menyer kan kopplas till en knapp

• Dessutom kan man skapa Användardefinierade kommandon!

Page 9: Bygg din egen verktygslåda till PC-DMISdownload.hexmet.se/PC-Dmis/2019.R2/PCDMIS-dagar/2015/Bygg... · 2019-10-01 · Exempel på skript – MultiPlanes.BAS Slutligen ett något

Koppla externa program till en knapp

Page 10: Bygg din egen verktygslåda till PC-DMISdownload.hexmet.se/PC-Dmis/2019.R2/PCDMIS-dagar/2015/Bygg... · 2019-10-01 · Exempel på skript – MultiPlanes.BAS Slutligen ett något

Koppla externa program till en knapp

Page 11: Bygg din egen verktygslåda till PC-DMISdownload.hexmet.se/PC-Dmis/2019.R2/PCDMIS-dagar/2015/Bygg... · 2019-10-01 · Exempel på skript – MultiPlanes.BAS Slutligen ett något

Koppla externa program till en knapp

• Om du vill starta utforskaren i en särkskild katalog

• Ange först sökvägen till utforskaren

• Lägg till /root, och den sökväg du vill ha

• Till exempel

• C:\windows\explorer.exe /root, h:\dokument\pcdmis

• Explorer kommer att starta i den mapp du angivit

Page 12: Bygg din egen verktygslåda till PC-DMISdownload.hexmet.se/PC-Dmis/2019.R2/PCDMIS-dagar/2015/Bygg... · 2019-10-01 · Exempel på skript – MultiPlanes.BAS Slutligen ett något

Koppla externa program till en knapp

• Vilket program som helst kan startas med en knapp

• Man kan också köra kommandofiler (xxx.BAT)

• Man kan lägga med kommandoradsparametrar precis som i en genväg

• PC-DMIS väntar inte på att det externa programmet ska avslutas!

Page 13: Bygg din egen verktygslåda till PC-DMISdownload.hexmet.se/PC-Dmis/2019.R2/PCDMIS-dagar/2015/Bygg... · 2019-10-01 · Exempel på skript – MultiPlanes.BAS Slutligen ett något

Snabbknappar kopplade till Basic-skript

• PC-DMIS har ett inbyggt skriptspråk – Basic

• Basic-skript kan användas för beräkningar, dialoger, läsa/skriva filer osv. osv.

• Kan vara direktkopplat till ett mätprogram (anropas med programrad)

• Kan vara kopplat till en snabbknapp (anropas med klick)

• Kan visa information hämtad från mätprogrammet

• Kan ge resultat tillbaka till mätprogrammet

• Kan modifiera mätprogrammet! Lägga till/ta bort/ändra kommandorader!

• Eftersom det är PC-DMIS som kör Basic-skriptet kan du inte göra något annat i

PC-DMIS så länge ett skript är igång

Page 14: Bygg din egen verktygslåda till PC-DMISdownload.hexmet.se/PC-Dmis/2019.R2/PCDMIS-dagar/2015/Bygg... · 2019-10-01 · Exempel på skript – MultiPlanes.BAS Slutligen ett något

Snabbknappar kopplade till Basic-skript

Page 15: Bygg din egen verktygslåda till PC-DMISdownload.hexmet.se/PC-Dmis/2019.R2/PCDMIS-dagar/2015/Bygg... · 2019-10-01 · Exempel på skript – MultiPlanes.BAS Slutligen ett något

Snabbknappar kopplade till Basic-skript

Page 16: Bygg din egen verktygslåda till PC-DMISdownload.hexmet.se/PC-Dmis/2019.R2/PCDMIS-dagar/2015/Bygg... · 2019-10-01 · Exempel på skript – MultiPlanes.BAS Slutligen ett något

Snabbknappar kopplade till Basic-skript

Page 17: Bygg din egen verktygslåda till PC-DMISdownload.hexmet.se/PC-Dmis/2019.R2/PCDMIS-dagar/2015/Bygg... · 2019-10-01 · Exempel på skript – MultiPlanes.BAS Slutligen ett något

Snabbknappar kopplade till Basic-skript

Page 18: Bygg din egen verktygslåda till PC-DMISdownload.hexmet.se/PC-Dmis/2019.R2/PCDMIS-dagar/2015/Bygg... · 2019-10-01 · Exempel på skript – MultiPlanes.BAS Slutligen ett något

Snabbknappar kopplade till Basic-skript

Page 19: Bygg din egen verktygslåda till PC-DMISdownload.hexmet.se/PC-Dmis/2019.R2/PCDMIS-dagar/2015/Bygg... · 2019-10-01 · Exempel på skript – MultiPlanes.BAS Slutligen ett något

Snabbknappar kopplade till Basic-skript

Page 20: Bygg din egen verktygslåda till PC-DMISdownload.hexmet.se/PC-Dmis/2019.R2/PCDMIS-dagar/2015/Bygg... · 2019-10-01 · Exempel på skript – MultiPlanes.BAS Slutligen ett något

Exempel på skript

Basic-skripten är rena textfiler (men med efternamn .BAS), och kan därför redigeras i vilket

program som helst som kan redigera text, t.ex. Anteckningar (Notepad).

Vi kan förstås också använda PC-DMIS självt – klicka sist i ditt aktuella mätprogram, Infoga -->

Basic-skript…, peka ut en lämplig mapp (t.ex. C:\Users\Public\Documents\WAI\PC-

DMIS\Basic) och hitta på ett namn för skriptet. Tryck sedan F9 på den nya kommandoraden

för att öppna Basic-editorn i PC-DMIS.

Där går det också att provköra skriptet redan innan det är kopplat till någon knapp (den lilla

svarta pilen till höger i ovanstående bild).

När redigeringen och testningen är klara bör man komma ihåg att radera kommandoraden

från mätprogrammet igen – det här skriptet ska ju inte vara knutet till något bestämt

mätprogram, utan vara kopplat till en snabbknapp.

Page 21: Bygg din egen verktygslåda till PC-DMISdownload.hexmet.se/PC-Dmis/2019.R2/PCDMIS-dagar/2015/Bygg... · 2019-10-01 · Exempel på skript – MultiPlanes.BAS Slutligen ett något

Exempel på skript – MmInch.BAS

Det första skriptet vi ska titta på kanske inte är så väldigt användbart, men det illustrerar

grundstrukturen för ett skript som genomlöper alla kommandon i ett mätprogram, och gör

någonting med några av dessa kommandon. Denna struktur återkommer i princip i alla skript

som gör någonting med PC-DMIS.

MmInch.BAS är ett skript som går igenom aktuellt mätprogram och sätter alla utvärderingar

till MM eller TUM.

Först kommer en del som sätter upp kommunikationen mellan skriptet och

PC-DMIS.

Page 22: Bygg din egen verktygslåda till PC-DMISdownload.hexmet.se/PC-Dmis/2019.R2/PCDMIS-dagar/2015/Bygg... · 2019-10-01 · Exempel på skript – MultiPlanes.BAS Slutligen ett något

Exempel på skript – MmInch.BAS

Sedan bygger vi upp dialogen och anropar den.

Page 23: Bygg din egen verktygslåda till PC-DMISdownload.hexmet.se/PC-Dmis/2019.R2/PCDMIS-dagar/2015/Bygg... · 2019-10-01 · Exempel på skript – MultiPlanes.BAS Slutligen ett något

Exempel på skript – MmInch.BAS

Om användaren trycker på OK-knappen utför vi det egentliga arbetet.

Dvs. gå igenom alla kommandon i programmet (for each…), om det är en utvärdering

(.isDimension) så sätter vi kommandots enhet (.Units) till 0 eller 1, beroende på om vi valde

tum eller mm i dialogen.

Till sist städar vi efter oss och är klara.

Page 24: Bygg din egen verktygslåda till PC-DMISdownload.hexmet.se/PC-Dmis/2019.R2/PCDMIS-dagar/2015/Bygg... · 2019-10-01 · Exempel på skript – MultiPlanes.BAS Slutligen ett något

Exempel på skript – MmInch.BAS – hela listan!

Page 25: Bygg din egen verktygslåda till PC-DMISdownload.hexmet.se/PC-Dmis/2019.R2/PCDMIS-dagar/2015/Bygg... · 2019-10-01 · Exempel på skript – MultiPlanes.BAS Slutligen ett något

Exempel på skript – ListProbes.BAS

Nästa skript går igenom aktuellt mätprogram och listar namnen på alla använda

mätspetsfiler, i den ordning de används. Eftersom en mätspetsfil kan väljas flera gånger i ett

program kan samma namn återkomma flera gånger i listan som visas.

Detta skript börjar med samma grundstruktur (gråbrunt), utför sedan

genomgången av mätprogrammet och samlar upp alla namnen

(grönt). Till sist visas dialogen med resultatet (blått). Efter att

användaren tryckt OK-knappen är allt klart, och skriptet avslutas

(gråbrunt).

Page 26: Bygg din egen verktygslåda till PC-DMISdownload.hexmet.se/PC-Dmis/2019.R2/PCDMIS-dagar/2015/Bygg... · 2019-10-01 · Exempel på skript – MultiPlanes.BAS Slutligen ett något

Exempel på skript – ListProbes.BAS

Page 27: Bygg din egen verktygslåda till PC-DMISdownload.hexmet.se/PC-Dmis/2019.R2/PCDMIS-dagar/2015/Bygg... · 2019-10-01 · Exempel på skript – MultiPlanes.BAS Slutligen ett något

Exempel på skript – ListTips.BAS

Förutom namnen på mätspetsfilerna kan det vara praktiskt att också lista alla mätspetsar

som används av ett mätprogram. Följande skript gör precis det. Eftersom en mätspets kan

väljas flera gånger i ett program kan samma namn återkomma flera gånger i listan som visas.

Inledning och avslutning är exakt samma som tidigare skript, så de visas inte. Det finns lite

mer kod i utförande-delen, eftersom vi ska läsa av två kommandotyper – LADDA_MÄTH och

MÄTSPETS.

Page 28: Bygg din egen verktygslåda till PC-DMISdownload.hexmet.se/PC-Dmis/2019.R2/PCDMIS-dagar/2015/Bygg... · 2019-10-01 · Exempel på skript – MultiPlanes.BAS Slutligen ett något

Exempel på skript – ListTips.BAS

Page 29: Bygg din egen verktygslåda till PC-DMISdownload.hexmet.se/PC-Dmis/2019.R2/PCDMIS-dagar/2015/Bygg... · 2019-10-01 · Exempel på skript – MultiPlanes.BAS Slutligen ett något

Exempel på skript – MultiPlanes.BAS

Slutligen ett något mer komplicerat skript, som skapar ett plan ifrån flera mätta plan. En

dialog visas, där man kan välja ett eller flera plan, och skriptet infogar en instruktion för

”konstruera plan” i programmet. I konstruktionen används mätpunkterna från de i dialogen

valda planen.

Page 30: Bygg din egen verktygslåda till PC-DMISdownload.hexmet.se/PC-Dmis/2019.R2/PCDMIS-dagar/2015/Bygg... · 2019-10-01 · Exempel på skript – MultiPlanes.BAS Slutligen ett något

Exempel på skript – MultiPlanes.BAS

Resultatet av det här skriptet är att följande kommando har lagts till i mätprogrammet:

Programlistan är lite för stor för PowerPoint (den fullständiga listan finns i ert tryckta material),

så vi tar bara en liten titt på koden som skapar kommandot.

Page 31: Bygg din egen verktygslåda till PC-DMISdownload.hexmet.se/PC-Dmis/2019.R2/PCDMIS-dagar/2015/Bygg... · 2019-10-01 · Exempel på skript – MultiPlanes.BAS Slutligen ett något

Hur visste han det?

Det står ju inte ”Konstruera plan” någonstans i den koden, och varifrån kom siffran 571 och

beteckningarna ID och REF_ID?

PC-DMIS kan visa oss! Skapa bara ett kommando av rätt typ och högerklicka i

Redigeringsfönstret

Håll sedan muspekaren stilla över kommandot, så visar PC-DMIS den efterfrågade

informationen.

Page 32: Bygg din egen verktygslåda till PC-DMISdownload.hexmet.se/PC-Dmis/2019.R2/PCDMIS-dagar/2015/Bygg... · 2019-10-01 · Exempel på skript – MultiPlanes.BAS Slutligen ett något

Så visste han det!

Page 33: Bygg din egen verktygslåda till PC-DMISdownload.hexmet.se/PC-Dmis/2019.R2/PCDMIS-dagar/2015/Bygg... · 2019-10-01 · Exempel på skript – MultiPlanes.BAS Slutligen ett något

Gå inte för långt!

Vi får vara lite försiktiga vid Basic-programmering, det går lätt åt väldigt mycket tid till något

som kanske inte i slutänden sparar in så mycket tid som vi förväntade oss.

Jag hittade följande dialog på nätet. Tanken är god – PC-DMIS-programmeraren ska få hjälp

att infoga diverse olika kommentarer med ett fåtal knapptryck. Dialogen har vuxit under flera

år, och flera olika programmerare har lagt till sådant som de behövt. Inte alltid bara nya

sorters kommentarer, utan det har blivit en smula ”gott och blandat”.

Det de kanske har missat under tiden är att dialogen har blivit ganska stor, och det börjar bli

lite svårt att navigera i den, och hitta det man behöver.

Nog pratat – nu tittar vi på

CUSTOM COMMENTS AWESOMETIME Visual Basic Script

och inget ont om Josh Carpenter som är den senaste som lagt till något i den!

Page 34: Bygg din egen verktygslåda till PC-DMISdownload.hexmet.se/PC-Dmis/2019.R2/PCDMIS-dagar/2015/Bygg... · 2019-10-01 · Exempel på skript – MultiPlanes.BAS Slutligen ett något

CUSTOM COMMENTS AWESOMETIME Visual Basic Script

Page 35: Bygg din egen verktygslåda till PC-DMISdownload.hexmet.se/PC-Dmis/2019.R2/PCDMIS-dagar/2015/Bygg... · 2019-10-01 · Exempel på skript – MultiPlanes.BAS Slutligen ett något

Avslutning

• Frågor?