Pokud potřebujete ve vaší utilitě nebo menu-makru snadno zjistit zda je aktuální výkres 2D nebo 3D výkres, nebo zda neobsahuje vizuálně žádné entity, můžete využít tyto jednoduché AutoLISP funkce (predikáty):
;is current drawing 2D?(defunis2D-p()(and(zerop(caddr(getvar"EXTMIN")))(zerop(caddr(getvar"EXTMAX")))); Z-boundingbox = 0?);is current drawing 3D?(defunis3D-p()(<(caddr(getvar"EXTMIN"))(caddr(getvar"EXTMAX"))); Z-boundingbox ?);is current drawing visually empty?(vl-load-com)(defunisEmpty-p()(vla-regen(vla-get-activedocument(vlax-get-acad-object))1)(>(caddr(getvar"EXTMIN"))(caddr(getvar"EXTMAX"))); min>max?)
Funkce - např. (is2D-p) - vrací v AutoCADu hodnotu T (pravda) nebo nil (nepravda).
Pomohl vám tento tip? Provoz služby CADForum.cz podpoříte i nákupem produktů Autodesk u provozovatele tohoto serveru a Platinum partnera Autodesku, firmy Arkance Systems. Můžete si také přidat odkaz na vaše stránky:
Tipy a triky prosím využívejte na vlastní zodpovědnost. Provozovatel (Arkance Systems CZ s.r.o.) nenese odpovědnost za případné potíže vzniklé v souvislosti s použitím kteréhokoliv z uvedených tipů. Pro plné zvládnutí dané aplikace doporučujeme absolvování některého z nabízených CAD školení. Další publikování obsahu je dovoleno jen se souhlasem autora.