Aller au contenu

Messages recommandés

Posté(e)

bonjour je souhaiterais savoir s'il est possible de garder le texte de l'attribut horizontal meme si l'on fait subir une rotation au bloc auquel est rattaché l'attribut

car si l'attribut subit une rotation le plan devient tout de suite plus compliqué à lire(besoin de tourner le plan papier en permanence)

merci

Anthony

Posté(e)

Bonjour à toutes et tous,

 

Patrick_35 avait écrit ça =>

 

 ;;;=================================================================
;;;
;;; ROT_0.LSP V1.01
;;;
;;; Laisser l'angle de rotation à 0 de tous les attributs
;;;
;;; Copyright (C) Patrick_35
;;;
;;;=================================================================

(defun Attributs_ini(Rea Cde)
 (setq dernier_ent (entlast))
)

(defun Attributs_rot_0(Rea Cde / bl js i n)
 (cond
   ((eq (car Cde) "ROTATE")
     (setq js (ssget "_p"))
   )
   ((eq (car Cde) "MIRROR")
     (setq js (ssget "_p"))
   )
   ((eq (car Cde) "GRIP_ROTATE")
     (setq js (cadr (ssgetfirst)))
   )
   ((eq (car Cde) "GRIP_MIROR")
     (setq js (cadr (ssgetfirst)))
   )
   ((eq (car Cde) "INSERT")
     (setq js (ssadd))
     (ssadd (entlast) js)
   )
   ((eq (car Cde) "COPY")
     (setq js (ssadd) n (entnext dernier_ent))
     (while n
       (ssadd n js)
       (setq n (entnext n))
     )
   )
   ((eq (car Cde) "UCS")
     (setq js (ssget "x" (list (cons 0 "INSERT"))))
   )
 )
 (if js
   (progn
     (setq n 0)
     (while (ssname js n)
       (setq bl (entget (ssname js n)))
       (if (eq (cdr (assoc 0 bl)) "INSERT")
         (if (cdr (assoc 66 bl))
           (progn
             (while (not (eq (cdr (assoc 0 bl)) "SEQEND"))
               (if (eq (cdr (assoc 0 bl)) "ATTRIB")
                 (progn
                   (setq bl (subst (cons 50 0) (assoc 50 bl) bl))
                   (entmod bl)
                   (entupd (cdr (assoc -1 bl)))
                 )
               )
               (setq bl (entget (entnext (cdr (assoc -1 bl)))))
             )
           )
         )
       )
       (setq n (1+ n))
     )
   )
 )
 (princ)
)

(defun c:srot0(/ i j n)
 (if (setq i (vlr-reactors :vlr-Command-Reactor))
   (progn
     (setq n 1 i (nth n (car i)))
     (while i
       (setq j nil)
       (if (or (eq (cdr (car (vlr-reactions i))) 'ATTRIBUTS_ROT_0) (eq (cdr (car (vlr-reactions i))) 'ATTRIBUTS_INI))
         (setq j i)
       )
       (if j
         (vlr-remove j)
         (setq n (1+ n))
       )
       (if (setq i (vlr-reactors :vlr-Command-Reactor))
         (setq i (nth n (car i)))
       )
     )
     (if mrea_rot0
       (princ "\n\tDésactivation de l'angle 0 des Attributs")
     )
     (setq mrea_rot0 nil)
   )
 )
 (princ)
)

(defun c:rot0()
 (if (not mrea_rot0)
   (progn
     (c:srot0)
     (vlr-command-reactor nil '((:vlr-commandwillstart . Attributs_ini)))
     (setq mrea_rot0 (vlr-command-reactor nil '((:vlr-commandEnded . Attributs_rot_0))))
     (princ "\n\tActivation de l'angle des Attributs à 0")
   )
   (princ "\n\tL'angle des Attributs à 0 est déjà activée.")
 )
 (princ)
)

(vl-load-com)
(princ (strcat "\n\tPour activer l'angle des Attributs à 0, lancez la commande ROT0.\n\tPour revenir à la normale, faites la commande SROT0."))
(princ)

 

Pour en savoir plus, c'est ici

Civil 3D 2025 - COVADIS_18.3b

https://www.linkedin...3%ABt-95313341/

Posté(e)

Pas certain :exclam:

Le lisp se sert des réacteurs et j'ai cru comprendre que les light-Extender ne n'intègrent pas le vlisp mais que de l'autolisp.

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

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é