hexagon logo

How to count those OoT's?

Hello everyone.

I know that many of You have or have had this wish, and many of You have found a solution.
None of them seems to work for me.

I'm running PC-DMIS 2012, and wonder if there might be some software "issues" with this version.

I have tried several of the proposals from the forum, to get the number of OoT out of the measurement, but none of your fine postings seems to work for me.
I have no problems running the script that refresh's the report before printing. So it can't be that.

I have managed to get the counting og the OoT's into the Report-header, and that works 100%, but no matter how I work around it, I can't get it into the program for working with it.

The reason for my frustration is : http://www.pcdmisforum.com/showthread.php?29932-Printing-reports-to-paper-pdf-and-SPC&highlight=paper
And for better understanding, my flow-chart is attached as 'Flowchart for PRINT, PDF & SPC'.

All of the 3 PRINT-functions are finally working just fine, thanks to:
http://www.pcdmisforum.com/showthread.php?29971-Report-Window-Print-Setup-Not-printing-to-correct-location
I get the Paper only, the PDF only and the combined Paper & PDF printed just as I have been looking for.

The above mentioned thread made me help setting up a guide, which is attached as 'Using the PRINT-command'.
Feel free to use and distribute.



Now back to my frustration.

I have tried using the script from AndersI, where he specific mentions that it works for him in PC-DMIS 4.3 MR1
His swedish setup, didn't gave me any trouble :-) , but it doesn't work.
Link: http://www.pcdmisforum.com/showthread.php?30251-Counting-OUTTOL-in-a-program&highlight=AndersI

--- o ---

The surgestions about reading from the ELOGO.DAT

ASSIGN/V1 = GETCOMMAND("File elogo", 1) my understanding - open file elogo, 1 to read in...
ASSIGN/PRINT = GETTEXT("# out of tol", 7,V1) my understanding - gettext or value of # out of tol on the 7th line from file V1 (elogo)

or from the footer

ASSIGN/V1 = GETCOMMAND(File footer", "TOP", 1)
ASSIGN/NC = GETTEXT("numouttol(), 1, V1)

or

ASSIGN/V1 = GETCOMMAND(File footer", "TOP", 1)
ASSIGN/NC = GETVALUE("numouttol(), 1, V1)

doesn't work for me ether.
Don't know if it's because I don't use the footer???

--- o ---

Does any of you have an idea of what's going on?

Isn't there a way to get the number of measures "Out of Tolerance" from my report-header after I have Refreshed it, and into the program, so I can make my flow-chart work, and save a lot of paper.

If anyone of You out there are able to guide me to a solution, I promise to upload my Master, so everyone can copy it, if they want to.


Thanks in advance, I know You have the solution, but maybe not my software-bugs..... Confused


Regards
Mykel
  • I have tried using the script from AndersI, where he specific mentions that it works for him in PC-DMIS 4.3 MR1
    His swedish setup, didn't gave me any trouble :-) , but it doesn't work.
    Link: http://www.pcdmisforum.com/showthread.php?30251-Counting-OUTTOL-in-a-program&highlight=AndersI


    Perhaps you can describe in that thread *how* it doesn't work, and I will take a look?
  • Hello.

    When I write "it doesn't work, I mean I don't get a number return from the script, that I can use.
    I get a 0 (zero), and sometimes nothing (space or empty string).
    My report counts the OoT's perfectly, but I can't find a way to pull that number out from the report.

    When I run my program in Programmers mode, I see the counts at the bottom of the Edit-window, and it's the same number of OoT's as in my report header.
    So everything seems to work just fine.
    It from here it stops.
  • an example of what you are doing goes a long way for people to understand. You have quite a bit going on.
    How is the variable in the report being set? You say it is correct in the report (after doing a refresh which forces a re-evaluation of that variable). Yet you can't get the OOT script to work?

    There is an oldBasic interface for pcdmis which does grab the current number of out of tolerance values (reset at start of full execution). You could place this anywhere and get a running total any time during the execution.

    I know this does not help you but starting in V2013mr1 there is an expression:
    ASSIGN/V1=GETPROGRAMINFO("numoot","")
    which will return the current number of out of tolerance dimensions (same variable as the oldBasic script uses). And can be placed anywhere in the program to give a running total.

    what is meant by:
    When I run my program in Programmers mode

    Attached Files
  • I know it's not easy.
    I am not using all the mentioned possibilities in one program.
    Just mentioned to let you known what I have tried, and what have gone through.

    The variable for the counting in the report header is reset every time the program is started (I suppose). I haven't done anything in the program.

    I'll try you proposal tomorrow, and cross my fingers.

    Programmers mode is where I get the Edit window. My colleagues use the "Operator"-mode, and can't edit the program, only execute them.
  • The variable for the counting in the report header is reset every time the program is started (I suppose)

    What variable? Did you create one? Are you counting each variable that is out in the program? You give pieces of information.
  • There is an oldBasic interface for pcdmis which does grab the current number of out of tolerance values (reset at start of full execution).


    That's a good one! Much easier than my looping around. Are there any limitations on the "oldBasic" interfaces, does it work both for legacy dimensions and FCF:s?
  • does it work both for legacy dimensions and FCF:s

    I have limited knowledge of FCF so all I can say is "maybe". Try a simple test with the OLDBASICSCRIPT.ZIP file attached? All it does is connect to the current part program and request the current number of oot. Its the same variable that is used by the edit window to display the number out for the footer.
  • A small test indicates that it works well - even when the only outtol value is in segment two of a composite FCF, something my own script missed Slight smile
  • My problems / challenges have been solved!

    I took all the codings form this forum, and gave them a name followed by a number.
    I ran a smal test program with 2 OoT and 4 measurement inside the tolerance.

    And finally I found two that gave me the results I was looking for.
    Those two are identical, but Josh Carpenter have updated the first with some credits and history, so I take his version as the last one made.
    Find it here: http://www.pcdmisforum.com/showthread.php?15845-Need-help-on-OUTTOL-BAS-file/page3

    Now I am going to update my programs calling the script.

    My only task, before this is getting help for transferring a string-variable (Msg) back to the program in order to make my own messagebox to my colleagues. I would like the have a message-box telling them the number of OoT's and where these are. The y can now choose to skip the paperprint of the report (in case everything is okay), and we will save a lot of paper.

    So buttomline guys: THANKS a lot for all your help.