586.393 aktive Mitglieder*
2.520 Besucher online*
Kostenfrei registrieren
Einloggen Registrieren

Macro - User Task, cirkel ein, cirkel rund, cirkel raus

Beitrag 17.02.2007, 19:38 Uhr
LeonH
LeonH
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 20.01.2007
Beiträge: 33

Tag,

Die erste macro ich machte funktionieret okay, mit R-komp im cirkel ein, rund und cirkel raus.
Aber ich konte maximal einen 10mm fr. für ein 20mm loch benütchen, und das nicht gut when ich schon einen 12mm und 16mm fr. im kette habe.

Jetz möchte ich einen neuen machen und in dieser muss ich der D-värdie wissen von wkt.nr 5

Aber etwas ist falsh !! coangry.gif

Rufe/suche ich der värdie korrekt ??
Und es seht aus als Y nicht 100 vird, when ich G41 rufe (ohne bevägung!!).
Und das loch verschibt sich im Y !!

HILFE !!!

***
(CALL MACRO)
G113 LR=100 LQ=20 LZ=-4 F1220 D5
***
OICIR (G113)
()
(PRE-POS. IM LOCH CENTER)
()
(MACRO BESCH.)
(CIRKEL EIN)
(360 RUND IM R-COMP. MIT ODER OHNE INT.POL.HELICAL)
(TASCHE ODER NICHT)
(CIRKEL RAUS)
()
(LR=LOCH RADIUS)
(LQ=WIETERHOLUNGEN)
(MUSS 1 ODER GRÖSSER SEIN)
(LZ=INCREMENTEL Z FÜR HELICAL)
(MUSS 0 ODER WENIKER SEIN)
()
VC1=VDCOD (AKTIVE D-NUMMER)
VC2=VTOFD[VC1] (VÄRDI VON D-NUMMER)
VC3=LR-VC2 (LOCH RADIUS - D-VÄRDI)
()
G40 G91 G3 X0 Y=VC3 J=VC3/2 (CIRKEL IN)
G91 G1 G41 X0 Y0 (R-KOMP.AKTIVE LINKER SEITE)
COPY Q=LQ (WIETERHOLUNGEN)
G91 G3 X0 Y0 J=-LR Z=LZ (LOCH INT.POL.HELICAL)
COPYE (WIETERHOLUNGEN ENDE)
IF [HZ EQ 0] N10 (TASCHE ODER NICHT)
G91 G3 X0 Y0 J=-LR (TASCHE REÜMEN)
N10 G40 (R-KOMP. ENDE)
G91 G3 X0 Y=-VC3 J=-VC3/2 (CIRKEL RAUS)
G90 (ABSOLUTE)
RTS (RETURN TO SENDER)
%

***

SAMPLE WITH VALUES

VC1=5 (ACTIVE CUTTER OFFSET NO - D-NUMBER)
VC2=20 (VALUE OF D OF ACTIVE CUTTER OFFSET NO.)
VC3=100-20 (HOLE RADIUS - D-VALUE)
()
G40 G91 G3 X0 Y80 J40 (CIRCLE IN)
G91 G1 G41 X0 Y0 (ACTIVATE CUTTER COMP.)
COPY Q20 (REPEAT)
G91 G3 X0 Y0 J-100 Z-4 (360 HOLE INT.POL.HELICAL)
COPYE (REPEAT END)
IF [HZ EQ 0] N10 (IF NOT HELICAL DONT CLEAN UP)
G91 G3 X0 Y0 J-100 (BOTTOM CELAN UP)
N10 G40 (KILL CUTTER COMP.)
G91 G3 X0 Y-80 J-40 (CIRCLE OUT)
G90 (ABSOLUTE)
RTS (RETURN TO SENDER)
%


--------------------
Best/MfG/Hilsen

Leon, Denmark
TOP    
Beitrag 18.02.2007, 00:34 Uhr
MoriSven
MoriSven
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 22.06.2006
Beiträge: 14

Dann probier das mal. Das haut garantiert hin. Ich hoffe das ich das jetzt so hinhab, wie du es dir vorstellst.. aber vielleicht hab ich dich da auch falsch verstanden... Ist schon sehr spät und hab wenig geschlafen :-)

Sven


OX112 (G112 - G42)
CALL OX11A PS=PS PQ=PQ PD=PD PZ=PZ PK=PK PA=PA PG1=2 PG2=42 PR=1
RTS
OX113 (G113 - G41)
CALL OX11A PQ=PQ PS=PS PD=PD PZ=PZ PK=PK PA=PA PG1=3 PG2=41 PR=-1
RTS
OX11A
ERR=110+PG1
IF[PD EQ EMPTY]NA1
IF[PS NE EMPTY]NA
IF[PZ EQ EMPTY]NA2
NA IF[PK EQ EMPTY]NA3
IF[PK NE 0]N1
IF[PA EQ EMPTY]NA4
N1 CODE=VGCOD[12]
CALL OWSP
FRR=VTOFD[VC6]
RAD=PD/2
IF[FRR LE 0 ]NA5
IF[FRR GE RAD]NA6
DIAG=[RAD+FRR]/2
REST=[[RAD-DIAG]*1.4142135]+FRR
IF[PK GT 1]N2
G0 G90 Z=PZ
GOTO N3
N2 FOR=VFCOD/[[[VGCOD[13]-94]*990]+10]
G1 G90 Z=PZ F=FOR/PK
F=FOR
GOTO N4
N3 IF[PK NE 0]N4
IF[REST LT [RAD-PA]]N5
N4 G1 G91
GOTO N6
N5 G0 G91
N6 G=PG2 D=VC6 X=-[RAD-DIAG] Y=-DIAG*PR
G=PG1 X=-DIAG Y=DIAG*PR R=DIAG Z=PS*.25
NL I=RAD Z=PS PQ=PQ-1
IF[PQ GT 0]NL
X=DIAG Y=DIAG*PR R=DIAG Z=PS*.25
IF[PK EQ 0]N7
G1
GOTO N8
N7 G0
N8 G40 X=[RAD-DIAG] Y=-DIAG*PR
GOTO NEND
NA5 VUACM[1]='WzRadius pruefen'
GOTO NAM
NA6 VUACM[1]='Wz zu gross'
GOTO NAM
NA3 VUACM[1]='K fehlt'
GOTO NAM
NA4 VUACM[1]='A fehlt'
GOTO NAM
NA1 VUACM[1]='D fehlt'
GOTO NAM
NA2 VUACM[1]='Z fehlt'
NAM CALL OENDE ERR=ERR
NEND G90 G0 Z=VC3
G=CODE
RTS
TOP    
Beitrag 18.02.2007, 11:15 Uhr
LeonH
LeonH
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 20.01.2007
Beiträge: 33

QUOTE (MoriSven @ February 18, 2007 12:34 am)
Dann probier das mal. Das haut garantiert hin. Ich hoffe das ich das jetzt so hinhab, wie du es dir vorstellst.. aber vielleicht hab ich dich da auch falsch verstanden... Ist schon sehr spät und hab wenig geschlafen :-)

Sven

....
NA2 VUACM[1]='Z fehlt'
NAM CALL OENDE ERR=ERR
....



Tag,

PS=PS (helical Z per rev.)
PQ=PQ (pocket queary - wieterholungen)
PD=PD (pocket diameter)
PZ=PZ (Z start hight "R")
PK=PK (feed)
PA=PA ???????? arc
PG1=2 (G - CW, CCW)
PG2=42 (G - eft or right)
PR=1 ?????
D= r-komp.

Was macht OWSP und OENDE ??
Und VUACM habe isc nicht im arkive !

Funktioniert eure macro auch auswendig oder nur loch/tasche ?

---

Ich have es mal ohne wkt-komp wersucht.
Ist ja nicht notwendig wenn man der R-värdi schon im program have.
Ich have dieser nocht nicht probiert

(CALL MACRO)
G56 H5 D5 X100 Y100 Z50
Z1
G1 Z0 F200 (OBER Z-XXX FALS HZ=0)
G113 HR=100 HQ=20 HZ=-4 F1220 D5
***
OICIR (G113)
()
(LEON HULSTROEM)
(180207)
(REV.003)
()
(POS. I HUL CENTER)
(I Z0 VED HELICAL)
(ELLER I Z- VED HZ=0)
()
(MACRO BESKRIVELSE)
(CIRKEL IN)
(CIRKEL RUNDT 360GR. MED ELLER UDEN HELICAL)
(RYD BUND ELLER EJ)
(CIRKEL UD)
()
(HR=HUL RADIUS)
(HQ=GENTAGELSER)
(SKAL VAERE ST0RRE END 0)
(HZ=INCREMENTEL Z FOR HELICAL)
(SKAL VAERE 0 ELLER MINDRE)
()
(VARIABEL KONTROL FINDES ELLER EJ)
IF [HR EQ EMPTY ] NALM1
IF [HQ EQ EMPTY ] NALM2
IF [HZ EQ EMPTY ] NALM3
IF [D EQ EMPTY ] NALM4
IF [F EQ EMPTY ] NALM5
()
(VARIABEL VAERDI KONTROL)
IF [HR LE 0 ] NALM6
IF [HQ LT 1 ] NALM7
IF [HZ GT 0 ] NALM8
()
VC1=VTOFD[VDCOD]
VC2=HR-VC1
IF [VC2 LE 0 ] NALM9
()
G40 G91 G3 X0 Y=VC2 J=VC2/2
COPY Q=HQ
G3 J=-VC2 Z=HZ
COPYE
IF [HZ EQ 0] N10
G3 J=-VC2
N10 G3 X0 Y=-VC2 J=-VC2/2
()
(** ALARMER **)
NALM1 (ALARM "HR=XX" MANGLER)
VNCOM[1]=1
MSG(ALARM "HR=XX" HUL RADIUS MANGLER I G113)
M00
NMSG
VNCOM[1]=0
GOTO NEND
NALM2 (ALARM "HQ=XX" GENTAGELSE MANGLER)
VNCOM[1]=1
MSG(ALARM "HQ=XX" GENTAGELSE MANGLER I G113)
M00
NMSG
VNCOM[1]=0
GOTO NEND
NALM3 (ALARM "HZ=XX" MANGLER)
VNCOM[1]=1
MSG(ALARM "HZ=XX" MANGLER I G113)
M00
NMSG
VNCOM[1]=0
GOTO NEND
NALM4 (ALARM "D" MANGLER)
VNCOM[1]=1
MSG(ALARM "D" MANGLER)
M00
NMSG
VNCOM[1]=0
GOTO NEND
NALM5 (ALARM "F" MANGLER)
VNCOM[1]=1
MSG(ALARM "F" MANGLER)
M00
NMSG
VNCOM[1]=0
GOTO NEND
()
NALM6 (ALARM "HR" ER FOR LILLE)
VNCOM[1]=1
MSG(ALARM "HR" ER FOR LILLE)
M00
NMSG
VNCOM[1]=0
GOTO NEND
NALM7 (ALARM "HQ" GENTAGELSE SKAL VAERE 1 ELLER ST0RRE)
VNCOM[1]=1
MSG(ALARM "HQ" GENTAGELSE SKAL VAERE 1 ELLER ST0RRE)
M00
NMSG
VNCOM[1]=0
GOTO NEND
NALM8 (ALARM "HZ" SKAL VAERE 0 ELLER MINUS)
VNCOM[1]=1
MSG(ALARM "HZ" SKAL VAERE 0 ELLER MINUS)
M00
NMSG
VNCOM[1]=0
GOTO NEND
NALM9 (ALARM FRAESER ER FOR STOR TIL HUL)
VNCOM[1]=1
MSG(ALARM FRAESER ER FOR STOR TIL HUL)
M00
NMSG
VNCOM[1]=0
GOTO NEND
()
NEND G90
RTS
%


--------------------
Best/MfG/Hilsen

Leon, Denmark
TOP    



1 Besucher lesen dieses Thema (Gäste: 1)
0 Mitglieder: