Aller au contenu

Rotation bloc avec point d'origine.


Messages recommandés

Bonjour tout le monde,

 

J'ai un petit soucis que j'avais déjà posté et d'on à ma donnée une bonne réponse mais je n'arrive plus à mettre la main dessus.

 

Voilà j'ai plusieurs blocs que j'aimerai tourner un quart de tour 90° à partir de leur point d'insertion et ces bloc ne sont pas tous tournés de la même manière, en gros j'aimerai sélectionner un certain nombres de blocs et qu'en une fonction ils tournent tous de 90° tout en gardant leur position dans le dessin, je l'avais déjà mais je sais plus comment :(

Lien à poster
Partager sur d’autres sites

Cov edition/blocs/rotation

Il suffit ensuite de choisir les blocs qu'on veut faire pivoter

 

 

J'ai pas tout compris ta réponse mais il me semble que ce n'est pas ce que je cherche, je ne veux pas modifier l'édition du bloc je veux juste sélectionner par exemple un bloc d'une caméra qui est posé à différent endroit du plan et ces caméras n'ont pas toutes la même rotation mais je voudrai à toute leur donner 10° du plus de ce qu'elles ont, par exemple les caméra positionner à 210° deviennent 220° les 90° deviennent 100° tout en gardant leur position d'insertion d'origine, je l'avais déjà fait avec un lisp mais je ne sais plus de qui était ce lisp

Lien à poster
Partager sur d’autres sites

Hello

 

Voici une excellente routine BROT (ecrite par Gilles)

qui realise une Rotation "relative" des Blocs selectionnes

par rapport a leur rotation d'origine ...

 

lecrabe

 


;;
;; Rotation de N Bloc(s) d'un angle donne (+/- xx.xx)
;; par rapport a leur point d'insertion par GC
;; Commande au clavier :  BROT 
;;


(vl-load-com)

(defun c:brot	(/ *error* doc rot ss) 

(vl-load-com)

 (setq doc (vla-get-ActiveDocument (vlax-get-acad-object)))
 (defun *error* (msg)
   (or	(= msg "Fonction annulée")
(princ (strcat "Erreur: " msg))
   )
   (vla-EndUndoMark doc)
   (princ)
 )
 (if
   (and
     (setq rot (getorient "\nRotation: "))
     (ssget '((0 . "INSERT")))
   )
    (progn
      (vla-StartUndoMark doc)
      (vlax-for o (setq ss (vla-get-ActiveSelectionSet doc))
 (vl-catch-all-apply
     '(lambda ()
	(vla-put-Rotation o (+ rot (vla-get-Rotation o)))
      )
   )
      )
      (vla-delete ss)
      (vla-EndUndoMark doc)
    )
 )
 (princ)
)

Autodesk Expert Elite Team

Lien à poster
Partager sur d’autres sites
  • 5 ans après...

Bonjour,

Cette routine est exactement ce que je cherchais à un détail prêt, je voudrais que les objets restent ou sois resélectionné à la fin de la routine.

 

J’ai essayé quelque truc sans suces il faut dire également que ces un langage que je suis loin de maitriser.

Enfin voilà ci qu’elle qu’un a une idée je luis en serai très reconnaissent de la partager.

 

Merci par avance

Lien à poster
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

Chargement
×
×
  • Créer...