Seite 1 von 1

Toleranzüberschreitung zählen und samt Elementnamen ausgeben

Verfasst: So Okt 15, 2023 2:09 pm
von Michi
Hallo zusammen

Ich suche eine Prozedur die die Anzahl der Toleranzüberschreitungen zählt, und diese Anzahl samt Elementnamen und Merkmalstyp als TXT in die LDBTXT schreibt, um diese dann am Ende des Messreport mit LISTXT ausgeben zu können.
Hat hier vielleicht schon jemand so eine Prozedur oder eine Idee wie man das Umsetzen könnte.

Gruß
Michael

Re: Toleranzüberschreitung zählen und samt Elementnamen ausgeben

Verfasst: Mo Dez 11, 2023 11:30 am
von Mätnisse
Hello.

Maybe this is something to start with. Put the code last in the program or make a procedure and execut it whit INDPRC

TESTMBR (REA=NUM_ELE, QUE=$RPO)
OUT_TOL=0
DFNQUE (NAM=$OUT, DEL=Y)
DELTXT (NAM=LIST, CNF=N)
EDTTXT (NAM=LIST, CRE=Y)
PUTSTR (OBJ=LIST, TYP=TXT, STR=NUMBER OF EVALUATION OUT OF TOLERANCE)
PUTVALS (OBJ=LIST, TYP=TXT, STR=#RAD2)
DO (NAM=I$, BGN=NUM_ELE, END=1, DLT=-1)
CRSUBTYP (NAM=$RPO(-I$), TYP=ELE, STY=EVA, REA=NUM_EVA)
If (BXP=NUM_EVA>0)
DO (NAM=C$, BGN=1, END=NUM_EVA, DLT=1)
GETVALS (OBJ=$RPO(-I$).EVA(C$), CDS=Q, CHS=~CONT_PR)
GETVALS (OBJ=$RPO(-I$).EVA(C$), CDS=Z, CHS=~TOL_PR)
GETVALS (OBJ=$RPO(-I$).EVA(C$), CDS=G, CHS=~CS1$)
If (BXP=CHS:~TOL_PR =='GSDfQKXv' || CHS:~TOL_PR =='GSDARfQKXv' || CHS:~CONT_PR == '*' )
Else
IFEXECS (ST1=~CS1$, ST2=S, TYP=EQ, LEN=1, CMD='OUT_TOL=(OUT_TOL+1)')
IFEXECS (ST1=~CS1$, ST2=S, TYP=EQ, LEN=1, CMD=DFNQUE (NAM=$OUT, MBR=$RPO(-I$)))
CVNAMCHS (CHS=~NAM, NAM=$RPO(-I$))
GETVALS (OBJ=$RPO(-I$).EVA(C$), CDS=S, CHS=~EVAL_SYM)
CONCAT (NAM=~NAM_EVA_SYM, STR=(~NAM,"_",~EVAL_SYM), INI=Y)
IFEXECS (ST1=~CS1$, ST2=S, TYP=EQ, LEN=1, CMD=PUTVALS (OBJ=TXT:LIST, TYP=Txt, STR=~NAM_EVA_SYM))
EndIf
ENDDO
EndIf
ENDDO
CVREACHS (NAM=~OUT_TOL, VAL=OUT_TOL, FM2=0, INT=N, ANG=N, SPZ=N, RLS=Y, RTZ=Y)
RPLSTR (NAM=LIST, FRM=#RAD2, TO =~OUT_TOL)
RPOTXT (NAM=LIST, DEV=LP)

Regards Anders

Re: Toleranzüberschreitung zählen und samt Elementnamen ausgeben

Verfasst: So Jan 21, 2024 5:20 pm
von Michi
Thanks, the program code works great