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. Salut Quelque chose dans ce style ? (setq liste '( ((102 . "{ADSK_LYR_LINETYPE_OVERRIDE") (335 2128120472 2081625312) (343 2128127064 2081634848) (102 . "}")) ((102 . "{ADSK_LYR_LINEWT_OVERRIDE") (335 2128120472 2081625312) (91 . 80) (102 . "}")) ((102 . "{ADSK_LYR_PLOTSTYLE_OVERRIDE") (335 2128120472 2081625312) (344 2128108584 2081669712) (102 . "}")) ) ) (apply 'append (mapcar '(lambda(a) (mapcar 'cdr (vl-remove-if '(lambda(x)(eq (car x) 102)) a))) liste)) @+
  2. Salut Dans le message n°160, il est donné le lien pour installer VBA sur les versions 2010 à 2012 en 32 ou 64 bits. Juste une petite question; VBA est abandonné par Microsoft mais Autodesk (gentiment) le laisse encore à disposition pour les utilisateurs qui ont leurs propres développements. Pour combien de temps ? @+
  3. Salut Tu mets un message en VBA et tu cites des réponses en lisp :blink: Tu recherches quoi exactement ? @+
  4. Ah oui, après vérification, tu as raison. Désolé @+
  5. Salut Ou encore, depuis l'explorateur, tu fais copier (ctrl+c) puis dans Autocad, coller (ctrl+v) @+
  6. Patrick_35

    Taille d'un dessin

    Merci lili, c'est gentil :P Mais ce n'est pas pour moi, je n'ai rien à y gagner B) @+
  7. Patrick_35

    Taille d'un dessin

    Salut Sans vouloir insister, JAV explique ce qu'il efface (blocs vide, xdatas, échelles, etc..) et une sauvegarde du dessin sous un autre nom permet de voir la différence de taille. On n'est pas obligé de cocher toutes les options et c'est déjà une première piste. @+
  8. Patrick_35

    Taille d'un dessin

    Salut Un petit coup de JAV @+
  9. Salut Je viens d'essayer, le site fonctionne mais impossible de télécharger le moindre bloc @+
  10. Salut Tu joues simplement avec la variable ATTMODE, comme l'a expliqué VDH-Bruno Avec RBLOC Mais plus de synchro possible @+
  11. Salut Très bien ton exposé, mais si tu as un bloc avec 6 attributs par exemple et tu veux que le décompte ne fasse la distinction qu'avec les 3 premiers ? ps : pas mieux comme explications avec l'attribut invisible @+
  12. Salut Ou utiliser la fonction TRANS Extrait de l'aide @+
  13. Patrick_35

    Remplacement de bloc

    Je ne comprends pas. Dans le 2em onglet, j'ai les options Ouvrir, Sauver et fermer, Sauver dans et Evaluer diesel. Ensuite, on ajoute les commandes préliminaires, celles qu'on applique à chaque dessin et les commandes terminales. Je ne vois pas où remplacer dans la séquence de commandes Par exemple, l'option ouvrir n'est pas sélectionnée et je mets une commande à appliquer à chaque dessin, je retrouve dans le script généré ma commande multipliée par le nombre de dessins (normal) Si l'option ouvrir est choisie, je retrouve ma liste de fichier (normal), mais rien qui permette de remplacer _.open par _.recover Ce qui est tout à ton honneur, mais ce que je voulais indiquer, c'est d'avoir la possibilité de conserver les paramètres (comme aussi le dernier répertoire selectionné pour la liste de fichiers par exemple) Oui, mais si on a déjà des scripts ou si on a une séquence assez longue et que l'on teste notre script/lisp sur un dessin avant de le lancer sur un ensemble de fichiers. C'est tout simplement avoir le choix de l'extension dans le 2em onglet Et j'en rajoute une couche ;) ps : je suis en version 1.0 bêta
  14. Patrick_35

    Remplacement de bloc

    Salut Ok, je n'avais pas vu (et je viens de changer de lunettes) Ben justement, en reprenant ton exemple, remplacer _.open par _.recover Ou encore, pour quitter sans sauvegarder, remplacer _.close par _.close _no Dans le 2em onglet, tu as une option Sauver dans et je n'ai vu aucune incidence dans le script J'ai remarqué aussi que tu ne conservais pas les options retenues (par exemple, je choisis de voir les versions dans la liste de fichiers et quand je relance séquence, je suis obligé de re-sélectionner cette option) J'ai vu qu'il était possible d'importer/d'exporter des séquences au format seq. Si on avait la même chose, mais au format scr ps : Il serait bien d'ouvrir un nouveau sujet pour éviter de polluer ce post @+
  15. Patrick_35

    Remplacement de bloc

    Salut Ca a l'air pal mal, mais pas mal du tout ton prog :D J'ai vite regardé ce qu'il donnait et la 1er impression est très bonne J'ai quand même remarqué qu tu faisais une sauvegarde à chaque fois, c'est vrai dans 95% des cas. Mais dans les 5% restant, tu peux par exemple lancer une impression et ne pas vouloir sauvegarder afin de conserver la date de la dernière modification du/des dessin(s) On peut manuellement enlever la sauvegarde, mais sur 500 fichiers, cela devient vite lourd. J'ai remarqué aussi dans la fenêtre du script, que les options du clic droit sont désactivées De plus, on n'a pas la possibilité de faire une recherche, voir de remplacer. Voila un 1er jet en attendant de travailler un peu plus avec ton outil @+
  16. Patrick_35

    Remplacement de bloc

    Perso, je fais un lisp que je teste sur un dessin et qu'ensuite j'appelle depuis le script. C'est pour moi le plus simple Et le bon et vieux edit du ms-dos ;) Je suis curieux de voir ton prog, surtout si on peux jouer avec des variables et des expressions diesels (et aussi celles des express-tools comme rtext, xref, etc... ?) C'est le principal @+
  17. Patrick_35

    Remplacement de bloc

    Salut Je tiens le pari, pour 250,3000 ou 10000 fichiers, le même temps de saisie, même avec des sous-répertoires ;) Il suffit, comme l'indique JMBZ38, d'utiliser la commande ms-dos dir avec les options /s et /b (voir /on pour les puristes) Ensuite, avec un éditeur de texte, de faire deux rechercher/remplacer pour obtenir le script souhaité Le 1er en remplaçant le C:\ (par exemple) avec _open C:\ Le second en remplaçant le .dwg par .dwg et ma/mes commandes qui suive(nt) Une autre solution est d'utiliser Excel, d'ouvrir le fichier texte (créé avec la commande dir) et d'utiliser la formule CONCATENER puis de sauvegarder au format texte @+
  18. Merci, je n'avais jamais fait attention à ce bouton. C'était plus simple avant mais bon, il faut bien que les informaticiens travaillent. @+
  19. Cette option apparaissait juste au-dessus des outils linguistiques et donc je ne la vois plus. Donc, une recherche avec google pour retrouver les options (comme pour les outils linguistiques d'ailleurs) @+
  20. Salut Eh ben moi, je n'ai plus l'option outils linguistiques (à droite de la case de recherche) que je retrouve sur d'autres ordi, avec la même adresse internet et le même système d'exploitation. Va comprendre. @+
  21. Patrick_35

    Sauvergarde autocad

    Salut Dans Autocad, tu fais Options --> Fichiers --> Emplacement du fichier d'enregistrement automatique et tu notes le chemin du répertoire Idem pour Options --> Fichiers --> Emplacement du fichier de dessin temporaire Normalement, c'est le même répertoire, mais on ne sait jamais. Donc, dans le(s) répertoire(s) indiqué(s) Tu fais afficher les fichiers dans l'ordre de la date de modification (du plus récent au plus ancien) Tu trouveras des .bak, des .dwg commençant par ace*.dwg ou encore des .sv$ (c'est la sauvegarde automatique à renommer en .dwg pour pouvoir l'ouvrir avec Autocad) Tu as des chances de retrouver ton travail. ps : Bryce vient de me devancer, le temps d'écrire ;) @+
  22. Salut Il y a certaines fonctions que je n'ai pas comme (ade_odtabledefn nom_tbl) Donc, voici deux exemples Le 1er qui gère deux listes (defun c:ex1(/ affiche chx dcl lst pos tbl) (defun affiche(pos) (start_list "liste_fields") (mapcar 'add_list (nth (atoi pos) lst)) (end_list) (setq chx "0") ) (and (setq dcl (findfile "gestionnaire_od.dcl")) (setq dcl (load_dialog dcl)) (new_dialog "gestionnaire_od" dcl) (progn (setq tbl '("Choix 1" "Choix 2" "Choix 3" "Choix 4" "Choix 5") lst '(("Choix 1.1" "Choix 1.2" "Choix 1.3" "Choix 1.4") ("Choix 2.1" "Choix 2.2" "Choix 2.3" "Choix 2.4") ("Choix 3.1" "Choix 3.2" "Choix 3.3" "Choix 3.4") ("Choix 4.1" "Choix 4.2" "Choix 4.3" "Choix 4.4") ("Choix 5.1" "Choix 5.2" "Choix 5.3" "Choix 5.4") ) ) (setq pos "0") (start_list "liste_tbl") (mapcar 'add_list tbl) (end_list) (affiche pos) (action_tile "liste_tbl" "(setq pos $value)(affiche pos)") (action_tile "liste_fields" "(setq chx $value)") (action_tile "accept" "(done_dialog 1)") (action_tile "cancel" "(done_dialog 0)") (and (eq (start_dialog) 1) (princ (strcat "\nLe choix est " (nth (atoi chx) (nth (atoi pos) lst)))) ) (unload_dialog dcl) ) ) (princ) ) Le second qui gère une liste (defun c:ex2(/ affiche chx dcl lst pos tbl) (defun affiche(pos) (start_list "liste_fields") (mapcar 'add_list (cdr (nth (atoi pos) lst))) (end_list) (setq chx "0") ) (and (setq dcl (findfile "gestionnaire_od.dcl")) (setq dcl (load_dialog dcl)) (new_dialog "gestionnaire_od" dcl) (progn (setq lst '(("Choix 1" "Choix 1.1" "Choix 1.2" "Choix 1.3" "Choix 1.4") ("Choix 2" "Choix 2.1" "Choix 2.2" "Choix 2.3" "Choix 2.4") ("Choix 3" "Choix 3.1" "Choix 3.2" "Choix 3.3" "Choix 3.4") ("Choix 4" "Choix 4.1" "Choix 4.2" "Choix 4.3" "Choix 4.4") ("Choix 5" "Choix 5.1" "Choix 5.2" "Choix 5.3" "Choix 5.4") ) ) (setq pos "0") (start_list "liste_tbl") (mapcar '(lambda(x) (add_list (car x))) lst) (end_list) (affiche pos) (action_tile "liste_tbl" "(setq pos $value)(affiche pos)") (action_tile "liste_fields" "(setq chx $value)") (action_tile "accept" "(done_dialog 1)") (action_tile "cancel" "(done_dialog 0)") (and (eq (start_dialog) 1) (princ (strcat "\nLe choix est " (nth (1+ (atoi chx)) (nth (atoi pos) lst)))) ) (unload_dialog dcl) ) ) (princ) ) Le résultat est le même avec le deux exemples. Seul la gestion des listes diffère @+
  23. Salut Je viens de mettre à jour mon blog à propos de Rins Tu trouveras un lisp de (gile) qui fonctionne parfaitement @+
  24. Salut Tout dépend comment tu constitues tes listes et de la rapidité de traitement souhaitée pour afficher les listes Par exemple, avec MAT, je sélectionne d'abord le bloc et ensuite je crée une liste des attributs du bloc sélectionné. Si je faisais une liste de tous les blocs avec tous les attributs, le traitement risque de prendre un certain temps. Un autre exemple, tu peux faire une liste dans ce style (setq liste '(("choix1" "a" "b" "c" "d") ("choix2" "e" "f" "g") ("choix23" "gg" "toto"))) Un (mapcar 'car liste) pour afficher la première liste Un (action_tile "Ma_liste_1" "(setq position_liste_1_dcl $value)") pour avoir la position sélectionnée dans le choix de la première liste Un (cdr (nth (atoi position_liste_1_dcl) liste)) pour trouver la seconde liste et ensuite l'afficher ps : tu peux aussi utiliser par exemple un (cdr (assoc "choix2" liste)) @+
×
×
  • 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é