Zobrazit plnou verzi příspěvku: Styl zobrazení automaticky

Zíka
29.01.2018, 14:46

Jde v Autocadu nastavit aby se pohledy půdorysu a nárysu zobrazovaly drátově a když přejdu do 3D pohledu tak aby se styl zobrazení automaticky přepnul na stínovaný?

Vladimír Michl
29.01.2018, 14:50

Šlo by si připravit potřebné pojmenované pohledy a ty přepínat. Pokud by se to ale mělo přepínat samo, kdykoliv se pohled nastaví např. přes Viewcube nebo Orbit, musely by se nasadit reaktory. Nevím ale jestli zrovna přepnutí vizuálního stylu půjde provést dostatečně transparentně.

Vladimír Michl
29.01.2018, 15:04

Zkuste následující LISP reaktor, ale není to asi úplně spolehlivé (uložte jako LSP a načtěte _APPLOAD): [CODE](vl-load-com)(if vs:autor (vlr-remove vs:autor))(setq vs:autor (VLR-SysVar-Reactor nil '((:vlr-sysvarchanged . sysvarchg))) )(setq _vsautoinproc nil)(defun _isortho (badval / ) (and ; orto pohledy: (or (equal (car badval) 0.0 0.000001)(equal (cadr badval) 0.0 0.000001)) (or (equal (car badval) 0.0 0.000001)(equal (caddr badval) 0.0 0.000001)) (or (equal (cadr badval) 0.0 0.000001)(equal (caddr badval) 0.0 0.000001)) ));----------- (defun sysvarchg (r data / varname badval adoc VpEnt vport vsname)   (if (not _vsautoinproc)(progn ; in proc? (setq _vsautoinproc T) (setq varname (car data)) (setq badval (getvar varname))(PRINC "\n")(princ varname)(princ "=")(princ badval) (if (= varname "VIEWDIR")(progn;(PRINT "*SW*")  (setq adoc (vla-get-activedocument (vlax-get-acad-object)));(if (> (atoi (substr (getvar "ACADVER") 1 2)) 16) ; JENOM!  (if (= (getvar "TILEMODE") 1)  (setq VpEnt (vlax-vla-object->ename (setq vport (vla-get-activeviewport adoc))))  (setq VpEnt (vlax-vla-object->ename (setq vport (vla-get-activepviewport adoc))))  )  (setq vsname (cdr (assoc 2 (entget (cdr (assoc 348 (entget VpEnt)))))))  ;(PRINT vsname)  (if (< (getvar "CMDACTIVE") 2)(progn ; nop nebo bezny prikaz  (if (and (_isortho badval)     (/= vsname "Wireframe")   )   (vla-sendcommand adoc "_VSCURRENT _2d ") ; go ORTO   ;(vla-put-VisualStyle vport 1)  )  (if (and (not (_isortho badval))     ;(= vsname "Wireframe")   )   (vla-sendcommand adoc "_VSCURRENT _rea ") ; go REALISTIC  )  )) ; jde poslat sendocmmand )) ; jde o VIEWDIR (setq _vsautoinproc nil)  )) )[/CODE]