Author Topic: [XDrX-PlugIn(55)] Hatch Display On/Off  (Read 1154 times)

0 Members and 1 Guest are viewing this topic.

xdcad

  • Swamp Rat
  • Posts: 505
[XDrX-PlugIn(55)] Hatch Display On/Off
« on: December 18, 2023, 06:54:32 PM »
Code: [Select]
(defun c:XDTB_HatchONOFF (/ lyr tf blkref el allents)
  (defun _process-block (onoff)
    (setq ob (xdrx_object_get "block"))
    (setq el nil)
    (while (setq e (xdrx_object_next))
      (if (not (= (substr (car e) 1 1) "*"))
(progn
  (setq el (cons (cadr e) el))
)
      )
    )
    (foreach blkrec el
      (setq allents (xdrx-getpropertyvalue blkrec "entities"))
      (mapcar '(lambda (x)
(if (xdrx-object-isa x "AcDbHatch")
   (xdrx-setpropertyvalue x "visibility" onoff)
)
       )
      allents
      )
    )
  )
  (setq lyr (xdrx_object_get "layer" "0"))
  (setq tf (xdrx_object_getxrecord lyr "hatch-on-off"))
  (if (or
(= tf 0)
(not tf)
      )
    (progn
      (xdrx_entity_setproperty
(ssget "x" '((0 . "hatch")))
"visibility"
nil
      )
      (_process-block nil)
      (xdrx_object_setxrecord lyr "hatch-on-off" 1)
      (xdrx_prompt
(if (xd::doc:acadischs)
  "\n填充实体隐藏."
  "\nHatch entities hidden."
)
      )
    )
    (progn
      (xdrx_entity_setproperty
(ssget "x" '((0 . "hatch")))
"visibility"
t
      )
      (_process-block t)
      (xdrx_object_setxrecord lyr "hatch-on-off" 0)
      (xdrx_prompt
(if (xd::doc:acadischs)
  "\n填充实体显示."
  "\nHatch entities Display."
)
      )(xdrx_prompt )
    )
  )
  (princ)
)
« Last Edit: December 18, 2023, 06:57:59 PM by xdcad »
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