AutoCAD通过启动组自动加载AutoLisp插件程序 在AutoCAD中可以通过将Autolisp插件程序添加到启动组的方式让AutoCAD启动时自动加载Autolisp插件。1、经典界面在经典界面中点击菜单:工具 - AutoLisp - 加载应用程序。在加载/卸载应用程序对话框中点击内容 - 添加,然后浏览到插件所在文件夹,将插件添加到启动组。下次启动AutoCAD时会自动加载相应插件。2、新版界面... 2019年03月29日 CAD 喜欢0 阅读 2,027 views 次 阅读全文
AutoLisp通过系统变量ACADVER获取AutoCAD的版本号 在AutoLisp中可以通过系统变量ACADVER获取AutoCAD的版本号,代码如下:(getvar "acadver")例如,AutoCAD 2018则返回字符串"22.0s (LMS Tech)"。返回值的类型为字符串,各AutoCAD版本所对应的版本号如下所示:值AutoCAD版本号22.0s (LMS Tech)AutoCAD 201821.0s (LMS Tech)AutoCAD 201720.1s (LMS Tech)AutoCAD 201620.0s (L... 2019年03月26日 CAD 喜欢0 阅读 1,707 views 次 阅读全文
AutoLisp在程序中接受默认输入值的方法 在AutoLisp程序中我们经常会遇到各种需要用户输入的情况,例如通过getreal可以接受用户输入实数,通过getstring可以接受用户输入字符串。如果在用户输入时我们设置常用的值作为默认值,用户直接回车确认即可输入默认值,会大大提高程序的友好性。在AutoLisp中我们可以借助if语句来实现此功能。下面以输入实数为例来介绍此功能的实现:(set... 2018年06月05日 CAD 喜欢5 阅读 2,688 views 次 阅读全文
当在AutoCAD中保存文件时自动执行AutoLISP脚本程序 在AutoCAD中我们可以使用AutoLISP的vlr-command-reactor函数来监听文件的保存事件FileOnSave,当监听到此命令时可以自动执行AutoLISP脚本来完成相应的工作。整个流程代码如下:(defun AtSaveCommand (calling-reactor b)(if(or(= (car b) "QSAVE")(= (car b) "SAVEAS")(= (car b) "SAVE"))(保存文件时要执行的代码)))(defun loadT... 2017年11月24日 CAD 喜欢0 阅读 1,226 views 次 阅读全文
当关闭AutoCAD文档时自动执行AutoLISP脚本程序 在AutoCAD中我们可以使用AutoLISP的vlr-command-reactor函数来监听文件的关闭事件FileOnClose,当监听到此命令时可以自动执行AutoLISP脚本来完成相应的工作。整个流程代码如下:(defun AtEndCommand (calling-reactor b)(if (= (nth 0 b) "CLOSE")(关闭文档时要执行的代码)))(defun loadTheReactor ()(vl-load-com)(if *FileOnClose*... 2017年11月24日 CAD 喜欢0 阅读 1,098 views 次 阅读全文
AutoLISP文件操作:文件的打开与关闭 在AutoCAD中AutoLISP使用open和close命令来打开和关闭外部数据文件,实现对外部数据文件的操作。open的语法如下:(open filename mode)其中filename为文件的完整路径,如果filename只包含了文件名,没有指定路径,将默认为当前AutoCAD文档的工作路径;mode为打开方式,以下选项可选:--r:只读;--w:写入,如果文件不存在则创建文件;... 2017年11月22日 CAD 喜欢1 阅读 5,447 views 次 阅读全文
使用AutoLISP创建多行文字 使用AutoLISP创建多行文字,可直接使用command命令调用AutoCAD的多行文字命令MTEXT,代码如下:(defun c:mtxt()(command "_.MTEXT" (getpoint "\n文本左放置点:") "H" 5 (getpoint "\n文本右放置点:") (getstring "\n输入文字内容:") ""))通过参数“H”指定文本高度,如果不设置文本右侧边界,直接指定文本宽度为0即可,如下:(command "_... 2016年07月17日 CAD 喜欢3 阅读 2,947 views 次 阅读全文
AutoLISP设置新建文字或图形对象的颜色 使用AutoLISP新建单行文字、多行文字或图形对象时经常需要设置对象的颜色,此时可使用COLOR命令或CECOLOR全局变量来设置对象的颜色。1、使用COLOR命令设置颜色使用color命令设置新建文字或图形对象的颜色直接使用command函数即可,如设置当前颜色为绿色的AutoLISP代码为:(command "color" 3) 或(command "color" "green")2、使用CECOLOR... 2016年07月17日 CAD 喜欢1 阅读 3,034 views 次 阅读全文
使用AutoLISP获取或设置AutoCAD全局比例因子 在使用AutoLISP进行AutoCAD的二次开发时经常需要获取或设置图纸的全局比例因子。例如,在进行尺寸标注或使用MTEXT、DTEXT命令时需要设置字体的大小,此时字体的大小需要根据图纸的绘图比例进行缩放,为了获取图纸的缩放比例就需要获取全局比例因子。存储全局比例因子的AutoCAD系统变量为DIMSCALE ,可使用getvar命令获取AutoCAD系统变量的值... 2016年07月03日 CAD 喜欢0 阅读 3,477 views 次 阅读全文
AutoLISP获取TEXT/MTEXT文字的字符串坐标文字高度等属性信息 在AutoLISP中获取单行文字TEXT和多行文字MTEXT的字符串、文字位置坐标和文字高度等属性信息,可以通过读取文字图元的图元组码来实现。例如:从选择集ss1中获取文字的字符串文本、文字插入点的x、y坐标和文字的文本高度,代码如下:(setq strent (entget (ssname ss1 1)))(setq strtxt (cdr (assoc 1 strent)))(setq px (car (cdr (assoc ... 2016年01月16日 CAD 喜欢1 阅读 2,871 views 次 阅读全文