Aller au contenu

Liste de souhait des utilisateurs AutoCAD


Messages recommandés

Posté(e)

Une des demande est :

 

It would be nice to be able to create a script (for multiple DWGs), macro (for an individual DWG) that could be run via the command line. Something like a FIND, FIND/REPLACE, FIND/ [surligneur] ZOOM TO [/surligneur]with simple comand line support (-FIND). This would also need to work within TEXT (DTEXT), MTEXT, Dimensional Text, Attributes Values.

 

Avouez que j'ai eu de l'idée avec mon petit programme

Je n'aurais peut être pas besoin d'aller plus loin ;)

Posté(e)

Salut Eric,

 

je rajouterai à la liste s'il n'y a pas déjà :

 

C'EST QUELQUE CHOSE POUR GERER CES P.... DE ...... DE ........ D'UNITE LORS DE L'INSERTION DE BLOCS.

 

J'en ai marre de ce truc.

 

ouf ça soulage :)

  • 3 mois après...
Posté(e)

Bonjour,

 

Moi je souhaiterai avoir de gestionnaire d'impression d'atant !!! C'est une catastrophe celui de la V.2006, J'ai des dossiers avec une quinzaine de plan, je doit reconfigurer l'imprimante , présentation par présentation...J'ai autre chose à faire que de passer mon temps a sélectionner la bonne imprimante.

 

Merci d'avance.

 

Arf, avoir de l'espoir c'est quoi ? C'est espéré qu'autodesk corrige les bugs avant d'en créer des nouveaux...

 

KC

Autocad Architecture

Inventor

3d Viz

Paint

Posté(e)

Je travail dessus actuellement. Le but serait de faire sur une présentation la config. souhaité, de lancer le lisp pour que les présentations que l'on désire prennent cette config.

C'est seulement le temps qui manque un peu actuellement

 

@+

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)

Chose promise.... ;)

 

@+

 

Fichier MPL.DCL

// ================================================
//
//  MPL.DCL V1.00
//
//  Copyright (C) Patrick_35
//
// =================================================

mpl : dialog {
 key = "titre";
 fixed_width = true;
 alignment = centered;
 is_cancel = true;
 width = 20;
 : popup_list {label= "Origine"; key = "mpl";}
 spacer;
 : list_box {label= "Destination" ; key="dest"; height = 10; multiple_select=true;}
 spacer;
 ok_cancel;
}

 

Fichier MPL.LSP

;;;=================================================
;;;
;;; MPL.LSP V1.00
;;;
;;; Recopier la config des Présentations
;;;
;;; Copyright (C) Patrick_35
;;;
;;;=================================================

(defun c:mpl(/ s)

 ;;;---------------------------------------------------------------
 ;;;
 ;;; Gestion des erreurs
 ;;;
 ;;;---------------------------------------------------------------

 (defun *errmpl* (msg)
   (if (/= msg "Function cancelled")
     (if (= msg "quit / exit abort")
       (princ)
       (princ (strcat "\nErreur : " msg))
     )
     (princ)
   )
   (setq *error* s)
   (vla-endundomark (vla-get-activedocument (vlax-get-acad-object)))
   (princ)
 )

 ;;;---------------------------------------------------------------
 ;;;
 ;;; Routine principale
 ;;;
 ;;;---------------------------------------------------------------

 (defun multiplie_plt(/ config doc i init_mpl j liste_lay n position positiondests resultat)

   (defun liste_destination()
     (start_list "dest")
     (mapcar 'add_list (vl-remove (nth (atoi position) liste_lay) liste_lay))
     (end_list)
     (set_tile "dest" positiondest)
   )

   (setq init_mpl (load_dialog (findfile "mpl.dcl")))
   (setq liste_lay (layoutlist) n 0 position "0" positiondest "0")
   (if (vl-position "Model" liste_lay)
     (setq liste_lay (vl-remove "Model" liste_lay))
   )
   (if (cdr liste_lay)
     (progn
       (while (nth n liste_lay)
         (if (= (getvar "ctab") (nth n liste_lay))
           (setq position (itoa n))
         )
         (setq n (1+ n))
       )
       (new_dialog "mpl" init_mpl "")
       (start_list "mpl")
       (mapcar 'add_list liste_lay)
       (end_list)
       (liste_destination)
       (set_tile "titre" "Copie Présentation V1.00")
       (set_tile "mpl" position)
       (mode_tile "mpl" 2)
       (while (and (/= resultat 1)(/= resultat 0))
         (action_tile "mpl"    "(setq position $value)(liste_destination)")
         (action_tile "dest"   "(setq positiondest $value)")
         (action_tile "accept" "(done_dialog 1)")
         (action_tile "cancel" "(done_dialog 0)")
         (setq resultat (start_dialog))
       )
       (unload_dialog init_mpl)
       (if (eq resultat 1)
         (progn
           (setq doc (vla-get-activedocument (vlax-get-acad-object)))
           (vlax-for lay (vla-get-layouts doc)
             (if (eq (nth (atoi position) liste_lay) (vla-get-name lay))
               (setq config lay)
             )
           )
           (setq liste_lay (vl-remove (nth (atoi position) liste_lay) liste_lay))
           (while (not (eq positiondest ""))
             (setq position (read positiondest))
             (vlax-for lay (vla-get-layouts doc)
               (if (eq (nth position liste_lay) (vla-get-name lay))
                 (progn
                   (vla-put-ConfigName lay           (vla-get-ConfigName config))
                   (vla-put-CanonicalMediaName lay   (vla-get-CanonicalMediaName config))
                   (vla-GetCustomScale config 'i 'j) (vla-SetCustomScale lay i j)
                   (vla-GetWindowToPlot config 'i 'j)(vla-SetWindowToPlot lay i j)
                   (vla-put-PlotOrigin lay           (vla-get-PlotOrigin config))
                   (vla-put-PaperUnits lay           (vla-get-PaperUnits config))
                   (vla-put-PlotHidden lay           (vla-get-PlotHidden config))
                   (vla-put-PlotRotation lay         (vla-get-PlotRotation config))
                   (vla-put-PlotType lay             (vla-get-PlotType config))
                   (vla-put-PlotViewportBorders lay  (vla-get-PlotViewportBorders config))
                   (vla-put-PlotViewportsFirst lay   (vla-get-PlotViewportsFirst config))
                   (vla-put-PlotWithLineweights lay  (vla-get-PlotWithLineweights config))
                   (vla-put-PlotWithPlotStyles lay   (vla-get-PlotWithPlotStyles config))
                   (vla-put-ScaleLineweights lay     (vla-get-ScaleLineweights config))
                   (vla-put-ShowPlotStyles lay       (vla-get-ShowPlotStyles config))
                   (vla-put-StandardScale lay        (vla-get-StandardScale config))
                   (vla-put-StyleSheet lay           (vla-get-StyleSheet config))
                   (vla-put-UseStandardScale lay     (vla-get-UseStandardScale config))
                   (if (not (eq (vla-get-PlotType config) aclayout))
                     (vla-put-CenterPlot lay         (vla-get-CenterPlot config))
                   )
                   (princ (strcat "\nMise à jour de la mise en page de " (vla-get-name lay) " depuis " (vla-get-name config)))
                 )
               )
             )
             (setq positiondest (substr positiondest (+ 2 (strlen (itoa position))) (strlen positiondest)))
           )
         )
       )
     )
     (alert "Une seule présentation\nUtilisation inutile du Lisp")
   )
 )

 ;;;---------------------------------------------------------------
 ;;;
 ;;; Routine de lancement
 ;;;
 ;;;---------------------------------------------------------------

 (vl-load-com)
 (setq s *error*)
 (setq *error* *errmpl*)
 (vla-startundomark (vla-get-activedocument (vlax-get-acad-object)))
 (multiplie_plt)
 (vla-endundomark (vla-get-activedocument (vlax-get-acad-object)))
 (setq *error* s)
 (princ)
)

(princ "\nMPL.LSP chargé. Tapez MPL pour l'exécuter")
(princ)

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)

Bonjour,

 

Je suis désolé mais je n'y connais rien au lisp...Un jour je mi pencherai !

 

J'ai créé les 2 fichiers, le DCL puis le LSP. et maintenant je bute...J'ai regardé dans l'aide mais j'y arrive pas.

 

Merci de m'expliquer la démarche.

 

Au revoir.

Autocad Architecture

Inventor

3d Viz

Paint

Posté(e)

Tu copies les fichiers dans le répertoire d'autocad ou dans un de ses chemins de recherche.

Tu lances ensuite la commande _appload, ou tu fais la commande (load"mpl") ou encore avec un drag&drop depuis l'explorateur

 

@+

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)

MERCI BEAUCOUP

 

Ca marche nikel, c'est que du bonheur ! C'est super efficace, un gain de temps énorme !

 

Faudrait que je regarde la prog en lisp de plus prés. Je tenterai bien de modifier , pour que ca ne change pas le format papier, mais juste l'imprimante.

 

Merci encore !

A++

 

KC

Autocad Architecture

Inventor

3d Viz

Paint

Posté(e)

Pour le format papier, c'est volontaire

Si c'est juste pour changer d'imprimante, tu remplaces

 (progn
(vla-put-ConfigName lay (vla-get-ConfigName config))
(vla-put-CanonicalMediaName lay (vla-get-CanonicalMediaName config))
(vla-GetCustomScale config 'i 'j) (vla-SetCustomScale lay i j)
(vla-GetWindowToPlot config 'i 'j)(vla-SetWindowToPlot lay i j)
(vla-put-PlotOrigin lay (vla-get-PlotOrigin config))
(vla-put-PaperUnits lay (vla-get-PaperUnits config))
(vla-put-PlotHidden lay (vla-get-PlotHidden config))
(vla-put-PlotRotation lay (vla-get-PlotRotation config))
(vla-put-PlotType lay (vla-get-PlotType config))
(vla-put-PlotViewportBorders lay (vla-get-PlotViewportBorders config))
(vla-put-PlotViewportsFirst lay (vla-get-PlotViewportsFirst config))
(vla-put-PlotWithLineweights lay (vla-get-PlotWithLineweights config))
(vla-put-PlotWithPlotStyles lay (vla-get-PlotWithPlotStyles config))
(vla-put-ScaleLineweights lay (vla-get-ScaleLineweights config))
(vla-put-ShowPlotStyles lay (vla-get-ShowPlotStyles config))
(vla-put-StandardScale lay (vla-get-StandardScale config))
(vla-put-StyleSheet lay (vla-get-StyleSheet config))
(vla-put-UseStandardScale lay (vla-get-UseStandardScale config))
(if (not (eq (vla-get-PlotType config) aclayout))
(vla-put-CenterPlot lay (vla-get-CenterPlot config))
)

par

(vla-put-ConfigName lay (vla-get-ConfigName config))

 

@+

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)

Salut

Ca m'ennuyait d'effacer une partie du code et de le laisser juste pour une config d'imprimante et surtout de devoir d’abord faire une config d’une présentation, ce qui fait un peu doublon

Du coup, j'en ai fait un autre juste pour choisir l'imprimante que l'on souhaite sur les onglets que l'on désire

 

@+

 

Fichier MIM.DCL

// =================================================
//
//  MIM.DCL V1.00
//
//  Copyright (C) Patrick_35
//
// =================================================

mim : dialog {
 key = "titre";
 fixed_width = true;
 alignment = centered;
 is_cancel = true;
 width = 60;
 : popup_list {label= "Origine"; key = "mim";}
 spacer;
 : list_box {label= "Destination" ; key="dest"; height = 10; multiple_select=true;}
 spacer;
 ok_cancel;
}

 

Fichier MIM.LSP

;;;=================================================
;;;
;;; MIM.LSP V1.00
;;;
;;; Changer l'imprimante des Présentations
;;;
;;; Copyright (C) Patrick_35
;;;
;;;=================================================

(defun c:mim(/ s)

 ;;;---------------------------------------------------------------
 ;;;
 ;;; Gestion des erreurs
 ;;;
 ;;;---------------------------------------------------------------

 (defun *errmim* (msg)
   (if (/= msg "Function cancelled")
     (if (= msg "quit / exit abort")
       (princ)
       (princ (strcat "\nErreur : " msg))
     )
     (princ)
   )
   (setq *error* s)
   (vla-endundomark (vla-get-activedocument (vlax-get-acad-object)))
   (princ)
 )

 ;;;---------------------------------------------------------------
 ;;;
 ;;; Routine principale
 ;;;
 ;;;---------------------------------------------------------------

 (defun multiplie_pre(/ config doc init_mim liste_lay n position positiondests resultat tra)

   (setq init_mim (load_dialog (findfile "mim.dcl")))
   (setq liste_lay (layoutlist) n 0 position "0" positiondest "0" doc (vla-get-activedocument (vlax-get-acad-object)))
   (setq tra (vlax-safearray->list (vlax-variant-value (vla-getplotdevicenames (vla-get-layout (vla-get-modelspace doc))))))
   (if (vl-position "Aucun" tra)
     (setq tra (vl-remove "Aucun" tra))
   )
   (if (vl-position "Model" liste_lay)
     (setq liste_lay (vl-remove "Model" liste_lay))
   )
   (new_dialog "mim" init_mim "")
   (start_list "mim")
   (mapcar 'add_list tra)
   (end_list)
   (start_list "dest")
   (mapcar 'add_list liste_lay)
   (end_list)
   (set_tile "titre" "Sélection Imprimante V1.00")
   (set_tile "mim" position)
   (mode_tile "mim" 2)
   (while (and (/= resultat 1)(/= resultat 0))
     (action_tile "mim"    "(setq position $value)")
     (action_tile "dest"   "(setq positiondest $value)")
     (action_tile "accept" "(done_dialog 1)")
     (action_tile "cancel" "(done_dialog 0)")
     (setq resultat (start_dialog))
   )
   (unload_dialog init_mim)
   (if (eq resultat 1)
     (while (not (eq positiondest ""))
       (setq n (read positiondest))
       (vlax-for lay (vla-get-layouts doc)
         (if (eq (nth n liste_lay) (vla-get-name lay))
           (progn
             (vla-put-ConfigName lay (nth (atoi position) tra))
             (princ (strcat "\nPrésentation " (vla-get-name lay) " Configurée avec " (nth (atoi position) tra)))
           )
         )
       )
       (setq positiondest (substr positiondest (+ 2 (strlen (itoa n))) (strlen positiondest)))
     )
   )
 )

 ;;;---------------------------------------------------------------
 ;;;
 ;;; Routine de lancement
 ;;;
 ;;;---------------------------------------------------------------

 (vl-load-com)
 (setq s *error*)
 (setq *error* *errmim*)
 (vla-startundomark (vla-get-activedocument (vlax-get-acad-object)))
 (multiplie_pre)
 (vla-endundomark (vla-get-activedocument (vlax-get-acad-object)))
 (setq *error* s)
 (princ)
)

(princ "\nMIM.LSP chargé. Tapez MIM pour l'exécuter")
(princ)

 

ps : tu constateras que le code est en grande partie une copie du premier lisp ;)

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)

:) Magnifique ! c'est génial !! :)

 

Je connais rien en lisp, mais c'est beau , ca donne envie !!

 

Merci bien Patrick !

 

A++

KC

Autocad Architecture

Inventor

3d Viz

Paint

  • 3 semaines après...
Posté(e)

Hello,

 

Moi je souhaiterais qu'Autodek améliore la gestion des correctifs de ces produits.

Car hormis les service pack, on se chope tout le temps des fichiers ZIP à la c.. qu'il faut décompressé, ensuite copier dans le bon dossier. Pour un PC ça va, quand on en a 150 à gérer et ça dans 25 entreprise différentes, ça prend la tête. De plus on se sait jamais si le correctif truc est oui ou non intégré dans le SP qui sort postérieurement.

 

Je souhaite donc qu'il s'y prennent un peu à la Microsoft, quand un SP sort, on sait quel correctif individuel l'on peut effacer de sa liste d'installation.

 

Qu'est-ce ça serait bien ça :P

Les cons, ça ose tout, c'est même à ça qu'on les reconnaît. (M. Audiart).

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é