由于lisp中\作为转义符统一的标志,因此当在lisp的字符串中出现\时,lisp会把\及后面一个字符当作一个整体.为了能在lisp中使用\,要用\\代替\.
另外,用/代替\仅用于路径中,lisp把/视为\,而非翻译为\. 本帖最后由 xj6019 于 2019-12-1 21:55 编辑
wyl219 发表于 2019-12-1 21:19
由于某些有具体作用的字符没有具体的表现,例如换行,因此设计了转义符来代替,例如\n被当做换行符,\r被当作回 ...
按照你的添加路径到可搜索列表 直接添加文件名 这个法子省事好用
我搜索这弄了个代码我就是想要这个效果的只是无奈自己不会加预览能麻烦您给加上吗 非常感谢
我只知道预览是pause 可是加上 代码就不能正常运行 能预览的话就完美了
以下是代码麻烦给拾掇拾掇谢谢
(defun c:I8 ()
(CMDLA0)
(setq pt (getpoint "\n插入点<退出>"))
(command "-insert" "DWG" pt"" "" "")
(CMDLA1)
)
wyl219 发表于 2019-12-1 21:19
由于某些有具体作用的字符没有具体的表现,例如换行,因此设计了转义符来代替,例如\n被当做换行符,\r被当作回 ...
发现还有一点不足 源文件修改后不能自动识别 需要关闭cad重启后才能重新 读取这也有点不方便 可否加代码识别 重新加载啊(不关闭cad的情况下) 本帖最后由 wyl219 于 2019-12-2 16:54 编辑
xj6019 发表于 2019-12-1 21:54
按照你的添加路径到可搜索列表 直接添加文件名 这个法子省事好用
我搜索这弄了个代码我就是想要这个 ...
(defun c:I8 ()
(CMDLA0)
;(setq pt (getpoint "\n插入点<退出>"));注释掉,后面手动选择.
(command "-insert" "DWG" pause "" "" "")
(CMDLA1)
)
直接把pt修改为pause,仅测试这句代码没错误,不过我之前也没尝试过这个,不知道是不是有别的原因.
另外修改lsp后本来就不能自动加载.几个办法.
1.将修改后的lsp文件拖放到cad绘图区,会自动加载并覆盖同名命令\函数等
2.写一个辅助程序,内容就是加载该文件,大致如下:
(defun c:tt () (load "路径" ))
3.在程序的第一行加入加载语句,如下:
(defun c:ttt ( /)
(load "d:/1.lsp");自加载该文件
(print "4")
(princ)
)
修改保存后,再执行一次,此时执行的是修改前的程序,执行后将用新程序覆盖原程序,再次执行时将执行新程序.
页:
1
[2]