RLispLearner 发表于 2022-7-6 23:02:51

CUIX:交换LISP例程

 
我的LISP例程在我工作的Google Share Drive上。我的自定义功能区中有一些按钮,它们使用映射的驱动器号URL链接调用我的例程。 
 
自定义宏中的URL链接示例:

 
 
目标:
尝试与办公室中的其他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/“”)
 
 
有人知道宏的正确语法吗?
提前感谢!
 
 
 

BIGAL 发表于 2022-7-6 23:25:59

您可以使用getfile My\u例程检查,不同CAD用户有不同的映射驱动器号(例如:H:\或S:\而不是G:\)。lsp do在一个条件下
(条件
((G:是负载
((H:是负载
((S:是负载

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

RLispLearner 发表于 2022-7-6 23:33:25

谢谢比格尔。
我认为坚持使用带有驱动器号的映射URL路径比尝试基于web的共享驱动器链接更好,因此我感谢您的建议!
 
 
对于在宏行中放置的内容,这是否接近您的建议(使用“getfield”和“conditional”语句)?
^C^C (getfiled

                (cond

                     ((= G: yes (load "G:\shardrive\CAD_Department\CAD_menu\LISP\My_routine.lsp");My_routine;)

                     ((= H: yes (load "H:\shardrive\CAD_Department\CAD_menu\LISP\My_routine.lsp");My_routine;) 

                     ((= S: yes (load "S:\shardrive\CAD_Department\CAD_menu\LISP\My_routine.lsp");My_routine;)

                );end Cond

      );end getfiled
 
我把这个IF语句放在一起,只是想看看它是否也在一般范围内:
 
^C^C (getfiled 
     (if
           (Progn
              ((/= G: nil (load "G:\shardrive\CAD_Department\CAD_menu\LISP\My_routine.lsp");My_routine;) 
              ((/= H: nil (load "H:\shardrive\CAD_Department\CAD_menu\LISP\My_routine.lsp");My_routine;)  
              ((/= S: nil (load "S:\shardrive\CAD_Department\CAD_menu\LISP\My_routine.lsp");My_routine;)
           );end progn
      );end if
 );end getfiled
希望我没有对所有的语法都发火。 
 
 
再次感谢您的建议…!

BIGAL 发表于 2022-7-6 23:56:02

再想想,如果每个用户都设置了支持路径,我就不使用云驱动器。
 
; must have support path set, Options Files Support files search path
(setq fileexist (findfile "My_routine.lsp"))
(if (= fileexist nil)
(alert "my_routine.lsp not found on G: H: or S: \nCheck your support path settings")
(load "My_routine.lsp")
)
搜索路径集,即“G:\shardrive\CAD\u Department\CAD\u menu\LISP\可以是H:S:etc,然后findfile将返回T或nil
 
 

RLispLearner 发表于 2022-7-7 00:16:35

谢谢BigAl!我会试试。。。
页: [1]
查看完整版本: CUIX:交换LISP例程