Dokumentation zur Makrotechnik

Die Makrotechnik ist ein separat freizugebendes Softwaremodul, also gegen Aufpreis erhältlich !

  • Die Makrodatei wird aufgerufen über die Funktionstaste F10 in BESgrav. Sie erhalten nach dem Aufruf einen Dateidialog zur Auswahl der Makro-Datei.
  • Mit dem Betätigen des OK-Buttons wird das Makro ausgeführt. Bestätigungen für einen Einzelvorgang sind nicht erforderlich. Sollte es zu einem Fehler bei der Bearbeitung kommen, so wird der Fehler angezeigt und das Makro abgebrochen.
  • Als voreingestellte Extension des Dateidialogs wird ".MAC" genommen. Das voreingestellte Verzeichnis des Dateidialogs ist das Import-Verzeichnis von BESgrav .

Ab 2.58 wird auch ein Makro mitgeliefert, mit dem es möglich ist, aus einer Outline-Schrift z.B. aus einer TrueType-Schrift eine mehrlinige Gravierschrift zu erzeugen. Info zur Erzeugung mehrliniger Schriften.
Hierzu sind außer der Makrofähigkeit auch erforderlich:

  • das Softwarepaket "7) Zeichensatzeditor"
  • für die Bahnerstellung mindestens das Softwarepaket "2a)Fräserradiuskompensation/Taschenfräsen"

Diese Gravierschrift kann dann natürlich nur für eine bestimmten Bereich der Schriftgröße und für ein bestimmtes Werkzeug in Kombination mit der bei der Erzeugung dieser Schrift angegebenen Graviertiefe, verwendet werden. Dies ist aber ohnehin eine Einschränkung bei allen mehrlinigen Gravierschriften.

Beschreibung

  • Parameter in [ ] sind optional.
    • Beispiel: Befehl "NEW []", dieser kann ohne Parameter verwendet werden
      • "NEW" oder mit Parameter: "New G"
        (Die Groß oder Kleinschreibung kann bei den Befehlen beliebig gemischt werden.)
  • Bei mit | abgeteilten Parameter kann eine der Varianten verwendet werden.
  • Steht hinter dem Parameter die Zeichenfolge ($),dann kann auch eine Variable verwendet werden.
    Variablen in der Schreibweise $1 ... $20 sind möglich.

Einzelbefehle - Nach Oben

  • NEW
    • Datenbasis löschen und somit Voreinstellungen setzen.
    • Parameter: [G]
    • Wird der Parameter G mit angegeben, so wird nur der Datenbasis-Inhalt gelöscht, es werden keine Voreinstellungen gesetzt.
    • Beispiel: NEW G

  • LOAD
    • Ein Werkstück laden.
    • Parameter: Verzeichnis des Werkstückes + Name ($)
    • Wird kein Verzeichnis angegeben, so wird das aktuell eingestellte Werkstückverzeichnis genommen.
    • Der Befehl kann verwendet werden zum Laden von Voreinstellungen, die in einem bestimmten Werkstück gespeichert sind.

  • EXECUTE
    • Ein MS-DOS oder Windows-Programm ausführen
    • Parameter: Programmname [Parameter]
    • Diese Befehlszeile wird nicht auf korrekte Syntax geprüft !

  • STORE
    • Datenbasisinhalt und alle anderen Einstellungen als Werkstück speichern.
    • Parameter: Name + Verzeichnis des Werkstückes ($)
    • Wird kein Verzeichnis angegeben, so wird das aktuell eingestellte Werkstückverzeichnis genommen.

  • IMPORT
    • Eine Datei importieren.
    • Parameter:
      • Formatkürzel ($)
      • Verzeichnis + Dateiname der Importdatei ($)
      • Ebene [Lxx]
      • Option [O oder D oder N]
    • Die Einstellungen zum Import werden aus der Voreinstellung genommen, sofern Sie nicht mit den optionalen Parametern gesetzt werden.
    • Gültige Formatkürzel:
      • ISO ISO bzw. DIN66025-Dateien
      • ASC Textformat
      • HPGL HPGL-Dateien (.PLT)
      • DXF DXF-Dateien (bei diesem Format wird die Ebene ignoriert, es wird alles in Ebene 1 importiert)
      • WZB Berechnete Werkzeugbahnen
      • PIXELKonturieren/Glätten von Bitmaps
    • Lxx steht für die Ebenen-Nummer auf die das Importierte gesetzt werden soll (L=Layer)
    • Mit 'O' wird das Importierte auf Anweisungsliste gesetzt (O=Operation-List)
    • Mit 'D' wird das Importierte auf Direktausgabe gesetzt (D=Direct)
    • Mit 'N' wird beim Pixel-Format der Dialog unterdrückt. Das N muss am Ende der Befehlszeile stehen.
    • Wird kein Verzeichnis angegeben, so wird das aktuell eingestellte Importverzeichnis genommen.
    • Beispiel: IMPORT DXF Daten.dxf L01

  • EXPORT
    • Der Inhalt der Datenbasis bzw. das Markierte wird exportiert.
    • Beispiel: EXPORT WZB daten.wzb M
    • Parameter:
      • Formatkürzel ($)
      • Dateiname mit optionalen Pfad davor ($)
        (Der Dateiname muss über einen Punkt und eine Extension dahinter verfügen!)
      • [M]
    • Gültige Formatkürzel:
      • HPGL HPGL-Dateien (.PLT)
      • ISO ISO bzw. DIN-Dateien
      • DXF DXF-Dateien
      • EPS Postscript-Dateien
      • WZB Werkzeugbahndateien
    • Bei gesetzter Option M wird nur das Markierte exportiert.
      • Die Markierung kann z.B. mit dem Markiertool erfolgen.
    • Mit Attribut-Tool kann auch etwas angeklickt werden, das bereits ein Attribut hat. Nach dem Anklicken ist alles dem Attribut zugeordnete farbig hervorgehoben, dies gilt auch als markiert.
    • Sortieren beim Exportieren ist immer aktiviert !

  • CHDIR(ab 2.58)
    • Umdrehen der Konturrichtung der Konturen in einer Werkzeugbahndatei (CHDIR ist die Abkürzung von change direction).
    • Parameter:
      • Dateiname mit den umzudrehenden Konturen ($)
    • Anwendung: Siehe Makro CHDIR.MAC

  • MARK
    • Inhalt der Datenbasis markieren.
    • Werte der Markierrahmens können mit nachfolgendem Befehl GetMarkerInfo abgefragt werden.

  • GetMarkerInfo

    • Informationen zur markierten Geometrie in Variable schreiben
    • Dieser Befehl setzt die Variablen 11 bis 14 !
      • Variable 11: Mitte des Markierten, X-Koordinate
      • Variable 12: Mitte des Markierten, Y-Koordinate
      • Variable 13: Breite des Markierten
      • Variable 14: Höhe des Markierten

  • REF
    • Bezugspunkt einstellen.
    • Parameter:
      • X-Wert
      • Y-Wert

  • DIS
    • Verzerrung des markierten Datenbasisinhaltes ausführen
    • Parameter:
      • Wert für Verzerrung in X
      • Wert für Verzerrung in Y
    • Beispiel: DIS 0,5 1.5

  • MIRROR
    • Markierten Datenbasisinhalt spiegeln
    • Parameter: X |Y für Spiegeln über X- bzw. Y-Achse

  • SHIFT
    • Markierten Datenbasisinhalt auf bestimmte Position schieben
    • Parameter:
      • X-Wert
      • Y-Wert
  • Rect

    • Mit diesem Befehl können Sie in der Datenbasis ein Rechteck erzeugen.
    • Parameter:
      • Mittelpunkt X-Wert ($)
      • Mittelpunkt Y-Wer ($)
      • Breite ($)
      • Höhe ($)
      • Eckenradius ($)
      • Ebenennummer für die Geometrie ($)
    • Möchten Sie ein Rechteck ohne Radius erstellen, so müssen Sie den Eckenradius mit 0 angeben.

  • SetPlateDimension

    • Mit SetPlateDimension können Sie eine neue Werkstückgröße setzen
    • Parameter:
      • Werkstückbreite ($)
      • Werkstückhöhe ($)

  • UpRound

    • Der Befehl UpRound dient zum Aufrunden von Zahlen.
    • Parameter:
      • Variable, dessen Wert gerundet werden soll ($)
      • Rundungswert
    • Für den Rundungswert können Sie z. B. "0.5" eingeben.
      Dann wird die übergebene Variable auf die nächsten vollen 0.5 mm gerundet.

     

  • DEFTOOL (ab 2.58)
    • Werkzeugdaten im Werkstück setzen
    • Parameter:
      • Werkzeugnummer im Bereich 1 bis 999
      • Spitzendurchmesser oder Durchmesser des Werkzeuges
      • Winkel des Werkzeuges in Grad
    • Es können Zylinderfräser und Stichel definiert werden. Bei Winkel 0 Grad wird von einem Zylinderfräser ausgegangen. Bei Winkel größer 0 Grad entsprechend von einem Stichel. Der Schaftdurchmesser des Stichels wird auf 3 mm gesetzt.
    • Der DEFTOOL-Befehl wirkt nur auf die Werkstück-Werkzeuge. Die Werkzeugdaten der Datenbank werden nicht verändert.
    • Beispiele
      • Das Werkzeug 55 wird mit einem Spitzendurchmesser von 0.3 mm und einem Winkel von 20 Grad gesetzt:
        DEFTOOL 55 0.3 20
      • Das Werkzeug 56 wird als Zylinderfräser mit einem Durchmesser von 3 mm gesetzt:
        DEFTOOL 56 3.0 0

Befehle für die Anweisungsliste: - Nach Oben

S Spitzen
RS Räumen Schraffur
RRS Resträumen Schraffur
RK Räumen Konturparallel
RRK Resträumen Konturparallel
U 2D-Umfahren
RU Rest-2D-Umfahren

Obige Befehle haben den gleichen Aufbau in den Parametern.

  • Parameter:
    • AUTO | IAUTO | LEFT | RIGHT | INSIDE | OUTSIDE | NONE ($)
      • Bezeichner für die verwendete Kompensationsart
    • [A] | [Lxx Lxx Lxx ... ] | [Bxx]
      • Lxx steht für eine Ebenennummer.
        Hiervon können mehrere angegeben werden. Bei Bxx wird die Ausgabedatei einer vorherigen Anweisung verwendet (B = Bahndatei, xx = Nr. der vorherigen Anweisung).
        'A' enspricht Ebene Null, damit sind 'Alle' Ebenen gemeint.
    • Wert für Frästiefe ($)
    • Wert für Aufmaß ($)
    • Werkzeugnummer
    • Name Technologieobjekt ($)
    • Weitere optionale Parameter:
      • [S] Minimale Leerbewegungen (Nur beim Konturparallelen Räumen möglich)
      • [Nxxx] Nutzgrad in % einstellen
      • [E] Als Endbearbeitungs-Anweisung kennzeichnen
      • [<] Spitze Außenecken verwenden
      • [V] Senkrechtes Eintauchen aktivieren
    • Beispiele:
      • U AUTO L1 L5 3.33 0.1 3 ALU_3
        • 2D-Umfahren, Kompensationsart AUTO, Ebenen 1 und 5, Frästiefe 3.33, Aufmaß 0.1 Werkzeugnummer 3, Technologieobjekt ALU_3
      • RS AUTO L1 L5 0.8 0.1 5 ALU_4 N90
        • Räumen Schraffur, Kompensationsart AUTO, Ebenen 1 und 5, Frästiefe 0.8, Aufmaß 0.1, Werkzeugnummer 5, Technologieobjekt ALU_4, Fräsernutzgrad 90 %
      • S AUTO 0.8 0.0 6 ALU_4 E
        • Ausspitzen, Kompensationsart AUTO, keine Ebeneneingabe, Frästiefe 0.8, Aufmaß 0.0, Werkzeugnummer 6, Technologieobjekt ALU_4, diese Anweisung ist die Endbearbeitungs-Anweisung.
    • Wird als Werkzeugnummer 0 angegeben, so wird anstatt des Werkzeugradius das Aufmaß zum Berechnen verwendet. Das Aufmaß muss dann größer 0 sein. Außerdem wird dann automatisch die Option "Nicht ausgeben" aktiviert.
  • Weitere Befehle für die Anweisungsliste:
    • Die Befehle für die Anweisungsliste müssen als ein Block geschrieben werden. Der Block muss vor dem CALC-Befehl stehen.
    • SPS
      • Parameter: SPS-Datei ($)
    • DEPTH
      • Vertiefte Werkstückteile ausgeben.
      • Parameter: keine
    • CALC
      • Werkzeugbahnen berechnen.
    • OUTPUT
      • Ausgabe der Werkzeugbahnen an die Maschine bzw. auf Datei. Als Steuerungstyp wird die aktuell eingestellte Steuerung genommen. Wird kein Pfad angegeben, so wird das Werkstück-Verzeichnis genommen. Wird keine Ausgabedatei angegeben, so wird der Name des Werkstückes genommen.
      • Parameter:
        • Verzeichnis + Dateiname der Ausgabedatei (optional) ($)
    • SETVAR
      • Eine Variable (auch Text ist möglich) auf einen festen Wert setzen. In dem Wert dürfen keine Leerzeichen vorkommen, für solch einen Fall SETVARZ verwenden.
      • Parameter:
        • Variabelen-Name
        • Wert
      • Beispiele:
        • SETVAR $1 1.5
        • SETVAR $2 Abc
    • SETVARZ (ab 2.58)
      • Wie SETVAR eine Variable auf einen festen Wert setzen. Jedoch kann der "Wert" aus mehreren Worten bestehen. Hinter SETVARZ darf kein Kommentar stehen. SETVARZ wird zum Setzen von Zeichensatznamen verwendet.
      • Beispiel:
        • SETVARZ $3 Times New Roman
    • AddString (ab BESgrav Version 3.37)
      • Es wird an eine Variable einen Text angefügt. Der Text darf keine Leerzeichen enthalten, es sei denn der Text befindet sich in einer Variablen.
      • Parameter:
        • Variablen-Name
        • Wert ($)
      • Beispiel siehe nachfolgenden Befehl
    • AddSpace
      • An einen Text in einer Variablen wird ein Leerzeichen angehängt.
      • Parameter: Keine
      • Beispiel:
        • ; Einer Variablen einen Wert zuweisen:
          SetVar $2 1.5
          ; Text mit Leerzeichen einer Variablen zuweisen:
          SetVarZ $1 Der Wert beträgt:
          An diesen Text ein Leerzeichen zur Trennung anfügen:
          AddSpace $1
          ; Jetzt an den Text den Wert der Variablen anhängen:
          AddString $1 $2
          ; Jetzt den Text mit der Variablen anzeigen:
          InfoText $1
        • Es erfolgt in einem Fenster die Anzeige auf dem Bildschirm:
          "Der Wert beträgt: 1.5"
    • GETFILE
      • Über Dateidialog eine Datei auswählen
      • Parameter: Name der Variablen
    • GetVar
      • Einen Zeichenkette vom Anwender erfragen
      • Parameter:
        • Name der Variablen
        • Fragetext
      • Beispiele:
        • GetVar $1 Bitte einen Wert eingeben
    • GetVarHex (neu ab BESgrav Version 4.01)
      • Eine Hexadezimalzahl vom Anwender erfragen.
      • Die Zahl kann im Hexformat eingebeben werdn (Zeichen '0' bis '9' und 'A' bis 'F').
      • Format z.B. für den Wert 161 die Eingabe: A1
      • Der eingegebene Hexwert wird in eine Dezimalzahl gewandelt und in die Variable übertragen.
      • Mit diesem Befehl ist es z.B. möglich, für das spätere Laden eines Unicode-Zeichens den Zeichencode in Hex vom Bediener anzufordern. Dies ist von Vorteil, da die Tabellen mit den Unicode-Zeichen normalerweise in Hex-Code beschriftet sind.
      • Parameter:
        • Name der Variablen
        • Fragetext
      • Beispiel:
        • GetVarHex $1 Bitte ZeichenCode in Hex eingeben
    • GetWstName
      • Namen des aktuell geladenen Werkstückes in Variable ablegen
      • Parameter: Name der Variablen
    • DELETE
      • Markiertes in Datenbasis löschen
      • Parameter: keine
    • SetNewExt
      • Dateinamen in Variablen mit neuer Extension versehen
      • Parameter:
        • Name der Variablen
        • Extension (die drei Buchstaben nach dem Punkt; ohne Punkt eingeben) ($)
    • INFOTEXT
      • Eine Message-Box mit Text ausgeben, die Box enthält einen OK- und einen Abbruchbutton.
      • Parameter:
        • Text für Message-Box
    • SaveOPL
      • Aktuelle Anweisungsliste im Arbeitsspeicher sichern
      • Parameter: keine
    • LoadOPL
      • Anweisungsliste aus Arbeitsspeicher zurückholen
      • Parameter: keine
    • OPENZ (ab 2.58)
      • Über diesen Befehl wird ein Zeichensatz im Zeichensatzformat (ZF) zum Schreiben vorbereitet. Dadurch kann mit nachfolgenden WRITEZ-Befehlen Zeichenkonturen in den Zeichensatz geschrieben werden. Ebenfalls kann mit dem Befehl MOVEKERNING eine Kerning-Tabelle in den Zeichensatz geschrieben werden.
      • Parameter: [Verzeichnis] Zeichensatzname ($)
    • CLOSEZ (ab 2.58)
      • Den über OPENZ geöffneten Zeichensatz schließen. Es erscheint die Sicherheitsabfrage "Änderungen des Zeichensatzes speichern" mit der Beantwortungsmöglichkeit ja/nein. Wie bei der Handbedienung des Zeichensatzeditors auch, wird bei nein die Änderung des Zeichensatzes verworfen.
      • Parameter: keine
    • MOVEKERNING (ab 2.58)
      • Die Kerning-Tabelle des mit OPENZ geöffneten Zeichensatzes wird in den angegebenen Zeichensatz (ZF-Format) geschoben.
      • Parameter: [F] [K] [ ZF | TT | PG] Zeichensatzname ($)
      • Beispiele:
        • MOVEKERNING F TT Times New Roman
        • MOVEKERNING Arial
        • MOVEKERNING TT Courier
    • TEXT (ab 2.58)
      • Es wird auf dem Bildschirm eine Textzeile mit dem angegebenen Text, Schrifthöhe und Zeichensatz aufgebaut. Der Bezugspunkt ist 0/0.
        • Parameter:
          • Zeichensatzcode in Dezimal ($)
      Hinweis: Ab BESgrav Version 4.01 können auch Unicodes verwendet werden (Codes größer 255)
      Wird ein Text mit Unicode-Zeichen im Dialog des Text-Tools angezeigt,
      erscheint das Zeichen im Eingabefeld in der Schreibweise \U+0410.
      Dies ist z.B. der Code für das Zeichen mit dem Hexadezimalcode 0x0410,
      in diesem Fall wäre dies das kyrillische A.

          • Schrifthöhe ($)
          • Option für Fett / Kursiv: [F] oder [K]
          • Option für Schriftart: [ZF] oder [TT] oder [PG]
          • Zeichensatzname ($)

      • Die Kennung für TrueType ist vorgewählt und braucht nicht geschrieben werden.
      • Beispiele für den Text-Befehl:
        • TEXT 65 10.0 F TT Times New Roman
          Es wird eine Textzeile mit dem Zeichen 'A' , 10 mm Schrifthöhe und TrueType-Zeichensatz Times New Roman, fett, erzeugt.
        • TEXT 66 10.0 Arial
          Es wird eine Textzeile mit dem Zeichen 'B' , 10 mm Schrifthöhe und TrueType-Zeichensatz Arial erzeugt.
        • TEXT 67 10.0 K TT Courier
          Es wird eine Textzeile mit dem Zeichen 'C' , 10 mm Schrifthöhe und TrueType-Zeichensatz Courier, kursiv, erzeugt.
    • WRITEZ (ab 2.58)
      • Die Konturen in der Datenbasis werden in den mit OPENZ geöffneten Zeichensatz geschoben. Entgegen der Handbedienung des Zeichensatzeditors erfolgt keine Sicherheitsabfrage zum Ändern des Zeichensatzes.
      • Zu dem Zeichen wird eine Breite gespeichert. Die Breite wird von dem letzen mit dem Befehl TEXT geladenen Zeichen übernommen. Daher muss vor Benutzung des WRITEZ-Befehls mindestens einmal der Befehlt TEXT benutzt werden.
      • Parameter: Zeichensatzcode in Dezimal ($)
      • Beispiele für den WRITEZ-Befehl:
        • WRITEZ 103
          Die Daten in der Datenbasis werden unter dem Zeichen 'g' gespeichert
        • WRITEZ 137
          Die Daten in der Datenbasis werden unter dem Zeichen '‰' gespeichert.
    • LABEL (ab 2.58)
      • Sprungziel zum Überspringen von Makro-Teilen. Interne Verwendung.
  • Befehle zum Optimieren des Zeitverhaltens eines Makros.
    Während der Abarbeitung bestimmter Befehle kann es störend sein, wenn die Grafik neu aufgebaut wird.
    Z.B. kann vor einer Berechnung die Grafikausgabe gestoppt werden (PaintStop) und nach der Berechnung wieder aktiviert werden (PaintStart).
    • PaintStop
      Die Grafikausgabe auf den Bildschirm unterbrechen.
    • PaintStart
      Die durch PaintStop unterbrochene Grafikausgabe wieder starten.
    • WaitGrafik
      Warten, bis die Grafikausgabe abgeschlossen ist.
  • Allgemeines
    • Rechenoperationen
    • Variablenzuweisung mit Berechnung in der Form
    • Variable = Variable Operator Variable
    • Als Operatoren sind die Grundrechenarten + - * / möglich. Auf der rechten Seite können anstatt der Operators auch Zahlen stehen. Die Rechnung selbst erfolgt mit Gleitkommazahlen.
    • Beispiele:
      • $15 = $14 / 3.333
      • $16 = $15 * 23.1
      • $17 = $15 - $14
      • $18 = $17 + 55.332

    Leerzeilen sind zulässig. Befehle können in Groß- oder Kleinbuchstaben geschrieben werden. Kommentare können hinter jedem Befehl stehen, sofern sie mit einem ';' abgetrennt sind. Auch ganze Zeilen können als Kommentarzeilen stehen, indem vorweg ein ';' geschrieben wird. Variable bestehen aus einem $ und einer Zahl im Bereich 1 bis 20. Die Variable kann zur Zeit eingesetzt werden als Dateiname bei Befehlen, als Formattyp bei Import und Export und als Aufmaß bei der Anweisungsliste. Siehe Beispiel EXPAND.MAC.

    • Beispiel-Makro:
        • NEW
          IMPORT ISO C: \ XXX \ YYY \ W2221.IMP
          MARK
          REF 33.4 55.2
          DIS 0.55 1
          REF 95.4 0
          MIRROR X
          RS AUTO 2.33 0.1 13 MESSING1
          S AUTO 2.33 0 25 MESSING2
          CALC
          OUTPUT C: \ XXX \ YYY \ W2221.DIN

    Für die Erzeugung Mehrliniger Schriften steht ein spezielles Makro zur Verfügung.