argilles Posté(e) le 5 octobre 2005 Posté(e) le 5 octobre 2005 Hello les boys, j'ai une petite observation voir amélioration possible.Voilà lorsque je suis en vue isométrique 3D et que je veux passer d'une vue isométrique à une autre à chaque fois Autocad fait un zoom total alors que moi je veux juste tourner la vue de 90° ou plus sans le zoom étendu. Alors comment faire y-at'il la commande scu ou repere la derrière. Merci pour vos réponses. @+ argilles >>>>>>>>>> venez visiter mon nouveau site d’Architecture http://argile.archi.free.fr <<<<<<<<<
argilles Posté(e) le 5 octobre 2005 Auteur Posté(e) le 5 octobre 2005 Bien entendu, un amical et chaleureux bonjour aux dames et demoiselles. >>>>>>>>>> venez visiter mon nouveau site d’Architecture http://argile.archi.free.fr <<<<<<<<<
(gile) Posté(e) le 5 octobre 2005 Posté(e) le 5 octobre 2005 Salut, Tu peux toujours enregistrer tes vues isométriques avec la valeur de zoom qui t'intéresse et les rappeler ensuite. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
didier Posté(e) le 5 octobre 2005 Posté(e) le 5 octobre 2005 Bonsoir, je ne passe qu'une seconde,mais souhaitons que cet exemple te satisfera il s'agit de mémoriser un point à l'écranensuite, je lance la vue isométrique Sud Ouest,puis je recentre le zoom sur le point mémorisé.(defun c:SO()(setq pcentre (getpoint"\nPoint de centre Ecran\n"))(setq hauteurzoom (getvar "VIEWSIZE"))(command "_-view" "_swiso")(command "_zoom" "c" pcentre hauteurzoom) ) amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
(gile) Posté(e) le 5 octobre 2005 Posté(e) le 5 octobre 2005 Re, Ah Didier est déjà passé par là, je te propose quand même quelque chose de très similaire, mais sans avoir à spécifier de point. (defun c:iso_se (/ echo ht cen) (setq echo (getvar "cmdecho") ht (getvar "viewsize") cen (getvar "viewctr") ) (setvar "cmdecho" 0) (command "_-view" "_seiso") (command "_zoom" "_c" cen ht) (setvar "cmdecho" echo) (princ) ) Nouvelle version [Edité le 6/10/2005 par (gile)] Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
(gile) Posté(e) le 6 octobre 2005 Posté(e) le 6 octobre 2005 Salut, Après des tests un peu plus approfondis, j'ai un peu modifié le code ci dessus. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
argilles Posté(e) le 6 octobre 2005 Auteur Posté(e) le 6 octobre 2005 Bonjoiur mesdames et messieurs, j'ai apprécié vos petits lisp où je trouve qu'il à un super début mais j'ai un peu réfléchis et je veux juste faire pivoter la vue isométrique de 90° à chaque fois pour pivoter proprement autour d'un objet.Juste une question, la variable viewctr définit le point central de la vue ou de la fenêtre. Merci pour votre rapidité. @+ argilles >>>>>>>>>> venez visiter mon nouveau site d’Architecture http://argile.archi.free.fr <<<<<<<<<
(gile) Posté(e) le 6 octobre 2005 Posté(e) le 6 octobre 2005 Re, Extrait de l'aide pour "viewctr" : Stocke le centre de la vue dans la fenêtre courante. Cette valeur est exprimée en coordonnées SCU. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Eric Posté(e) le 6 octobre 2005 Posté(e) le 6 octobre 2005 En espace papier tu peux aussi utiliser la commande MVSETUP - aligner - rotation de la vue Comme ça tu n'as pas de zoom Eric est formateur, revendeur sur AutoCAD LT, DraftSight, ZWCAD, SketchUp et PDF2CAD
(gile) Posté(e) le 6 octobre 2005 Posté(e) le 6 octobre 2005 Re, Voici encore un petit LISP pour passer d'une vue iso à une autre : (defun c:rot_iso (/ echo ht cen) (setq echo (getvar "cmdecho")) (command "_undo" "_begin") (setvar "cmdecho" 0) (command "_ucs" "_w") (setq ht (getvar "viewsize") cen (getvar "viewctr") ) (cond ((equal (getvar "viewdir") '(1.0 1.0 1.0)) (command "_view" "_nwiso") ) ((equal (getvar "viewdir") '(-1.0 1.0 1.0)) (command "_view" "_swiso") ) ((equal (getvar "viewdir") '(-1.0 -1.0 1.0)) (command "_view" "_seiso") ) ((equal (getvar "viewdir") '(1.0 -1.0 1.0)) (command "_view" "_neiso") ) (T (princ "\nLa vue active n'est pas une vue isométrique.") (exit) ) ) (command "_zoom" "_c" cen ht) (command "_ucs" "_p") (command "_undo" "_end") (setvar "cmdecho" echo) (princ) ) [Edité le 7/10/2005 par (gile)] Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
CDL Posté(e) le 6 octobre 2005 Posté(e) le 6 octobre 2005 Si tes vues sont dans des fenetres verifie UCSFOLLOW=0Désolé mais j'ai qu'un LT aujoud'huit :P
argilles Posté(e) le 6 octobre 2005 Auteur Posté(e) le 6 octobre 2005 Super youpi c'est exactement l'outil que je voulais; Merci beaucoup pour ton aide Le fait de tourner à chaque fois de 90° est génial >>>>>>>>>> venez visiter mon nouveau site d’Architecture http://argile.archi.free.fr <<<<<<<<<
(gile) Posté(e) le 7 octobre 2005 Posté(e) le 7 octobre 2005 Et voilà une version plus aboutie (en VisualLISP) :present: (vl-load-com) (defun c:rot_iso (/ AcDoc FenAc dir haut cen vue) (setq aApp (vlax-get-acad-object) AcDoc (vla-get-ActiveDocument aApp) FenAc (vla-get-ActiveViewport AcDoc) UCSs (vla-get-UserCoordinateSystems AcDoc) ) (vla-startUndoMark AcDoc) (vla-add UCSs (vlax-3d-point (getvar "ucsorg")) (vlax-3d-point (trans '(1 0 0) 1 0)) (vlax-3d-point (trans '(0 1 0) 1 0)) "iso_scu_initial" ) (vla-add UCSs (vlax-3d-point '(0 0 0)) (vlax-3d-point '(1 0 0)) (vlax-3d-point '(0 1 0)) "iso_scu_general" ) (vla-put-activeUCS acdoc (vla-item UCSs "iso_scu_general")) (cond ((equal (getvar "viewdir") '(1 1 1)) (setq dir '(-1 1 1)) ) ((equal (getvar "viewdir") '(-1 1 1)) (setq dir '(-1 -1 1)) ) ((equal (getvar "viewdir") '(-1 -1 1)) (setq dir '(1 -1 1)) ) ((equal (getvar "viewdir") '(1 -1 1)) (setq dir '(1 1 1)) ) (T (princ "\nLa vue courante n'est pas une vue isométrique") (exit) ) ) (setq haut (getvar "viewsize") cen (trans (getvar "viewctr") 1 0) vue (vla-add (vla-get-Views AcDoc) "Vue_iso_temporaire") ) (vla-put-Direction vue (vlax-3d-point dir)) (vla-setView FenAc vue) (vla-put-ActiveViewport AcDoc FenAc) (vla-ZoomCenter aApp (vlax-3d-point cen) haut ) (vla-put-activeUCS acdoc (vla-item UCSs "iso_scu_initial")) (vla-delete vue) (vla-endUndoMark AcDoc) (princ) ) [Edité le 7/10/2005 par (gile)] Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
argilles Posté(e) le 7 octobre 2005 Auteur Posté(e) le 7 octobre 2005 :) :) :) :) :) :) :) Bonjour à tous et merci encore (gile) pour ton lisp et visuallisp qui m'aident beaucoup. entre gilles il faut bien s'entre aider. @+ argilles >>>>>>>>>> venez visiter mon nouveau site d’Architecture http://argile.archi.free.fr <<<<<<<<<
(gile) Posté(e) le 7 octobre 2005 Posté(e) le 7 octobre 2005 J'ai modifié les deux dernières routines pour qu'elle fonctionnent quelque soit le SCU. À plus. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
didier Posté(e) le 7 octobre 2005 Posté(e) le 7 octobre 2005 Bonsoir, Eh ben les garçons, en voilà du lisp...il est nécessaire de choisir un point à l'écranparce que je fais des vues 3D, et donc j'ai besoin que le zoom final soit centré sur ce point 3D,avec la même hauteur de vue que la vue en plan. Je n'ai pas vraiment lu vos diverses routines,perso je pense qu'un lisp doit être le plus compact possible. amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
(gile) Posté(e) le 7 octobre 2005 Posté(e) le 7 octobre 2005 Salut Didier, perso je pense qu'un lisp doit être le plus compact possible. Tu as raison, je pensais améliorer la routine avec le VisualLISP (exécution plus rapide) mais il n'en est rien !Il est vrai que je ne maitrise pas ce langage, et qu'il est souvent plus "lourdingue" que l'AutoLISP. Çà m'aura fait un exercice :cool: Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant