BASIS-Skripte für MD-Dateien

Sie können die Funktionalität, die für Maschinenkonstruktionsdateien bereitgestellt wird, erweitern, indem Sie auf die Anwendungsprogrammierschnittstelle (API) zugreifen. Die Programmierungsumgebung ermöglicht Ihnen, die Maschinenkonstruktionsfunktionen mithilfe der BASIS Programmiersprache anzupassen und zu erweitern.

Einige Funktionalitäten, die unter Verwendung der API in verschiedenen Situationen hinzugefügt wurden, beinhalten:

Typischerweise ist das Programmieren einer dieser Skripte relativ einfach. Häufig ist es möglich, einen ähnlichen Codeblock von einer anderen Maschinen zu kopieren und ihn leicht zu ändern, damit er auch auf einer neuen Maschine funktioniert. Tatsächlich empfhehlen wir, Kopieren-und-Änden für alle Standardfunktionen zu verwenden.

Das BASIS-Skript, das mit einer Maschinenkonstruktionsdatei verknüpft ist, wird komplett von FeatureCAM verwaltet. Dadurch haben Sie keine separate Datei, die im Datei-Browser angezeigt wird. Sie können auf sie nur innerhalb FeatureCAMs und folgendermaßen zugreifen:

  1. Laden Sie Ihre Maschinenkonstruktionsdatei in FeatureCAM.
  2. Drücken Sie die Alt+F11-Tasten auf Ihrer Tastatur. Ein neues Fenster öffnet sich, das den BASIS-Skript enthält, der mit der aktuellen MD-Datei verknüpft ist.

Wichtige Anmerkungen

Ein kleines Beispiel für ein BASIS-Skript für eine MD-Datei, Code zum Öffnen der Backen auf der Haupspindel, finden Sie untenstehend. Annotationen nach dem Code beschreiben einige Schlüsselaspekte, die Sie beachten müssen.

Public Sub MachineSim_spindle( Doc As FeatureCAM.MFGDocument, _

ByVal data As Double, _

ByVal Action As FeatureCAM.tagFMMachineSimSpindleActionType, _

ByVal spindle As Long)

Dim Vw As MFGWindow

Dim Err As Long

Dim i As Integer

Dim dOpen As Double

Dim dCls As Double

Set Vw = Doc.ActiveWindow

Err = 0

i = 0

If( Doc.Metric ) Then

dOpen = 4

dCls = -1

Else

dOpen = .25

dCls = -.125

End If

Vw.SimIgnoreClashes(0)

If( Action = eSimAction_Open And spindle = 0 ) Then

Vw.SimIgnoreClashes(1)

While Err = 0 And i<3

Vw.SimCutMove( "main_jaw_1", dOpen, 0, 0 )

Vw.SimCutMove( "main_jaw_2", dOpen, 0, 0 )

Vw.SimCutMove( "main_jaw_3", dOpen, 0, 0 )

Vw.SimPerformCut Err

If( Err = 0 ) Then

Vw.SimUpdateGraphics

End If

i = i + 1

Wend

End If

End Sub

The MachineSim_spindle routine shown is the hook provided for getting control over spindle actions.

Obwohl Sie Ihre Maschine auf metrische oder imperiale Maßeinheiten festlegen, können andere, die Ihre Datei verwenden, FeatureCAM Dokumente in beiden Maßeinheiten ausführen. Dies bedeutet, dass die MD-Datei alle Einheiten für beide Systeme berechnen oder sie umwandeln muss.

The eSimAction_Open enum weist darauf hin, dass die erzeugte Aktion 'Open' ist. Andere Typen beinhalten eSimAction_Close and eSimAction_Position. Weitere Informationen bezüglich einer vollständigen Liste finden Sie im API-Handbuch.

Die primäre Hauptspindel wird als 0, die Gegenspindel als 1 identifiziert. Dieser Block erfasst also Ereignisse, die nur die Öffnung der Hauptspindel signalisieren.

Schaltet die Kollisionsüberprüfung ab, die Sie manuell im Skript verabeiten müssen.

Bewegungen werden gewöhnlich in einer Schleife ausgeführt, um die Bewegung in kleine Inkremente zu unterteilen. In diesem Fall werden die Backen in drei Schritten geöffnet. Typischerweise können Sie größere Inkremente für Dinge verwenden, bei denen eine Kollision unwahrscheinlich ist. Beim Schließen der Backen jedoch müssen Sie möglicherweise 50 Schritte verwenden, um genau dann zu stoppen, wenn die Backen das Rohteil berühren.

Dies ist der grundlegenden Befehl, um ein Volumen mit linearen Bewegung zu verschieben. (Ein ähnlicher Befehl, SimCutRotate, wird für rotierende Bewegungen verwendet). Alle Kindvolumen, die in der MD-Datei deklariert sind, folgen entsprechend. Der Name des Volumen ist das erste Argument und muss mit dem Namen eines Volumen in der MD-Datei übereinstimmen. Die Bewegung läuft mit Bezug auf das für das Volumen festgelegte LKS ab oder auf das Tischkoordinatensystem, wenn kein LKS definiert ist.

Führen Sie alle spezifizierten Bewegungen aus und führen Sie gleichzeitig eine Kollisionsprüfung durch. Beachten Sie, dass die Bewegungen simulatan und nicht nacheinander durchgeführt werden.

Überprüfen Sie, ob ein Fehler aufgetreten ist. Es kann sich gelegentlich als nützlich erweisen, die Fehlerüberprüfung für das Debuggen abzuschalten. Sie sollten Sie aber wieder aktivieren, sobald das Modelll ordnungsmäßig arbeitet.

Aktualisieren Sie die Grafikanzeige nur, wenn ein Fehler aufgetreten ist.