Aller au contenu

Ordre des présentations dans AutoCad


Messages recommandés

Posté(e)

Bonjours je cherche une commande en Autolisp (ou Visual lisp) pour connaitre et modifier la position de présentations dans AutoCad.

 

J'ai fait un programme qui crée des présentations a partir de blocs et les présentations ne sont pas crées dans l'ordre.

 

J'ai l'impression que l'ordre des présentations varie en fonction du nombre de présentations crées.

 

Pour les créer j'utilise :

 

(command "presentation" "Nouvel")

 

ou

 

(command "presentation" "Copier")

 

je n ais pas encore essayé avec (vla-add layout)

 

Merci

Posté(e)

Salut et bienvenue,

 

Tout d'abord, pourrais-tu supprimer ton message en doublon dans le forum AutoCAD 2008.

Il ne sert à rien de multiplier les messages pour avoir des réponses, si quelqu'un peut te répondre il le fera dans ton premier message.

De plus, puisque tu demandes une réponse en LISP ou Visual LISP, tu aurais du poster dans un forum LISP.

 

Pour ta demande, les numéros d'ordre des présentations sont stockés dans le dictionnaire AutoCAD-LAYOUT avec le code 71 (une entrée par présentation placée après le nom de la présentation -code 3)

 

Un exemple de routine qui retourne le numéro d'ordre d'une présentation

 

;; TabOrder (gile)
;; Retourne le numéro d'ordre de la présentation
;;
;; Argument : le nom de la présentation (chaîne)
;;
;; Retour : le numéro d'ordre de la présentation (entier)

(defun TabOrder (name / dict lay)
(setq dict (dictsearch (namedobjdict) "ACAD_LAYOUT"))
(if (setq lay (cdr (assoc 350 (member (cons 3 name) dict))))
(cdr (assoc 71 (entget lay)))
)
) 

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

Posté(e)

Merci beaucoup pour ta réponse Gile.

Je te remercie d'ailleurs aussi beaucoup pour tous tes script que j ais eut le plaisir de décortiquer.

 

Par contre pour déplacer les présentations je ne sais pas si c'est possible.

 

 

PS : J ais effacé le message en doublon mais je continu la discussion ici.

Je ferais plus attention au nom des forum la prochaine fois. ;)

 

Posté(e)

Re,

 

Pour déplacer, peut être en Visual LISP avec :

 

(vla-put-TabOrder 
(vla-item 
(vla-get-Layouts 
(vla-get-ActiveDocument (vlax-get-acad-object))
)
[i]NomdeLaPrésentation[/i])
[i]Index[/i])

 

L'index 0 est réservé à l'espace "Model", les présentations ont les index 1 et suivants.

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

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é