乐筑天下

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

正在寻找将文件名添加到特定块和属性的脚本。

[复制链接]

33

主题

153

帖子

4

银币

后起之秀

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

铜币
285
发表于 2015-1-28 15:54:30 | 显示全部楼层 |阅读模式
女士们、先生们,
我正在寻找一个LSP来将文件名的文本添加到特定的块和该块的特定属性中。
如果有人有一个简单的LSP例程可以做到这一点..我很想去看看。
非常感谢任何帮助。

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

58

主题

3353

帖子

33

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1761
发表于 2015-1-28 16:21:59 | 显示全部楼层
如果是图形的名称,则可以使用字段:%
%
回复

使用道具 举报

33

主题

153

帖子

4

银币

后起之秀

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

铜币
285
发表于 2015-1-28 16:30:39 | 显示全部楼层
没有可以做Ronjonp,
市政当局将不接受属性块中的字段。 因此,它必须是属性中的文本。
因此,LSP 必须读取文件名..,并在 essance.. 中将其键入到 LSP 中命名的块的属性中。
思潮?
回复

使用道具 举报

16

主题

506

帖子

6

银币

中流砥柱

Rank: 25

铜币
570
发表于 2015-1-28 17:36:19 | 显示全部楼层
作为一个领域来做(等等——还有更多!).在返回之前,手动或通过代码将字段转换为简单文本。
回复

使用道具 举报

33

主题

153

帖子

4

银币

后起之秀

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

铜币
285
发表于 2015-1-28 19:17:38 | 显示全部楼层
我有三个不同的标题块,我试图填充。我有11x17工作表的LSP例程,它们根据名称中的“-”分解文件名。
例。。。
Dave-Neu-Dwg.dwg
填充块属性
at1 = DAVE
at2 = NEU
at3 = DWG
我对 24x36 标题块有一个类似的 LSP
,但对于我们从供应商处获得的图纸,我们必须使用那里的图纸编号块
CLIENT DWG. NO.:
所有以前的 LSP 在属性中输入文本。 即遵守客户的CAD标准。我需要第三个来
录制一个宏,希望能够运行所有三个.....所以我可以使用相同的命令来更新所有标题块,
即记录-->
CLIENT1(为11x17运行LSP)
CLIENT2(为24x36运行LSP)
CLIENT3(为TIFFS运行LSP)
结束记录...名称记录客户端
我可以打开所有dwg并键入.CLIENT
QSAVE
CLOSE
(我会做一个SCR并在SCRIPTPRO中运行它)
回复

使用道具 举报

51

主题

613

帖子

9

银币

中流砥柱

Rank: 25

铜币
815
发表于 2015-1-29 07:22:10 | 显示全部楼层
如果.TIFF文件名更改,会发生什么情况?标题栏需要更新,还是只填写一次?
回复

使用道具 举报

33

主题

153

帖子

4

银币

后起之秀

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

铜币
285
发表于 2015-1-29 09:38:57 | 显示全部楼层
我使用栅格工具嵌入了 tiff。 因此,只有要处理的文件名。
标题栏只需在运行脚本时更新。
我已经与这个客户一起处理了大约20个项目,一旦我们在现有的dwgs(TIFF)上设置了名称,它们就不会改变。 但是,我们必须在客户端数据库中为新的 DWG 生成名称。 我们没有删除的方法。所以我们有自己的临时命名系统。 一旦我们通过了可施工性审查。 我们将 DWG 名称输入到其数据库中,并最终确定 CAD 文件的名称。
回复

使用道具 举报

33

主题

153

帖子

4

银币

后起之秀

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

铜币
285
发表于 2015-1-30 02:27:07 | 显示全部楼层
由Lee Mac找到一个<br>(defun c:UPDTNAM(/ss-eLst-dNme-aEnt-aEntLst)<br>,(vl-load.com)<br>(如果(setq-ss)(ssget“X”(list(cons 0“INSERT”)(cons 2“TITLEBLOCK”)(<br>(如果(getvar“CTAB”)<br>(cons 410(getvar”CTAB))<br>(cons 67(-1(getvar“TILEMODE”)))))<br>程序'cadr(ssnamex ss)))
dNme(vl文件名库(getvar“DWGNAME”))
(foreach e eLst
(setq aEnt(entnext e))
((而不是(eq“sequend”(cdadr(setq aEntLst(entget aEnt))))
)(如果(=“DWGNAM”(cdr(assoc 2 aEntLst))
(entmod(subst(cons 1 dNme)(assoc 1 aentls)aentls)))
((setq aEnt(enten)(entnext aEnt)aEnt(entnext aentl))))));

。(未找到标题栏)
。“_regenall”)
(princ))
如果您想为自己的目的进行修改。
UPDTNAM调用命令行中的LSP<br>标题栏是块的名称<br>DWGNAM是属性<br>再次感谢Lee Mac!!!
回复

使用道具 举报

33

主题

153

帖子

4

银币

后起之秀

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

铜币
285
发表于 2015-1-30 09:28:56 | 显示全部楼层
哇-那是一些旧代码!
这里有一个更新的版本,它在代码的顶部方便地定义了各种参数,并且应该也可以使用动态块:
  1. (defun c:dwgatt ( / blk idx obj sel str tag )
  2.     (setq blk "TITLEBLOCK" ;; Block name (case-insensitive)
  3.           tag "DWGNAM"     ;; Attribute tag (case-insensitive)
  4.           str (vl-filename-base (getvar 'dwgname)) ;; Attribute value
  5.     )
  6.     (if
  7.         (setq sel
  8.             (ssget "_X"
  9.                 (list '(0 . "INSERT") '(66 . 1) (cons 2 (strcat "`*U*," blk))
  10.                     (if (= 1 (getvar 'cvport))
  11.                         (cons 410 (getvar 'ctab))
  12.                        '(410 . "Model")
  13.                     )
  14.                 )
  15.             )
  16.         )
  17.         (repeat (setq idx (sslength sel))
  18.             (setq obj (vlax-ename->vla-object (ssname sel (setq idx (1- idx)))))
  19.             (if (= (strcase blk) (strcase (vlax-get-property obj (if (vlax-property-available-p obj 'effectivename) 'effectivename 'name))))
  20.                 (foreach att (vlax-invoke obj 'getattributes)
  21.                     (if (= (strcase tag) (strcase (vla-get-tagstring att)))
  22.                         (vla-put-textstring att str)
  23.                     )
  24.                 )
  25.             )
  26.         )
  27.         (princ (strcat "\nNo "" blk "" blocks found in the current layout."))
  28.     )
  29.     (princ)
  30. )
  31. (vl-load-com) (princ)

(以上未经测试)
乐意为DIW效劳!
回复

使用道具 举报

33

主题

153

帖子

4

银币

后起之秀

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

铜币
285
发表于 2015-1-30 17:39:05 | 显示全部楼层
我得到了一份提交文件。旧代码可以工作,但我非常乐意“刷新”它。有了以上内容…我将在周一进行测试。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-11 03:14 , Processed in 0.723885 second(s), 72 queries .

© 2020-2025 乐筑天下

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