乐筑天下

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

[综合讨论] 宏有问题

[复制链接]

180

主题

639

帖子

463

银币

中流砥柱

Rank: 25

铜币
897
发表于 2022-7-6 23:45:29 | 显示全部楼层 |阅读模式
我试图运行以下宏来打开图形文件,然后加载并执行LISP文件。
 
  1. ^C^CFILEDIA;0;OPEN;"\\a_long_novell_path\MyDrawingFile.dwg";FILEDIA;1;(load "//a_long_novell_path/MyLispFile.lsp");TEST;

我有一个自定义菜单项,但当它运行时,它会暂停,图形文件加载到屏幕上的动态输入窗口中。当我按enter键时,它加载图形,但随后停止操作。它不会加载和执行LISP文件。我尝试在图形名称后放置两个分号以强制另一个分号,但仍然得到相同的结果。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 23:57:30 | 显示全部楼层
另一种方法是使用脚本文件。问题可能是一旦打开dwg,控件就会转到该dwg,因此不会调用lisp^c^cscript脚本22
回复

使用道具 举报

180

主题

639

帖子

463

银币

中流砥柱

Rank: 25

铜币
897
发表于 2022-7-7 00:01:08 | 显示全部楼层
谢谢比格尔,这确实有道理。我发现了一些额外的拼写错误。。。。该死的那些novell服务器路径,75个字符长,所以很容易打字。我必须使用UNC,因为运行它的各个部门都有不同的驱动器映射。严格执行标准到此为止。我还必须在脚本文件中添加一个“Y”,因为图形文件是只读的,它会暂停以确认是否要打开它。甚至当我将专家设置为5级时,这种情况也发生了。不管怎样,它现在正在工作,我们都要再一次走向自动化的幸福。谢谢
回复

使用道具 举报

180

主题

639

帖子

463

银币

中流砥柱

Rank: 25

铜币
897
发表于 2022-7-7 00:13:44 | 显示全部楼层
好的,我认为这个问题已经解决了,但显然我安装的“Y”还有另一个问题。上周,我正在运行脚本,AutoCAD 2013在“打开”命令处暂停,该命令要求我确认文件以打开此只读文件。所以我添加了一行,只包含字母“Y”,这一切都开始起作用了。我在其他用户的机器上进行了测试,2009年、2013年、2014年和2014年的机械用户,一切都很好。今天,当我运行脚本时,它打开了图形文件,但随后给了我一个错误未知的命令“Y”。我检查了一下,FILEDIA设置为1,所以我将其更改为0,但得到了相同的结果。看起来我在另一个环境变量中缺少了一些东西。我还尝试了专家将其设置为5,然后返回到0,但没有任何变化。
 
我打开的图纸被标记为只读,这就是我看到的提示。我刚刚在其他一些地方测试了这个,它在那里运行良好。如果我去掉“Y”,它对我们所有人都有相反的影响,即它开始在我的机器上运行,但在所有其他机器上都失败了。这是今天早上的脚本文件:
  1. _.OPEN "\\a_very_long_novell_path\MyDwgFile.dwg"
  2. Y
  3. (LOAD "//a_very_long_novell_path/MyLispFile.lsp")
  4. MyLispCmd
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-7 00:16:18 | 显示全部楼层
要长得多,但可以检查文件是否实际设置为“只读”,这样您的脚本就会检查这一点,然后运行另一个脚本readonlyopen或script notreadonly。可能是一个开始lisp然后脚本。尝试在VL文件命令下查找
 
完成!!!
 
  1. ; ORIGINAL CODE
  2. ; STIG.MADSEN @ AUGI FORUMS
  3. ; Shortened to give read only flag which is 1
  4. (setq aFile (getfiled "" "" "" 4))
  5.          (setq fso (vlax-create-object "Scripting.FilesystemObject"))
  6.          (setq oFile (vlax-invoke fso 'GetFile aFile))
  7. (SETQ READONLY (vlax-get-property oFile 'Attributes)) ; 1 read-only 0 read-write
  8. (IF (= READONLY 1)
  9.   (ALERT "FILE IS READ ONLY") ; set gloabl variable or run script here exits then
  10.   (ALERT "FILE IS NOT READ ONLY"
  11. )   
  12.     (vlax-release-object oFile)
  13.     (vlax-release-object fso)
  14.    )
  15. )
  16. (princ)
回复

使用道具 举报

180

主题

639

帖子

463

银币

中流砥柱

Rank: 25

铜币
897
发表于 2022-7-7 00:23:52 | 显示全部楼层
再次感谢比格尔。我正在努力辨别我的设置发生了什么。我需要的是文件始终保持只读。这样一来,没有一个“空白”用户可以在没有实际犯罪或更改其属性的情况下使用它。在周一,这对每个人都非常有效。办公室中的其他用户仍然可以让脚本运行,而不会得到文件只读的提示。这是一个自动化过程,需要允许用户只需单击菜单选项即可加载图形,运行LISP,然后离开。它正在这样做。但是现在由于我自己不知道的原因,我的电脑将不再运行它而不抱怨“Y”。其他用户没有看到这一点。现在,作为这个部门唯一的开发者,我的系统经常被调整和弄乱,所以我很确定这是我做的事情。但我似乎无法理解。我会继续挖掘。
回复

使用道具 举报

0

主题

172

帖子

173

银币

限制会员

铜币
-1
发表于 2022-7-7 00:31:19 | 显示全部楼层
在这里我只是猜测一下,但这可能和此有关吗。dwl文件?
 
您是否是第一个打开图形的人,因此您没有获得“文件已打开”标志,而其他人在您获得该标志后打开文件,并且需要“y”以只读方式打开并继续。
回复

使用道具 举报

180

主题

639

帖子

463

银币

中流砥柱

Rank: 25

铜币
897
发表于 2022-7-7 00:41:12 | 显示全部楼层
这是一个谜。。。。现在,我终于检查了我想我应该在开始检查的内容。图形文件被标记为只读,我自己做了这件事,以防止用户意外覆盖它。在今天早上的会议上,这个部门的所有10名用户都向他们孩子的灵魂发誓,没有人碰过它。好吧,他们中的一些人一定没有孩子,因为当我最终崩溃并检查。。。。你猜对了,有人取消了文件的只读设置。这就是为什么我的剧本和“Y”混淆了。现在我还不能说为什么该部门的其他用户没有得到同样的结果。但它又像预期的那样工作了。该文件不仅恢复为只读,而且被隔离在服务器上的一个文件夹中,在这个文件夹中,只有您的用户才能真正更改它。生活和学习。
 
是的,努卡德,我认为你有一个正确的观点,为什么它对其他人有效,而不是对我。由于大多数时候都是我打开的,其他人可能会遇到只读的情况。但是当我关闭它而没有其他人打开它时,由于有人在我不知情的情况下删除了它的只读属性,这是有道理的。但是谁删除了只读属性仍然是个谜,因为没有人愿意承认这一罪行。该文件现在已完全锁定,因此如果再次发生,至少我会知道是我做的。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-7 00:50:56 | 显示全部楼层
我遗漏的部分代码实际上将文件更改为只读,如果不是这样的话,那么他们可能会认为将其更改为只读是明智的,我通过谷歌找到了它,因此您仍然可以进行修改,因为您可以在Autocad打开用户隐藏的窗体之前进行设置。如果你打开它可能会有问题,检查dwl不是一个好主意,因为这里的人经常使用崩溃退出,我对他们大喊大叫,这会留下dwl,所以如果你检查它,它会说文件锁定,但它没有。
 
  1. ;I think its to read only would have to google again
  2. (vlax-put-property oFile 'Attributes 1)
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-9 21:47 , Processed in 1.023766 second(s), 70 queries .

© 2020-2025 乐筑天下

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