fauxsuisse Posté(e) le 21 août 2015 Posté(e) le 21 août 2015 Bonjour les maîtres du LISP. Didier avait écrit un lisp qui permettait une rotation de la vue autour du SCU courant en gardant le zoom affiché ce qui est parfait mais j'aurai aimé une modification de ce lisp. (defun c:rp2 () (setvar "cmdecho" 0) (setq h (getvar "viewsize")) (setq ce (trans (getvar "viewctr") 1 0)) (command "repere" "") (command "_zoom" "_c" (trans ce 0 1) h) (princ) ) Quand on utilise ce lisp le SCU tourne selon un angle sélectionné et reste dans le même zoom sur lequel on était mais par contre le SCU est tourné selon l'angle choisi donc je dois repasser par => Affichage => Point de vue 3D => Vue en plan SCU => SCU courant Ce qui correspond à (command "_plan" "c") Quelqu'un pourrait me modifier ce lisp pour que cette dernière action soit intégrée. Tout en vous remerciant du temps passé je vous souhaite une bonne fin de semaine.
didier Posté(e) le 21 août 2015 Posté(e) le 21 août 2015 Coucou je ne comprends pas tout à fait ta demande.car la commande que tu cites est un simple repère avec zoom étendu ??? tu nous en dis plus, s'il te plaît. amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
fauxsuisse Posté(e) le 21 août 2015 Auteur Posté(e) le 21 août 2015 Ouai pas toujours évident d'expliquer ce que je voudrais mais je vais essayer. Par exemple j'ai un plan dont les locaux ne sont pas tous tournés dans le même sens donc avant je faisais SCU puis Z et je lui donnais un nouvel angle puis je devais faire "Affichage => Point de vue 3D => Vue en plan du SCU puis SCU courant, là le dessin tourne selon le nouveau SCU mais l'affichage revient sur un zoom étendu. Tu m'avais écrit une fois un lisp qui permettait de tourner l'affichage selon le SCU affiché sans revenir sur un zoom étendu. Donc actuellement j'ai un icone avec la commande ^C^C _ucs _z là il me demande de sélectionner un angle par deux points et le SCU tourne selon l'angle donné puis j'ai l'icône qui lance ton script ce qui permet de faire tourner le dessin selon le nouveau SCU tout en restant dans le zoom actuel, ce que je voudrais c'est d'avoir un lisp ou tout ce fait en une fois, c’est-à-dire lors du lancement du script il me demande de sélectionner l'angle selon deux points et que le SCU tourne et que l'affichage tourne aussi selon ce nouveau SCU. (bon je sais pas si c'est plus claire :mellow:)
Patrick_35 Posté(e) le 21 août 2015 Posté(e) le 21 août 2015 Salut Je ne comprends pas trop le sens de ton message car que tu donnes la réponse (defun c:rp2 () (setvar "cmdecho" 0) (setq h (getvar "viewsize")) (setq ce (trans (getvar "viewctr") 1 0)) (command "repere" "") (command "_zoom" "_c" (trans ce 0 1) h) (command "_plan" "c") (princ) ) @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
fauxsuisse Posté(e) le 21 août 2015 Auteur Posté(e) le 21 août 2015 Salut Je ne comprends pas trop le sens de ton message car que tu donnes la réponse (defun c:rp2 () (setvar "cmdecho" 0) (setq h (getvar "viewsize")) (setq ce (trans (getvar "viewctr") 1 0)) (command "repere" "") (command "_zoom" "_c" (trans ce 0 1) h) (command "_plan" "c") (princ) ) @+ Oui ce lisp tourne le dessin selon le scu courant mais je dois d’abord donner un angle à ce SCU et ce que je voudrait c'est une fois que cet angle est donné l'affichage tourne automatiquement avec cette dernière valeur tout en restant dans le même zoom
lili2006 Posté(e) le 21 août 2015 Posté(e) le 21 août 2015 Bonjour à toutes et tous, En natif, as tu testé la variable "ucsfollow" ? (Outils => SCU existant, onglet Paramètres) Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
(gile) Posté(e) le 21 août 2015 Posté(e) le 21 août 2015 salut, Encore une fois les vues et les systèmes de coordonnées sont deux choses indépendantes.On peut (heureusement) changer de système de coordonnées sans modifier la vue et inversement modifier la vue sans changer de système de coordonnées. Vues et systèmes de coordonnées peuvent éventuellement être liées avec des variables systèmes :- avec UCSORTHO à 1 le SCU est automatiquement aligné à la vue lorsqu'une vue orthogonale est restaurée.- avec UCSFOLLOW à 1 la modification du SCU génère automatiquement une vue en plan du nouveau SCU (mais avec un zoom étendu) Pour pivoter la vue en 2D sans changer de SCU, on peut utiliser VUEDYN (_DVIEW) avec l'option Basculer (_TWist), ce qui ne provoque pas de zoom étendu :(defun c:twist () (vl-cmdf "_.dview" "" "_twist" (getreal "\nSpécifiez la rotation: ") "") (princ) ) Si on a aussi besoin d'aligner le SCU sur la vue, on peut,- soit pivoter la vue comme ci-dessus et utiliser l'option Vue (_View) de la commande SCU (_UCS) pour aligner le SCU sur la vue :(defun c:twist () (vl-cmdf "_.dview" "" "_twist" (getreal "\nSpécifiez la rotation: ") "") (vl-cmdf "_.ucs" "_view") (princ) )- soit pivoter d'abord le SCU et aligner ensuite la vue sur le nouveau SCU (c'est la méthode utilisée par didier) :(defun c:twist (/ h c) (setq h (getvar "viewsize")) (setq c (trans (getvar "viewctr") 1 0)) (vl-cmdf "_.ucs" "z" pause) (vl-cmdf "_.plan" "_current") (vl-cmdf "_zoom" "_c" (trans c 0 1) h) (princ) ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
lecrabe Posté(e) le 21 août 2015 Posté(e) le 21 août 2015 Hello Gilles MAGNIFIQUE ta reponse ! Amicalement, lecrabe Autodesk Expert Elite Team
didier Posté(e) le 21 août 2015 Posté(e) le 21 août 2015 Coucou d'accord avec la clarté de (gile), mais fauxsuisse reste confus. je te remercie d'expliciter clairement ton désir, on va t'aider une fois ta demande comprise. par exemple : c'est quoi donner un angle à un SCU dans tes propos ? amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
fauxsuisse Posté(e) le 24 août 2015 Auteur Posté(e) le 24 août 2015 Oulala désolé les gars je vois que mes explications n'étaient pas clair mais c'est pas toujours facile de décrire ce que l'on fait ou que l'on aimerait faire mais merci de votre intérêt à m'aider. La fonction que je cherche à faire c'est exactement de que fait le 3ème lisp de Gile mais seul inconvénient lors de la demande de l'angle du scu il me demande d'entrer une valeur mais ce que j'aurais aimé c'est que cette valeur soie repris en sélectionnant deux points sur le dessin, les angles des locaux sont souvent différents.la commande que j'utilise pour tourner le Z du ucs selon deux points sélectionné sur le dessin est la suivante (command "_ucs" "_zaxis") Voilà je sais pas si j'ai été un peu plus claire ;)
(gile) Posté(e) le 24 août 2015 Posté(e) le 24 août 2015 Comme ça ? (defun c:twist (/ h c) (setq h (getvar "viewsize")) (setq c (trans (getvar "viewctr") 1 0)) (vl-cmdf "_.ucs" pause pause "") (vl-cmdf "_.plan" "_current") (vl-cmdf "_zoom" "_c" (trans c 0 1) h) (princ) ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
fauxsuisse Posté(e) le 24 août 2015 Auteur Posté(e) le 24 août 2015 Voilà MERCI Gile c'est parfait, c'était exactement ça que je voulais.
(gile) Posté(e) le 24 août 2015 Posté(e) le 24 août 2015 On peut faire la même chose avec VUEDYN (_DVIEW) : (defun c:twist (/ p1 p2 a) (and (setq p1 (getpoint "\nPremier point: ")) (setq p2 (getpoint p1 "\nDeuxième point: ")) (setq a (angle (trans p1 1 0) (trans p2 1 0))) (vl-cmdf "_.dview" "" "_twist" (angtos (- a) (getvar 'aunits) 16) "") (vl-cmdf "_.ucs" "_view") ) (princ) ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
fauxsuisse Posté(e) le 24 août 2015 Auteur Posté(e) le 24 août 2015 On peut faire la même chose avec VUEDYN (_DVIEW) : (defun c:twist (/ p1 p2 a) (and (setq p1 (getpoint "\nPremier point: ")) (setq p2 (getpoint p1 "\nDeuxième point: ")) (setq a (angle (trans p1 1 0) (trans p2 1 0))) (vl-cmdf "_.dview" "" "_twist" (angtos (- a) (getvar 'aunits) 16) "") (vl-cmdf "_.ucs" "_view") ) (princ) ) Parfait aussi, merci encore
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