乐筑天下

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

[编程交流] .BAT。SCR将用于运行

[复制链接]

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 09:09:14 | 显示全部楼层
也许可以使用这个线程中的“setAttributeValue”函数。
回复

使用道具 举报

77

主题

298

帖子

232

银币

后起之秀

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

铜币
394
发表于 2022-7-6 09:12:18 | 显示全部楼层
谢谢你的提示李,我会有一个裂缝一个调整的代码,然后再给你。
 
干杯
回复

使用道具 举报

77

主题

298

帖子

232

银币

后起之秀

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

铜币
394
发表于 2022-7-6 09:18:26 | 显示全部楼层
再次感谢李,我设法调整代码以满足我的要求。
 
我让它在两个不同的块中更新不同标签的值,效果很好。
 
  1. ;; Set Attribute Values  -  Lee Mac
  2. ;; Sets the block attributes whose tags are found in the supplied
  3. ;; association list to their associated values.
  4. (defun LM:SetAttributeValues ( block lst / elist item )
  5.    (if
  6.        (eq "ATTRIB"
  7.            (cdr
  8.                (assoc 0
  9.                    (setq elist
  10.                        (entget (setq block (entnext block)))
  11.                    )
  12.                )
  13.            )
  14.        )
  15.        (if (setq item (assoc (strcase (cdr (assoc 2 elist))) lst))
  16.            (progn
  17.                (if (setq elist (entmod (subst (cons 1 (cdr item)) (assoc 1 elist) elist)))
  18.                    (entupd (cdr (assoc -1 elist)))
  19.                )
  20.                (LM:SetAttributeValues block lst)
  21.            )
  22.            (LM:SetAttributeValues block lst)
  23.        )
  24.    )
  25. )
  26. (defun c:UPDATETITLEBLOCK ( / ss data i )
  27.    (if (setq ss (ssget "_X" '((0 . "INSERT") (66 . 1) (2 . "PDCTITLE,PDCREV"))))
  28.        (progn
  29.            (setq data
  30.               '(
  31.                    ("PDCDATECHK" . "07/11/2011")
  32.                    ("PDCISSUEREV" . "0")
  33.                )
  34.            )                  
  35.            (repeat (setq i (sslength ss))
  36.                (LM:SetAttributeValues (ssname ss (setq i (1- i))) data)
  37.            )
  38.        )
  39.    )
  40.    (princ)
  41. )
  42. (c:UPDATETITLEBLOCK)

 
再次感谢朋友。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 09:18:55 | 显示全部楼层
杰出的很高兴你能利用它
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 09:23:43 | 显示全部楼层
Hi Irnerb只是一个建议,喜欢你的工作有多快,可能会添加几个预设值到拨号绘图器名称和自动今天日期等
回复

使用道具 举报

11

主题

968

帖子

919

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
99
发表于 2022-7-6 09:25:41 | 显示全部楼层
比格尔,当然。。。尽管我会通过lisp调用来设置tile。特别是今天的日期。否则,每次想使用DCL时都需要重写它——这并非不可能,但似乎需要做更多的工作。
 
实际上,我更喜欢使用set\u tile初始化对话框中的任何值。这样,您甚至可以很容易地记住用户的最后一个输入作为默认值。甚至可以使用其他方法计算默认值,例如默认为现有属性值。
 
作为如何在我之前发布的DCL代码中设置修订日期的默认值的示例。假设DCL位于名为DwgUpdate的文件中。DCL和一个支持文件夹中。此外,我还展示了使用ISO标准格式化的日期(即YYYY-MM-DD…不太难将其更改为您想要的):
对不起。。unload_对话框位于错误的位置。
回复

使用道具 举报

77

主题

298

帖子

232

银币

后起之秀

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

铜币
394
发表于 2022-7-6 09:30:58 | 显示全部楼层
大家好,
 
回到任务的自动化方面-李。。。我看了一下你的编剧,我遇到的问题是,我希望LISP例程在某个目录中的所有DWG上运行。目录总是相同的,但其中的DWG几乎总是不同的。我读了一些关于编译DWG列表并将该列表合并到的内容。SCR。但我希望有一条更直接的道路。
 
有没有可能让一个脚本在某个目录中打开一堆DWG(目录是恒定的),然后在它们上运行LISP例程?我希望不必每次都选择目录,因为在理想情况下,我将创建一个工具栏按钮,用户可以点击该按钮,然后开始该过程-无需其他操作。
 
再次感谢你的帮助,朋友。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 09:33:55 | 显示全部楼层
您可以编写一个lisp,然后编写脚本最后一行是(命令“script”“myscript”)
 
以下是findfile例程的示例:http://www.cadtutor.net/forum/showthread.php?51091-acad。fas virus&highlight=virus在底部,它可能有一个硬代码目录来搜索*。dwg和使用(writeline scriptline f)
 
这里还有另一个使用findfile的例子,肯定会有人发布。如果提供了驱动器/目录前缀,请参阅帮助。文件仅在该目录中查找
回复

使用道具 举报

77

主题

298

帖子

232

银币

后起之秀

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

铜币
394
发表于 2022-7-6 09:35:41 | 显示全部楼层
谢谢你的回复。
 
基于该查找文件例程,第一个LISP例程是否可以编译certian目录中的DWG列表,然后在每个找到的DWG上运行脚本,并且脚本可以打开>运行第二个LISP>然后关闭?
 
我将研究foreach和findfile函数,看看能否让它们编译一个列表。包含在特定目录(但不是子文件夹)中的DWG。。看看会发生什么。有什么建议吗?
 
这听起来可能是一个不错的选择。
 
我还发现了这个。。。http://www.cadtutor.net/forum/showthread.php?13565-批量清除和审核&p=263508&viewfull=1#post263508
 
但我恐怕对视觉Lisp程序一无所知。
 
再次感谢你的帮助比格尔。
回复

使用道具 举报

11

主题

968

帖子

919

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
99
发表于 2022-7-6 09:38:45 | 显示全部楼层
在我看来,你有两个选择:
 
[列表=1]
  • 让您的lisp调用脚本以打开下一个图形并再次启动lisp。
  • 让脚本依次打开每个图形
  • 回复

    使用道具 举报

    发表回复

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

    本版积分规则

    • 微信公众平台

    • 扫描访问手机版

    • 点击图片下载手机App

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

    GMT+8, 2025-7-8 05:19 , Processed in 0.681610 second(s), 70 queries .

    © 2020-2025 乐筑天下

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