乐筑天下

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

[编程交流] 爆炸块???

[复制链接]

3

主题

8

帖子

5

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-6 08:39:27 | 显示全部楼层 |阅读模式
我正在寻找一个LSP或程序,将做以下…
打开a。剖面集中的dwg。
Q选择所有块参照
爆炸
Q选择所有块参照
爆炸
Q选择所有块参照
爆炸
保存
关闭
重复选择集。
关闭程序
如果有人能帮我做这件事或给我指出正确的方向,我将不胜感激。
提前感谢您分享您的才华。
布瑞恩
回复

使用道具 举报

5

主题

1334

帖子

1410

银币

限制会员

铜币
-20
发表于 2022-7-6 08:45:38 | 显示全部楼层
试试这个:
 
  1. (defun c:3xselexp-cl ( / qaf ss ent enta ) (vl-load-com)
  2. (setq qaf (getvar 'qaflags))
  3. (setvar 'qaflags 1)
  4. (repeat 3
  5.    (setq ss (ssget "_X" '((0 . "INSERT")) ))
  6.    (repeat (setq ssn (sslength ss))
  7.      (setq enta (vlax-ename->vla-object (ssname ss (setq ssn (1- ssn)) )))
  8.      (if (vlax-property-available-p enta 'Path)
  9.        (progn
  10.          (setq ent (vlax-vla-object->ename enta))
  11.          (ssdel ent ss)
  12.        )
  13.      )
  14.    )
  15.    (if ss
  16.      (command "_.explode" ss "")
  17.    )
  18. )
  19. (setvar 'qaflags qaf)
  20. (princ)
  21. )
  22. (defun c:nxop3xexcl ( lspf / scrf filens path )
  23. (setq scrf (open "c:/opexpclall.scr" "w"))
  24. (setq filens (vl-directory-files (setq path (vl-filename-directory (getfiled "Pick one dwg in dirctory where are all other dwgs stored" "" "dwg" )) "*.dwg"))
  25. (repeat (strlen path)
  26.    (setq path (vl-string-subst (chr 47) (chr 92) path))
  27. )
  28. (foreach f filens
  29.    (progn
  30.      (princ "_.open" scrf)
  31.      (princ "\n" scrf)
  32.      (prin1 (strcat path (chr 47) f) scrf)
  33.      (princ "\n" scrf)
  34.      (princ "(setq lspflg T)" scrf)
  35.      (princ "\n" scrf)
  36.      (princ (strcat "(load "" lspf "")") scrf)
  37.      (princ "\n" scrf)
  38.      (princ "3xselexp-cl" scrf)
  39.      (princ "\n" scrf)
  40.      (princ "_.qsave" scrf)
  41.      (princ "\n" scrf)
  42.    )
  43. )
  44. (princ "_.shell" scrf)
  45. (princ "\n" scrf)
  46. (princ "erase c:\\opexpclall.scr" scrf)
  47. (princ "\n" scrf)
  48. (princ "_.closeall" scrf)
  49. (princ "\n" scrf)
  50. (close scrf)
  51. (command "_.script" "c:/opexpclall.scr")
  52. (princ)
  53. )
  54. (if (eq lspflg nil)
  55. (progn
  56.    (setq lspf (getfiled "SELECT LSP FILE THAT YOU JUST LOADED" "" "lsp" )
  57.    (repeat (strlen lspf)
  58.      (setq lspf (vl-string-subst (chr 47) (chr 92) lspf))
  59.    )
  60.    (c:nxop3xexcl lspf)
  61. )
  62. )
  63. (princ)
M.R。
回复

使用道具 举报

3

主题

8

帖子

5

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-6 08:55:40 | 显示全部楼层
Marko_ribar,
首先,谢谢你的帮助。我不确定我做错了什么,但我不断得到以下信息。
命令:AP
已成功加载APPLOAD 3xselexp-cl.lsp。
命令:;错误:错误的参数类型:FILE nil
命令:
我尝试了几个不同的文件和位置,得到了相同的结果,有什么想法吗?
回复

使用道具 举报

5

主题

1334

帖子

1410

银币

限制会员

铜币
-20
发表于 2022-7-6 09:01:06 | 显示全部楼层
尝试将我的代码保存在与AP不同的文件中。lsp(AP是appload命令的别名,我从未使用过appload-而是使用了(load“…”)。。。我的代码在:nxop3xexcl下。lsp。。。加载lsp后,应首先再次选择加载的lsp,然后选择一个*。dwg位于所有其他文件*所在的目录中。存储open-3xselectexplode的dwg。。。我已经检查了我的2台电脑上的代码,它甚至可以在ACAD 2008上运行。。。老实说,我不太清楚错误发生在哪里。。。
 
M、 R。
回复

使用道具 举报

5

主题

1334

帖子

1410

银币

限制会员

铜币
-20
发表于 2022-7-6 09:06:25 | 显示全部楼层
代码在第一次发布中更改。。。
 
M、 R。
回复

使用道具 举报

3

主题

8

帖子

5

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-6 09:08:37 | 显示全部楼层
做了一些之后,我和史蒂夫一起挖掘。他猜测这与我电脑的管理权或反病毒软件有关。不允许系统创建opexpclall。运行LSP时,C:\drive上的scr。他做了一个工作,让它迈克和找到文件在我的临时文件夹,它的工作像一个冠军。谢谢你们的帮助。
回复

使用道具 举报

4

主题

2143

帖子

2197

银币

限制会员

铜币
-24
发表于 2022-7-6 09:13:34 | 显示全部楼层
Brian_MMC公司
 
请阅读代码发布指南并编辑您的帖子。
回复

使用道具 举报

5

主题

1334

帖子

1410

银币

限制会员

铜币
-20
发表于 2022-7-6 09:18:46 | 显示全部楼层
我更新了我的第一篇帖子,此外,我还编写了可以保存*的代码。仅当在中找到块时才使用dwg。。。下面是代码:
 
  1. (defun c:3xselexp-cl ( / qaf ss ent enta ) (vl-load-com)
  2. (setq qaf (getvar 'qaflags))
  3. (setvar 'qaflags 1)
  4. (repeat 3
  5.    (setq ss (ssget "_X" '((0 . "INSERT")) ))
  6.    (repeat (setq ssn (sslength ss))
  7.      (setq enta (vlax-ename->vla-object (ssname ss (setq ssn (1- ssn)) )))
  8.      (if (vlax-property-available-p enta 'Path)
  9.        (progn
  10.          (setq ent (vlax-vla-object->ename enta))
  11.          (ssdel ent ss)
  12.        )
  13.      )
  14.    )
  15.    (if ss
  16.      (if (> (sslength ss) 0)
  17.        (progn
  18.          (command "_.explode" ss "")
  19.          (setq expflg T)
  20.        )
  21.      )
  22.    )
  23. )
  24. (setvar 'qaflags qaf)
  25. (princ)
  26. )
  27. (defun c:nxop3xexcl ( lspf / scrf filens path )
  28. (setq scrf (open "c:/opexpclall.scr" "w"))
  29. (setq filens (vl-directory-files (setq path (vl-filename-directory (getfiled "Pick one dwg in dirctory where are all other dwgs stored" "" "dwg" )) "*.dwg"))
  30. (repeat (strlen path)
  31.    (setq path (vl-string-subst (chr 47) (chr 92) path))
  32. )
  33. (foreach f filens
  34.    (progn
  35.      (princ "_.open" scrf)
  36.      (princ "\n" scrf)
  37.      (prin1 (strcat path (chr 47) f) scrf)
  38.      (princ "\n" scrf)
  39.      (princ "(setq lspflg T)" scrf)
  40.      (princ "\n" scrf)
  41.      (princ (strcat "(load "" lspf "")") scrf)
  42.      (princ "\n" scrf)
  43.      (princ "3xselexp-cl" scrf)
  44.      (princ "\n" scrf)
  45.      (princ "(if (eq expflg T) (command "_.qsave"))" scrf)
  46.      (princ "\n" scrf)
  47.    )
  48. )
  49. (princ "_.shell" scrf)
  50. (princ "\n" scrf)
  51. (princ "erase c:\\opexpclall.scr" scrf)
  52. (princ "\n" scrf)
  53. (princ "_.closeall" scrf)
  54. (princ "\n" scrf)
  55. (close scrf)
  56. (command "_.script" "c:/opexpclall.scr")
  57. (princ)
  58. )
  59. (if (eq lspflg nil)
  60. (progn
  61.    (setq lspf (getfiled "SELECT LSP FILE THAT YOU JUST LOADED" "" "lsp" )
  62.    (repeat (strlen lspf)
  63.      (setq lspf (vl-string-subst (chr 47) (chr 92) lspf))
  64.    )
  65.    (c:nxop3xexcl lspf)
  66. )
  67. )
  68. (princ)

 
这是我最后的结果。。。(命令“_.explode”ss)有一些问题(而(不是(eq(getvar'cmdactive)0))(命令“”)
 
希望这最终能有所帮助。。。如果您仍然无法在c:\drive的根目录下创建和删除文件,只需将drive更改为d:\,但请确保在c:\OPEXPCall所在的所有位置都更改了字母。scr文件发生。。。
 
M、 R.(Marko Ribar,d.i.a.毕业于建筑学工程师)
回复

使用道具 举报

44

主题

542

帖子

502

银币

后起之秀

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

铜币
220
发表于 2022-7-6 09:26:03 | 显示全部楼层
我希望在完成架构组件后,不要将dwg发送给任何其他人。其他人对分解块高度不满。例外情况是,如果您使用垂直产品,并且必须扩展其动态功能,以便其他人可以查看它。
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 09:33:05 | 显示全部楼层
 
如果要单步执行选择集,只需对其使用vla分解,或单步执行块并创建一个外部参照名称列表,以便在ssget过滤器中忽略。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-7 08:57 , Processed in 0.473981 second(s), 72 queries .

© 2020-2025 乐筑天下

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