Aller au contenu

script pour mettre toutes les fenêtres sur 1 calque?


Messages recommandés

Posté(e)

Salut

Un petit lisp pour toutes les fenêtres sur toutes les présentations

 

@+

 

(defun c:vpc(/ js n txt)

 (defun MsgBox (Titre Bouttons Message / Reponse WshShell)
   (setq WshShell (vlax-create-object "WScript.Shell"))
   (setq Reponse (vlax-invoke WshShell 'Popup Message 0 Titre (itoa Bouttons)))
   (vlax-release-object WshShell)
   Reponse
 )

 (defun InputBox (Titre Message Defaut / *acad* users1 valeur)
   (setq *acad* (vlax-get-acad-object) users1 (getvar "users1"))
   (acad-push-dbmod)
   (vla-eval *acad* (strcat "ThisDrawing.SetVariable \"USERS1\"," "InputBox (\"" Message "\", \"" Titre "\", \"" Defaut "\")"))
   (setq valeur (getvar "users1"))
   (setvar "users1" users1)
   (acad-pop-dbmod)
   valeur
 )

 (setq txt (InputBox "VPC" "Veuillez donner le nom du calque de destination" (getvar "clayer")) n 0)
 (if (not (eq txt ""))
   (if (tblsearch "layer" txt)
     (if (setq js (ssget "x" (list (cons 0 "VIEWPORT"))))
       (progn
         (while (setq ent (ssname js n))
           (setq ent (vlax-ename->vla-object ent))
           (vla-put-layer ent txt)
           (setq n (1+ n))
         )
         (princ (strcat "\n" (itoa (1- n)) " Fenêtre(s) sur le calque " txt))
       )
     )
     (MsgBox "VPC" 48 "Le calque n'existe pas")
   )
 )
 (princ)
)

(princ "\nVPC chargé. Tapez VPC pour lancer le lisp.")
(princ)

 

ps : correction du lisp, j'ai été un peu trop vite ;)

 

[Edité le 18/9/2006 par Patrick_35]

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

Posté(e)

Et pourquoi tu ne pas toutes les selectionner d'un coup ?

 

PICKADD n'est pas à 1 ?

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Posté(e)

c'est parce que les fenêtres sont souvent superposées avec le cadre etc voir geler

 

je fonctionne comme çà d'habitude

 

selection rapide

choix fenetre

tout selectionner

ok

 

ensuite je passe le tout sur 1 calque nommé fenêtre

 

je cherchais à me faire 1 script qui en 1 opération me fasse la manipulation

 

Afin d'eviter d'avoir 1 fenetre sur le calque 0 , 1 sur le calque cadre, 1 sur le calque .....

 

 

 

Posté(e)

Malheureusement la selection rapide ne se scripte pas. Le filtre (la vieille commande FILTER) non plus. En conclusion, à mon avis, ton besoin ne rejoint pas l'interêt d'un script.

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Posté(e)

oui j'avais commencé à faire 1 fichier .scr

 

en lançant sélection rapide gràce à Qselect mais le suite de la programmation je sèchais, si tu me dis que c'est pas possible, je vais être obligé de le faire à l'ancienne étant donné que j'ai pas la version pleine

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é