-
Compteur de contenus
6 374 -
Inscription
-
Dernière visite
-
Jours gagnés
30
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par Patrick_35
-
Salut Tu as une réponse en lisp qu'il suffit d'adapter à tes besoins @+
-
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 @+
-
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 @+
-
creation de texte a partir d\'insertion de bloc
Patrick_35 a répondu à un(e) sujet de nonodao dans AutoCAD 2000 à 2002
(if (findfile "mon_fichier.txt") (alert "Fichier Existant") (alert "Fichier Inconnu") ) @+ -
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 @+
-
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. @+
-
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)") @+
-
Salut Le sujet a déjà été abordé ici @+
-
creation de texte a partir d\'insertion de bloc
Patrick_35 a répondu à un(e) sujet de nonodao dans AutoCAD 2000 à 2002
Salut Oui, c’est possible par le biais des réacteurs, mais pour cela, il va falloir se mettre à la programmation en vlisp @+ -
Bonjour à vous tous Je viens de faire ce lisp qui pourrait vous intéresser @+
-
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 :( @+
-
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 @+
-
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) )
-
Et le texte que tu a as sélectionner à l'écran donne quoi ? @+
-
Tu peux me faire un (cdr (assoc 1 (entget (car (entsel))))) et son texte en clair d'un texte qui fait planter @+
-
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) )
-
Salut Regarde la commande _ddunits @+
-
fmult avec boite de dialogue (suite)
Patrick_35 a répondu à un(e) sujet de zebulon_ dans Pour aller plus loin en LISP
Merci à vous deux @+ -
commande imprimer avec test
Patrick_35 a répondu à un(e) sujet de zebulon_ dans Pour aller plus loin en LISP
Salut Pour verrouiller une fenêtre (vl-load-com) (vla-put-displaylocked (vlax-ename->vla-object (car (entsel))) :vlax-true) @+ -
fmult avec boite de dialogue (suite)
Patrick_35 a répondu à un(e) sujet de zebulon_ dans Pour aller plus loin en LISP
Oui, mais ça ne me dit pas à quoi elle correspond comme par exemple le dwgprefix @+ -
Salut, Et en faisant plus simplement la commande _menu plutôt que _menuload @+
-
fmult avec boite de dialogue (suite)
Patrick_35 a répondu à un(e) sujet de zebulon_ dans Pour aller plus loin en LISP
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. @+ -
fmult avec boite de dialogue (suite)
Patrick_35 a répondu à un(e) sujet de zebulon_ dans Pour aller plus loin en LISP
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 @+ -
quantitatif, devis, métrés, surfaces, volumes, périmètres
Patrick_35 a répondu à un(e) sujet de rebcao dans Devis, métré, estimation, quantitatif
Salut Pour compter des blocs, avec la commande _filter ou _qselect Un sujet qui devrait t'intéresser. @+ -
Ca va venir, ça va venir ;) @+
