hexagon logo

How To Force PCDMIS to Save Results Via Automation ?

Hi All,

I have a strange problem where I have automated the tip selection to be calibrated and select these via automation.

I'm an IT guy and using PCDMIS offline to test and everything works e.g. results file gets updated etc.

When I go live on the cmm, the probe goes through the motions after my .Qualify command and calibrates all the tips, but does not update the XYZ, diameter etc to the probe tip data, or output the ProbeFileName.results file ?

Am I missing something here ?

Do I need to re-interogate some Automation feature to access the results and create my own results file ?

Or do I need to set a particular property to make dmis save the results file ?

I'm not issuing DMIS commands to the program, just using Automation with all the standard objects and properties.

Cheers,

Dougie.
  • Further update. Catching machine events returns all the calibration hits to my application, though I'm still not getting any 'OnObjectExected' events which is strange.

    Is there a function or method I can call to convert this hit data to the x,y,z offsets of the tip ?

    I get five hits from the probe returned (although this could be any number i'm sure).

    I need to know how to convert this hit data to the figures that would be saved against the tip on pcdmis qualification.

    Can anyone help ?

    Cheers,

    Dougie
  • This is how to access probe data thru the edit window

    PROBEDATA can get you much info.


    assign/v1=PROBEDATA() this gives active probe tip


    assign/v2=PROBEDATA("TOFFSET") this gives THEO offset


    assign/v3=PROBEDATA("OFFSET") this gives actual offset


    assign/v4=PROBEDATA("VECTOR") this gives vector


    assign/v5=PROBEDATA("A") this gives "A" angle of wrist


    assign/v6=PROBEDATA("B") this gives "B" angle of wrist


    assign/v7=PROBEDATA("TDIAM") this gives THEO tip diam


    assign/v8=PROBEDATA("DIAM") this gives actual tip diam


    assign/v9=PROBEDATA("DATE") this gives date of last qual


    assign/v10=PROBEDATA("TIME") this give time of last qual


    assign/v11=PROBEDATA("STANDARDDEVIATION") this gives STDDEV






    For any other (not current tip rotation in use) ex. T1A9045B0


    assign/v2=PROBEDATA("TOFFSET","T1A9045B0") this gives THEO offset


    assign/v3=PROBEDATA("OFFSET","T1A9045B0") this gives actual offset


    assign/v4=PROBEDATA("VECTOR","T1A9045B0") this gives vector


    assign/v5=PROBEDATA("A","T1A9045B0") this gives "A" angle of wrist


    assign/v6=PROBEDATA("B","T1A9045B0") this gives "B" angle of wrist


    assign/v7=PROBEDATA("TDIAM","T1A9045B0") this gives THEO tip diam


    assign/v8=PROBEDATA("DIAM","T1A9045B0") this gives actual tip diam


    assign/v9=PROBEDATA("DATE","T1A9045B0") this gives date of last qual


    assign/v10=PROBEDATA("TIME","T1A9045B0") this give time of last qual


    assign/v11=PROBEDATA("STANDARDDEVIATION","T1A9045B0") this gives STDDEV




    Hope this helps you


    Steve
  • assign/v1=PROBEDATA() this gives active probe tip

    Basic Script =

    Set DmisCommand = DmisCommands.Add(ASSIGNMENT,True)
    dmisCommand.Marked = True
    retval = DmisCommand.PutText("V1",DEST_EXPR,0)
    retval = DmisCommand.PutText("PROBEDATA"(""PROBEDATA(""TOFFSET"")",SRC_EXPR,0)
  • This looks promising but can you confirm that I can access this data and it will be updated after I have issued the .Qualify command ?

    Or is this the same data I can get by querying the tip object ?

    From the look of above, I should wait until I have received all the hits (which I can detect), then query this data ?

    Does that sound correct ?

    Please remember I am automatically selecting the tips I want calibrated from my application. This is working and the probe does it's duty and calibrates all the tips - I just need to acces the results.

    Cheers,

    Dougie.
    p.s. sorry for so many questions. I'm at home now for the weekend, though I may pop in tomorrow to try this Slight smile
  • Tried the Dmis commands above but all it's doing is adding these lines to the part program. I don't want the part program changed at all.

    Can I use GetText in the same way just to read this probe data from PCDMIS ?

    Cheers,

    Dougie
  • No, GetText fetches text from the PC-DMIS commands in the partprogram.

    You should be able to retrieve the information you are requesting through the TIP object?

    Tip.IJK
    Tip.MeasXYZ
    Tip.XYZ
  • Yes vpt, I can access and update those properties via my application. The problem is, when the .Qualify command is issued via my app, PCDMIS does not update the probe/tip data file.

    It appears I must update the result values manually, but how do I access the results ? Which vars do I need to access ?
  • Then you might have stumbled upon a bug - most logical would be that the values are updated automagically after each qualify.

    According to the PC-DMIS Basic / automation helpfile, that is where these settings should be available.

    Does the Tip.StandardDeviation update/change after each qualify?
  • Nothing at all gets updated in the tip data.

    Really bugging me this as it all works offline as it should.
  • Am I missing something obvious I should be doing ?

    e.g. Should I be creating a ReportWindow object or something to gather the calibration results ?