Aller au contenu

Messages recommandés

Posté(e)

Bonsoir,

 

J'aimerais savoir s'il existe une manière de diriger une forme quelconque sans devoir utiliser la fonction Rotation 3D.

 

Par exemple, si je dessine un cercle, il se met directement sur le plan horizontal (X,Y). Existe-t-il une manière plus simple me permettant de le mettre à la verticale sans devoir passer par la fonction Rotation 3D?

 

Merci

Posté(e)

Salut,

 

Un cercle sera toujours dessiné sur le plan XY du Système de Coordonnées courant (ou sur un plan parallèle à celui-ci si le centre est spécifié avec un Z différent de 0).

 

Tu peux définir des Systèmes de Coordonnées Utilisateur différent du Système de Coordonnées Général avec la commande SCU (_UCS). Regarde l'aide pour cette commande qui comporte plusieurs d'options.

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

justement, c'est laborieux de devoir à chaque fois changer le SCU. Je le fais de temps à autres, mais je préfère utiliser la fonction rotation 3d.

 

Je pensais qu'il existait un moyen de tracer un cercle puis de lui donner la direction Z sans devoir changer le SCU à chaque fois.

Posté(e)

justement, c'est laborieux de devoir à chaque fois changer le SCU. Je le fais de temps à autres, mais je préfère utiliser la fonction rotation 3d.

 

Je pensais qu'il existait un moyen de tracer un cercle puis de lui donner la direction Z sans devoir changer le SCU à chaque fois.

 

Salut, si définir ton cercle par centre, direction Z puis rayon peut convenir, c'est trés facile à faire en lisp ou même dans le sens que tu indiques, je pense à un bricolage simple, si ça t'intéresse!

Bon c'est sûr que pour toutes les formes ça complique mais sur la base point de départ et direction Z, on peut enchainer un choix de commandes de dessin sans difficulté.

Posté(e)

Il y a aussi ce lisp de (gile) qui est top pour pivoter orthogonalement le scu, j'ai juste doublé des commandes pour les avoir sur le clavier coté gauche.

;; SCU orthogonaux (gile)
;s0 = Bas
;s2 = Avant
;s4 = Gauche
;s5 = Haut
;s6 = Droite
;s8 = Arrière

(mapcar
 '(lambda (f v)
    (eval (list 'defun
	 f
	 nil
	 (list 'command "_.ucs" "_orthog" v)
	 '(princ)
   )
    )
  )
 '(c:s0 c:s2 c:s4 c:s5 c:s6 c:s8                         c:sF    c:sD     c:sG    c:sT   c:sB  )
 '("_bottom" "_front"  "_left" "_top" "_right" "_back"  "_front" "_right" "_left" "_top" "_back" )
)

Posté(e)

Bonjour,

j'ai fait une petite routine qui, je pense répond à ta demande.

Les objets sélectionnés sont orientés en 3D par 2 points, l'angle de base étant le Z du SCU courant ou nouveau éventuellement avec le scu dynamique actif.

A tester !

 

;; Rotation objet depuis orientation Z (scu) vers orientation 3D choisie 
;; 19 04 2012
;; usegomme
(defun c:rz (/ js) 
(setvar "CMDECHO" 0)
(setq js (entsel))
(prompt "\n Centre de Rotation: ")	   
(command "_ucs" pause "")
(command "_copybase" "_non" '(0. 0. 0.) js "")
(setvar "CMDECHO" 1)
(command "_ucs" "_zaxis" pause pause)
(command "_pasteclip" "_non"  '(0. 0. 0.))
 (command "_rotate" "_l" "" "_non" '(0. 0. 0.))(while (not (zerop (getvar "cmdactive")))(command pause))
(entdel (nth 0 js))
(repeat 2 (command "_ucs" "_p"))
(princ) 
)

Posté(e)

J'ai refait la routine, l'autre n'était vraiment pas au point, j'y ai inclus ce que je fais habituellement pour ce genre de manip, c'est à dire le copier/coller.

Bizarrement je n'y ai pas pensé le 12/4, ça devient grave ! :blink:

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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité