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 Tu as une réponse en lisp qu'il suffit d'adapter à tes besoins @+
  2. Salut Peut-être qu'en mélangeant le vlisp et le vba, ce doit être réalisable L'exemple en lisp/vba intervient à la fin d'une commande Par exemple, je définis un réacteur en vlisp (vlr-command-reactor nil '((:vlr-commandEnded . ma_routine) qui fait appel à ma fonction qui intervient une fois qu'une ligne est créée defun ma_routine(Rea Cde) (if (eq Cde "LINE") (je fais appel à ma fonction vba) ) ) Ou encore, ce que j'ai trouvé dans l'aide vba, mais ce n'est plus de mon ressort Event EndCommand(CommandName As String) Membre de AutoCAD.AcadDocument Se déroule immédiatement après la fin d'une commande Private Sub AcadDocument_EndCommand(ByVal CommandName As String) ' This example intercepts a drawing EndCommand event. ' ' This event is triggered when a drawing receives ' any command compatible with this event. ' ' To trigger this example event: Issue any command to an open drawing from ' either the command line, VBA, the AutoCAD menus, the AutoCAD toolbars, or LISP. ' When the command is finished this event will trigger. ' Use the "CommandName" variable to determine which command just finished MsgBox "A drawing has just finished a " & CommandName & " command." End Sub @+
  3. Patrick_35

    Relooking DCL

    Salut Un (dimx_tile "img") pour récupérer la longueur du bouton, (dimy_tile "img") pour sa hauteur et donc pour faire rentrer le tout, un (slide_image 0 0 (dimx_tile "img") (dimy_tile "img") "mon_image.sld") et à ma connaissance, il n'est pas possible de faire afficher autre chose que des slides @+
  4. (if (findfile "mon_fichier.txt") (alert "Fichier Existant") (alert "Fichier Inconnu") ) @+
  5. Patrick_35

    Remplacement de blocs

    Merci pour vos compliments Ludwig a tout compris. On peut effectivement sélectionner plusieurs type de blocs et les remplacer par un seul type. Son explication est excellente @+
  6. Patrick_35

    Remplacement de blocs

    Salut Le plus simple est d'installer le tout dans le répertoire d'installation d'autocad, ou encore dans son propre répertoire mais en l'ajoutant dans les chemins de recherches. @+
  7. Patrick_35

    Relooking DCL

    Salut Dans le dcl : image_button {key = "img";} Dans le lisp (start_image "img")(slide_image "mon_image.sld")(end_image); pour afficher l'image par exemple (action_tile "img" "(ma_routine)") @+
  8. Salut Le sujet a déjà été abordé ici @+
  9. Salut Oui, c’est possible par le biais des réacteurs, mais pour cela, il va falloir se mettre à la programmation en vlisp @+
  10. Patrick_35

    Remplacement de blocs

    Bonjour à vous tous Je viens de faire ce lisp qui pourrait vous intéresser @+
  11. Salut Un truc que je faisais quand j'utilisais les wipeouts Je fais une copie de ce qui doit être au-dessus de mon wipeout en @0,0 (le @0,0 peut aussi se décliner en @ tout court) puis un effacer précédent et le tour est joué Tu as bien la commande _ordretrace, mais je n'ai jamais réussi à obtenir ce que voulais ps : Le principe du wipeout est génial, mais en impression, ça reste une grosse galère :( @+
  12. Salut Dans les exemples qui te sont donnés, tu peux le faire en automatique. Dès que tu lances Autocad, si ton menu n'est pas présent, le chargement sera effectué par exemple @+
  13. Patrick_35

    texte multiligne

    Le souci est de faire le trie de ce qui apparait à l'écran et de la réponse retourné par le (cdr (assoc 1 (entget (car (entsel))))) Par exemple, dans \\A1;{\\Ftxt.shx|c0;\\C94;B4-05 et B4-06\\PZone d\\U+00E9chets et\\Plinge sale urgence\\P17,35 m2}", tu as \\C94; qui correspond à une couleur J'ai une idée quand même, j'ai modifié le lisp @+ (defun c:modif_txt(/ ss cmpt str deb fin) (setq cmpt 0) (if (setq ss (ssget "_X" '((0 . "MTEXT")))) (while (setq ent (ssname ss cmpt)) (setq ent (entget ent) str (cdr (assoc 1 ent))) (while (setq deb (vl-string-position 92 str) fin (vl-string-position 59 str)) (setq str (vl-string-subst "" (substr str (1+ deb) (- (1+ fin) deb)) str)) ) (setq str (vl-string-subst "" "{" str) str (vl-string-subst "" "}" str) ent (subst (cons 1 str) (assoc 1 ent) ent)) (entmod ent) (entupd (cdr (assoc -1 ent))) (setq cmpt (1+ cmpt)) ) ) (princ) )
  14. Patrick_35

    texte multiligne

    Et le texte que tu a as sélectionner à l'écran donne quoi ? @+
  15. Patrick_35

    texte multiligne

    Tu peux me faire un (cdr (assoc 1 (entget (car (entsel))))) et son texte en clair d'un texte qui fait planter @+
  16. Patrick_35

    texte multiligne

    Salut en reprenant ce qu'a fait (gile) @+ (defun c:modif_txt(/ ss cmpt str deb fin) (setq cmpt 0) (if (setq ss (ssget "_X" '((0 . "MTEXT")))) (while (setq ent (ssname ss cmpt)) (setq ent (entget ent) str (cdr (assoc 1 ent))) (while (setq deb (vl-string-position 92 str)) (setq fin (vl-string-position 59 str) str (vl-string-subst "" (substr str (1+ deb) (- (1+ fin) deb)) str)) ) (setq str (vl-string-subst "" "{" str) str (vl-string-subst "" "}" str) ent (subst (cons 1 str) (assoc 1 ent) ent)) (entmod ent) (entupd (cdr (assoc -1 ent))) (setq cmpt (1+ cmpt)) ) ) (princ) )
  17. Patrick_35

    Distance paresseuse !?

    Salut Regarde la commande _ddunits @+
  18. Merci à vous deux @+
  19. Salut Pour verrouiller une fenêtre (vl-load-com) (vla-put-displaylocked (vlax-ename->vla-object (car (entsel))) :vlax-true) @+
  20. Oui, mais ça ne me dit pas à quoi elle correspond comme par exemple le dwgprefix @+
  21. Salut, Et en faisant plus simplement la commande _menu plutôt que _menuload @+
  22. J'ai créé un bat qui me vide mon répertoire temp à chaque lancement de ma bécane. Une autre solution est d'utiliser le répertoire d'installation d'autocad Elle correspond à quoi cette variable ? ps : le acet-ui-pickdir vient des express tools, il y a la même chose avec (acet-ui-message "STOP" "BREAK" 16) par exemple. @+
  23. Dans ce cas, il est vrai qu'un fichier est bien plus pratique Essaye ceci (acet-ui-pickdir "" (if (eq (vl-string-elt (getvar "dwgprefix") (1- (strlen (getvar "dwgprefix")))) 92)(substr (getvar "dwgprefix") 1 (1- (strlen (getvar "dwgprefix"))))(getvar "dwgprefix"))) Sinon, il reste la variable dwgprefix et tempprefix est connu sous A2000 @+
  24. Salut Pour compter des blocs, avec la commande _filter ou _qselect Un sujet qui devrait t'intéresser. @+
  25. Ca va venir, ça va venir ;) @+
×
×
  • 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é