Hallo zusammen
Ich hab eine Frage zum beigefügten Programm Code.
Und zwar ich hab bei einer Büchse eine Außen Zylinder Messung via Einzelpunkte mit einem vierfach Stern Taster aus programmiert.
Zu erst werden vier Punkte Axial zur Z Achse angetastet.
Dann verfährt die Maschine radial und es werden die nächsten vier Punkte angetastet, usw.
Wie bekomme ich es hin das beim radialen verfahren von CLP zu CLP die Maschinen einen Bogen verfährt ähnlich den GENCLP Befehl?
----------------------------------------------------------------
MOVCMM (TYP=ABS, DST=(540,2450,-300), CSY=REFR$CSY)
CONCAT (NAM=~TASTER, STR=('PRB(',45,')'), RLS=Y, INI=Y)
USEPRB (NAM=~TASTER)
GETVALS (OBJ=~TASTER, TYP=PRB, RDS=(D,Y), REA=(PRBDIA,YPRBL))
MOVCMM (TYP=ABS, DST=(540,2450,-350), CSY=REFR$CSY)
USECSY (NAM=CSY2)
INPUTVAL (NAM=Z(1), VAL=-38, NA2=Z(2), VL2=-70, NA3=Z(3), VL3=-103, NA4=Z(4), VL4=-140)
SAFTYDIA1=870
SAFTYDIA2=690
MOVCMM (TYP=ABS, DST=(0,SAFTYDIA1/2,Z(1)))
!
!vier Punkte Axial acht Punkte Radial mit Sicherheits CLP
!I für radiale Abtastungen
DO (NAM=I, BGN=1, END=8, DLT=1)
If (BXP=REA:I==1)
USEPRB (NAM=PRB(45))
EndIf
If (BXP=REA:I==3)
USEPRB (NAM=PRB(46))
EndIf
If (BXP=REA:I==5)
USEPRB (NAM=PRB(47))
EndIf
If (BXP=REA:I==7)
USEPRB (NAM=PRB(48))
EndIf
!E für Z Tiefe
DO (NAM=E, BGN=1, END=4)
DELETE (NAM=PNTGEN, CNF=N, TYP=ELE, STY=ALL)
If (BXP=REA:E == 1)
CRSUBTYP (NAM=PNTGEN, LIN=4, DEL=Y, TYP=ELE, STY=NPT)
PUTVALS (OBJ=PNTGEN.NOM.PTS(1), RDS=(X,Y,Z,U,V,W), VAL=(0,(SAFTYDIA1/2),Z(E),0,1,0), CDS=T, STR=CLP)
PUTVALS (OBJ=PNTGEN.NOM.PTS(2), RDS=(X,Y,Z,U,V,W), VAL=(0,(SAFTYDIA2/2),Z(E),0,1,0), CDS=T, STR=CLP)
PUTVALS (OBJ=PNTGEN.NOM.PTS(3), RDS=(X,Y,Z,U,V,W), VAL=(0,(DIA3/2),Z(E),0,1,0), CDS=T, STR=PRB)
PUTVALS (OBJ=PNTGEN.NOM.PTS(4), RDS=(X,Y,Z,U,V,W), VAL=(0,(SAFTYDIA2/2),Z(E),0,1,0), CDS=T, STR=CLP)
!PUTVALS (OBJ=PNTGEN.NOM.PTS(5), RDS=(X,Y,Z,U,V,W), VAL=(0,(SAFTYDIA1/2),Z(E),0,1,0), CDS=T, STR=CLP)
!
ElseIf (BXP=REA:E == 2 || REA:E == 3)
CRSUBTYP (NAM=PNTGEN, LIN=3, DEL=Y, TYP=ELE, STY=NPT)
!PUTVALS (OBJ=PNTGEN.NOM.PTS(1), RDS=(X,Y,Z,U,V,W), VAL=(0,(SAFTYDIA1/2),Z(E),0,1,0), CDS=T, STR=CLP)
PUTVALS (OBJ=PNTGEN.NOM.PTS(1), RDS=(X,Y,Z,U,V,W), VAL=(0,(SAFTYDIA2/2),Z(E),0,1,0), CDS=T, STR=CLP)
PUTVALS (OBJ=PNTGEN.NOM.PTS(2), RDS=(X,Y,Z,U,V,W), VAL=(0,(DIA3/2),Z(E),0,1,0), CDS=T, STR=PRB)
PUTVALS (OBJ=PNTGEN.NOM.PTS(3), RDS=(X,Y,Z,U,V,W), VAL=(0,(SAFTYDIA2/2),Z(E),0,1,0), CDS=T, STR=CLP)
!PUTVALS (OBJ=PNTGEN.NOM.PTS(5), RDS=(X,Y,Z,U,V,W), VAL=(0,(SAFTYDIA1/2),Z(E),0,1,0), CDS=T, STR=CLP)
!
ElseIf (BXP=REA:E == 4 )
CRSUBTYP (NAM=PNTGEN, LIN=4, DEL=Y, TYP=ELE, STY=NPT)
PUTVALS (OBJ=PNTGEN.NOM.PTS(1), RDS=(X,Y,Z,U,V,W), VAL=(0,(SAFTYDIA2/2),Z(E),0,1,0), CDS=T, STR=CLP)
PUTVALS (OBJ=PNTGEN.NOM.PTS(2), RDS=(X,Y,Z,U,V,W), VAL=(0,(DIA3/2),Z(E),0,1,0), CDS=T, STR=PRB)
PUTVALS (OBJ=PNTGEN.NOM.PTS(3), RDS=(X,Y,Z,U,V,W), VAL=(0,(SAFTYDIA2/2),Z(E),0,1,0), CDS=T, STR=CLP)
PUTVALS (OBJ=PNTGEN.NOM.PTS(4), RDS=(X,Y,Z,U,V,W), VAL=(0,(SAFTYDIA1/2),Z(E),0,1,0), CDS=T, STR=CLP)
EndIf
!
TRAOBJ (NEW=PNTOUT(10*I+E), OLD=PNTGEN, ANG=-22.5+(45*(I-1)), AXI=+Z, RPL=Y, DTY=ELE, REF=CSY2)
MEPNT (NAM=PNTOUT(10*I+E), CSY=CSY2, MOD=NOE)
ENDDO ENDDO
!
!Auswerten der Durchmesser als Kreis
DO (NAM=J, BGN=1, END=4)
CRSUBTYP (NAM=A(J+11).EVA, LIN=4, TYP=ELE, STY=EVA)
PUTVALS (OBJ=A(J+11).EVA(3), RDS=(A,B,C), VAL=(0,0.035,-0.035))
PUTVALS (OBJ=A(J+11).EVA(4), RDS=(A,B,C), VAL=(0,0.035,-0.035))
PUTVALS (OBJ=A(J+11).EVA(2), RDS=(A,B,C), VAL=(DIA3,OT3,UT3))
PUTVALS (OBJ=A(J+11).EVA(1), RDS=(A,B), VAL=(0,0.05))
DO (NAM=I, BGN=1, END=8)
COLPTS (NAM=A(J+11), CSY=CSY2, DEL=N, ELE=PNTOUT(10*I+J))
ENDDO
CVREACHS (NAM=~DIA3, VAL=DIA3, INT=N, ANG=N, SPZ=N, RLS=Y, RTZ=Y)
CVREACHS (NAM=~OT3, VAL=(OT3), INT=N, ANG=N, SPZ=N, RLS=Y, RTZ=Y)
CVREACHS (NAM=~UT3, VAL=(UT3), INT=N, ANG=N, SPZ=N, RLS=Y, RTZ=Y)
CONCAT (NAM=~TxtLine(1), STR=CHECKED THE FEATURE DIAMETER, LMG=1, RLS=N, INI=Y)
CONCAT (NAM=~TxtLine(2), STR=(~DIA3,g6,' ',(,~OT3,' ',~UT3,),), LMG=1, RLS=N, INI=Y)
CONCAT (NAM=~A(J+11), STR=(~TxtLine(1),' ',~TxtLine(2),), LMG=1, RLS=N, INI=Y)
CVSTRTXT (TXT=A(J+11), LIN=1, STR='~A(J+11)')
BLDCIR (NAM=A(J+11), CSY=CSY2, INO=I, ITY=GSS, CTY=NO)
ENDDO
Vielleicht habt ihr eine Idee!
P.S. Warum kann man hier keine Anhänge beifügen?
Ich wollt die .txt Datei beifügen, war aber nicht möglich.
Mit freundlichen Grüßen
Michael
Q7 Messung Außen Zylinder
Moderator: messtronik
-
- Beiträge: 59
- Registriert: Mo Feb 22, 2021 6:12 pm
Re: Q7 Messung Außen Zylinder
Hi Michi,
lass mich es
so sagen: Wenn jede Messung so aufwendig zu programmieren wäre, würde Quindos wahrscheinlich keine Chance haben.
Es gibt für die meisten Aufgaben Anweisung, die Kunst liegt in richtigen Reihenfolge und Strategie.
Dein Ziel: Messe einen Aussenzylinder mit einem Sterntaster.
! Schritt 1, Generiere einen Zylinder
! Hier kannst Du später Variablen setzen - um Dein Programm flexibel zu gestalten
GENCYL
! Schritt 2, hier die Fahrwege erstellen - NPTs mit CLPs ereitern
GENCLP
! Schritt 3, Messen des Elements
MeasCyl
!!!! Alternative, generieren und messen von Kreisen:
GENCIR
GENCLP
MeasCir2D
CirToCyl
Danke an unseren Kollegen Harsha!
Gutes Gelingen - gruss Jörg
PS: Unter dem Eingabefeld und speichern, findest du die Option Dateianhänge.
lass mich es
so sagen: Wenn jede Messung so aufwendig zu programmieren wäre, würde Quindos wahrscheinlich keine Chance haben.
Es gibt für die meisten Aufgaben Anweisung, die Kunst liegt in richtigen Reihenfolge und Strategie.
Dein Ziel: Messe einen Aussenzylinder mit einem Sterntaster.
! Schritt 1, Generiere einen Zylinder
! Hier kannst Du später Variablen setzen - um Dein Programm flexibel zu gestalten
GENCYL
! Schritt 2, hier die Fahrwege erstellen - NPTs mit CLPs ereitern
GENCLP
! Schritt 3, Messen des Elements
MeasCyl
!!!! Alternative, generieren und messen von Kreisen:
GENCIR
GENCLP
MeasCir2D
CirToCyl
Danke an unseren Kollegen Harsha!
Gutes Gelingen - gruss Jörg
PS: Unter dem Eingabefeld und speichern, findest du die Option Dateianhänge.