Aller au contenu

Patrick_35

Membres
  • Compteur de contenus

    6 374
  • Inscription

  • Dernière visite

  • Jours gagnés

    30

Tout ce qui a été posté par Patrick_35

  1. Patrick_35

    BB Code

    C'est le premier élément. C'est le deuxième élément. Premier élément. Deuxième élément.
  2. Patrick_35

    BB Code

    1er élément 2em élément 3em élément 1er élément 2em élément 3em élément
  3. J'ai l'impression que c'est exactement ça, il ne reste plus qu'à construire le pont ;) Au fait, bravo pour le bouton @+
  4. Salut Ribbit, Ca ne m'embête pas plus que ça, d'autant que je l'avais dans mes tablettes Pour le lisp, courage, mais je te comprends, je suis comme toi, j'ai envie de me lancer dans le vba, mais pour l'instant, ce n'est qu'une envie, ce qui me rebute, c'est les orientations objets. J'aime bien tout maîtriser @+
  5. Patrick_35

    Prénom

    52x65http://www.fond-ecran-image.com/gif_anime_webmaster/lettre_alphabet_1/alphabet_16.gif[/img]
  6. Patrick_35

    Prénom

    52x65http://www.fond-ecran-image.com/gif_anime_webmaster/lettre_alphabet_1/alphabet_16.gif[/img]52x65http://www.fond-ecran-image.com/gif_anime_webmaster/lettre_alphabet_1/alphabet_01.gif[/img]52x65http://www.fond-ecran-image.com/gif_anime_webmaster/lettre_alphabet_1/alphabet_20.gif[/img]52x65http://www.fond-ecran-image.com/gif_anime_webmaster/lettre_alphabet_1/alphabet_18.gif[/img]52x65http://www.fond-ecran-image.com/gif_anime_webmaster/lettre_alphabet_1/alphabet_09.gif[/img]52x65http://www.fond-ecran-image.com/gif_anime_webmaster/lettre_alphabet_1/alphabet_03.gif[/img]52x65http://www.fond-ecran-image.com/gif_anime_webmaster/lettre_alphabet_1/alphabet_11.gif[/img]
  7. Bonjour à tous Voici un lisp qui donne la longueur sur une ligne, polyligne, arc ou encore sur une spline Il ne reste plus qu'à le modifier pour ses propres besoins, le principe est là. Ce mettre au lisp est le pas le plus dur à franchir, mais une fois que c'est parti, plus rien ne nous arrête sauf l'imagination peut-être (defun c:long(/ deb fin sel) (if (setq sel (entsel)) (progn (vl-load-com) (setq sel (entget (car sel))) (setq sel (vlax-ename->vla-object (cdr (assoc -1 sel)))) (setq deb (vlax-curve-getStartParam sel)) (setq fin (vlax-curve-getEndParam sel)) (princ (strcat "\nLa longueur est de : " (rtos (vlax-curve-getDistAtParam sel fin)))) ) ) (princ) ) (princ) @+
  8. Pas tout à fait, une fois la routine faite, un copier/coller suffit Dans ce style par exemple avec la variable cmdecho (defun *erreurs* (msg) (if (/= msg "Function cancelled") (if (= msg "quit / exit abort") (princ) (princ (strcat "\nErreur : " msg)) ) (princ) ) (setq *error* olderror) (setvar "cmdecho" cmd) (princ) ) (setq olderror *error*) (setq *error* *erreurs*) (setq cmd (getvar "cmdecho")) (setvar "cmdecho" 0) (command "_.undo" "_group") (on_lance_la_routine) (command "_.undo" "_end") (setq *error* olderror) (setvar "cmdecho" cmd) (princ) ) @+
  9. Patrick_35

    Insertion date

    En faisant parcourir pour trouver le fichier acetmain.mns dans le répertoire express, puis charger, ensuite dans l’onglet barre de menu, dans le groupe express, il ne reste plus qu’à l’ajouter @+
  10. Bonjour, Bonne question, mais en passant par un autoload, cela évite de tout charger au démarrage d’autocad et de ne charger l’appli que quand on a besoin @
  11. Bonjour, avec trajet dans la sélection (t) @+
  12. Bonjour à tous, Si le lisp est bien réalisé, il intègre une routine de gestion des erreurs pour justement remettre les variables comme elles étaient auparavants. En passant par *error* ou encore avec vl-exit-with-error @+
  13. Patrick_35

    Insertion date

    As-tu chargé le menu express ? (outil--->personnalisation des menus) @+
  14. Patrick_35

    Insertion date

    Bonjour, Rtext est dans les express tools @+
  15. Merci, ça fait plaisir http://smileys.smileycentral.com/cat/3/3_4_24.gif @+
  16. Patrick_35

    textes

    Bonjour De mémoire, il y existe un lisp qui était fournit avec la version 14 qui permet de faire ça, c'est le prog chtext.lsp et pour le lancer, il suffit de faire cht. Il me semble que j'ai du le conserver, si ça t'intéresse @+
  17. Bonjour à tous Cette fois-ci, le prog amélioré avec en ajout la possibilité de faire les mises en page et d'intégrer des gabarits Fichier ong.dcl ong : dialog { key = "total"; is_cancel = true; allow_accept = true; : row { : list_box {key = "present"; height = 20; width = 20;multiple_select = true;} : column { : button {key = "choisir"; label = "Choisir";} : button {key = "renommer"; label = "Renommer";} : button {key = "effacer"; label = "Effacer";} : button {key = "nouveau"; label = "Nouveau";} : button {key = "gabarit"; label = "Gabarit";} : button {key = "copier"; label = "Copier";} spacer; : button {key = "page"; label = "Mise en page";} : button {key = "tracer"; label = "Imprimer";} spacer; : button {key = "trier"; label = "Trier";} } } spacer; ok_button; } edi : dialog{ key = texte; allow_accept = true; : row { : edit_box {key = select; width = 20;} } spacer; ok_cancel; } Fichier ong.lsp (defun c:ong(/ cmd position resultat s) (defun *errong* (msg) (if (/= msg "Function cancelled") (if (= msg "quit / exit abort") (princ) (princ (strcat "\nErreur : " msg))) (princ)) (setq *error* s) (setvar "cmdecho" cmd) (princ)) (defun affiche_ong(/ choix fichier init_ong liste_lay n ptxy r resultat sel) (defun initialisation(pos) (setq liste_lay (layoutlist)) (if (vl-position "Model" liste_lay) (setq liste_lay (vl-remove "Model" liste_lay))) (setq liste_lay (append (list "Model") liste_lay) n 0) (if (= pos 1) (while (nth n liste_lay) (if (= (getvar "ctab") (nth n liste_lay)) (setq position (itoa n))) (setq n (1+ n))))) (if (findfile "Ong.ini") (progn (setq fichier (open (findfile "Ong.ini") "r")) (setq ptxy (list (atoi (read-line fichier))(atoi (read-line fichier)))) (close fichier)) (setq ptxy '(-1 -1))) (setq init_ong (load_dialog (findfile "Ong.dcl"))) (initialisation 1) (while (/= resultat 1) (new_dialog "ong" init_ong "" ptxy) (setq n 0) (start_list "present") (while (nth n liste_lay) (add_list (nth n liste_lay)) (setq n (1+ n))) (end_list) (set_tile "total" "Gestion des Onglets V2.00") (set_tile "present" position) (mode_tile "present" 2) (action_tile "present" "(setq position $value)") (action_tile "choisir" "(done_dialog 2)") (action_tile "renommer" "(done_dialog 3)") (action_tile "effacer" "(done_dialog 4)") (action_tile "nouveau" "(done_dialog 5)") (action_tile "gabarit" "(done_dialog 6)") (action_tile "copier" "(done_dialog 7)") (action_tile "page" "(done_dialog 8)") (action_tile "tracer" "(done_dialog 9)") (action_tile "trier" "(done_dialog 10)") (action_tile "accept" "(setq ptxy (done_dialog 1))") (action_tile "cancel" "(setq ptxy (done_dialog 0))") (setq resultat (start_dialog)) (cond ((= resultat 2) (setq position (itoa (read position))) (command "_.layout" "_set" (nth (atoi position) liste_lay))) ((= resultat 3) (setq sel position) (if (= (read position) 0) (alert "Impossible de renommer l'espace Objet") (progn (while (setq n (read sel)) (setq choix (nth n liste_lay)) (new_dialog "edi" init_ong) (set_tile "texte" "Renommer") (set_tile "select" choix) (mode_tile "select" 2) (action_tile "select" "(setq choix $value)") (action_tile "accept" "(done_dialog 1)") (action_tile "cancel" "(done_dialog 0)") (setq r (start_dialog)) (if (= r 1) (progn (if (vl-position choix liste_lay) (alert (strcat "Présentation " choix " existante")) (if (and choix (/= choix "") (/= choix (nth n liste_lay))) (progn (command "_.layout" "_ren" (nth n liste_lay) choix) (setq liste_lay (subst choix (nth n liste_lay) liste_lay))))))) (setq sel (substr sel (+ 2 (strlen (itoa n))))))))) ((= resultat 4) (if (= (read position) 0) (alert "Impossible d'effacer l'espace Objet") (progn (setq sel position) (while (setq n (read sel)) (command "_.layout" "_del" (nth n liste_lay)) (setq sel (substr sel (+ 2 (strlen (itoa n)))))) (initialisation 0) (while (not (nth (atoi position) liste_lay)) (setq position (itoa (1- (atoi position)))))))) ((= resultat 5) (setq position (itoa (read position))) (command "_.layout" "_new" "") (initialisation 0)) ((= resultat 6) (if (setq fichier (getfiled "Choisissez un fichier Gabarit" "template\\" "dwt" 4)) (progn (command "_.layout" "_temp" fichier "*") (initialisation 0)))) ((= resultat 7) (setq sel position) (while (setq n (read sel)) (command "_.layout" "_copy" (nth n liste_lay) "") (setq sel (substr sel (+ 2 (strlen (itoa n)))))) (initialisation 0)) ((= resultat 8) (setq sel position) (while (setq n (read sel)) (command "_.layout" "_set" (nth n liste_lay)) (command "_.pagesetup") (setq sel (substr sel (+ 2 (strlen (itoa n))))))) ((= resultat 9) (setq sel position) (while (setq n (read sel)) (command "_plot" "n" (nth n liste_lay) "" "" "n" "n" "o") (setq sel (substr sel (+ 2 (strlen (itoa n))))))) ((= resultat 10) (setq liste_lay (append (list "Model") (acad_strlsort (cdr liste_lay))))))) (unload_dialog init_ong) (setq fichier (open (vl-string-subst "Ong.ini" "Ong.lsp" (findfile "Ong.lsp")) "w")) (write-line (itoa (car ptxy)) fichier) (write-line (itoa (cadr ptxy)) fichier) (close fichier)) (setq s *error*) (setq *error* *errong*) (setq cmd (getvar "cmdecho")) (setvar "cmdecho" 0) (command "_.undo" "_group") (affiche_ong) (command "_.undo" "_end") (setq *error* s) (setvar "cmdecho" cmd) (princ))
  18. Salut Tramber, Tout dépend de la manière dont tu bosse en incendie Personnellement, j’implante toutes mes têtes de détection, mes déclencheurs manuel. Ensuite j’insère mon étiquette en lui donnant les bonnes indications (n° bus, zd et adresse) et je recopie toutes les étiquettes qui ont la même zd. Je lance un lisp qui m’incrémente la numérotation (l’ordre de sélection me donne l’ordre d’adressage) Il est possible, et ça arrive souvent dans notre métier, de refaire l’adressage des têtes. Je ne vais pas tout effacer et recommencer à chaque fois @+
  19. Tu as la commande copier dans les onglets @+
  20. Salut, J’ai eu le même souci que toi, mais étant sur une version complète, j’ai pu faire un lisp (non diffusable) avec une boite de dialogue. Passe en version pleine ou avec un additif et on te donneras un coup de main Et un site pour de l'autolisp en francais ps : pour mon étiquette, le numéro de bus, la zd et l'adresse suffit. Pour le type, il suffit de regarder le symbole @+
  21. Salut Ribbit J’avais bien pensé à intégrer la mise en page et le gabarit dans le lisp laissé dans le forum précédent, mais ce n’est que la version 1.00, je n’ai pas encore trouvé pour l’instant comment faire. Ce n’est qu’une question de temps, à moins qu’une personne le reprenne et l’améliore. Pour répondre à ta question, la sélection des onglets sous Autocad peut se faire comme dans un explorateur de windows, avec la touche ctrl et/ou shift @+
  22. Bonjour à tous C'est bon, j'ai compris comment faire pour renommer,effacer,copier et imprimer des onglets avec une sélection multiple fichier ong.dcl ong : dialog { key = "total"; is_cancel = true; allow_accept = true; : row { : list_box {key = "present"; height = 16; width = 20;multiple_select = true;} : column { : button {key = "choisir"; label = "Choisir";} : button {key = "renommer"; label = "Renommer";} : button {key = "effacer"; label = "Effacer";} : button {key = "nouveau"; label = "Nouveau";} : button {key = "copier"; label = "Copier";} spacer;spacer; : button {key = "tracer"; label = "Imprimer";} spacer;spacer; : button {key = "trier"; label = "Trier";} } } spacer; ok_button; } edi : dialog{ key = texte; allow_accept = true; : row { : edit_box {key = select; width = 20;} } spacer; ok_cancel; } fichier ong.lsp (defun c:ong(/ cmd position resultat s) (defun *errong* (msg) (if (/= msg "Function cancelled") (if (= msg "quit / exit abort") (princ) (princ (strcat "\nErreur : " msg)) ) (princ) ) (setq *error* s) (setvar "cmdecho" cmd) (princ) ) (defun affiche_ong(/ choix fichier init_ong liste_lay n ptxy r resultat sel) (defun initialisation(pos) (setq liste_lay (layoutlist)) (setq liste_lay (append (list "Model") liste_lay) n 0) (if (= pos 1) (while (nth n liste_lay) (if (= (getvar "ctab") (nth n liste_lay)) (setq position (itoa n)) ) (setq n (1+ n)) ) ) ) (if (findfile "Ong.ini") (progn (setq fichier (open (findfile "Ong.ini") "r")) (setq ptxy (list (atoi (read-line fichier))(atoi (read-line fichier)))) (close fichier) ) (setq ptxy '(-1 -1)) ) (setq init_ong (load_dialog (findfile "Ong.dcl"))) (initialisation 1) (while (/= resultat 1) (new_dialog "ong" init_ong "" ptxy) (setq n 0) (start_list "present") (while (nth n liste_lay) (add_list (nth n liste_lay)) (setq n (1+ n)) ) (end_list) (set_tile "total" "Gestion des Onglets V1.00") (set_tile "present" position) (mode_tile "present" 2) (action_tile "present" "(setq position $value)") (action_tile "choisir" "(done_dialog 2)") (action_tile "renommer" "(done_dialog 3)") (action_tile "effacer" "(done_dialog 4)") (action_tile "nouveau" "(done_dialog 5)") (action_tile "copier" "(done_dialog 6)") (action_tile "tracer" "(done_dialog 7)") (action_tile "trier" "(done_dialog 8)") (action_tile "accept" "(setq ptxy (done_dialog 1))") (action_tile "cancel" "(setq ptxy (done_dialog 0))") (setq resultat (start_dialog)) (cond ((= resultat 2) (setq position (itoa (read position))) (command "_.layout" "_set" (nth (atoi position) liste_lay)) ) ((= resultat 3) (setq sel position) (if (= (read position) 0) (alert "Impossible de renommer l'espace Objet") (progn (while (setq n (read sel)) (setq choix (nth n liste_lay)) (new_dialog "edi" init_ong) (set_tile "texte" "Renommer") (set_tile "select" choix) (mode_tile "select" 2) (action_tile "select" "(setq choix $value)") (action_tile "accept" "(done_dialog 1)") (action_tile "cancel" "(done_dialog 0)") (setq r (start_dialog)) (if (= r 1) (progn (if (vl-position choix liste_lay) (alert (strcat "Présentation " choix " existante")) (if (and choix (/= choix "") (/= choix (nth n liste_lay))) (progn (command "_.layout" "_ren" (nth n liste_lay) choix) (setq liste_lay (subst choix (nth n liste_lay) liste_lay)) ) ) ) ) ) (setq sel (substr sel (+ 2 (strlen (itoa n))))) ) ) ) ) ((= resultat 4) (if (= (read position) 0) (alert "Impossible d'effacer l'espace Objet") (progn (setq sel position) (while (setq n (read sel)) (command "_.layout" "_del" (nth n liste_lay)) (setq sel (substr sel (+ 2 (strlen (itoa n))))) ) (initialisation 0) (while (not (nth (atoi position) liste_lay)) (setq position (itoa (1- (atoi position)))) ) ) ) ) ((= resultat 5) (setq position (itoa (read position))) (command "_.layout" "_new" "") (initialisation 0) ) ((= resultat 6) (setq sel position) (while (setq n (read sel)) (command "_.layout" "_copy" (nth n liste_lay) "") (setq sel (substr sel (+ 2 (strlen (itoa n))))) ) (initialisation 0) ) ((= resultat 7) (setq sel position) (while (setq n (read sel)) (command "_plot" "n" (nth n liste_lay) "" "" "n" "n" "o") (setq sel (substr sel (+ 2 (strlen (itoa n))))) ) ) ((= resultat 8) (setq liste_lay (append (list "Model") (acad_strlsort (cdr liste_lay)))) ) ) ) (unload_dialog init_ong) (setq fichier (open (vl-string-subst "Ong.ini" "Ong.lsp" (findfile "Ong.lsp")) "w")) (write-line (itoa (car ptxy)) fichier) (write-line (itoa (cadr ptxy)) fichier) (close fichier) ) (setq s *error*) (setq *error* *errong*) (setq cmd (getvar "cmdecho")) (setvar "cmdecho" 0) (command "_.undo" "_group") (affiche_ong) (command "_.undo" "_end") (setq *error* s) (setvar "cmdecho" cmd) (princ) )
  23. Patrick_35

    Page not found?

    On dirait que ça reboucle......Une journée sans fin...... ;) @+
  24. Patrick_35

    Page not found?

    On dirait que ça reboucle......Une journée sans fin...... ;) @+
  25. Salut CoolMan Ton lisp est intéressant, mais il ne fonctionne pas chez moi (pour une 2000) avec la fonction ins et en regardant comment tu as fait ton prog, j'ai remarqué aussi une fonction ListeBox que je ne connais pas (peut-être des fonctions que tu as développées pour ton espace de travail) Mais ce n'est pas le but principal de mon post, je me suis penché comme toi sur une manière de gérer correctement les présentations. Les faire afficher selon une sélection, aucun soucis, les imprimer depuis la sélection ne devrait normalement pas poser de problème, mais en supprimer, renommer ou encore en créer, voilà un challenge intéressant. Je pense que la solution est en visual lisp, mais je sèche pour l'instant. Si tu as déjà fait quelque chose dans ce sens. @+
×
×
  • 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é