1. ;快速建组
    2. (defun c:gg(/ ss)
    3. (setq ss(ssget))
    4. (setvar "cmdecho" 0)
    5. (command "-group" "" "*" "" ss "")
    6. (setvar "cmdecho" 1)
    7. (princ "\n选定对象已经组合。")
    8. (princ)
    9. )
    10. (command "-group" "" "*" "" zss1 "");创建无名组(常用)
    11. ;;多选解组
    12. (defun c:gv ( / s e g i)
    13. (if (setq s (ssget))
    14. (repeat (setq i (sslength s))
    15. (setq e (ssname s (setq i (1- i))))
    16. (if (= "GROUP" (cdr (assoc 0 (entget (setq g (cdr (assoc 330 (entget e)))))))) (entdel g))
    17. )
    18. )
    19. (prin1)
    20. )
    21. (princ "\n程序加载完成,解组快捷命令:gv")
    22. ;;制作匿名组
    23. (defun c:mak_*group (/ ss)
    24. (princ "\n选取制作匿名组的对象:")
    25. (if (setq ss (ssget))
    26. (fsxm-add-group ss "*")
    27. )
    28. (princ)
    29. )
    30. ;;解散群组
    31. (defun C:EXPLODE_GROUP (/ allg data group ss)
    32. (if (setq ss (ssget))
    33. (foreach en (fsxm-ss->enlist ss)
    34. (setq data (entget en))
    35. (setq group
    36. (vl-remove-if
    37. '(lambda (a)
    38. (or (/= (car a) 330)
    39. (/= (fsxm-getdxf 0 (entget (cdr a))) "GROUP")
    40. )
    41. )
    42. data
    43. )
    44. )
    45. (setq allg (reverse (dictsearch (namedobjdict) "ACAD_GROUP")))
    46. (foreach a (mapcar 'cdr group)
    47. (princ "\nEXPLODE GROUP : ")
    48. (princ (cdadr (member (cons 350 a) allg)))
    49. (entdel a)
    50. )
    51. )
    52. )
    53. (princ)
    54. )
    55. (defun c:xx()
    56. (if(setq en(entsel "选择要炸开的组: "))
    57. (progn
    58. (setq gr(cdr(assoc 0 (entget(cdr(assoc 330(entget(car en))))))))
    59. (if (= "GROUP" gr)
    60. (entdel (cdr(assoc 330(entget(car en)))))
    61. (prompt "所选对象没有被分组!")
    62. )
    63. )
    64. )
    65. (princ)
    66. )