TheSwamp

CAD Forums => Vertically Challenged => Architecturally Speaking => Topic started by: ryandk on November 22, 2004, 12:23:55 PM

Title: selecting schedule objects
Post by: ryandk on November 22, 2004, 12:23:55 PM
These ladies at my work are trying to mass select the furniture objects in a drawing by just drawing the big rectangle around the drawing when it prompts "select objects".  This works fine when they're just trying to do door or area schedules because there is the "applies to" option of door and area.  They were thinking that they could just have it select the certain layers that the furniture is on however adt is not giving me the option for "applies to layers".  Does anyone out there have an idea as to how they could mass select the objects?  I made the table to apply to mvb reference but then selects every mvb and returns question marks in the table.

Oh yeah, running adt 3.3.  
Thanks,
Ryan
Title: selecting schedule objects
Post by: CAB on November 22, 2004, 01:28:01 PM
There may be a better way. I don't use ADT.
I do use this to select objects on a particular layer.
First pick an object on th layer you want, as many layers as you want.
Then press Enter, you may now select a group of objects to extract the objects on the
matching layers or press Enter again to use ALL objects on the matching layers.
Then run your command, if the selections are cleared just enter p for previous selection set.
Code: [Select]
;;=============================================================
;;     Sel.lsp by Charles Alan Butler
;;            Copyright 2004
;;   by Precision Drafting & Design All Rights Reserved.
;;   Contact at ab2draft@TampaBay.rr.com
;;
;;    Version 1.0 Beta  July 23,2004
;;
;;   Creates a selection set of objects on a layer(s)
;;   User picks objects to determine the layer(s)
;;   Then User selects objects for ss or presses enter to
;;   get all objects on the selected layer(s)
;;   You may select the selection set before starting this
;;   routine. Then select the layers to keep in the set
;;=============================================================
(defun c:sel (/ ent lay ss lay:lst lay:prompt ss:first)
  ;;  get anything already selected
  (setq ss:first (cadr(ssgetfirst))
        ss (ssadd))

  (setq lay:lst '())
  ;;  Get user selected layers
  (if ss:first
    (setq lay:prompt "\nSelect the object to choose layers to keep.")
    (setq lay:prompt "\nSelect object for layer filter.")
  )
  (while (setq ent (entsel lay:prompt))
    (setq lay:lst
           (cons (setq lay (cdr(assoc 8 (entget (car ent))))) lay:lst))
    (prompt (strcat "\n*-* Selected Layer -> " lay))
  )
         
  (if (> (length lay:lst) 0); got layers to work with
    (progn
      (setq lay "")
      (foreach itm  lay:lst ; combine lay names into one , del string
        (setq lay (strcat lay itm ",")))
      (setq lay (substr lay 1 (1- (strlen lay)))); remove the last ,
      (if ss:first
        (while (setq ent (ssname ss:first 0))
          (if (member (cdr(assoc 8 (entget ent))) lay:lst)
            (ssadd (ssname ss:first 0) ss)
          )
          (ssdel (ssname ss:first 0) ss:first)
        )
        (progn
          (prompt (strcat "\nOK >>--> Select objects for Selection set or "
                          "ENTER for All objects on layer(s) " lay))
          (if (null (setq ss (ssget (list (cons 8 lay)))))
            (setq ss (ssget "_X" (list (cons 8 lay))))
          )
        )
      )
      (prompt (strcat "\n" (itoa (sslength ss))
                      " Object(s) selected on layer(s) " lay
                      "\nStart an ACAD command."))
      (sssetfirst nil ss)
    )
  )
  (princ)
)
(prompt "\nSelect on Layer loaded, Enter Sele to run.")
Title: selecting schedule objects
Post by: 42 on November 22, 2004, 03:24:20 PM
When you select 'Add schedule table' there is an option to select the table style ie. doors windows furniure etc, the option below it is the layer wildcard. Set this to the layer that the furniture is on. This will prevent all other mvb's being selected.

Alastair
Title: selecting schedule objects
Post by: ryandk on November 24, 2004, 10:56:42 AM
That layer wildcard thing was just what I was looking for.  Thanks.