Your Products have been synced, click here to refresh
Sub Main() Dim PCDApp, PCDPartPrograms, PCDPartProgram, PCDCommands, PCDCommand Dim PCDFeatCmd Dim Prbhit Dim numhits, nhits As Integer Set PCDApp = CreateObject("PCDLRN.Application") Set PCDPartPrograms = PCDApp.PartPrograms Set PCDPartProgram = PCDActivePartProgram Set PCDCommands = PCDPartProgram.Commands Dim cmd As Object Dim Fcntr As Integer Dim FeatureList$(99999) Dim MX, MY, MZ, TX, TY, TZ, Xdev, Ydev, Zdev, MI, MJ, MK, TI, TJ, TK As Double Fcntr = 0 For Each cmd In PCDCommands If cmd.Type = 596 Then 'Feaure Set FeatureList(Fcntr) = cmd.id Set PCDCommand = PCDCommands.Item(FeatureList(Fcntr)) Set PCDFeatCmd =PCDCommand.FeatureCommand Fcntr = Fcntr + 1 Nhits = PCDFeatCmd.NumHits While fcntr<nhits+1 Set prbhit = PCDFeatCmd.GetHit(Fcntr, FHITDATA_CENTROID, FDATA_THEO, FDATA_PART, AlignID, PLANE_TOP) TX = CDbl(prbhit.x) TY = CDbl(prbhit.y) TZ = CDbl(prbhit.z) Set prbhit = PCDFeatCmd.GetHit(Fcntr, FHITDATA_VECTOR, FDATA_THEO, FDATA_PART, AlignID, PLANE_TOP) TI = CDbl(prbhit.i) TJ = CDbl(prbhit.j) TK = CDbl(prbhit.k) Set prbhit = PCDFeatCmd.GetHit(Fcntr, FHITDATA_CENTROID, FDATA_TMEAS,FDATA_PART, AlignID, PLANE_TOP) MX = CDbl(prbhit.x) MY = CDbl(prbhit.y) MZ = CDbl(prbhit.z) XDev = MX - TX YDev = MY - TY ZDev = MZ - TZ TVal = ((Xdev)*TI) + ((YDev)*TJ) + ((ZDev)*TZ) ' output the TVal to a file Fcntr = Fcntr + 1 Wend End If Next cmd Set PCDApp = nothing Set PCDPartPrograms = nothing Set PCDPartProgram = nothing Set prbhit = nothing End Sub
Sub Main() Dim PCDApp, PCDPartPrograms, PCDPartProgram, PCDCommands, PCDCommand Dim PCDFeatCmd Dim Prbhit Dim numhits, nhits As Integer Set PCDApp = CreateObject("PCDLRN.Application") Set PCDPartPrograms = PCDApp.PartPrograms Set PCDPartProgram = PCDActivePartProgram Set PCDCommands = PCDPartProgram.Commands Dim cmd As Object Dim Fcntr As Integer Dim FeatureList$(99999) Dim MX, MY, MZ, TX, TY, TZ, Xdev, Ydev, Zdev, MI, MJ, MK, TI, TJ, TK As Double Fcntr = 0 For Each cmd In PCDCommands If cmd.Type = 596 Then 'Feaure Set FeatureList(Fcntr) = cmd.id Set PCDCommand = PCDCommands.Item(FeatureList(Fcntr)) Set PCDFeatCmd =PCDCommand.FeatureCommand Fcntr = Fcntr + 1 Nhits = PCDFeatCmd.NumHits While fcntr<nhits+1 Set prbhit = PCDFeatCmd.GetHit(Fcntr, FHITDATA_CENTROID, FDATA_THEO, FDATA_PART, AlignID, PLANE_TOP) TX = CDbl(prbhit.x) TY = CDbl(prbhit.y) TZ = CDbl(prbhit.z) Set prbhit = PCDFeatCmd.GetHit(Fcntr, FHITDATA_VECTOR, FDATA_THEO, FDATA_PART, AlignID, PLANE_TOP) TI = CDbl(prbhit.i) TJ = CDbl(prbhit.j) TK = CDbl(prbhit.k) Set prbhit = PCDFeatCmd.GetHit(Fcntr, FHITDATA_CENTROID, FDATA_TMEAS,FDATA_PART, AlignID, PLANE_TOP) MX = CDbl(prbhit.x) MY = CDbl(prbhit.y) MZ = CDbl(prbhit.z) XDev = MX - TX YDev = MY - TY ZDev = MZ - TZ TVal = ((Xdev)*TI) + ((YDev)*TJ) + ((ZDev)*TZ) ' output the TVal to a file Fcntr = Fcntr + 1 Wend End If Next cmd Set PCDApp = nothing Set PCDPartPrograms = nothing Set PCDPartProgram = nothing Set prbhit = nothing End Sub
© 2024 Hexagon AB and/or its subsidiaries. | Privacy Policy | Cloud Services Agreement |