-
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 Peut-être avec un de mes premiers lisp avec des réacteurs ? @+ (defun Attributs_ini(Rea Cde) (setq dernier_ent (entlast)) ) (defun Attributs_xyz(Rea Cde / bl js n xyz) (cond ((or (eq (car Cde) "MOVE") (eq (car Cde) "STRETCH")) (setq js (ssget "_p")) ) ((or (eq (car Cde) "GRIP_MOVE") (eq (car Cde) "GRIP_STRETCH")) (setq js (cadr (ssgetfirst))) ) ((eq (car Cde) "INSERT") (setq js (ssadd)) (ssadd (entlast) js) ) ((eq (car Cde) "COPY") (setq js (ssadd) n (entnext dernier_ent)) (while n (ssadd n js) (setq n (entnext n)) ) ) ((eq (car Cde) "UCS") (setq js (ssget "x" (list (cons 0 "INSERT") (cons 2 Nom_bloc)))) ) ) (if js (progn (setq n 0) (while (ssname js n) (setq bl (entget (ssname js n))) (if (and (eq (cdr (assoc 0 bl)) "INSERT") (eq (strcase (cdr (assoc 2 bl))) (strcase Nom_bloc))) (if (cdr (assoc 66 bl)) (progn (setq xyz (trans (cdr (assoc 10 bl)) (cdr (assoc -1 bl)) 1)) (while (not (eq (cdr (assoc 0 bl)) "SEQEND")) (if (eq (cdr (assoc 0 bl)) "ATTRIB") (cond ((eq (strcase (cdr (assoc 2 bl))) (strcase Eti_X)) (setq bl (subst (cons 1 (rtos (car xyz))) (assoc 1 bl) bl)) (entmod bl) (entupd (cdr (assoc -1 bl))) ) ((eq (strcase (cdr (assoc 2 bl))) (strcase Eti_Y)) (setq bl (subst (cons 1 (rtos (cadr xyz))) (assoc 1 bl) bl)) (entmod bl) (entupd (cdr (assoc -1 bl))) ) ((eq (strcase (cdr (assoc 2 bl))) (strcase Eti_Z)) (setq bl (subst (cons 1 (rtos (caddr xyz))) (assoc 1 bl) bl)) (entmod bl) (entupd (cdr (assoc -1 bl))) ) ) ) (setq bl (entget (entnext (cdr (assoc -1 bl))))) ) ) ) ) (setq n (1+ n)) ) ) ) (princ) ) (defun c:spt(/ i j n) (if (setq i (vlr-reactors :vlr-command-reactor)) (progn (setq n 1 i (nth n (car i))) (while i (setq j nil) (if (or (eq (cdr (car (vlr-reactions i))) 'ATTRIBUTS_XYZ) (eq (cdr (car (vlr-reactions i))) 'ATTRIBUTS_INI)) (setq j i) ) (if j (vlr-remove j) (setq n (1+ n)) ) (if (setq i (vlr-reactors :vlr-Command-Reactor)) (setq i (nth n (car i))) ) ) (if mrea_mpt (princ (strcat "\n\tDésactivation de la mise à jour XYZ du bloc " Nom_bloc ".")) ) (setq mrea_mpt nil) ) ) (princ) ) (defun c:mpt() (if (not mrea_mpt) (progn (c:spt) (vlr-command-reactor nil '((:vlr-commandwillstart . Attributs_ini))) (setq mrea_mpt (vlr-command-reactor nil '((:vlr-commandEnded . Attributs_xyz)))) (princ (strcat "\n\tActivation de de la mise à jour XYZ du bloc " Nom_bloc ".")) ) (princ (strcat "\n\tLa mise à jour XYZ du bloc " Nom_bloc " est déjà activée.")) ) (princ) ) (vl-load-com) (setq Nom_bloc "XY" Eti_X "X" Eti_Y "Y" Eti_Z "Z") (princ (strcat "\n\tPour activer la mise à jour XYZ du bloc " Nom_bloc ", lancez la commande MPT.\n\tPour revenir à la normale, faites la commande SPT.")) (princ)
-
Malgré tous le respect qu'il inspire grace à son talent, sa discrétion et sa gentillesse, la violence n'est pas une solution en soi. Il peut-être le plus grand joueur au monde, rien n'excuse son geste. J'ai toujours pensé que la violence est l'arme du pauvre d'esprit C'est regrettable de terminer sa carrière sur un carton rouge et je suis persuadé qu'il regrette déjà son geste et que ça reste un grand monsieur. @+
-
Salut Patrick 1) Ce n'est que pour ce bloc ou ça arrive avec d'autres ? 2) Ce n'est que pour un certain dessin ou ça arrive sur d'autres ? 3) As-tu relancé Autocad, voir redémarrer l'ordinateur voir si cela se reproduit ? 4) Le fichier est dans les chemins de recherches d'autocad afin qu'il l'insère selon ton exemple ? 5) La variable position est correcte pour le deuxième insertion ? @+
-
possibilité en Lisp ?
Patrick_35 a répondu à un(e) sujet de TitOoN dans Pour aller plus loin en LISP
Salut pour faire au plus simple, tu as la commande _eattext, sinon ce lisp ou celui-ci @+ -
Utilitaire de tracage differé
Patrick_35 a répondu à un(e) sujet de alf_ze_cat dans AutoCAD 2000 à 2002
SAS --> Son Altesse Sérinisisme :cool: @+ -
Et j'y pense maintenant Tu peux te servir de la fonction (acad-push-dmod) pour sauver l'etat de cette variable, faire tes fonctions et ensuite utiliser (acad-pop-dbmod) pour remettre la variable dbmod à son état initiale @+
-
Salut Avec une combinaison de dbmod et de findfile, tu devrais y arriver sans toucher à la variable expert @+
-
Et tant qu'on y est, des alt+tab et des ctrl+Tab pour basculer d'une appli vers une autre ou d'un dessin sur un autre @+
-
Moi aussi, et c'est l'occasion de s'y mettre ;) @+
-
Salut Tu as chargé correctement le lisp, c'est la boîte de dialogue que le lisp ne trouve paset c'est parce que tu as mis tes fichiers dans un répertoire qui ne fait pas partie des chemins de recherche d'autocad. Dans ce cas, deux solutions. 1) tu déplaces tes fichiers dans le répertoire d'installation d'autocad par exemple 2) tu vas dans Outils --> Options --> Fichiers --> Chemin de recherche de fichiers de support et tu y ajoutes le répertoire où tu as mis les lisps Tu as chargé correctement le lisp, c'est la boîte de dialogue que le lisp ne trouve pas @+
-
L'idée est intéressante et purquoi ne pas faire cette sélection le biais d'un double clic uniquement Et puis tant que j'y suis, pour un type de texte, style de ligne... Tramber, encore un petit effort ;) @+
-
Utilitaire de tracage differé
Patrick_35 a répondu à un(e) sujet de alf_ze_cat dans AutoCAD 2000 à 2002
Salut Il suffit de changer la variable CTAB @+ -
Ah, ce serait donc cela (command "_.style" "STANDARD BA" "romans" "" "0.6" "0" "N" "N" "N") @+
-
Salut Tu as ce lisp pour recopier la mise en page d'un onglet sur tous les autres et celui-ci pour changer l'imprimante des onglets (au choix) @+
-
Salut (command "_.style" "STANDARD BA" "romans" "" "1" "0.6" "O" "N" "N") @+
-
Salut Je vais voir ce que je peux faire @+
-
Oui, peut-être encore une différence :( D'après ce que je peux lire, il ne faut pas que la variable UCSNAME soit vide. Donc, il ne reste plus qu'à la changer @+
-
Je suis surpris, ça fonctionne très bien sur ma A2000 sans scu de nommé ! @+
-
(setq Scu_Original (vla-get-activeucs (vla-get-activedocument (vlax-get-acad-object)))) ; Sauvegarde scu (vla-put-activeucs (vla-get-activedocument (vlax-get-acad-object)) Scu_Original) ; Restauration scu (command "_.undo" "r") --> (command "_.undo" "_b") (command "_.undo" "m") --> (command "_.undo" "_m") C'est en essayant que l'on apprend ;) @+
-
Je ne saurai dire mieux que (gile) sauf que je préfére éviter d'utiliser un (command "_.u") qui est parfois une souce d'erreur en fonction de la variable undoctl. Un sujet à regarder @+
-
Salut Je viens de tester et ça a l'air de fonctionner correctement. Il y a juste un (command "_undo" "r") qui traine dans la gestion des erreurs qu'il faudrait remplacer par un (vla-endundomark (vla-get-activedocument (vlax-get-acad-object))) afin de boucler le undo mark et j'ai constaté dans ta routine de gestion d'erreurs que tu ne remettais pas tes variables à leurs états d'origine et que tu ne repointais pas non plus sur la gestion d'erreur d'origine @+
-
J'ai aussi commencé avec les commands avant de me lancer sur le vlisp Chaque chose en son temps @+
-
De ne pas avoir besoin de redéfinir la varibale cmdecho D'ailleurs, dès que l'on utilise un command, on redéfinit cette variable et puis ça fait plus "lispien" De plus, je trouve que moins on se sert de command, plus le lisp est portable d'une version à une autre d'autocad
-
affichage de la fenêtre CUI impossible
Patrick_35 a répondu à un(e) sujet de rebcao dans AutoCAD 2006
La seul soultion que je vois pour l'instant est registre, registre... @+ -
Merci Plus je l'utilise, plus je le trouve pratique et indispensable. :D Et ce n'est pas parceque j'en suis l'auteur. Je l'ai légèrement amèlioré et il est disponible en version 6.21, mais je continue de le tester et de voir s'il est possible de l'améliorer encore, voir d'y ajouter des options @+
