乐筑天下

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

[编程交流] 替换选定块,remem

[复制链接]

1

主题

2

帖子

1

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 23:36:07 | 显示全部楼层 |阅读模式
嗨。
我正在寻找一个例程,取代选定的块。此外,我希望替换的块与旧块具有相同的attributevalue。这些块具有相同的属性。
 
我发现了许多替换选定块的例程,但它们都覆盖了原始属性值。
回复

使用道具 举报

19

主题

119

帖子

100

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
95
发表于 2022-7-5 23:49:36 | 显示全部楼层
为什么不重新导入并重新定义块?
回复

使用道具 举报

1

主题

2

帖子

1

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 00:01:13 | 显示全部楼层
这些块是示意图的一部分。我只想更改块的选定实例,属性不应被覆盖。
 
我制作了一个视频来更好地说明我的意思:https://dl.dropboxusercontent.com/u/18606927/Replace.wmv
 
 
我希望块记住它的属性,这样我就不必再更改它了。
回复

使用道具 举报

10

主题

598

帖子

594

银币

初来乍到

Rank: 1

铜币
48
发表于 2022-7-6 00:02:45 | 显示全部楼层
您可以发布一个要替换的块(带有您想要保留的属性)和将替换它的块的示例吗。视频中的信息太多,无法看到发生了什么。
回复

使用道具 举报

26

主题

84

帖子

58

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
130
发表于 2022-7-6 00:14:32 | 显示全部楼层
 
通过以下步骤,我实现了与您相同的目标:
 
-选择要替换的所有所需块;
-键入ATTOUT(“Express Tools的导出属性”功能)仅导出选定块的属性;
-尝试加载这个LISP(归功于alanjt)并替换所选的块。属性可能会消失(不要恐慌)
仅供参考。正如alanjt所提到的,您也需要这个函数。
-[可选:]如果您觉得属性顺序或提示有任何差异,只需编辑包含以前导出的属性的文本文件。
-键入ATTIN(“Express Tools的导入属性”功能)并带回属性。
 
这对我来说很好
回复

使用道具 举报

26

主题

1495

帖子

20

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-6 00:24:15 | 显示全部楼层
虽然我没有什么可以测试的,但它应该可以工作:
 
  1. [b][color=BLACK]([/color][/b]defun c:rpb [b][color=FUCHSIA]([/color][/b]/ rb ss i en ed[b][color=FUCHSIA])[/color][/b]
  2. [b][color=FUCHSIA]([/color][/b]while [b][color=NAVY]([/color][/b]or [b][color=MAROON]([/color][/b]not rb[b][color=MAROON])[/color][/b]
  3.             [b][color=MAROON]([/color][/b]not [b][color=GREEN]([/color][/b]snvalid rb[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
  4.             [b][color=MAROON]([/color][/b]or [b][color=GREEN]([/color][/b]not [b][color=BLUE]([/color][/b]tblsearch [color=#2f4f4f]"BLOCK"[/color] rb[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b]
  5.                 [b][color=GREEN]([/color][/b]not [b][color=BLUE]([/color][/b]findfile [b][color=RED]([/color][/b]strcat rb [color=#2f4f4f]".DWG"[/color][b][color=RED])[/color][/b][b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
  6.         [b][color=NAVY]([/color][/b]setq rb [b][color=MAROON]([/color][/b]strcase [b][color=GREEN]([/color][/b]getstring [color=#2f4f4f]"\nReplacement BLOCK Name:   "[/color][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  7. [b][color=FUCHSIA]([/color][/b]if [b][color=NAVY]([/color][/b]not [b][color=MAROON]([/color][/b]tblsearch [color=#2f4f4f]"BLOCK"[/color] rb[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
  8.      [b][color=NAVY]([/color][/b]progn
  9.        [b][color=MAROON]([/color][/b]command [color=#2f4f4f]"_.INSERT"[/color] rb[b][color=MAROON])[/color][/b]
  10.        [b][color=MAROON]([/color][/b]command[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  11. [b][color=FUCHSIA]([/color][/b]if [b][color=NAVY]([/color][/b]/= [b][color=MAROON]([/color][/b]logand [b][color=GREEN]([/color][/b]cdr [b][color=BLUE]([/color][/b]assoc 70 [b][color=RED]([/color][/b]tblsearch [color=#2f4f4f]"BLOCK"[/color] rb[b][color=RED])[/color][/b][b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b] 2[b][color=MAROON])[/color][/b] 2[b][color=NAVY])[/color][/b]
  12.      [b][color=NAVY]([/color][/b]alert [b][color=MAROON]([/color][/b]strcat [color=#2f4f4f]"Replacement BLOCK "[/color] rb [color=#2f4f4f]" Must Have Attributes"[/color][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
  13.      [b][color=NAVY]([/color][/b]progn
  14.        [b][color=MAROON]([/color][/b]princ [b][color=GREEN]([/color][/b]strcat [color=#2f4f4f]"\nSelect INSERTs To Replace With "[/color] rb[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
  15.        [b][color=MAROON]([/color][/b]while [b][color=GREEN]([/color][/b]setq ss [b][color=BLUE]([/color][/b]ssget [b][color=RED]([/color][/b]list [b][color=PURPLE]([/color][/b]cons 0 [color=#2f4f4f]"INSERT"[/color][b][color=PURPLE])[/color][/b][b][color=PURPLE]([/color][/b]cons 66 1[b][color=PURPLE])[/color][/b]
  16.                                     [b][color=PURPLE]([/color][/b]cons 2 [b][color=TEAL]([/color][/b]strcat [color=#2f4f4f]"~"[/color] rb[b][color=TEAL])[/color][/b][b][color=PURPLE])[/color][/b][b][color=RED])[/color][/b][b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b]
  17.               [b][color=GREEN]([/color][/b]setq i 0[b][color=GREEN])[/color][/b]
  18.               [b][color=GREEN]([/color][/b]while [b][color=BLUE]([/color][/b]setq en [b][color=RED]([/color][/b]ssname ss i[b][color=RED])[/color][/b][b][color=BLUE])[/color][/b]
  19.                      [b][color=BLUE]([/color][/b]setq ed [b][color=RED]([/color][/b]entget en[b][color=RED])[/color][/b][b][color=BLUE])[/color][/b]
  20.                      [b][color=BLUE]([/color][/b]entmod [b][color=RED]([/color][/b]subst [b][color=PURPLE]([/color][/b]cons 2 rb[b][color=PURPLE])[/color][/b] [b][color=PURPLE]([/color][/b]assoc 2 ed[b][color=PURPLE])[/color][/b] ed[b][color=RED])[/color][/b][b][color=BLUE])[/color][/b]
  21.                      [b][color=BLUE]([/color][/b]setq i [b][color=RED]([/color][/b]1+ i[b][color=RED])[/color][/b][b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  22. [b][color=FUCHSIA]([/color][/b]prin1[b][color=FUCHSIA])[/color][/b][b][color=BLACK])[/color][/b]

 
 
-大卫
回复

使用道具 举报

26

主题

84

帖子

58

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
130
发表于 2022-7-6 00:31:46 | 显示全部楼层
大卫,你不认为下面突出显示的几行是矛盾的吗?
 
  1. (while (or (not rb)
  2.             (not (snvalid rb))
  3.             (or ([color="red"]not (tblsearch "BLOCK" rb[/color]))
  4.                 (not (findfile (strcat rb ".DWG")))))
  5.         (setq rb (strcase (getstring "\nReplacement BLOCK Name:   "))))
  6. [color="red"](if (not (tblsearch "BLOCK" rb))
  7.      (progn
  8.        (command "_.INSERT" rb)
  9.        (command)
  10.      )
  11. )[/color]

 
 
 
 
回复

使用道具 举报

26

主题

1495

帖子

20

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-6 00:38:57 | 显示全部楼层
如果替换块是外部dwg参照,则必须将其插入到当前图形中,以将定义记录到块表中。否则,(entmod)调用将失败-大卫
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-11 00:31 , Processed in 1.046782 second(s), 68 queries .

© 2020-2025 乐筑天下

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