乐筑天下

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

[编程交流] 寻找Lisp例程

[复制链接]

49

主题

1246

帖子

1210

银币

后起之秀

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

铜币
254
发表于 2022-7-6 07:43:38 | 显示全部楼层 |阅读模式
谁有一个例程可以抓取所有块,并将块内的内容设置为逐层的颜色?有时我会绘制一些图,比如说,有150个门作为块,但有75个不同的门名称,所以我经常使用QSELECT和explode,高亮显示所有,然后按层设置颜色。只是看看是否有一个Lisp例程可以做到这一点。。。。
 
虽然我不确定这是否/如何工作,但因为标准的方法是使用REFEDIT。不管怎样,只要看看有没有人拥有的东西。我们将不胜感激。提前感谢
回复

使用道具 举报

1

主题

96

帖子

101

银币

初来乍到

Rank: 1

铜币
3
发表于 2022-7-6 07:47:12 | 显示全部楼层
听起来你需要标准化你的区块
回复

使用道具 举报

49

主题

1246

帖子

1210

银币

后起之秀

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

铜币
254
发表于 2022-7-6 07:52:00 | 显示全部楼层
不是我的街区。。。这些是建筑师的图纸眨眼:
回复

使用道具 举报

1

主题

64

帖子

69

银币

初来乍到

Rank: 1

铜币
2
发表于 2022-7-6 07:54:01 | 显示全部楼层
别再说了,伙计。。。。。。。
 
建筑师!!!!!对不起,各位建筑师。。。。。
 
Styk。。。。。再多告诉我一点。。。。我也许能帮上忙。。。。。???
回复

使用道具 举报

49

主题

1246

帖子

1210

银币

后起之秀

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

铜币
254
发表于 2022-7-6 07:57:57 | 显示全部楼层
艾伦,你没有被捆绑!!很高兴你回来。。。
 
嗯,基本上我想要的是:一个例程,选择图形中的所有块,并将颜色更改为“按层”。不是块本身,而是块内的内容。这可以通过Lisp实现吗?编辑:我试图摆脱所有的障碍,这就是为什么我问一个程序可以做这样的事情。
回复

使用道具 举报

VVA

1

主题

308

帖子

308

银币

初来乍到

Rank: 1

铜币
8
发表于 2022-7-6 08:02:06 | 显示全部楼层
试试看
  1. ;;published by kpblc
  2. ;;http://www.arcada.com.ua/forum/viewtopic.php?t=526
  3. (defun c:normblocks (/ adoc answer lays lock lay *error* ans0 atype cnt)
  4. (defun *error* (msg)(princ msg)
  5.   (if lock (foreach x lock (vla-put-lock x :vlax-true)))(vl-cmdf "_.Redraw"))
  6. (vl-load-com)(setq cnt 0)
  7. (setq adoc (vla-get-activedocument (vlax-get-acad-object)))
  8. (setq lays (vla-get-layers adoc))
  9. (vla-startundomark adoc)
  10. (initget "LType LWeight Color All _ T W C A")
  11. (if (null (setq answer
  12.      (getkword "\nIn blocks to lead to norm [LType/LWeight/Color/All] <All> : ")))
  13.    (setq answer "A")) ;_ end of if
  14. (initget "byLayer byBlock")
  15. (setq atype (getkword "\nSet contents inside the block to [byLayer/byBlock] <byBlock>:"))
  16. (initget "Yes No")
  17. (setq ans0 (getkword "\nChange entities layer's to 0? [Yes/No] <No>:"))
  18. (vlax-for item (vla-get-blocks adoc)
  19.    (if   (not (wcmatch (strcase (vla-get-name item) t) "*_space*"))
  20.      (progn
  21.      (setq cnt (1+ cnt))
  22.      (grtext -1 (strcat "Modyfied " (vla-get-name item)))
  23.   (vlax-for   sub_item (vla-item (vla-get-blocks adoc) (vla-get-name item))
  24.   (setq lay (vla-item lays (vla-get-layer sub_item)))
  25.   (if (= (vla-get-lock lay) :vlax-true)
  26.   (progn (vla-put-lock lay :vlax-false)(setq lock (cons lay lock))))  
  27.   (if (= ans0 "Yes")(vla-put-Layer sub_item "0"))
  28.   (cond
  29.     ((= answer "W")
  30.      (vla-put-LineWeight sub_item (if (= atype "byLayer") acLnWtByLayer aclnwtbyblock))
  31.      )
  32.     ((= answer "T")
  33.      (vla-put-linetype sub_item (if (= atype "byLayer") "ByLayer" "ByBlock"))
  34.      )
  35.     ((= answer "C")
  36.      (vla-put-color sub_item (if (= atype "byLayer") acByLayer acByBlock))
  37.      )
  38.     (t
  39.      (vla-put-LineWeight sub_item (if (= atype "byLayer") acLnWtByLayer aclnwtbyblock))
  40.      (vla-put-linetype sub_item (if (= atype "byLayer") "ByLayer" "ByBlock"))      
  41.      (vla-put-color sub_item (if (= atype "byLayer") acByLayer acByBlock))
  42.      )
  43.     ) ;_ end of cond
  44.   ) ;_ end of vlax-for
  45.   )
  46.      ) ;_ end of if
  47.    ) ;_ end of vlax-for
  48. (if lock (foreach x lock (vla-put-lock x :vlax-true)))
  49. (vla-regen adoc acallviewports)
  50. (vla-endundomark adoc)(vl-cmdf "_.Redraw")
  51. (princ (strcat  "\nModyfied " (itoa cnt) " blocks"))
  52. (princ)
  53. ) ;_ end of defun
回复

使用道具 举报

49

主题

1246

帖子

1210

银币

后起之秀

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

铜币
254
发表于 2022-7-6 08:04:07 | 显示全部楼层
VVA,我想说你就是那个男人!!工作完美。。。。哇,这节省了很多时间。它甚至有更多选项,例如将所有内容设置为第0层。
 
非常感谢!!我注意到它是由kpblc写的,在这个论坛上。。。如果他是作者的话,我非常感谢他。
 
回复

使用道具 举报

VVA

1

主题

308

帖子

308

银币

初来乍到

Rank: 1

铜币
8
发表于 2022-7-6 08:08:52 | 显示全部楼层
是的,它的开始是由Alexey(kpblc)提出的。我只有一点进步。
***已添加***
在我看来,所有国家的建筑师都是一样的。这个程序是为更改他们的图纸而编写的
回复

使用道具 举报

1

主题

64

帖子

69

银币

初来乍到

Rank: 1

铜币
2
发表于 2022-7-6 08:10:57 | 显示全部楼层
嘿Styk。。。。。。。你肯定很快得到了你想要的回复。。。好的
 
VVA。。。我对建筑师没有意见,我哥哥和嫂子都是建筑师。。。。。所以我不认为这是对他们的。
 
然而他们确实让我们人民的生活更加艰难。。。。
回复

使用道具 举报

1

主题

12

帖子

11

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 08:13:33 | 显示全部楼层
我在这里为您(免费)准备了一个例程:
http://paracadd.com
查找BLKCOLT。LSP
 
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-9 21:27 , Processed in 0.696398 second(s), 83 queries .

© 2020-2025 乐筑天下

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