Author Topic: [XDrX-PlugIn(149)] Quickly regenerates only objects visible on screen, layers  (Read 107 times)

0 Members and 1 Guest are viewing this topic.

xdcad

  • Swamp Rat
  • Posts: 505
Quickly regenerates only objects visible on screen, those selected, or a chosen layer.

Support SSGET usage for keywords

Code: [Select]
(defun c:xdtb_qregen (/ lyr scrbox ss)
  (xdrx-begin)
  (xdrx_initssget
    (xdrx-string-multilanguage
      "\n选取要Regen的实体[屏幕所有(0)/选图层(1)]<退出>:"
      "\nSelect the entities to be Regen [all on screen (0)/select layer (1)]<Exit>:"
    )
    "0 1"
    ""
    ""
  )
  (if (and (xdrx-initget "0 1")
   (setq ss (xdrx-ssget))
      )
    (progn
      (setq typ ss)
      (cond
((= ss "0")
(setq scrbox (xdrx-get-screenbox)
       scrbox (xdrx-points-dcs2ucs scrbox)
       ss     (ssget "cp" scrbox)
)
)
((= ss "1")
(if (setq lyr (xd::layer:get nil t))
   (setq ss (ssget "x" (list (cons 8 lyr))))
)
)
      )
      (if (= (type ss) 'pickset)
(progn
  (xdrx-object-regen ss)
  (xdrx-prompt
    (cond
      ((= typ "0")
       (xdrx-string-multilanguage "\n屏幕内," "\nIn screen,")
      )
      ((= typ "1")
       (xdrx-string-multilanguage "\n选择的图层," "\nSelected layer,")
      )
      (t
       "\n"
      )
    )
    (xdrx-string-formatex
      (xdrx-string-multilanguage
"重新生成了%d个实体."
"%d entities were regenerated."
      )
      (sslength ss)
    )
  )
)
      )
    )
  )
  (xdrx-end)
  (princ)
)
The code I wrote uses XDRX-API,which can be downloaded from github.com and is updated at any time.
===================================
https://github.com/xdcad
https://sourceforge.net/projects/xdrx-api-zip/
http://bbs.xdcad.net