Le Deal du moment : -23%
(Black Friday) Apple watch Apple SE GPS 44mm ...
Voir le deal
199 €

modifier un assistant , possible ?

2 participants

Aller en bas

modifier un assistant , possible ? Empty modifier un assistant , possible ?

Message  franck67530 Jeu 21 Nov 2019 - 10:43

salut

il y a un assistant que j'aimerais utiliser , c'est le surfacage en X , mais une chose m'embete c'est qu'il prend des passes en avalant et en opposition , hors j'aimerais savoir si il est possible de modifier la macro pour qu'il ne puisse plus que travailler dans un sens , prendre uniquement la passe en avalant et retour depart sans prise de passe

possible ou pas ? comment faire ? dans quel repertoire trouver ces macros ?

merci pour votre aide
franck67530
franck67530
acharné du forum
acharné du forum

Messages : 449
Points : 501
Date d'inscription : 21/09/2017
Age : 59
Localisation : alsace

Revenir en haut Aller en bas

modifier un assistant , possible ? Empty Re: modifier un assistant , possible ?

Message  dh42 Mer 8 Jan 2020 - 0:41

Salut,

Je tombe par hasard sur ton post que je n'avais pas vu.

Oui, les assistants peuvent se modifier de la même manière que Mach3 lui-même ; il faut utiliser MachScreen pour accéder aux écrans et au code de programmation. Dans ce cas, tous le code de programmation est "accroché" au bouton "Post GCode" ... il faut donc que tu t'y connaisse suffisamment en programmation Visual Basic pour le modifier.

Ils sont dans C:\Mach3\Addons ; le fichier à ouvrir sous MachScreen est un fichier .set

voici le code de programmation complet de l'assistant "Surfacing with tool down in X"

Code:
Sub Main()
DoOEMButton (169)
FeedRough = Abs(GetOEMDRO(1070))
FeedFinish = Abs(GetOEMDRO(1083))
ToolDia = Abs(GetOEMDRO(1071))
ToolRad = ToolDia / 2
StepOverPercent = Abs(GetOEMDRO(1096))
 
XPOS = GetOEMDRO(1072)
YPOS = GetOEMDRO(1073)
ZStart = GetOEMDRO(1084)

Tool_Offset_X = Abs(GetOEMDRO(1078))
Tool_Offset_Y = Abs(GetOEMDRO(1082))
SafeZ = Abs(GetOEMDRO(1079))

Length = Abs(GetOEMDRO(1080))
Width = Abs(GetOEMDRO(1081))
Depth = Abs(GetOEMDRO(1075))

StepDepth = Abs(GetOEMDRO(1076))
Clearance = StepDepth * 1.5
FinalCutDepth = Abs(GetOEMDRO(1095))
 ' test inputs

If FinalCutDepth = 0 Then
    Code "(MSG,Final Cut Depth can't be zero)"
End If

If StepOverPercent = 0 Then
    Code "(MSG,Tool Step Over Percentage can't be zero)"
End If

If StepOverPercent > 100 Then
    Code "(MSG,Tool Step Over Percentage can't be > 100%)"
End If

If FinalCutDepth = StepDepth Then
    Code "(MSG,Final Cut Depth can't be equal to Step Depth)"
End If

If FeedRough = 0 Then
    Code "(MSG,Feed Rate can't be zero)"
End If

If StepDepth > Depth Then
    StepDepth = Abs(Depth)
End If

If StepDepth = 0 Then
    Code "(MSG,Step down can't be zero)"
End If

If Length = 0 Then
    Code "(MSG,Length can't be zero)"
End If

If Depth = 0 Then
    Code "(MSG,Depth can't be zero)"
End If

If Width = 0 Then
    Code "(MSG,Width can't be zero)"
End If

If SafeZ <= ZStart Then
    Code "(MSG,********  SafeZ <= ZStart  *******)"
End If

If ToolDia = 0 Then
    Code "(MSG,Tool Diameter can't be zero)"
End If
  
OpenTeachFile "FaceStockX.tap"

XStart = XPOS - Tool_Offset_X + ToolRad
YStart = YPOS - Tool_Offset_Y + ToolRad
XFinal = XPOS + Length + Tool_Offset_X - ToolRad
YFinal = YPOS + Width + Tool_Offset_Y - ToolRad

If Width < ToolDia Then
    YStart = YPOS + ToolRad
    YFinal = YStart
End If

XToolDown = XStart - Tool_Offset_X - ToolDia
YToolDown = YStart

Depth = Depth
StepDepth = StepDepth
StepOverPercent = StepOverPercent / 100

PassNumber = 1
Code "F" & FeedRough

DepthofPass = ZStart - PassNumber * StepDepth
If DepthofPass > ZStart - Depth + FinalCutDepth Then
    Do
        DepthofPass = ZStart - PassNumber * StepDepth
        If DepthofPass <= (ZStart - Depth + FinalCutDepth) Or PassNumber > 2000 Then
            Exit Do
        End If
        
        Code "G00 Z" & SafeZ
        Code "G00 X" & XToolDown & " Y" & YToolDown
        Code "G00 Z" & DepthofPass
        
        PassType = 1
        YpassNo = 0
        Do
            YofPass = YStart + (ToolDia * StepOverPercent * YpassNo)
            If (YofPass >= YFinal) Then
                Exit Do
            End If
            Code "F" & FeedRough
            Code "G01 Y" & YofPass
            Code "G01 X" & XFinal
            
            PassType = PassType * -1
            YpassNo = YpassNo + 1
            
            YofPass = YStart + (ToolDia * StepOverPercent * YpassNo)
            If (YofPass >= YFinal) Then
                Exit Do
            End If
            Code "G01 Y" & YofPass
            Code "G01 X" & XStart
            
            PassType = PassType * -1
            YpassNo = YpassNo + 1
        Loop
        YofPass = YFinal
        Code "G01 Y" & YofPass
        If (PassType = 1) Then
            Code "G01 X" & XFinal
        Else
            Code "G01 X" & XStart
        End If
        PassNumber = PassNumber + 1
    Loop
End If

If FinalCutDepth <> 0 Then
    PassType = 1
    DepthofPass = ZStart - Depth + FinalCutDepth
    
    Code "G00 Z" & SafeZ
    Code "G00 X" & XToolDown & " Y" & YToolDown
    Code "G00 Z" & DepthofPass
    
    YpassNo = 0
    Do
        YofPass = YStart + (ToolDia * StepOverPercent * YpassNo)
        If (YofPass >= YFinal) Then
            Exit Do
        End If
        Code "G01 Y" & YofPass
        Code "G01 X" & XFinal
        
        PassType = PassType * -1
        YpassNo = YpassNo + 1
        
        YofPass = YStart + (ToolDia * StepOverPercent * YpassNo)
        If (YofPass >= YFinal) Then
            Exit Do
        End If
        Code "G01 Y" & YofPass
        Code "G01 X" & XStart
        
        PassType = PassType * -1
        YpassNo = YpassNo + 1
    Loop
    YofPass = YFinal
    Code "G01 Y" & YofPass
    If (PassType = 1) Then
        Code "G01 X" & XFinal
    Else
        Code "G01 X" & XStart
    End If
End If

PassType = 1
DepthofPass = ZStart - Depth

Code "G00 Z" & SafeZ
Code "G00 X" & XToolDown & " Y" & YToolDown
Code "G00 Z" & DepthofPass

YpassNo = 0
Do
    YofPass = YStart + (ToolDia * StepOverPercent * YpassNo)
    If (YofPass >= YFinal) Then
        Exit Do
    End If
    Code "F" & FeedRough
    Code "G01 Y" & YofPass
    Code "G01 X" & XFinal
    
    PassType = PassType * -1
    YpassNo = YpassNo + 1
    
    YofPass = YStart + (ToolDia * StepOverPercent * YpassNo)
    If (YofPass >= YFinal) Then
        Exit Do
    End If
    Code "G01 Y" & YofPass
    Code "G01 X" & XStart
    
    PassType = PassType * -1
    YpassNo = YpassNo + 1
Loop
YofPass = YFinal
Code "G01 Y" & YofPass
If (PassType = 1) Then
    Code "G01 X" & XFinal
Else
    Code "G01 X" & XStart
End If

Code "G00 Z" & SafeZ
Code "G00 X" & XToolDown & " Y" & YToolDown

Code "M30"
CloseTeachFile

Call LoadTeachFile
End Sub


++
David


Dernière édition par dh42 le Jeu 9 Jan 2020 - 0:52, édité 1 fois

_________________
Traduction Française de CamBam et de sa documentation.
dh42
dh42
Admin
Admin

Messages : 25653
Points : 38362
Date d'inscription : 21/06/2009
Age : 60
Localisation : Près de St Etienne (42)

http://dh42.free.fr/

Revenir en haut Aller en bas

modifier un assistant , possible ? Empty Re: modifier un assistant , possible ?

Message  franck67530 Mer 8 Jan 2020 - 8:23

merci David pour ta reponse , hum bon je ne m'y connais pas assez pour ne pas faire de betises , je vais laisser tomber ...

merci quand meme

franck
franck67530
franck67530
acharné du forum
acharné du forum

Messages : 449
Points : 501
Date d'inscription : 21/09/2017
Age : 59
Localisation : alsace

Revenir en haut Aller en bas

modifier un assistant , possible ? Empty Re: modifier un assistant , possible ?

Message  Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum