CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 2025 开发者帮助

AutoLISP 的新增功能或更改 (AutoLISP)

2024-5-18 19:16| 发布者: admin| 查看: 261| 评论: 0|原作者: admin|来自: AutoCAD

AutoLISP 的新增功能或更改 (AutoLISP)

以下是最近发行版中对 AutoLISP 所做的更改的概述。

AutoCAD 2025版

acet-load-expresstools功能仅添加到 AutoCAD for Windows 中。此函数用于初始化 Express Tools 函数。

AutoCAD 2024版

新增功能
  • 没有新的或更改的功能
  • AutoCAD LT for Windows 现在支持 AutoLISP 和 DCL

    以下是AutoCAD的一些已知限制或差异:

    • 大多数 、 、 和 函数都受支持,但 AutoCAD LT 不支持使用第三方自动化库。VL*VLA*VLAX*VLR*

      下面是不支持的功能的高级摘要:

      • vlax-create-object
      • vlax-get-object
      • vlax-get-or-create-object
      • vlax-import-type-library
      • vla-GetInterfaceObject
      • VLA*与创建和修改只能在AutoCAD中创建的三维实体和曲面、螺旋线、材质、多线对象等相关的功能
    • entmake、 和 函数仅允许创建和修改 AutoCAD LT 中支持的对象entmakexentmod
    • 无法使用自定义 ObjectARX 和托管 .NET 程序公开的 AutoLISP 函数
    • ActiveX 限制:
      • PreferencesProfiles对象作为 ActiveX 实现的一部分存在,但其所有方法和属性都已被删除,因为 AutoCAD LT for Windows 不支持配置文件
      • 不支持创建 3D 网格、曲面和实体,而对 3D 对象的修改则受限
    • 开发 AutoLISP 程序限制:
      • Visual LISP 集成开发环境 (IDE) 和 VLIDE/VLISP 命令在 AutoCAD LT for Windows 中不可用
      • AutoCAD LT for Windows 不支持在 Visual Studio Code 中使用 AutoLISP 扩展进行调试
    • 部署 AutoLISP 程序限制:
      • MNL 文件不会自动加载具有相同名称的 CUIx 文件,但可以使用 AutoLISP 函数从另一个 LISP 文件加载文件LOAD
      • AutoCAD LT for Windows 支持编译的 LSP 文件,但编译 LSP 文件只能在 AutoCAD for Windows 中完成

    使用仅限于 AutoCAD 的功能和命令的程序应检查它们被加载到哪个产品中,以避免出现兼容性问题。这可以使用 PROGRAM 系统变量来完成,AutoCAD LT 返回一个值。acadlt

    以下示例限制 DVB 文件的加载以及根据代码是加载到 AutoCAD 还是 AutoCAD LT 来运行 VBA 宏的命令的定义:

    (if (/= (strcase (getvar "PROGRAM") T) "acadlt")
      (progn
        (vl-load-com)
    
        ;; Load a DVB file
        (setq retVal (vl-catch-all-apply 'vl-vbaload (list (findfile "sample/vba/drawline.dvb"))))
    
        ;; If the DVB file was found, then define the function to run the function
        (if (not (vl-catch-all-error-p retVal))
          (defun c:DRAWLINE (/)(vl-vbarun "drawline"))
          (prompt "\ndrawline.dvb is missing")
        )
    
        (prompt "\nEnter DRAWLINE to run the VBA macro.")(princ)
      )
      (progn (prompt "\nVBA macros are not supported on AutoCAD LT.")(princ))
    )

AutoCAD 2023版

  • 没有新的或更改的功能
  • AutoLISP 现在在 AutoCAD Web 上仅供 AutoCAD 订购客户使用

AutoCAD 2022版本

没有新的或更改的功能。

AutoCAD 2021版

新增功能
  • AutoCAD AutoLISP Extension for Visual Studio (VS) Code - 允许在 Windows 或 Mac OS 上使用 VS Code 编辑和调试 AutoLISP 文件。LISPSYS 系统变量必须设置为 1 或 2,才能使用 AutoCAD AutoLISP 扩展模块调试 AutoLISP 文件。当 LISPSYS 设置为 0 时,旧版 AutoLISP 引擎和 Visual LISP IDE 用于编辑和调试 AutoLISP 文件。
  • Mac OS 上的 DCL 支持 - 使用 DCL 定义的对话框现在可以使用 AutoLISP 显示。Mac OS 也支持 Windows 上支持的所有 DCL 切片,但并非所有切片属性在 Mac OS 上都受支持。
改变

这些函数已更新为支持 Unicode 字符串/代码:

  • ascii - 返回字符串的第一个字符到其 Unicode 字符代码(整数)的转换。
  • chr - 将表示 Unicode 字符代码的整数转换为单字符字符串。
  • load - 计算文件中的 AutoLISP 表达式。
  • open - 打开文件以供 AutoLISP I/O 函数访问。添加了一个新的可选参数,该参数允许在读取/写入文件时使用字符编码的规范。如果未提供参数,则假定文件包含多字节字符集 (MBCS),这是旧行为。
  • read-char - 返回表示从键盘输入缓冲区或打开的文件中读取的 Unicode 字符的整数。
  • read-line - 从键盘或打开的文件中读取字符串,直到遇到行尾标记。
  • strlen - 返回一个整数,该整数是字符串中的字符数。
  • substr - 返回字符串的子字符串。
  • vl-directory-files - 列出给定目录中的所有文件。
  • vl-file-copy - 将一个文件的内容复制或追加到另一个文件。
  • vl-file-delete - 删除文件。
  • vl-file-directory-p - 确定文件名是否引用目录。
  • vl-file-rename - 重命名文件。
  • vl-file-size - 确定文件的大小(以字节为单位)。
  • vl-file-systime - 返回指定文件的上次修改时间。
  • vl-filename-mktemp - 计算要用于临时文件的唯一文件名。
  • vl-list->string - 将与整数列表关联的 Unicode 字符合并到一个字符串中。
  • vl-mkdir - 创建目录。
  • vl-string->list - 将字符串转换为 Unicode 字符代码列表。
  • vl-string-elt - 返回字符串中指定位置的字符的 Unicode 表示形式。
  • vl-string-mismatch - 返回两个字符串的最长公共前缀的长度,从指定位置开始。
  • vl-string-position - 在字符串中查找具有指定 Unicode 代码的字符。
  • vl-string-search - 在字符串中搜索指定的模式。
  • vl-string-subst - 将一个字符串替换为另一个字符串。
  • vl-string-translate - 将字符串中的字符替换为一组指定的字符。
  • vl-vbaload - 加载 VBA 项目。
  • vlisp-compile - 将 AutoLISP 源代码编译为 FAS 文件。
  • write-char - 将一个 Unicode 字符写入屏幕或打开的文件。
  • write-line - 将字符串写入屏幕或打开的文件。
过时
Visual LISP IDE(仅限 AutoCAD for Windows) - Visual LISP (VL) IDE 已停用,将在将来的版本中删除。建议使用 AutoCAD AutoLISP Extension for Visual Studio (VS) Code 创建新的和更新现有的 AutoLISP 程序。必须先将 LISPSYS 设置为 0,然后才能使用 VL IDE 编辑和调试 AutoLISP 文件。

AutoCAD 2020版

没有新的或更改的功能。

AutoCAD 2019版

没有新的或更改的功能。

AutoCAD 2018版

没有新的或更改的功能。

AutoCAD 2017版

没有新的或更改的功能。

AutoCAD 2016版

改变

    osnap - 返回一个 3D 点,该点是将对象捕捉模式应用于指定点的结果。该函数不再接受该模式。使用该模式会导致返回值 to 返回,即使指定了其他模式也是如此。quiquinil

过时
  • getcfg - 从 acad20xx.cfg 文件的 AppData 部分检索应用程序数据。
  • setcfg - 将应用程序数据写入 acad20xx.cfg 文件的 AppData 部分。
注意:并且仍可用于兼容性,但可能会在将来的版本中删除。建议使用 和 函数作为替代品。getcfgsetcfgvl-registry-readvl-registry-write

AutoCAD 2015版

没有新的或更改的功能。

AutoCAD 2014版

新增功能
  • findtrustedfile - 在 AutoCAD 受信任文件路径中搜索指定文件。
  • showHTMLModalWindow - 显示包含 HTML 文档的模态窗口;与新的 JavaScript API 结合使用。
改变
  • findfile - 搜索 AutoCAD 支持和受信任的文件路径。函数已更新为搜索新的受信任应用程序路径。

AutoCAD 2013版

新增功能
过时

AutoCAD 2012版

新增功能
  • command-s - 执行 AutoCAD 命令和提供的输入。
  • *pop-error-mode* - 结束上一次对 或 的调用的错误处理函数。*push-error-using-command**push-error-using-stack*
  • *push-error-using-command* - 错误处理函数,指示在自定义处理程序中使用命令函数。*error*
  • *push-error-using-stack* - 错误处理函数,指示在自定义处理程序中使用 AutoLISP 堆栈中的变量。*error*

AutoCAD 2011版

新增功能

AutoCAD 2010版

变化
  • help - 调用帮助工具。更新了函数,添加了对 HTML 文档的支持。

AutoCAD 2009版

新增功能

父主题:

  1. 简介 (AutoLISP)

路过

雷人

握手

鲜花

鸡蛋

最新评论

QQ|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1   苏公网安备32011402011833)

GMT+8, 2025-3-31 13:43

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部