学习空间

当前位置:首页 在线培训 学习空间

AutoCAD 2021 for Mac 新功能介绍(中)

来源:欧特克日期:2020-4-23 10:03:21浏览:


大家好啊,有没有去下载我们最新的包含了简体中文语言的 AutoCAD 2021 for Mac 来试用呢?没有的话,就赶快去我们的官网试试吧!

今天我们要讲的功能主要是对那些从事 AutoCAD 二次开发的 AutoCAD 用户非常重要的部分。

在讲解新功能之前,我要先用一个以前用户问我的问题来引出今天的内容:

AutoCAD for Mac 为什么没有那么多的第三方插件可以用?

这个问题其实原因有几个:

  • 大部分用户只是知道怎么用插件,而不知道怎么去调试插件。当然,也有的插件是封装好的没法调试;

  • Mac 上没有特别好用的针对 LISP 的专门的 IDE 类工具,想调试比较困难;

  • AutoCAD for Mac 中,APPLOAD 命令支持的文件类型略少,比如 fas 文件格式;

  • LISP 中,支持的函数略少,缺失部分主要是 vlax 类型的,而这部分函数如果要用其他函数来重写,需要比较扎实的 LISP 知识,而大部分 AutoCAD 的使用者其实是不具备这样的能力;

  • 之前版本的 AutoCAD for Mac 中,针对 AutoLISP,无法调用*.dcl 文件来创建对话框,若要改成纯命令行模式的话也需要很强的编程能力;

那么,我们就来看一下 AutoCAD 2021 for Mac 中,着力解决了哪些问题吧。

二次开发 - AutoLISP 扩展应用

作为一个曾经的 AutoCAD 二次开发人员,老柴我对 AutoCAD 二次开发的印象还停留在一个上古时期的界面,名叫 Visual LISP IDE 的玩意:

这个玩意真的好多年没有更新了,并且它是一个 AutoCAD Windows 独有的功能,Mac 上并没有这个组件。而且看着上面这个玩意,我只想说一句:你已经 OUT 了啊!

所以,在今年 AutoCAD Windows 和 Mac 就同时借助了 Visual Studio Code(以下简称 VSCODE)这款跨平台 IDE 来研发了针对 LISP 语言的扩展应用。

当然,由于老柴我的编程能力实在抓瞎,所以以下内容都是请了我们组的唐老师来讲解的。

在 VSCODE 中安装完我们的扩展应用后,利用 VSCODE 打开一个 LISP 文件,就能得到这样的页面: 不仅有高亮关键词来提高阅读舒适度,还有联想关键词来提升编辑效率。

在编辑完 LISP文件后,还支持调试。只需要启动 AutoCAD,然后在 VSCODE 菜单栏中选择运行>>启动调试,点选附着模式,选择正在运行的 AutoCAD 就可以开始调试了。

调试过程中,可以通过增加断点、实时的变量值、当前调用堆栈等来帮助调试。还可以在调试中点击下方“加载 LISP”按钮来加载其他需要的 LISP 文件。

接下来就可以在左边分别添加需要监视的函数对象,以及在程序中添加的断点了:

随着程序的运行,可以看到程序的中指定函数的值是否随着你的预期进行变化了(可以对比上图):

至于如何下载到这个扩展应用呢?非常简单,只需要在 VSCODE 的扩展中搜索 AutoLISP 就能找到了:

DCL– 在 LISP 中绘制对话框

在讲完了 AutoLISP 扩展应用之后,我们来看看 AutoCAD 的二次开发中非常重要的一个环节,也就是对话框的部分。

众所周知,对一般用户来说,对话框对于新用户的友善程度要好很多,所以不少二次开发都喜欢把 LISP 外挂一个对话框来展示,甚至有 AutoCAD 的垂直产品整个都是。而这个外挂的对话框就是 DCL:

DCL= Dialog Control Language

对话框控制语言

DCL 的表现形式是一个后缀名为.dcl 的文本文件,需要在LISP 程序中调用:

并且启动:

而这个 DCL 文件的本体可以是这样的:

当这个 DCL 文件置于 AutoCAD 2021 for Mac 的 Support Search Path,也就是【支持文件搜索路径】的时候:

运行 LISP 程序就能显示对应的对话框:

在 AutoCAD 2021 for Mac 中,几乎所有 DCL 中的控件(Tile)类型都支持了,我这里列个简单的列表,具体的大家可以查询。

button= 按钮

edit_box= 文本框

list_box= 列表框

popup_list= 下拉框

slider= 滑动条

radio= 单选项

toggle= 勾选框

text= 文本

image= 图片

image_button= 图片按钮

当然,如果只是支持大部分的控件(Tile)还是不够的,每个 Tile 下面都有不同的属性位,还是请大家查询上面具体的帮助文件来获得相关的信息。

如果各位对 DCL 有兴趣的,那我以后可以专门讲讲怎么用 DCL 来创建你需要的对话框和控件,以及怎样把 LISP 和 DCL 之间的数据联动起来。

应用程序首选项 – 受信任的位置

在之前有一篇关于 LISP 病毒防治的文章里面,我给大家提到过为了避免用户的 AutoCAD 被恶意 LISP 程序的自动加载拖垮,我们新加了一个【受信任的位置】,只有在这个位置下的程序,才不会在加载的时候弹出加载警告框。

而之前的 AutoCAD for Mac 虽然有相关的系统参数可以设置,但是缺少了用户界面的操作的话,操作起来还是非常麻烦的,所以在 AutoCAD 2021 for Mac 中,我们在用户界面中把它实现了出来,具体的不说了,放张截图跑路:

现在让我们看看最早的那几个问题,我们究竟解决掉了几个呢?

  • 大部分用户只是知道怎么用插件,而不知道怎么去调试插件。当然,也有的插件是封装好的没法调试;

  • Mac 上没有特别好用的针对 LISP 的专门的 IDE 类工具,想调试比较困难;

  • AutoCAD for Mac 中,APPLOAD 命令支持的文件类型略少,比如 fas 文件格式;

  • LISP 中,支持的函数略少,缺失部分主要是 vlax 类型的,而这部分函数如果要用其他函数来重写,需要比较扎实的 LISP 知识,而大部分 AutoCAD 的使用者其实是不具备这样的能力;

  • 之前版本的 AutoCAD for Mac 中,针对 AutoLISP ,无法调用*. dcl 文件来创建对话框,若要改成纯命令行模式的话也需要很强的编程能力;

这次的内容呢,主要是二次开发相关的,我们也非常希望 AutoCAD for Mac 也能像他的 Windows 大哥那样,能有更多的开发者开发出更多的组件和插件。