Aller au contenu

Routine Cartouche


CadFrank

Messages recommandés

Bonjour,

 

 

Ceci est la première fois que j'écris sur se forum.

 

J'aimerais savoir si il y a une façon de faire en sorte que quand je fais un nouveau layout appartir d'un déja créé

que les pages de ma cartouche change en suite.

 

en lien j'ai mis ma cartouche.

 

Salutations!

Salut

 

Tu peux utiliser les champs avec les variables d'autocad comme CTAB

 

ps : ton lien est invisible ;)

 

@+

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

Lien vers le commentaire
Partager sur d’autres sites

Bonsoir à toutes et tous,

 

En ce qui concerne le champ "DATE", tu as du oublier de faire un "REGEN", car cela fonctionne chez moi

 

Champ%20cartouche.jpg?w=8f3593c4

 

Et pour ce que te proposait Patrick_35 (que je salut au passage,...;)), en image =>

 

CTAB.jpg?w=d5f27815

Modifié par lili2006

Civil 3D 2025 - COVADIS_18.3b

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

Lien vers le commentaire
Partager sur d’autres sites

j'ai trouver se code mais je ne reussi pas a le faire fonctionné

 

 

(defun c:lpc()

(setq sheet 1)
(setq total (itoa (length (layoutlist))))

(foreach layout (layoutlist))

(print)

(ssget "_X" (list (cons 0 "INSERT") (cons 66 1) (cons 2 "Cartouche Aliance") (cons 410 layout)))

;sa me dit qu'il y a une erreur avec le ssget.


(strcat (itoa sheet) " of " total)

(setq sheet (1+ sheet))

)

Lien vers le commentaire
Partager sur d’autres sites

Tu peux numéroter tes onglets avec RON par exemple et indiquer dans le cartouche avec un champ avec la variable CTAB

 

ps : Toutes mes amitiés lili :D

 

Et bonnes fêtes à tous

 

@+

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

Lien vers le commentaire
Partager sur d’autres sites

Re,

 

Patrick, je vois que tu lis entièrement les messages,...:)

 

Je te retourne mes amitiés,.

 

Et en plus, tu as résolu le pb de CadFrank,..:P

 

sait bizarre mais je ne vois pas tes images

 

Je passe par la DROPBOX, j'ai l'impression que je dois être connecté pour avoir accès (a vérifier cependant,..)

Modifié par lili2006

Civil 3D 2025 - COVADIS_18.3b

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

Lien vers le commentaire
Partager sur d’autres sites

bonjour

ce n'est pas le sujet mais propriétés du dessin surtout si il y a beaucoup de présentation

fichier propriété du dessin;personnalise

dans tes cartouche tu crée un champ catégorie du champ document.

si ça peut te permettre de gagner du temps avec tes cartouches

Lien vers le commentaire
Partager sur d’autres sites

C'est parfait! ça fonctionne maintenant.

 

Quoi que en bout de ligne a ne fait pas se que je veux ds ma cartouche. p-e si je démontre le résultat sa peut aider.

 

 

 

voici l'effet que je veux que sa represente.

 

Merci pour tout l'aide si quelqu'un trouve la reponse alors sa sera mon cadeau de nowel :(rires forts): :(rires forts):

 

Joyeux Nowel a tous!!

Lien vers le commentaire
Partager sur d’autres sites

  • 3 semaines après...

Bon J'ai un nouveau code et il fonction en parti comme je le veux.

 

Il manque qu'une chose. je peux changer les pages selon le nombre de layout. Ceci fonctionne parfaitement.

 

il ne reste qu'une chose que je ne suis pas capable de faire afficher et c'est le total de layout.

 

J'ai marque se que je pensais qui pourrais le faire fonctionner apres les points virgule de la fonction qui va suivre sous peu.

 

(defun C:paging(/ adoc atts id lay_field)
(setq adoc (vla-get-activedocument (vlax-get-acad-object)))
 (vlax-for lt (vla-get-layouts adoc)
   (vla-put-activelayout adoc lt);optional
   (vlax-for obj (vla-get-block lt)
     (if (eq "AcDbBlockReference" (vla-get-objectname obj))
(if (eq "Cartouche Aliance" (vla-get-effectivename obj))
       (if (eq :vlax-true (vla-get-hasattributes obj) )
       (progn
  (setq atts (vlax-invoke obj 'getattributes))
  (foreach x atts
    (if (eq "PAGE" (vla-get-tagstring x))
      (progn
        (setq id (vla-get-objectid (vla-get-layout (vla-objectidtoobject adoc (vla-get-ownerid obj)))))
        (setq lay_field (strcat "%<\\AcObjProp Object(%<\\_ObjId " (itoa id)">%).Taborder \\f \"%tc1\">%"))
      (vla-put-textstring x lay_field)
      )
    )

;     (if (eq "#PAGE" (vla-get-tagstring x))
;       (progn
;         (setq id (itoa (length (layoutlist))))
;       (vla-put-textstring x lay_field)
;       )
;     )

  )
       )
    )
  )
)
     )
   )
 (vla-put-activelayout adoc (vla-item (vla-get-layouts adoc) 0));activate Layout1, optional
(princ)
 )
 (prompt "\Try command: Paging...")
 (prin1)
 (vl-load-com)
 (prin1)

 

Par contre, le texte de ma réponse ne s'affiche pas..

 

aurait-il quelqu'un qui aurait la solution.

 

Se serait grandement apprécié.

 

Merci d'avance.

Lien vers le commentaire
Partager sur d’autres sites

Bonsoir,

 

Vite fait...

 

(defun C:PAGING( / nombloc attpage attnumpage adoc numtabs atts id lay_field)

; Paramètres

(setq nombloc "Cartouche Aliance")  ; nom du bloc cartouche
(setq attpage "PAGE")               ; étiquette de l'attribut numéro de page
(setq attnumpage "#PAGE")           ; ; étiquette de l'attribut nombre de pages

; Fin paramètres

 (vl-load-com)
 (setq adoc (vla-get-activedocument (vlax-get-acad-object)))
 (setq numtabs (itoa (length (layoutlist))))
 (vlax-for lt (vla-get-layouts adoc)
   ;(vla-put-activelayout adoc lt) ; optionnel
   (vlax-for obj (vla-get-block lt)
     (if (and (= "AcDbBlockReference" (vla-get-objectname obj))
             (= nombloc (vla-get-effectivename obj)) 
             (= :vlax-true (vla-get-hasattributes obj) ))
       (progn
         (setq atts (vlax-invoke obj 'getattributes))
         (foreach x atts
           (if (= attpage (vla-get-tagstring x))
             (progn
               (setq id (vla-get-objectid (vla-get-layout (vla-objectidtoobject adoc (vla-get-ownerid obj)))))
               (setq lay_field (strcat "%<\\AcObjProp Object(%<\\_ObjId " (itoa id)">%).Taborder \\f \"%tc1\">%"))
               (vla-put-textstring x lay_field)
             )
           )
           (if (= attnumpage (vla-get-tagstring x))
               (vla-put-textstring x numtabs)
           )
         )
       )
     )
   )
 )
 ;(vla-put-activelayout adoc (vla-item (vla-get-layouts adoc) 0)) ; activer Layout1, optionnel
 (princ)
)
(prompt "\nCommande à utiliser : PAGING")
(princ)

Lien vers le commentaire
Partager sur d’autres sites

bryce Posté Hier, 05:09

Bonsoir,

 

Vite fait...

 

Je te remerci de ton aide c'est exactement ce que je cherchai a faire..

 

Aurai tu une idée ou je pourrais trouver tout les descriptions avec démonstration des fonctions Lisp/Vlisp en francais car je ne les trouve qu'en anglais je les trouves pas trop facile a comprend meme si je suis bilingue

 

Salutation et encore merci !

Lien vers le commentaire
Partager sur d’autres sites

Aurai tu une idée ou je pourrais trouver tout les descriptions avec démonstration des fonctions Lisp/Vlisp en francais car je ne les trouve qu'en anglais je les trouves pas trop facile a comprend meme si je suis bilingue

Salut

 

J'avais indiqué ici ou une marche à suivre avec l'aide

 

@+

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

Lien vers le commentaire
Partager sur d’autres sites

Euh ... Je sais pas trop... mais je comprend pas le ici et la ne m'apporte pas au fonction et je trouve pas plus ou les trouver

 

Je sais pas si j'ai bien d'écrit se que je veux.

 

Je veux trouver les information pour les fonction

 

vla-get-acaddocuments / vla-for etc ...

C'est dans l'aide pour les fonctions vl-*, vlr-*, vlax-*

Pour les fonctions vla-*, c'est dans l'aide vba, et pour retrouver les fonctions, avec l'explorateur (F2) dans l'éditeur vba (comme expliqué dans les liens cités)

 

@+

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

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é