Aller au contenu

Diriger une forme quelconque


zapou78

Messages recommandés

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

Lien vers le commentaire
Partager sur d’autres sites

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 -
Développements sur mesure pour AutoCAD
ADSK_Expert_Elite_Icon_S_Color_Blk_125.png

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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é.

Lien vers le commentaire
Partager sur d’autres sites

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" )
)

Lien vers le commentaire
Partager sur d’autres sites

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) 
)

Lien vers le commentaire
Partager sur d’autres sites

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é