本帖最后由 newer 于 2017-3-9 09:32 编辑
 - (defun XD::Group:Make (name ss / c d e ents f i)
- (setq c (list (cons 0 "GROUP") (cons 100 "AcDbGroup"))
- ents nil
- d (list (cons 70 0) (cons 71 1))
- )
- (cond ((= (type ss) 'LIST) (setq ents ss))
- ((= (type ss) 'PICKSET)
- (setq i -1)
- (repeat (sslength ss)
- (setq ents (cons (ssname ss (setq i (1+ i))) ents))
- )
- )
- )
- (setq i -1)
- (repeat (length ents)
- (setq c (append c (list (cons 340 (nth (setq i (1+ i)) ents)))))
- )
- (setq c (append c d)
- e (entmakex c)
- f (dictsearch (namedobjdict) "ACAD_GROUP")
- )
- (dictadd (cdr (assoc -1 f)) name e)
- )
- (defun _AddText (textString insertionPoint height / acadObj acAlignmentCenter doc modelSpace textObj)
- (setq acadObj (vlax-get-acad-object))
- (setq doc (vla-get-ActiveDocument acadObj))
- (setq modelSpace (vla-get-ModelSpace doc))
- (setq
- textObj (vla-AddText modelSpace textString insertionPoint height)
- )
- (vla-put-Alignment textObj acAlignmentCenter)
- (vla-put-TextAlignmentPoint textObj insertionPoint)
- textobj
- )
- (defun c:tt ()
- (prompt "\n拾取園<退出>:")
- (if (setq e (ssget ":S:E" '((0 . "CIRCLE"))))
- (progn (setq e (ssname e 0)
- obj (vlax-ename->vla-object e)
- #area (vla-get-area obj)
- #center (vla-get-center obj)
- )
- (_addtext (rtos #area 2 2) #center 3.5)
- (xd::group:make "abc" (list e (entlast)))
- (setvar "pickstyle" 1)
- )
- )
- (princ)
- )
|