Your Products have been synced, click here to refresh
Sub HandleFCFdimension(cmd As Object) Dim i As Integer ' Definitely Not handling composite FCF dimensions yet elType = cmd.TypeDescription elName = cmd.ID elComment = CreateDescriptionString(cmd) ' LINE1_SIZE_TABLE --> general size info On TP (And other?) evaluations - Do Nothing ' ' Do Nothing For the moment, this has To be exported As separate dimensions ' If cmd.GetFieldValue(RPT_DIMENSION_TABLES, LINE1_SIZE_TABLE) = 1 Then ' ' For i = 1 To cmd.GetDataTypeCount(LINE1_FEATNAME) ' elName = cmd.GetFieldValue(LINE1_FEATNAME, i) ' elValueType = cmd.GetFieldValue(LINE1_FEATNAME, i) ' elAct = cmd.GetFieldValue(LINE1_MEAS, i) ' elNom = cmd.GetFieldValue(LINE1_NOMINAL, i) ' elDev = cmd.GetFieldValue(LINE1_DEV, i) ' elMtol = cmd.GetFieldValue(LINE1_MINUSTOL, i) ' elPtol = cmd.GetFieldValue(LINE1_PLUSTOL, i) ' elOutTol = cmd.GetFieldValue(LINE1_OUTTOL, i) ' elStarted = 1 ' PrintLine(fNum) ' Next i ' End If ' ' LINE2_BASIC_DIMENSION_TABLE --> most simple FCF dimensions, one Or more features ' If cmd.GetFieldValue(RPT_DIMENSION_TABLES, LINE2_BASIC_DIMENSION_TABLE) = 1 Then For i = 1 To cmd.GetDataTypeCount(LINE2_FEATNAME) elValueType = cmd.GetFieldValue(LINE2_FEATNAME, i) elAct = cmd.GetFieldValue(LINE2_MEAS, i) elNom = cmd.GetFieldValue(LINE2_NOMINAL, i) elDev = cmd.GetFieldValue(LINE2_DEV, i) elMtol = cmd.GetFieldValue(LINE2_MINUSTOL, i) elPtol = cmd.GetFieldValue(LINE2_PLUSTOL, i) elOutTol = cmd.GetFieldValue(LINE2_OUTTOL, i) elStarted = 1 PrintLine(fNum) Next i End If ' ' LINE2_POSITION_TABLE --> True position, one Or more features ' If cmd.GetFieldValue(RPT_DIMENSION_TABLES, LINE2_POSITION_TABLE) = 1 Then For i = 1 To cmd.GetDataTypeCount(LINE2_FEATNAME) elValueType = cmd.GetFieldValue(LINE2_FEATNAME, i) If InStr(1, elValueType, ":") = 0 Then elAct = cmd.GetFieldValue(LINE2_MEAS, i) elNom = "0" elDev = cmd.GetFieldValue(LINE2_DEV, i) elMtol = "0" elPtol = cmd.GetFieldValue(LINE2_TOL, i) elOutTol = cmd.GetFieldValue(LINE2_OUTTOL, i) elStarted = 1 PrintLine(fNum) End If Next i End If ' ' LINE2_ORIENTATION_TABLE --> orientation FCF:s ' If cmd.GetFieldValue(RPT_DIMENSION_TABLES, LINE2_ORIENTATION_TABLE) = 1 Then For i = 1 To cmd.GetDataTypeCount(LINE2_FEATNAME) elValueType = cmd.GetFieldValue(LINE2_FEATNAME, i) If InStr(1, elValueType, ":") = 0 Then elAct = cmd.GetFieldValue(LINE2_MEAS, i) elNom = cmd.GetFieldValue(LINE2_NOMINAL, i) elDev = cmd.GetFieldValue(LINE2_DEV, i) elMtol = "0" elPtol = cmd.GetFieldValue(LINE2_TOL, i) elOutTol = cmd.GetFieldValue(LINE2_OUTTOL, i) elStarted = 1 PrintLine(fNum) End If Next i End If ' ' LINE3_POSITION_TABLE --> secondary FCF In composite tolerance? ' If cmd.GetFieldValue(RPT_DIMENSION_TABLES, LINE3_POSITION_TABLE) = 1 Then For i = 1 To cmd.GetDataTypeCount(LINE3_FEATNAME) elValueType = cmd.GetFieldValue(LINE3_FEATNAME, i) If InStr(1, elValueType, ":") = 0 Then elAct = cmd.GetFieldValue(LINE3_MEAS, i) elNom = "0" elDev = cmd.GetFieldValue(LINE3_DEV, i) elMtol = "0" elPtol = cmd.GetFieldValue(LINE3_TOL, i) elOutTol = cmd.GetFieldValue(LINE3_OUTTOL, i) elStarted = 1 PrintLine(fNum) End If Next i End If ' ' LINE3_ORIENTATION_TABLE --> orientation FCF:s ' If cmd.GetFieldValue(RPT_DIMENSION_TABLES, LINE3_ORIENTATION_TABLE) = 1 Then For i = 1 To cmd.GetDataTypeCount(LINE3_FEATNAME) elValueType = cmd.GetFieldValue(LINE3_FEATNAME, i) If InStr(1, elValueType, ":") = 0 Then elAct = cmd.GetFieldValue(LINE3_MEAS, i) elNom = cmd.GetFieldValue(LINE3_NOMINAL, i) elDev = cmd.GetFieldValue(LINE3_DEV, i) elMtol = "0" elPtol = cmd.GetFieldValue(LINE3_TOL, i) elOutTol = cmd.GetFieldValue(LINE3_OUTTOL, i) elStarted = 1 PrintLine(fNum) End If Next i End If ' ' DATUM_SHIFT_TABLE --> translation And rotation of FCF datums when 'Fit To Datums' checked - Do Nothing ' ' If cmd.GetFieldValue(RPT_DIMENSION_TABLES, DATUM_SHIFT_TABLE) = 1 Then ' Do Nothing For the moment, this has To be exported In some other way conforming To the JoWin format ' For i = 1 To cmd.GetDataTypeCount(DRF_SEGNAME) ' elValueType = cmd.GetFieldValue(DRF_SEGNAME, i) ' If InStr(1, elValueType, ":") = 0 Then ' elAct = cmd.GetFieldValue(DRF_SHIFTX, i) ' elNom = cmd.GetFieldValue(DRF_SHIFTY, i) ' elDev = cmd.GetFieldValue(DRF_SHIFTZ, i) ' elMtol = cmd.GetFieldValue(DRF_ROTATIONX, i) ' elPtol = cmd.GetFieldValue(DRF_ROTATIONY, i) ' elOutTol = cmd.GetFieldValue(DRF_ROTATIONZ, i) ' elStarted = 1 ' PrintLine(fNum) ' End If ' Next i ' End If ' ' SUMMARY_TABLE --> summary of TP - Do Nothing ' ' If cmd.GetFieldValue(RPT_DIMENSION_TABLES, SUMMARY_TABLE) = 1 Then ' Do Nothing For the moment, this has To be exported As separate dimensions ' For i = 1 To cmd.GetDataTypeCount(SUMMARY_FEAT) ' elName = cmd.GetFieldValue(SUMMARY_FEAT, i) ' elValueType = cmd.GetFieldValue(SUMMARY_AXIS, i) ' If InStr(1, elName, ":") = 0 Then ' elAct = cmd.GetFieldValue(SUMMARY_MEAS, i) ' elNom = cmd.GetFieldValue(SUMMARY_NOMINAL, i) ' elDev = cmd.GetFieldValue(SUMMARY_DEV, i) ' elMtol = "0" ' elPtol = "0" ' elOutTol = "0" ' elStarted = 1 ' PrintLine(fNum) ' End If ' Next i ' End If End Sub
Function CreateDescriptionString(DmisCmd As Object) As String Dim tmp As String Dim cnt As Integer Dim i As Integer tmp = DmisCmd.TypeDescription + " (" Select Case DmisCmd.Type Case DIMENSION_TRUE_START_POSITION, DIMENSION_START_LOCATION, _ DIMENSION_PROFILE, DIMENSION_PROFILE_LINE, _ DIMENSION_STRAIGHTNESS, DIMENSION_ROUNDNESS tmp = tmp + DmisCmd.GetFieldValue(REF_ID, 0) + ")" Case DIMENSION_FLATNESS, DIMENSION_RUNOUT tmp = tmp + DmisCmd.GetFieldValue(REF_ID, 1) + ")" Case DIMENSION_3D_ANGLE, DIMENSION_2D_ANGLE, DIMENSION_ANGULARITY, DIMENSION_COAXIALITY, _ DIMENSION_CONCENTRICITY, DIMENSION_2D_DISTANCE, DIMENSION_3D_DISTANCE, _ DIMENSION_PARALLELISM, DIMENSION_PERPENDICULARITY, DIMENSION_SYMMETRY tmp = tmp + DmisCmd.GetFieldValue(REF_ID, 1) + "," + DmisCmd.GetFieldValue(REF_ID, 2) + ")" Case FEATURE_CONTROL_FRAME cnt = DmisCmd.GetDataTypeCount(REF_ID) For i = 1 To cnt If i > 1 Then tmp = tmp + "," tmp = tmp + DmisCmd.GetFieldValue(REF_ID, i) Next tmp = tmp + ")" Case Else tmp = "" End Select CreateDescriptionString = tmp End Function
© 2024 Hexagon AB and/or its subsidiaries. | Privacy Policy | Cloud Services Agreement |