(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)
)