sunzhq 发表于 2004-11-3 21:04:00

请高手帮忙实现这个功能!

想实现的功能:获得一个模型空间上的所有实体的名称,相同实体的名称只显示一次。也就是统计一下实体的名称(没有重复的)


先谢谢!!

zxj_76 发表于 2004-11-5 09:41:00

请先明确一下什么叫相同的实体?

meflying 发表于 2004-11-5 10:15:00

(defun c:test (/ ss i ents name names item)
   (setq ss (ssget "x"))
   (setq i 0)
   (if ss
       (progn
         (repeat (sslength ss)
(setq ents (entget (ssname ss i)))
(setq name (cdr (assoc 0 ents)))
(if (setq item (assoc name names))
   (setq names (subst (cons name (+ (cdr item) 1)) item names))
   (setq names (append names (list (cons name 1))))
)
(setq i (1+ i))
         )
         (mapcar '(lambda (x)
   (princ "\n")
   (princ (car x))
   (repeat (- 15 (strlen (car x))) (princ "-"))
   (princ (cdr x))
               )
             names
         )
         (textscr)
       )
       (princ "没有对象!")
   )
   (princ)
)

sunzhq 发表于 2004-11-9 12:30:00

谢谢了楼上的两位!这个功能我已经实现了。在VBA中


sub sss()


dim selset as acadselectset


dim sss as new collection


dim i as integer


for i= 0 to thisdrawing.modelspace.count-1


                               sss add thisdrawing.modelspace.item(i).objectname, thisdrawing.modelspace.item(i).objectname


next i


end sub


现在又遇到一个问题是下面的:


       





请高手指点一下在VBA中要实现图片中类似的功能该怎么办?VBA中的combobox控件可以实现么??


先谢谢了!!
页: [1]
查看完整版本: 请高手帮忙实现这个功能!