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

    Boite DCL et LISP

    Vu que tu mets un get_tile pour lire la valeur, si jamais tu lances ta boite de dialogue et que tu confirmes par ok que la valeur va bien, il faut bien au départ mettre un set_tile pour retrouver tes petits @+
  2. Salut Je confirme ;) heu, je dirais le xor @+
  3. De rien mon padawan, avec tous les lisps que l'on peut trouver, on est loin de connaitre toutes les options de chacuns. (je sens que mes chevilles commencent à gonfler) @+
  4. Patrick_35

    Boite DCL et LISP

    Salut alala: A la lecture de ton exemple, je vais juste apporter deux ou trois précisions. Pour quitter la boite de dialogue, tu indiques done_dialog 0 ou 1 et ensuite, tu récupères dans une variable (status) la valeur renvoyé par la boite de dialogue, tu peux donc éviter l'utilisation de la variable sortie. Tu peux utiliser cette valeur pour savoir sur quel bouton tu as cliqué pour sortir de ta boite de dialogue (status = 0 pour done_dialog 0, 1 pour done_dialog 1, etc..) Ensuite, unload_dialog et là pour vider de la mémoire, le chargement de la boite de dialogue. Ne pas utiliser unload_dialog systématiquement car on peut avoir besoin de l'utiliser par la suite (cas d'une sélection à l'écran) Pour pousser plus loin, tu peux aussi éviter d'utiliser la variable status en utilisant un if. En reprennant ton exemple (setq dcl_id (load_dialog temp)) ;on charger le DCL (if (new_dialog "Mon_dcl" dcl_id) (progn (set_tile "..." "...") (action_tile "accept" "(done_dialog 1)") ;clic sur "OK" (action_tile "cancel" "(done_dialog 0) ;clic sur "Cancel" (if (= (start_dialog) 0) (progn (prompt "\n...ABANDON" ) (quit) (princ) ) (progn (mes_actions) ) ) (unload_dialog dcl_id) ) ) @+
  5. L'option existe déjà. Tu choisis écrire dans un fichier et soit tu ouvres le fichier txt directement depuis excel ou tu changes l'extension txt en xls. Dans Excel, le trie est par colonne. @+
  6. Patrick_35

    Boite DCL et LISP

    Salut Regarde ce site, tu devrais y trouver ton bonheur. @+
  7. Salut Je vais y aller aussi avec mon petit lisp A la différence des autres, il permet le décompte avec la distinction ou pas des attributs. Par exemple, on a sur nos plans des blocs luminaires qui ont le même nom, mais qui sont distingués par un attribut pour dire que c'est le type 1, type 2, etc... C'est galère pour les différencier, d'où ce lisp. @+
  8. Patrick_35

    Raccourcis ou pas

    Merci à vous tous pour vos tests. Ce matin, à jeun et sans café dans le calva. Même l'ordi n'a pas eu le droit à sa dose de café, le clavier me remercie encore. Je constate que cette manip fonctionne mais comme je suis avec une version Electrical, ceci explique peut-être cela. Pour la mise à jour du SP1 Electrical, il a fallu que je télécharge le correctif de la mise à jour. Amusant le correctif du correctif. @+
  9. Patrick_35

    organisation des bloc & xref

    Salut Un calque Xrefs pour les xrefs pour pouvoir verrouiller ce calque et changer la couleur au besoin @+
  10. Patrick_35

    Raccourcis ou pas

    Salut Lecrabe Que du chouchenne, promis, celui pour touriste ;) Et puis pour certains mets, rien ne vaut un bon petit muscadet B) Fais le test sur une 2013 et tu verras. J'ai posé la question à un collègue qui a aussi une 2013 et le constat est le même. @+
  11. Bonjour J'ai une chose assez surprenante avec Autocad 2013 J'ajoute un raccourci dans le fichier PGP via aliasedit des express tools ou avec Outils --> Personnaliser --> Paramètres de programme (PGP); l'acronyme GC pour la commande en français Gelcalque. Un coup de reinit avec le PGP et quelques messages d'erreurs. :huh: Je tape mon raccourci, rien. :huh: Bon, je relance Autocad, retape mon raccourci et toujours rien. :angry: Bon, je fais Format --> Outils de Calque --> Gel de calque, et la commande fonctionne. Ok, je refais mon raccourci GC, et miracle, cela fonctionne aussi. :blink: J'ai faits plusieurs essais en fermant/ouvrant Autocad, avec d'autres dessins et j'ai l'impression qu'il faut lancer une première fois la commande via les menus pour qu'ensuite, le raccourci fonctionne aussi bien sur le dessin courant que sur d'autres. Cerise sur le gâteau, après avoir ouvert Autocad, si je tape directement au clavier Gelcalque, eh ben, ça ne fonctionne pas. Il faut absolument passer par les menus pour que cette commande soir reconnue. :mellow: @+
  12. Salut (gile) A lecture de ton lisp, ce message indique qu'objectdbx, sur ta version actuelle, ne fonctionne pas forcement sur une A2013. @+
  13. Salut C'est presque ça Là, tu travailles sur la feuille active, pas forcément sur "Feuil1" Sinon, si tout fonctionne correctement, sauf évolution majeur de la part de Microsoft, ton lisp devrait être passe-partout @+
  14. L'importation d'une bibliothèque externe type Excel permet d'utiliser les fonctions Excel directement depuis Autocad en y ajoutant un préfix. Par exemple (xlp-getrow Mon_objet) En utilisant ActiveX, tu fais un peu la même chose, écrite un peu différemment. Par exemple (vlax-get Mon_objet 'getrow) Son avantage est d'utiliser n'importe quel version/plateforme. Là, tel qu'est écrit le lisp (à moins que ce soit ailleurs), l'utilisation de la bibliothèque ne sert à rien. @+
  15. Salut Pour travailler quelque soit la version d'excel, tu peux utiliser directement (vlax-get-or-create-object "Excel.Application") Ou utiliser des outils mis à disposition (fonctionne aussi avec open office) @+
  16. Salut (gile) Ca ne fonctionne pas sur une A2013. @+
  17. Surprennant. Le lisp ne fait que "conserver" en mémoire l'angle, la position et la valeur de l'attribut, avant de faire la synchro puis de remettre l'attribut comme il était. Tu peux donner un exemple ? Oui, pourquoi pas. @+
  18. Salut Si le bloc existe, Autocad pose la question si tu souhaites le redéfinir. A toi de faire la commande en conséquence. @+
  19. Merci (gile) Voila un message qui va être dans mes favoris :D @+
  20. Salut Ca fonctionne correctement sur une version pleine 2013 Peut-être en ajoutant \\P qui symbolise le passage à la ligne @+
  21. Mince, je suis grillé :ph34r: :(rires forts): Voila ce que c'est de se servir de lisps qui sont quand même bien utile B) Tu as des fonctions en vlisp (vl-registry-*) qui le permettent ou encore d'utiliser l'activex WScript.Shell qui permet surement plus de choses, mais que je n'ai jamais approfondis. @+
  22. Oui et c'est très bien. Ce que je voulais dire, c'est par exemple dans trois mois que j'utilise ta fonction. Je charge la dll et pas de message; Grumff, quel est déjà le nom de la fonction. Ah oui, c'est sur Cadxp que je l'ai trouvé. Après une recherche incertaine sur cadxp ou google, je trouve enfin le nom de la fonction. Avoues que tu as plus simple en affichant un petit message après le chargement de la dll Oui, et c'est très bien. Mais tu as aussi les express qui listent toutes les variables. Comme tu récupères les variables dans les registres, c'était juste pour un outil plus complet. Il pourrait même être payant car je pense qu'il va en intéresser plus d'un, surtout avec une comparaison de variables. @+
  23. Salut (gile) Sympa ta fonction :D Juste une petite remarque, si on n'a pas le message (cadxp) associé à dll, on ne connait pas le nom de la commande. Ce serait bien d'avoir un message lors du chargement de la DLL qui indique quoi faire. On pourrai aussi aller plus loin, comme aussi tracer toutes les variables d'autocad (un peu comme le lisp acadinfo des express) et ainsi pouvoir faire un comparatif de variables entre plusieurs dessins, voire d'ordinateurs. @+
  24. Salut Si tu souhaites interroger la variable sur la ligne de commande, mets un point d'exclamation devant (ex !ma_variable) @+
  25. Merci à vous tous pour vos réponses. Je n'ai rien trouvé; vous m'avez confirmé qu'apparemment il n'y en a pas et Phil m'a indiqué où chercher. Cela m'a donné une idée et du coup, trois petit lisps. Pour faire Afficher ou pas le style de tracé sur l'onglet (layout) actif 0 = Inactif et 1 le contraire ;) (defun c:ast(/ chx def lay) (vl-load-com) (setq lay (vla-get-activelayout (vla-get-activedocument (vlax-get-acad-object))) def (if (eq (vla-get-showplotstyles lay) :vlax-true) "1" "0") ) (initget "0 1") (setq chx (getkword (strcat "\nValeur de la variable AST [0/1] <" def "> : "))) (or (not chx) (eq chx rep) (if (eq chx "0") (vla-put-showplotstyles lay :vlax-false) (vla-put-showplotstyles lay :vlax-true) ) ) ) Pour afficher sur tous les onglets (layout) les styles de tracé (defun c:aston(/ lay) (vlax-for lay (vla-get-layouts (vla-get-activedocument (vlax-get-acad-object))) (vla-put-showplotstyles lay :vlax-true) ) (princ) ) Pour ne plus afficher sur tous les onglets (layout) les styles de tracé (defun c:astoff(/ lay) (vlax-for lay (vla-get-layouts (vla-get-activedocument (vlax-get-acad-object))) (vla-put-showplotstyles lay :vlax-false) ) (princ) ) ps : ast = afficher style tracé @+
×
×
  • 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é