获取当前autolisp文件路径的正确方法
如何获取当前autolisp文件的路径,是一个很常见的问题。这个问题,在很多编程语言当中, 都有非常简单的解决方案,通常是由内置的函数或方法直接给出。然而,在autolisp中, 并没有内置这种功能的函数或方法,需要做一些变通才能勉强实现。
3年前,已经就这个问题写过一篇博客, 今年年初又写了一篇获取dwg路径的博客, 这次之所以再写,是因为网上的大部分搜索结果都是坑,写出来帮助大家避坑。
先说正确方法。
获取当前的autolisp文件、fas文件或者vlx文件的路径,可以通过读取系统变量lastprompt
来实现。
这个方法有一个前提条件,就是必须以拖动文件到cad绘图区的方式来加载这几种文件,
而不能通过appload
命令去加载,通过appload
命令加载就无法获取到文件路径了。
这个方法,适用于所有版本的autocad,亲测适用于中望cad2024/2025、浩辰cad2024/2025。 详细的步骤和说明,可以去看看我之前写的那篇博客。
再说说网上最常见的错误方法。
这个错误的方法就是使用copyhist
命令去获取文件路径。拜两个论坛所赐,这个错误的方法历史悠久、流传甚广,
再加上csdn的推波助澜,简直是一发不可收拾。经过实测,无论是autocad,还是中望cad2024/2025,
又或者浩辰cad2024/2025,都无法通过copyhist
命令获取到文件路径。
鉴于这个方法的悠久历史,我只能推测它曾经有效过,不然的话,真得无法理解为什么能流传那么广泛。
不管怎么说,我们现在是不必探究这个问题了,因为lastprompt
方法已经通用于autocad、中望和浩辰了。
文章作者 Jack Hsu
上次更新 2024-11-06
许可协议 Copyright © Jack Hsu. All Rights Reserved.