New CADforum look launched.
Over 1.085.000 registered users (EN+CZ). Try the new Engineering calculator, the CAD conversion wizard, the Color converter and USD viewer. Learn about twiGIS.
Over 1.085.000 registered users (EN+CZ). Try the new Engineering calculator, the CAD conversion wizard, the Color converter and USD viewer. Learn about twiGIS.
CAD tip # 10884:
Question
A
If you to find in your utility or menu-macro whether the current drawing is a 2D or 3D drawing file, or whether it doesn't contain any visual entities, you can use the following simple AutoLISP functions (predicates):
;is current drawing 2D?
(defun is2D-p ()
(and (zerop (caddr (getvar "EXTMIN")))(zerop (caddr (getvar "EXTMAX")))) ; Z-boundingbox = 0?
)
;is current drawing 3D?
(defun is3D-p ()
(< (caddr (getvar "EXTMIN"))(caddr (getvar "EXTMAX"))) ; Z-boundingbox ?
)
;is current drawing visually empty?
(vl-load-com)
(defun isEmpty-p ()
(vla-regen (vla-get-activedocument (vlax-get-acad-object)) 1)
(> (caddr (getvar "EXTMIN"))(caddr (getvar "EXTMAX"))) ; min>max?
)
The functions - e.g. (is2D-p) - return the values of T (true) or nil (false) in AutoCAD.
ACAD


4.5.2016
7760×
applies to: AutoCAD ·