bonacad,这将返回上次创建的组的名称
- (cdr
- (assoc 3
- (reverse
- (entget
- (cdadr
- (member (cons 3 "ACAD_GROUP") (entget (namedobjdict)))
- )
- )
- )
- )
- )
ASMI,使用您的代码创建的组将持续到文档打开为止。关闭文档和组。
这就是我用的。
- (defun CreateGroup
- (Name EntsList SelFlag / GroupDic EntName)
- (if (and (setq GroupDic (cdadr (member (cons 3 "ACAD_GROUP")
- (entget (namedobjdict))
- )
- )
- )
- (not
- (and Name (vl-position (cons 3 Name) (entget GroupDic)))
- )
- (setq
- EntName (entmakex
- (append (list (cons 0 "GROUP")
- (cons 100 "AcDbGroup")
- (cons 300 "")
- (cons 70
- (if Name
- 0
- 1
- )
- )
- (cons 71 SelFlag)
- )
- (mapcar (function (lambda (e) (cons 340 e)))
- EntsList
- )
- )
- )
- )
- (entmod (append (entget GroupDic)
- (list (cons 3
- (if (null Name)
- "*"
- Name
- )
- )
- (cons 350 EntName)
- )
- )
- )
- )
- (if Name
- Name
- (cdadr
- (member (cons 350 EntName) (reverse (entget GroupDic)))
- )
- )
- )
- )
- ;;;(CreateGroup nil (vl-remove-if 'listp (mapcar 'cadr (ssnamex (ssget)))) 1)
|