乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 9|回复: 7

[编程交流] 如何根据c修改

[复制链接]

96

主题

322

帖子

234

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
474
发表于 2022-7-5 15:11:58 | 显示全部楼层 |阅读模式
嗨,伙计们
如何将以下代码修改为当前文件夹
 
  1. (load "d:\\0001-lis\\01-akjder 2.lsp" "MyLISP Failed to Load")

 
类似这样:
 
  1. (load "#current folder#\\01-akjder 2.lsp" "MyLISP Failed to Load")
回复

使用道具 举报

5

主题

956

帖子

963

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-5 15:22:48 | 显示全部楼层
 
您好,不确定#当前文件夹#?
  1. (setq folder (getvar 'dwgprefix) )
  2. (setq folder  (getenv 'userprofile) )
  3. (setq folder  (acet-ui-pickdir) )
  4. ;check
  5. (findfile "01-akjder 2.lsp")

 
  1. (strcat folder "\\01-akjder 2.lsp")
回复

使用道具 举报

96

主题

322

帖子

234

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
474
发表于 2022-7-5 15:36:12 | 显示全部楼层
hanhphuc公司
没关系,但当dwg和lisp在同一位置时也没关系,如果我们想独立于dwg位置修改代码,我们能做什么?
  1. (load "d:\\0001-lis\\01-akjder 2.lsp" "MyLISP Failed to Load")
  2. Something like this :
  3. (load "#current folder#\\01-akjder 2.lsp" "MyLISP Failed to Load")

有更好的方法吗??我想从闪存盘运行lisp,正如我们所知,当将闪存盘连接到任何计算机时,其驱动器的名称在任何其他计算机中都会不同。因此,它需要编写与驱动器名称无关的代码,或者考虑到驱动器本身的名称,自动编写lisp代码
回复

使用道具 举报

58

主题

3353

帖子

33

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1761
发表于 2022-7-5 15:44:37 | 显示全部楼层
你可以试试这样的。它将获取所有映射的驱动器,并尝试加载lisp(如果找到)。
  1. (defun _loadlispfromunknowndrive (pathtolisp / f r sfso)
  2. (and (not (wcmatch pathtolisp ":*")) (setq pathtolisp (substr pathtolisp 2)))
  3. (cond        ((setq sfso (vlax-create-object "Scripting.FilesystemObject"))
  4. (vlax-for x (vlax-get-property sfso 'drives)
  5.    (and (findfile (setq f (strcat (vlax-get x 'driveletter) pathtolisp))) (setq r f))
  6. )
  7. (vlax-release-object sfso)
  8. (and r (load r))
  9. )
  10. )
  11. )
  12. (vl-load-com)
  13. ;; Usage
  14. (_loadlispfromunknowndrive "X:\\MyLispFolder\\file.lsp")
回复

使用道具 举报

5

主题

956

帖子

963

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-5 15:54:47 | 显示全部楼层
 
附加支持路径如何?
 
 
@ronjonp智能方式
回复

使用道具 举报

96

主题

322

帖子

234

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
474
发表于 2022-7-5 16:00:09 | 显示全部楼层
 
需要是驱动器根目录中的路径,否则不管?
回复

使用道具 举报

58

主题

3353

帖子

33

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1761
发表于 2022-7-5 16:07:54 | 显示全部楼层
 
谢谢
回复

使用道具 举报

58

主题

3353

帖子

33

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1761
发表于 2022-7-5 16:14:40 | 显示全部楼层
 
你只需要一条路。
 
我更新了上面的代码,因为如果最后检查的驱动器返回nil,它将无法到达加载部分。
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-14 21:04 , Processed in 2.425224 second(s), 68 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表