找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1257|回复: 21

[测试]:关于组的快速命令行工具QGROUP

[复制链接]
发表于 2006-1-31 14:46:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
整理了一下关于组操作的几个工具,给性急的朋友试用。
使用上的如发现错误请回此贴。

声明:这不是理正官方版本。

  1. [FONT=courier new]
  2. 关于组的快速命令行工具QGROUP       秋枫, 2006年1月31日
  3. ======================================================
  4. 简写  命令全名            功能描述
  5. ------------------------------------------------------
  6. G     GroupMake           创建组(匿名)
  7. GX    GroupExplode        炸开组
  8. GA    GroupAdd            将选中的物体加入指定组
  9. GR    GroupRemove         将选中的物体从指定组中移除
  10. GP    GroupPurge          清除空组或只包含一个物体的组
  11. ------------------------------------------------------
  12. [/FONT]
复制代码


说明:
1.此程序为AutoCAD 2000以上版本设计,但仅在AutoCAD 2006下测试过。
2.使用此程序不含任何保证,使用风险请用户自己承担。
3.程序中使用了部分James W. Dean, AIA的CreateDCL 1.1源代码。

下载见13楼。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2006-1-31 15:24:01 | 显示全部楼层
谢谢,非常的感动大哥!
理正建筑2005,测试通过!

问题反应:
输入GP后,清理完组后,弹出的F2窗口,不能关闭,要用户手动的关闭,麻烦?
建议:程序最后运行  (command "graphscr")

GX,分解组,最好能支持窗选!CROSS

关于GP,清理组,我这里有个程序,也是得大哥哥的帮助,完成的,我贴上来,希望秋枫哥哥可以考虑一下,顺便purge一下图形!



(vl-load-com)

(defun c:q (/ gnList doc groups g)
  (princ
    "\n* 此程序搜索不包含任何物体的空组并清除之 *\n"
  )
  (setq doc (vla-get-activedocument (vlax-get-acad-object)))
  (setq groups (vla-get-groups doc))
  (vlax-for g groups
    (princ "\n分析组:")
    (princ (vla-get-name g))
    (if (< (vla-get-count g) 2)
      (progn
        (princ (strcat "......删除空组" (vla-get-name g)))
        (vla-delete g)
      )
    )
    (princ)
  )

  (command "purge" "a" "*" "n")
  (command "purge" "a" "*" "n")
  (command "purge" "r" "*" "n")
  (setvar "cmdecho" cm)
  (princ "***** 嘻嘻!全部清理完成! *****")
  (princ)
)


上面的清理程序最好在CAD2005上运行,因为CAD2005中的PURGE命令中都有R参数!

这个程序实际上就是将清理图形和清理组,合并在一起了,有了这个程序后,理正的整理图形中的参数就可以少两项了,QUN哥哥也可以参考一下,简化一下?
呵呵!

  1.   [FONT=courier new]
  2. (vl-load-com)

  3. (defun c:q (/ gnList doc groups g)
  4.   (princ
  5.     "\n* 此程序搜索不包含任何物体的空组并清除之 *\n"
  6.   )
  7.   (setq doc (vla-get-activedocument (vlax-get-acad-object)))
  8.   (setq groups (vla-get-groups doc))
  9.   (vlax-for g groups
  10.     (princ "\n分析组:")
  11.     (princ (vla-get-name g))
  12.     (if (< (vla-get-count g) 2)
  13.       (progn
  14.         (princ (strcat "......删除空组" (vla-get-name g)))
  15.         (vla-delete g)
  16.       )
  17.     )
  18.     (princ)
  19.   )

  20.   (command "purge" "a" "*" "n")
  21.   (command "purge" "a" "*" "n")
  22.   (command "purge" "r" "*" "n")
  23.   (setvar "cmdecho" cm)
  24.   (princ "***** 嘻嘻!全部清理完成! *****")
  25.   (princ)
  26. )

  27.   [/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-1-31 15:24:16 | 显示全部楼层
先谢谢秋枫!祝在新的一年万事如意!
还在过春节,等上班了再测试。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-2-6 02:32:27 | 显示全部楼层
节日期间一直都进不了论坛,今天终于好了,可我的系统却瘫痪了,等我折腾完了就来试用,先谢谢老弟了,呵呵~
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-2-6 09:14:53 | 显示全部楼层
将清理图形和清理组合并在一起并不是我希望的。

在只希望清理组不希望清理图形(比如图中有我已经定义好的图块但暂时还没有插入实例时)的情况下这会造成不便。

分成两个命令好了。但清理图形命令与组没关系,就不含在这个vlx中了。

GX支持窗选以后再说吧。程序执行效率上有点问题。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-2-6 09:52:20 | 显示全部楼层
【整理图形】中的“清理图形”和“清理无用组”并没有合在一起!另外还会将处理“组”的工具单独做一个命令。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-2-7 12:57:50 | 显示全部楼层
期待理政作的组的功能菜单啊,想起组的编辑真是痛苦啊,光是找组的名字就很麻烦啊。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-2-8 11:35:47 | 显示全部楼层

Re: [测试]:关于组的快速命令行工具QGROUP

最初由 秋枫 发布
[B]整理了一下关于组操作的几个工具,给性急的朋友试用。
使用上的如发现错误请回此贴。

声明:这不是理正官方版本。

[CODE]
关于组的快速命令行工具QGROUP       秋枫, 2006年1月31日
====... [/B]



有个问题反应一下,能改改么?
不知道自己是不是吹毛求疵了?
见谅!谢谢!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-2-8 19:32:55 | 显示全部楼层
呵呵。这个改起来难度挺大。

我其实就是在程序中调用了标准的-group命令。你可以试试标准的Group命令行命令(-group)Group前面加减号。

选择方式与标准-Group命令是相同的。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-2-8 20:45:27 | 显示全部楼层
标准的group命令不存在我上面说的问题哦!
嘻嘻!


  1.   [FONT=courier new]
  2. (defun cd_err (s)
  3.   (setvar "cmdecho" cm)
  4.   (command "_.undo" "_e")
  5. )

  6. ;利用GROUP命令来创建临时组1
  7. (defun c:g1()
  8.   (princ "\n* 创建临时组_1 *")
  9.   (setq cm (getvar "cmdecho"))
  10.   (setq *error* cd_err)
  11.   (setvar "cmdecho" 0)
  12.   (command "group" "c" "1" "临时组1可以分解")  
  13. (setvar "cmdecho" cm)
  14.   (princ)
  15. )

  16. ;;利用GROUP命令来分解临时组1
  17. (defun c:ge1()
  18.   (princ "\n* 分解临时组_1完成 *")
  19.   (setq cm (getvar "cmdecho"))
  20.   (setq *error* cd_err)
  21.   (setvar "cmdecho" 0)
  22.   (command "group" "e" "1")
  23.   (setvar "cmdecho" cm)
  24.   (princ)
  25. )

  26. ;利用GROUP命令来添加对象到临时组1
  27. (defun c:ga1()
  28.   (princ "\n* 添加选定对象到临时组_1 *")
  29.   (setq cm (getvar "cmdecho"))
  30.   (setq *error* cd_err)
  31.   (setvar "cmdecho" 0)
  32.   (command "group" "a" "1")
  33.   (setvar "cmdecho" cm)
  34.   (princ)
  35. )

  36. ;;利用GROUP命令来从临时组1中删除对象
  37. (defun c:gr1()
  38.   (princ "\n* 从临时组_1中删除选定对象 *")
  39.   (setq cm (getvar "cmdecho"))
  40.   (setq *error* cd_err)
  41.   (setvar "cmdecho" 0)
  42.   (command "group" "r" "1")
  43.   (setvar "cmdecho" cm)
  44.   (princ)
  45. )
  46.   [/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-2-8 21:39:36 | 显示全部楼层
Let me have a try.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-2-8 21:57:54 | 显示全部楼层
一个新的思路,不知道能实现不?
GA    GroupAdd            将选中的物体加入指定组
GR    GroupRemove         将选中的物体从指定组中移除
这两个命令用一个命令来代替,至于是加还是减,在命令行以选项的方式给出,由用户来选择。做成如理正的命令格式,按一个字母键就直接执行,不用打空格键。
如:
{A-加模式} {S-减模式}

默认的为加模式吧。不知道能行不?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-2-8 23:11:15 | 显示全部楼层
OK.

问题应该解决了。见附件:

无下载权限者也可以至这里下载: http://quelea.w3.zccn.net/
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-2-9 00:37:45 | 显示全部楼层
不好意思呀?呵呵!
上面反应的问题依然存在哦!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-2-9 12:29:44 | 显示全部楼层
没钱,不过在赚钱中~~
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-19 00:34 , Processed in 0.238631 second(s), 60 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表