Hallo,
ich muss das Thema noch mal aufleben lassen.
Ich habe ein Problem bei der Ausführungen von Assistenten entdeckt.
Wenn ich z.B. den Assistenten "Surface" aufrufe und den "Post G Code"-Button drücke, dann ruft Mach3 anscheinend zuerst das Makro zum Starten des "Bauteil Ausrichten" auf. Bei mir heißt das "M1030.m1s mit folgenden Inhalt:
Sub Main()
	TouchG
	'Probe 100,0,0
end sub
#Expand <\..\..\macros\01_ESS-DualPort\ProbeFunktionen> 
Das heißt, es beginnt die Maschine den ersten Punkt zu suchen, findet diesen natürlich nicht, da kein Taster angeschlossen ist. 
Ausgelöst wird die Geschichte durch den letzten Befehl (Call LoadTeachFile) im Assistenz-Makro (Surface). Ich finde keine Möglichkeit den Start des "Bauteil ausrichten" zu verhindern.: 
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
 Code "F" & FeedFinish
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
Code "G00 Z" & SafeZ
Code "G00 X" & XToolDown & " Y" & YToolDown
Code "M30"
CloseTeachFile
Call LoadTeachFile
End Sub
Main
Bei "Call LoadTeachFile" wird aus der "Surface"-Oberfläche in das Hauptfenster von Mach3 umgeschaltet.
Weiß jemand, was man da machen kann?
Gruß