hexagon logo

Surface Normal Deviation of points in FCF

ok, so here's what i'm trying to do...

i have a profile,

i would like the the surface normal deviation of the points in a table like this


t1 t2 t3 t4
t5 t6 t7 t8

instead of the long table of xyz ijk

i need it from the fcf b/c of the best fitting that has been done

i had tried
ASSIGN/V2 = DOT(SCN1.HIT[1].XYZ-SCN1.HIT[1].TXYZ,SCN1.HIT[1].IJK)


but this doesn't match the fcf deviations as they have been best fit


any ideas?

thanks

-cappy
  • WTF OMG BBQ

    My best guess is that you want to obtain T deviation data of points, not from the coordinate-system-reference-frame of an explicit alignment but from the coordinate-system-reference-frame of an Xactmeasure FCF dimension.

    I don't know how to do that, but I do know how to make an explicit alignment replicating that FCF's best fitting. That's what I would do.

    I cannot brain the t# chart, am not conversant. What does it all mean?
  • Josh,

    I don't know how to do that, but I do know how to make an explicit alignment replicating that FCF's best fitting.


    ...could you post this procedure in the "Tips & Tricks" section?

  • I cannot brain the t# chart, am not conversant. What does it all mean?


    What meant by the t# chart was this.

    pnt1.t pnt2.t pnt3.t pnt4.t pnt5.t
    pnt6.t pnt7.t pnt8.t pnt9.t pnt10.t
    pnt11.t pnt12.t pnt13.t pnt14.t pnt15.t
    etc....
  • Josh,



    ...could you post this procedure in the "Tips & Tricks" section?


    The procedure is "make an alignment using the datums in order of precedence."
    I hope that's not classified as a Trick.



    What meant by the t# chart was this.

    pnt1.t pnt2.t pnt3.t pnt4.t pnt5.t
    pnt6.t pnt7.t pnt8.t pnt9.t pnt10.t
    pnt11.t pnt12.t pnt13.t pnt14.t pnt15.t
    etc....


    As pwhitsa said, use PC-DMIS's File I/O functions to write the data to a text/CSV format file.
    A CSV file is a text file with the values separated by commas, you could use spaces to if it suits you.
  • The procedure is "make an alignment using the datums in order of precedence."
    I hope that's not classified as a Trick.


    Slight smile

    I think what vpt (and me) were hoping for was a way to create an alignment that uses the Xact fit shift. There are all sorts of applications for this. Using the available options in best-fit alignment is not the same, because they do not attempt to fit within a tolerance zone.
  • Slight smile

    I think what vpt (and me) were hoping for was a way to create an alignment that uses the Xact fit shift. There are all sorts of applications for this. Using the available options in best-fit alignment is not the same, because they do not attempt to fit within a tolerance zone.


    Ah, that would be a trick indeed. I'm not quite that tricky.
  • Back to the original question. Here is some VB code I threw together to show which objects to reference to get the shifted profile deviations. Not sure if this will approach will help you or not. This code works in 2012MR1, but not in 2010MR3 (can't speak for anything in between). In 2010mr3 I get an error working with the FCFCommand object.

    The blue code are the keys. Let me know if you have questions.

    Sub Main()
    Dim pcd As PCDLRN.Application
    Dim dcmd As DimensionCmd
    Dim d() As Double
    
    Set pcd = CreateObject("pcdlrn.application")
    Set dcmd = pcd.ActivePartProgram.Commands("FCFPROF2").[COLOR=#0000cd][B]FCFCommand.ProfileDimension
    [/B][/COLOR]d = dcmd.GetProfilePointInfos([COLOR=#0000cd][B]DEVIATION_INFO[/B][/COLOR], FDATA_PART, "A1")
    
    For I = 0 To dcmd.ProfilePointInfoCount - 1
      Debug.Print d(I)
    Next
    
    End Sub
    
  • Slight smile

    I think what vpt (and me) were hoping for was a way to create an alignment that uses the Xact fit shift. There are all sorts of applications for this. Using the available options in best-fit alignment is not the same, because they do not attempt to fit within a tolerance zone.


    +1!

    Ah, that would be a trick indeed. I'm not quite that tricky.


    Disappointed
  • Back to the original question. Here is some VB code I threw together to show which objects to reference to get the shifted profile deviations. Not sure if this will approach will help you or not. This code works in 2012MR1, but not in 2010MR3 (can't speak for anything in between). In 2010mr3 I get an error working with the FCFCommand object.

    The blue code are the keys. Let me know if you have questions.

    Sub Main()
    Dim pcd As PCDLRN.Application
    Dim dcmd As DimensionCmd
    Dim d() As Double
    
    Set pcd = CreateObject("pcdlrn.application")
    Set dcmd = pcd.ActivePartProgram.Commands("FCFPROF2").[COLOR=#0000cd][B]FCFCommand.ProfileDimension
    [/B][/COLOR]d = dcmd.GetProfilePointInfos([COLOR=#0000cd][B]DEVIATION_INFO[/B][/COLOR], FDATA_PART, "A1")
    
    For I = 0 To dcmd.ProfilePointInfoCount - 1
      Debug.Print d(I)
    Next
    
    End Sub
    



    i'll give this a try, this is more of what i was looking for i think.