本主題是一篇基礎教程,它使用互動的對話方塊控制項建立簡單的表格,在執行這些控制項時,允許您從清單選取使用者名稱,然後選取只測量某些特定的特徵。選取的資訊將顯示在最終報告上。
儘管可以使用某些編輯視窗命令複製外觀,但本教程還是介紹了利用表格編輯器可以執行的可能操作、一些設想和編程技巧。
本教程使用「建立自訂報告範本」和「建立標籤範本」教程中建立的檔案。若您尚未執行這些操作,請首先完成這兩個教程的學習。
在本教程中,您將在表格編輯器和編輯視窗之間進行切換,因此,首先要準備編輯視窗。
在「編輯」視窗上按滑鼠右鍵,並從捷徑功能表選取定位視圖解除定位。
選取最大化按鈕進行全熒幕顯示。
將「編輯」視窗置於命令模式。
可選取檔案 | 報告 | 新增 | 表單報告開啟表格編輯器。
要隱藏任何未使用的工具列,請按右鍵工具列區域並將其刪除。
要隱藏任何未使用的PC-DMIS視窗,請從視圖功能表中選取打開的視窗。保持開啓「編輯」視窗。
要最大化表單編輯器,請按一下編輯器視窗右上角的最大化按鈕 。可以在編輯器的背景上看到「表單」一詞。表格編輯器現在應類似於:
表格編輯器
操作表格編輯器時,您可能會發現隱藏常用的 PC-DMIS 工具列和視窗很有用,如此可釋放螢幕空間。若要頻繁使用該編輯器,可以爲範本建立一個儲存的螢幕布局。有關布局資訊,請參閱「使用工具列」一章中的「視窗布局工具列」主題。
拖拽 TheFrame/TheView 的灰色背景,令其 5 英吋寬、6 英吋高。
新增一個 Border 物件,拖拽邊界,令其恰好處於表格區域。設定邊界屬性,令 LineWidth 值爲 3,ForeColor 爲深藍色 (0.0.128)。
新增一個 Bitmap 物件到表格上方。螢幕上將顯示點陣圖對話方塊。使用載入按鈕巡覽選取的點陣圖檔案,如企業徽標。調整點陣圖的大小和位置,令其在表格上方 1.5 英吋之內。
新增一個 RadioButton 物件到點陣圖物件的下方。存取 RadioButton 的屬性,並按一下 ListItems 值。螢幕上將顯示清單選取對話方塊。此對話方塊可讓您建立該物件的選項按鈕清單。
從清單選取方塊中選取現有的 RadioButton1。在名稱方塊中,將名稱變更爲 "CIRCLE 1"。指數值應顯示 0。
按一下新增按鈕再新增三個項目。然後將新增的項目變更爲 "CIRCLE 2"、"CIRCLE 3" 和 "CIRCLE 4"。它們的索引值分別爲 1、2 和 3。清單選取對話方塊類似於:
顯示索引值爲從 0 到 3 的四個選項的「清單選取」對話方塊。
完成後,按一下確定。
透過將 (ObjectCode) 值從 "RadioButton1" 變更爲 "optMeasure",重新命名 RadioButton 物件。
新增一個 Frame 物件,並圍繞 RadioButton 物件拖拽。變更「框」的 Text 屬性爲「選取要測量的項目」。
新增一個 EditBox 物件到 RadioButton 物件的右側,將其從 "EditBox1" 重新命名爲 "txtMeasure"。
新增一個 Text 物件 (Text1) 到 RadioButton 物件下方,將其 Text 屬性設定爲「選取使用者:」。
新增一個 ComboBox 到 Text 物件的右側,將其從 "ComboBox1" 重命名爲 "cboUsers"。此控制項將包含使用者清單。
按一下 ListItems 值新增使用者清單。此操作將再次存取清單選取對話方塊。
按一下添加。PC-DMIS 在清單選取下方插入「(無)」。
將清單中第一個項目的名稱由「(無)」變爲「[選取一個使用者]」,並爲其指派索引值 0。
按照以前的操作方式,繼續使用此對話方塊新增五六個使用者名稱。本教程中使用了「Bob」、「Allen」、「Mary」、「Shelly」、「Jared」和「Kurt」。
依據需要,使用向上或向下按鈕變更項目在清單中的顯示位置。完成後的對話方塊類似於:
顯示索引值爲從 0 到 3 的四個選項的「清單選取」對話方塊。
按一下確定。現在 ComboBox 物件包含有這些清單項目了。
新增一個 EditBox 物件到 ComboBox 的右側,並將其從 "EditBox2" 重新命名爲 "txtUser"。
新增另一 Text 物件 (Text2) 到名稱爲「選取使用者」的物件的下方,並將新增物件的 Text 屬性設定爲「鍵入報告說明:」。
新增另一 EditBox 物件到上述文字物件的右側,並將其從 "EditBox3" 重新命名爲 "txtDescription"。
新增一個 Button 物件至表格底端,並將其名稱 "Button1" 重新命名爲 "cmdContinue"。將其 Text 屬性變更爲「繼續 (&C)」。與符號可用於定義要作爲捷徑字元與 Alt 一同使用的字元。因此,執行模式下在表格上按 Alt + C 將與點按繼續按鈕的作用一樣。
選取檔案 | 儲存儲存表格。爲此表格命名 "TestForm.Form",把它儲存在選取的目錄中。
按 Ctrl + E 在運行模式下測試表格。由於控制項沒有綁定任何代碼,因此無論按一下哪個項目,均不會發生任何操作,祇是新增到下一個而已。完成以後,再次按 Ctrl + E 返回至編輯模式。
在該步中您完成了基本表格,新增了各種控制項並爲清單指派了項目。其類似於:
新增了各種表格控制項的表格
選取 RadioButton 物件 optMeasure,存取其屬性。
按一下 EventChange 事件。螢幕上顯示 VBS 迷你編輯器。從這個小型代碼視窗可鍵入 Visual BASIC 代碼陳述式,祇要從選項按鈕清單選取了新值,即會運行這些陳述式。
在代碼視窗中,鍵入這段代碼:
Dim intIndex As Integer
intIndex=optMeasure.Index
Select Case intIndex
Case 0
txtMeasure.Text="Circle 1"
Case 1
txtMeasure.Text="Circle 2"
Case 2
txtMeasure.Text="Circle 3"
Case 3
txtMeasure.Text="Circle 4"
End Select
按一下確定。迷你編輯器關閉。
選取檔案 | 儲存儲存表格。
按 Ctrl + E 並進入運行模式,可測試報告。選取一項特徵進行測量。
這段代碼在您從清單中選取一項要測量的特徵時執行。它檢查從選項按鈕清單選取的內容,並設定 txtMeasure 的 Text 屬性,以顯示文字字串 "CIRCLE 1"、"CIRCLE 2 等。按 Ctrl + E 退出運行模式並返回編輯模式。
選取 ComboBox 物件 cboUsers,存取其屬性。
按一下 EventChange 事件。螢幕上顯示 VBS 迷你編輯器。
在此代碼視窗中,鍵入代碼:
txtUser.Text=cboUsers.TextValue
按一下確定。迷你編輯器關閉。
選取檔案 | 儲存儲存表格。
按 Ctrl + E 並進入運行模式,可測試報告。選取一個使用者。
該代碼在您從清單中選取一個使用者時執行。它檢查選取的清單項目的文字值,並設定 txtUser 的 Text 屬性,以顯示選取的使用者的文字字串。按 Ctrl + E 退出運行模式並返回編輯模式。
選取「按鈕」物件 cmdContinue,存取其屬性。
按一下 EventClick 事件。螢幕上顯示 VBS 迷你編輯器。
在此代碼視窗中,鍵入代碼:
If cboUsers.Value>0 And Len(txtDescription.Text)>0 And Len(txtMeasure.Text)>0 Then
TheView.Cancel
Else
MsgBox「請在繼續前填寫整個表格。」
End If
按一下確定。迷你編輯器關閉。
選取檔案 | 儲存儲存表格。
按 Ctrl + E 並進入運行模式,可測試報告。按一下繼續按鈕。
按一下繼續按鈕時運行這段代碼。代碼檢查表格內容是否填寫完整,若是則關閉表格編輯器。否則顯示一條訊息,通知使用者填寫缺失的內容。
Len ( ) 函式測試編輯方塊中文字字串的長度(或字元數),確保非空。
cboUsers.Value > 0 代碼檢查是否從清單選取了使用者名稱。
既然已定義了表格,現在就需要在編輯視窗和表格之間回傳和前傳資料了。
若尚未執行此操作,請儲存表格。
從視窗功能表選取編輯視窗,令「編輯」視窗顯示在前面。
確保編輯視窗處於命令模式下。
在將每個圓特徵插入到該圓的「位置」尺寸後,
透過在測量圓特徵前的「編輯」視窗中鍵入下面的代碼,可在上方的圓特徵前,定義要指派給表格使用的變數。
ASSIGN/STR_DESCRIPTION=""
ASSIGN/STR_USER=""
ASSIGN/STR_MEASURE=""
將遊標直接放在這些陳述式後面,並選取插入 | 報告命令 | 表格。螢幕上顯示插入表格對話方塊。巡覽儲存 "TestForm.FORM" 的目錄,選取此檔案並按一下開啓。
PC-DMIS 把 FORM/FILENAME 命令區塊連同選取的表格檔案的路徑,一同插入到「編輯」視窗中。標記並執行這條命令後,將運行表格。在繼續執行「編輯」視窗前,將一直等待直至表格關閉。
注意,這段命令中有 PARAM/= 陳述式,或者說是有一個「參數」。利用這些參數,可在 PC-DMIS「編輯」視窗變數和表格控制項屬性之間回傳和前傳值。
在 PARAM/= 陳述式等號左邊按一下,鍵入 "TXTDESCRIPTION.TEXT"。按一下等號右邊,鍵入 "STR_DESCRIPTION"。按 Enter。將出現另外一個 PARAM/= 陳述式。
記住,txtDescription 是您在表單中爲 EditBox 物件指派的名稱,用於接受使用者輸入的報告說明。
在執行過程中,txtDescription 的文字屬性最初采用 STR_DESCRIPTION 的值。在本例中,其采用的是空字串。關閉表單後,它將表單的值傳回給 STR_DESCRIPTION。
繼續採用這種方式定義 STR_USER 和 STR_MEASURE 變數的參數,將它們分別鍵入 txtUser 和 txtMeasure 物件的文字屬性。
儲存對「編輯」視窗的變更。完成以後,FORM/FILENAME 命令區塊類似於:
CS7 =FORM/FILENAME=D:\PARTPROGRAMS\TESTFORM.FORM
PARAM/TXTDESCRIPTION.TEXT=STR_DESCRIPTION
PARAM/TXTMEASURE.TEXT=STR_MEASURE
PARAM/TXTUSER.TEXT=STR_USER
PARAM/=
ENDFORM/
建立完表格,也即建立了控制要測量哪些內容的選項按鈕(使用 RadioButton 物件)清單。現在,您也需要新增條件陳述式到編輯視窗,以便根據從表格選取的內容測量相應特徵。
在「編輯」視窗中,將遊標放在第一個 CIR1 特徵的前面,並按 Enter。遊標應當在 CIR1 特徵上方的一空白行裏了。
選取插入 | 流控制命令 | 控制對 | If / End If。PC-DMIS 將把 IF / END IF 條件陳述式插入「編輯」視窗:
IF/0
END_IF/
定義條件。反白顯示預設值 0 並鍵入:
STR_MEASURE == "Circle 1"
按 ENTER。
選取整個 CIR1 特徵及其後的位置尺寸,選取編輯 | 剪下。然後選取編輯 | 貼上,將它移至 IF/STR_MEASURE == "Circle 1" 行後面、END_IF/ 行前面的一空白行。第一個條件區塊類似於:
IF/STR_MEASURE=="Circle 1"
CIR1 特徵轉到這裡...
位置尺寸轉到這裡...
記住,執行完後,STR_MEASURE 將持有 txtMeasure 物件的文字屬性。根據表單程式碼,這將為:
「圓 1」、「圓 2」、「圓 3」或「圓 4」。
第一行檢查 STR_MEASURE 的變數值,若其符合「Circle 1」的字串值,則將測量 CIR1 特徵。否則,將略過并轉到 END_IF/ 陳述式後面的命令。
繼續重復上述步驟,定義其他圓特徵的條件陳述式。完成以後,編輯視窗類似於:
ASSIGN/STR_DESCRIPTION=""
ASSIGN/STR_USER=""
ASSIGN/STR_MEASURE=""
CS7 =FORM/FILENAME=D:\PARTPROGRAMS\TESTFORM.FORM
PARAM/TXTDESCRIPTION.TEXT=STR_DESCRIPTION
PARAM/TXTMEASURE.TEXT=STR_MEASURE
PARAM/TXTUSER.TEXT=STR_USER
PARAM/=
ENDFORM/
IF/STR_MEASURE=="Circle 1"
CIR1 =FEAT/CIRCLE...
DIM LOC1 LOCATION OF CIRCLE CIR1
END_IF/
IF/STR_MEASURE=="Circle 2"
CIR2 =FEAT/CIRCLE...
DIM LOC2 LOCATION OF CIRCLE CIR2
END_IF/
IF/STR_MEASURE=="Circle 3"
CIR3 =FEAT/CIRCLE...
DIM LOC3 LOCATION OF CIRCLE CIR3
END_IF/
IF/STR_MEASURE=="Circle 4"
CIR4 =FEAT/CIRCLE...
DIM LOC4 LOCATION OF CIRCLE CIR4
END_IF/
現在,要套用一些完成的觸測。首先,需使用報告註解,令 PC-DMIS 將表格的值傳送給報告視窗中的最終報告。然後需要使一些物件在表格上不可見。
在「編輯」視窗中,直接在 FORM/FILENAME 命令後鍵入這些命令。
COMMENT/REPT,
"User: "+STR_USER
COMMENT/REPT,
"Report Description: "+STR_DESCRIPTION
COMMENT/REPT,
"Measure Routine: "+STR_MEASURE
選取視窗 | 表格編輯器返回表格編輯器。
按滑鼠右鍵存取屬性對話方塊。從下拉式清單選取 txtMeasure。PC-DMIS 選取該物件。
按一下進階,將可見屬性設爲「否」。
從下拉式清單選取 txtUser。PC-DMIS 選取該物件。
按一下高級,將可見屬性設爲「否」。由於使用者無需檢視這些值,並且我們使用它們的唯一原因,就是將值傳回給 PC-DMIS,因此將此屬性設爲「否」可使這些物件在執行過程中不可見。
儲存表格。
關閉表格編輯器。
選取視圖 | 報告視窗,並使用範本選取對話方塊工具列圖示設定報告,以使用預設的標準報告範本 TextOnly.rtp。
返回「編輯」視窗。標記整個「編輯」視窗,儲存測量常式,然後選取檔案 | 執行測試測量常式。
PC-DMIS 到達 FORM/FILENAME 命令時,將運行表格,暫停程式的執行,直至完成表格的填寫。
填寫表格並按一下繼續按鈕。PC-DMIS 將表格的值傳回給 PC-DMIS 變數。
條件陳述式檢查 STR_MEASURE 變數的值,執行相應的圓特徵。
PC-DMIS 將所測量的特徵的報告註解和測量結果列印到報告視窗。
PC-DMIS 2019 R1
著作權 © 2019 Hexagon Manufacturing Intelligence – Metrology Software, Inc.
上次生成說明系統是在21 January 2019