AutoLISP-Kompatibilität

Für AutoLISP-Programme sind in der Regel sehr wenige Änderungen erforderlich, damit sie in der aktuellen Version ausgeführt werden können.

Ein AutoLISP-Programm wird jedoch möglicherweise in der neuesten Version nicht mehr richtig ausgeführt, da eine AutoLISP-Funktion oder ein Befehl des AutoCAD-basierten Produkts oder eine Systemvariable geändert wurde oder nicht mehr unterstützt wird.

Anmerkung: In den AutoCAD-basierten Produkten ab Version 2014 müssen benutzerdefinierte Anwendungen im sicheren Modus ausgeführt werden. Die Systemvariable SECURELOAD ist auf den Wert 1 oder 2 festgelegt. Wenn der sichere Modus ausgeführt wird, kann das AutoCAD-basierte Produkt Dateien mit Code nur aus vertrauenswürdigen Speicherorten laden und ausführen. Vertrauenswürdige Speicherorte werden durch die Systemvariable TRUSTEDPATHS angegeben. Weitere Informationen finden Sie unter "Sicherheit und Virenschutz".

Allgemeine Informationen

Veraltete Befehle und Systemvariablen

Überprüfen Sie Ihre benutzerdefinierten Programme auf Befehle und Systemvariablen, die als veraltet gekennzeichnet wurden. In einigen Fällen funktionieren veraltete Befehle oder Systemvariablen möglicherweise weiterhin mit ihren benutzerdefinierten Programmen, obwohl sie nicht direkt in der Befehlszeile eingegeben oder über die Benutzeroberfläche aufgerufen werden können.

Anmerkung: Selbst wenn veraltete Befehle und Systemvariablen in einigen benutzerdefinierten Programmen funktionieren, bedeutet das nicht, dass sie auch in einer zukünftigen Produktversion funktionieren werden. Sie sollten Ihre benutzerdefinierten Programme neu schreiben, um die Verwendung veralteter Befehle und Systemvariablen zu vermeiden.

Die folgenden Techniken können nützlich sein, wenn Sie veraltete Befehle oder Systemvariablen in einem benutzerdefinierten Programm verwenden möchten:

  • Stellen Sie dem Befehlsnamen einen Punkt voran. Beispiel: .BLIPMODE ermöglicht die Verwendung des Befehls BLIPMODE.
  • Vermeiden Sie das Ausführen einer veralteten Systemvariablen mit der Funktion BEFEHL, die zu einer Fehlermeldung Unbekannter Befehl führen kann. Verwenden Sie stattdessen die Befehle GETVAR und SETVAR. Beispiel: ( getvar "BLIPMODE" ) Gibt den aktuellen Wert der Systemvariablen BLIPMODE zurück.
Anmerkung: Aus dem Produkt entfernte Befehle und Systemvariablen können nicht mit den zuvor beschriebenen Techniken wiederhergestellt werden.

AutoCAD 2017 und höher

CDATE, DATE und andere datums-\zeitbezogene Systemvariablen

Beginnend mit AutoCAD 2017-basierten Produkten stellen die in den Systemvariablen CDATE und DATE gespeicherten Werte nicht mehr das/die auf eine Millisekunde oder eine Hundertstelsekunde genaue aktuelle Datum/Uhrzeit dar. Sekunden stellen nun die kleinste Zeiteinheit dar, in der die Werte dieser beiden Systemvariablen ausgedrückt werden. Wenn Sie die Zeitintervalle in einer kleineren Einheit als eine Sekunde nachverfolgen müssen, sollten Sie den von der Systemvariable MILLISECS zurückgegebenen Wert berücksichtigen, der die Zeitdifferenz seit dem Start der Arbeitsstation in Millisekunden speichert.

Die folgenden datums-\zeitbezogenen Systemvariablen waren auch durch das Entfernen der Millisekunden betroffen:

  • TDCREATE
  • TDINDWG
  • TDUCREATE
  • TDUPDATE
  • TDUSRTIMER
  • TDUUPDATE

AutoCAD 2016 und höher

Digital signierte Dateien

Beginnend mit AutoCAD 2016-basierten Produkten können AutoLISP-Dateien digital signiert werden. Durch das digitale Signieren kann eine AutoLISP-Datei ohne Warnung der Benutzer, dass die Datei nicht vertrauenswürdig ist, in die AutoCAD-Zeichnungsumgebung geladen werden. Digital signierte VLX-Dateien können nicht in auf AutoCAD 15 oder früher basierende Produkte geladen werden.

OFang-Funktion

Beginnend mit AutoCAD 2016-basierten Produkten unterstützt die OFang-Funktion nicht mehr den Objektfangmodus Quick (qui). Entfernen Sie den Modus end aus den Anweisungen, die die OFang-Funktionen in Ihren AutoLISP-Anwendungen verwenden. Wenn der Modus nicht entfernt wird, geben die OFang-Funktionen NULL anstelle eines Koordinatenwerts für einen gültigen Punkt im Zeichenbereich zurück.