乐筑天下

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

[综合讨论] CUIX:交换LISP例程

[复制链接]

7

主题

32

帖子

49

银币

初来乍到

Rank: 1

铜币
11
发表于 2022-7-6 23:02:51 | 显示全部楼层 |阅读模式
 
我的LISP例程在我工作的Google Share Drive上。我的自定义功能区中有一些按钮,它们使用映射的驱动器号URL链接调用我的例程。 
 
自定义宏中的URL链接示例:
000314m64iibzbi6isii9i.png
 
 
目标:
尝试与办公室中的其他CAD用户共享此信息。
 
问题:
不同的CAD用户有不同的映射驱动器号(例如:H:\或S:\而不是G:\)。
每次我更新CUIX文件时,都会尝试避免绕开并手动更改驱动器号以匹配其映射(因为路径会被覆盖)。
想使用通用谷歌共享驱动器基于网络的链接(通过选择文件,选择“获取链接”在谷歌驱动器和复制链接)。
 
掉期:
我的宏示例中的当前URL映射(如果上面的图像未显示):
^C^C(加载“G:\shardrive\CAD\u Department\CAD\u menu\LISP\My\u routine.lsp”);My_例程;
 
与Google Share Drive链接交换的示例(不工作):
^C^C(负载)https://drive.google.com/file/d/0BlU92IihdhhcnRlcl9mWxl/view?usp=sharing&resourcekey=0-0VxGZXU D8YjtjgjzQZnQ);My_例程;
 
 
 
我试过的另一种方法
^C^C(命令-s“\u浏览器”https://drive.google.com/file/d/0BlU92IihdhhcnRlcl9mWxl/view?usp=sharing&resourcekey=0-0VxGZXU D8YjtjgjzQZnQ/“”)
 
 
有人知道宏的正确语法吗?
提前感谢!
 
 
 
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 23:25:59 | 显示全部楼层
您可以使用getfile My\u例程检查,不同CAD用户有不同的映射驱动器号(例如:H:\或S:\而不是G:\)。lsp do在一个条件下
(条件
((G:是负载
((H:是负载
((S:是负载

 
确保各种驱动器的负载首先手动工作。
回复

使用道具 举报

7

主题

32

帖子

49

银币

初来乍到

Rank: 1

铜币
11
发表于 2022-7-6 23:33:25 | 显示全部楼层
谢谢比格尔。
我认为坚持使用带有驱动器号的映射URL路径比尝试基于web的共享驱动器链接更好,因此我感谢您的建议!
 
 
对于在宏行中放置的内容,这是否接近您的建议(使用“getfield”和“conditional”语句)?
  1. ^C^C (getfiled
  2.                 (cond
  3.                      ((= G: yes (load "G:\shardrive\CAD_Department\CAD_menu\LISP\My_routine.lsp");My_routine;)
  4.                      ((= H: yes (load "H:\shardrive\CAD_Department\CAD_menu\LISP\My_routine.lsp");My_routine;) 
  5.                      ((= S: yes (load "S:\shardrive\CAD_Department\CAD_menu\LISP\My_routine.lsp");My_routine;)
  6.                 );end Cond
  7.       );end getfiled

 
我把这个IF语句放在一起,只是想看看它是否也在一般范围内:
 
  1. ^C^C (getfiled 
  2.      (if
  3.            (Progn
  4.               ((/= G: nil (load "G:\shardrive\CAD_Department\CAD_menu\LISP\My_routine.lsp");My_routine;) 
  5.               ((/= H: nil (load "H:\shardrive\CAD_Department\CAD_menu\LISP\My_routine.lsp");My_routine;)  
  6.               ((/= S: nil (load "S:\shardrive\CAD_Department\CAD_menu\LISP\My_routine.lsp");My_routine;)
  7.            );end progn
  8.       );end if
  9.  );end getfiled

希望我没有对所有的语法都发火。 
 
 
再次感谢您的建议…!
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 23:56:02 | 显示全部楼层
再想想,如果每个用户都设置了支持路径,我就不使用云驱动器。
 
  1. ; must have support path set, Options Files Support files search path
  2. (setq fileexist (findfile "My_routine.lsp"))
  3. (if (= fileexist nil)
  4. (alert "my_routine.lsp not found on G: H: or S: \nCheck your support path settings")
  5. (load "My_routine.lsp")
  6. )

搜索路径集,即“G:\shardrive\CAD\u Department\CAD\u menu\LISP\可以是H:S:etc,然后findfile将返回T或nil
 
 
回复

使用道具 举报

7

主题

32

帖子

49

银币

初来乍到

Rank: 1

铜币
11
发表于 2022-7-7 00:16:35 | 显示全部楼层
谢谢BigAl!我会试试。。。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-10 11:04 , Processed in 0.353180 second(s), 65 queries .

© 2020-2025 乐筑天下

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