乐筑天下

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

[编程交流] 有没有制作lisp代码的想法?

[复制链接]

96

主题

322

帖子

234

银币

后起之秀

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

铜币
474
发表于 2022-7-5 18:36:26 | 显示全部楼层 |阅读模式
基本原则是:
  1. select block
  2. explode block
  3. select exploded block (entlast)
  4. copy to layer "122"
  5. and
  6. make new block of copied entity in "122" layer
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 18:40:52 | 显示全部楼层
无需分解并重新选择最后一个实体来创建新块,也可能具有相同的名称。
 
您需要将选定块中的实体移动到该层名称“122”,仅此而已。
回复

使用道具 举报

96

主题

322

帖子

234

银币

后起之秀

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

铜币
474
发表于 2022-7-5 18:45:51 | 显示全部楼层
我正在寻找copytolayer命令,以便复制块不同的层,但我找不到。
只需对块以外的任何对象执行copy2layer操作
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 18:50:46 | 显示全部楼层
你在说什么样的障碍?属性块还是普通块?
 
您可以上传保存到cad 2009的示例图形吗?
回复

使用道具 举报

96

主题

322

帖子

234

银币

后起之秀

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

铜币
474
发表于 2022-7-5 18:52:33 | 显示全部楼层
普通块(和内部块)
例如,我制作了一个简单的块,我想在一个命令lisp中将其复制到两个特定的层LAYER1和LAYER2中
塔尔瓦特。图纸
回复

使用道具 举报

96

主题

322

帖子

234

银币

后起之秀

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

铜币
474
发表于 2022-7-5 18:58:24 | 显示全部楼层
普通块(和内部块)
例如,我制作了一个简单的块,我想在一个命令lisp中将其复制到两个特定的层LAYER1和LAYER2中
塔尔瓦特。图纸
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 19:01:17 | 显示全部楼层
试试这个。
 
  1. (defun c:Test (/ l ss doc )
  2. ;;----------------------------;;
  3. ;; Tharwat 20.09.2015                ;;
  4. ;; Move object in Normal         ;;
  5. ;; Blocks to a specific Layer        ;;
  6. ;;----------------------------;;
  7. (if (and (/= "" (setq l (getstring t "\nSpecify the Layer name to move objects in blocks to :")))
  8.         (if (not (tblsearch "LAYER" l))
  9.           (progn
  10.             (alert (strcat "Layer name < " l " > is not found !!")) nil)
  11.           t
  12.           )
  13.         (princ "\nSelect Normal blocks to proceed :")
  14.         (setq ss (ssget "_:L" '((0 . "INSERT"))))
  15.         )
  16. (progn
  17.    (vla-startundomark (setq doc (vla-get-activedocument (vlax-get-acad-object))))
  18.    ((lambda ( r / sn nm lst obj)
  19.       (while (setq sn (ssname ss (setq r (1+ r))))
  20.         (if (not (member (setq nm (cdr (assoc 2 (entget sn)))) lst))
  21.           (progn
  22.             (setq lst (cons nm lst)
  23.                   obj (tblobjname "BLOCK" nm)
  24.                   )
  25.             (while (setq obj (entnext obj))
  26.               (entmod (subst (cons 8 l) (assoc 8 (entget obj)) (entget obj)))
  27.               )
  28.             )
  29.           )
  30.         )
  31.       )
  32.      -1
  33.      )
  34.    (vla-endundomark doc)
  35.    (vla-regen doc acAllViewports)
  36.    )
  37. )
  38. (princ)
  39. )(vl-load-com)
回复

使用道具 举报

96

主题

322

帖子

234

银币

后起之秀

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

铜币
474
发表于 2022-7-5 19:05:10 | 显示全部楼层
尊敬的Tharwat:
我试过了,非常适合移动物体实体
我想要这个子程序来复制到一些层,而不是移动:?
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 19:09:14 | 显示全部楼层
 
好的
 
 
你这是什么意思?
回复

使用道具 举报

96

主题

322

帖子

234

银币

后起之秀

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

铜币
474
发表于 2022-7-5 19:11:10 | 显示全部楼层
我想用另一个名字复制某些层中的块。
例如,主块是“dfd”,我想在第1、2、3层的同一坐标处用自由的新名称重复复制这个块
 
  1. (defun c:Test (/ l ss doc )
  2. ;;----------------------------;;
  3. ;; Tharwat 20.09.2015                ;;
  4. ;; [color="#ff8c00"]Move object in[/color] Normal         ;;  <<[color="#9acd32"] i wanna copy (not move)[/color]
  5. ;; Blocks to a specific Layer        ;;
  6. ;;----------------------------;;
  7. (if (and (/= "" (setq l (getstring t "\nSpecify the Layer name to move objects in blocks to :")))
  8.         (if (not (tblsearch "LAYER" l))
  9.           (progn
  10.             (alert (strcat "Layer name < " l " > is not found !!")) nil)
  11.           t
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-12 13:12 , Processed in 0.877947 second(s), 73 queries .

© 2020-2025 乐筑天下

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