-
Compteur de contenus
4 029 -
Inscription
-
Dernière visite
-
Jours gagnés
21
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par DenisHen
-
[Résolu] Demande de précision sur AND et OR
DenisHen a répondu à un(e) sujet de DenisHen dans Débuter en LISP
Effectivement, vous avez raison tout les deux... Je ne sais pas pourquoi je suis passé à coté du 16.4 de "Introduction à AutoLISP", désolé... Merci encore... -
[Résolu] Demande de précision sur AND et OR
DenisHen a répondu à un(e) sujet de DenisHen dans Débuter en LISP
Ouais mais c'est encore en anglais... Vais faire un coup de Translate mais le résultat est rarement probant... Mais j'en saisi un peu le sens... Merci encore... -
[Résolu] Demande de précision sur AND et OR
DenisHen a répondu à un(e) sujet de DenisHen dans Débuter en LISP
Merci à tous pour ces précisions, mais le "-4", ça vient d'où ? Encore merci à vous... -
[Résolu] Lisp modifications d'attributs et hachures
DenisHen a répondu à un(e) sujet de Glead dans Débuter en LISP
Tu as raison dans le sens où si tu comprends ce code, tu pourras le modifier. ;) En plus, pour une fois que je peux rendre un peu à CadXP tous ce qu'il m'a donné ! ! -
[Résolu] Lisp modifications d'attributs et hachures
DenisHen a répondu à un(e) sujet de Glead dans Débuter en LISP
Si ça te convient, c'est cool... ;) Mais l'autre solution (proposée à l'origine par Tramber) que je t'ai modifié au poste n°22 était vachement plus propre et t'évitais de parcourir des dizaines de lignes (plus de 130)... Si tu dois changer UN seul truc, il faudra le faire autant de fois que tu as de sous-routines... C'est dommage. Surtout que c'est presque toujours le même code... Denis... -
Si, je pense que c'est "encore" moi... :( Mais alors là, le coup du -4... J'ai du boulo pour digérer ce truc... :blink: Merci encore Tramber pour ton aide... Denis...
-
[Résolu] Lisp modifications d'attributs et hachures
DenisHen a répondu à un(e) sujet de Glead dans Débuter en LISP
Voici pour l'inclinaison des textes, ça fonctionne "à peu près" chez moi. J'ai quelques problème avec le code DXF 51 qui devrait être à 0 si le texte n'est pas incliné... ;;; **************************************************** ;;; Balaye les textes 'droits' et les incline (DenisH) ;;; **************************************************** (defun c:TxtDroitVers80 (/ Select ent n elst) (if (setq Select (ssget "_X" '((0 . "TEXT")))) (progn (setq n 0) (while (setq ent (ssname Select n)) (setq elst (entget ent)) (if (/= (assoc 51 elst) 0) (progn (setq Incl (* pi (/ 20 200.0))); 20 = angle d'inclinaison en grades (setq elst (subst (cons 51 Incl) (assoc 51 elst) elst)) (entmod elst) ) ;_ Fin de progn ) ;_ Fin de if (setq n (1+ n)) ) ;_ Fin de while ) ;_ Fin de progn (princ ent) ) ;_ Fin de if (princ) ) ;_ Fin de defun Amuse-toi bien... Et tiens moi au courant... Denis... -
Merci pour cette aide didier. Denis...
-
[Résolu] Demande de précision sur AND et OR
DenisHen a répondu à un(e) sujet de DenisHen dans Débuter en LISP
Tout simplement ? Je pensais à un truc plus tordu... Merci nosset pour ton aide... EDIT : De toutes façons, je vais devoir faire deux ssget puisque le code DXF 51 n'existe pas dans les MTEXT... Je viens de le voir... EDIT 2 : On n'a rien dit sur les AND et OR du coup... ;) Merci encore... -
[Résolu] Comment changer le contenu d'un texte
DenisHen a répondu à un(e) sujet de DenisHen dans Débuter en LISP
Effectivement, j'ai commencé au début des années 90 sur AutoCAD (version 9 je crois). Et c'est un collègue qui faisait les LISP... Il avait même fait un programme en TurboBasic pour créer des DXF issus de nos levés topo ! ! ! Tout ça dans l'éditeur de texte d'MS-DOS... Je me souviens encore du nombre de clopes qu'il fumait quand ça ne voulait pas ! ! C'était mes premiers pas dans la programmation... Amicalement aussi... -
Bonjour à tous, Voilà, je tente de développer une routine qui sélectionne tous les textes avec une inclinaison... Le code DXF de l'inclinaison d'un texte est 51 et il est à 0 si le texte est droit. J'ai fais ça, mais bien sur, ça ne fonctionne pas : (setq Select (ssget "_X" '((0 . "TEXT") (cons 51 (/= 0))))) AutoCAD me répond : Si quelqu'un a une astuce ou un conseil, je suis preneur... Denis...
-
[Résolu] Lisp modifications d'attributs et hachures
DenisHen a répondu à un(e) sujet de Glead dans Débuter en LISP
Je pense que ça fera l'affaire, mais ce n'est juste qu'une piste... (defun c:Hach500() (h1) (h2) (h3) .... ) Du coup, tu pourras enlever les "c:" devant tes h1, h2, h3 pour obtenir : (defun h1 () .... ) -
Bonjour à tous... Voilà, j'ai un petit souci avec les AND et les OR... Je n'ai quasiment rien trouvé de clair la dessus, un petit exemple : Je cherche a sélectionné tous les TEXT OU les MTEXT . Pour sélectionner tous les textes, c'est : ;;Sélection des textes (setq Select (ssget "_X" '((0 . "TEXT")))) ;;Sélection des textes multilignes (setq Select (ssget "_X" '((0 . "MTEXT")))) Mais pour sélectionner les deux, je pèche... Si quelqu'un pouvait éclaircir ce point, je pense que ça en aiderait plus d'un... Merci d'avance... Denis...
-
[Résolu] Lisp modifications d'attributs et hachures
DenisHen a répondu à un(e) sujet de Glead dans Débuter en LISP
D'après ce que je sais, AutoCAD travail toujours en radian... Ma routine fonctionne, et tu peux rajouter le calque dans la sélection... -
[Résolu] Comment changer le contenu d'un texte
DenisHen a répondu à un(e) sujet de DenisHen dans Débuter en LISP
Mille mercis didier pour ton aide... Mais je ne m'explique pas pourquoi le (if (/= (vl-string-search " " Texte) nil) ne fonctionne pas... EDIT : Pfff, en plus, je t'ai dérangé pour rien, le deuxième progn était fermé dès son ouverture... Mea Maxima Coulpa... C'est vrai, et sans CadXP, je ne connaitrais absolument rien du Lisp... C'est grace à vous tous que j'arrive à faire des petites macros qui me font gagner des heures et des heures de boulo ! ! ! Merci encore pour ton aide... Et à CadXP... Denis... -
Merci, c'est plus clair maintenant... J'ai toujours le même problème, je ne suis "jamais" sûr à 100% de ce que j'utilise... Mais ça commence à venir, grâce à tes explications (et celles des autres "pro" du site). Le problème, c'est que je n'ai jamais le temps de bien développer mes routines... Pour la direction, quand on ne produit pas, on ne fait rien... Merci encore de ton aide (gile)...
-
[Résolu] Lisp modifications d'attributs et hachures
DenisHen a répondu à un(e) sujet de Glead dans Débuter en LISP
Bon, j'ai écris ça (le midi, j'ai parfois du temps libre) pour rendre TOUS les textes "inclinés" en textes "droits" : ;;; ******************************************************* ;;; Balaye les textes et supprime leur inclinaison (DenisH) ;;; ******************************************************* (defun c:TxtInclinVersDroit (/ Select ent n elst) (if (setq Select (ssget "_X" '((0 . "TEXT"))) ;_ Fin de ssget ) ;_ Fin de setq (progn (princ Select) (setq n 0) (while (setq ent (ssname Select n)) (setq elst (entget ent) n (1+ n) ) ;_ Fin de setq (setq elst (subst (cons 51 0) (assoc 51 elst) elst)) (entmod elst) ) ;_ Fin de while ) ;_ Fin de progn (princ ent) ) ;_ Fin de if ) ;_ Fin de defun Mais il faudrait ne sélectionner QUE les textes inclinés (code DXF 51) et ça, je ne sais pas faire. Denis... -
[Résolu] Comment changer le contenu d'un texte
DenisHen a répondu à un(e) sujet de DenisHen dans Débuter en LISP
Bien entendu, il y a un défaut... Si le texte sélectionné est un texte "unique" (un seul mot) la chaine renvoie "Nil MotUnique" Comment faire pour savoir s'il y a un espace dans un "string" ? Je n'ai rien trouvé dans l'excellent "Introduction à AutoLISP" de (gile)... J'ai essayé ça, mais ça ne fonctionne pas : (defun c:PrenomNOM () (setq Select (entsel "\nChoisissez votre texte :")) (setq Texte (vl-string-trim " " (cdr (assoc 1 (entget (car Select)))))) (if (/= (vl-string-search " " Texte) nil) (progn (setq Texte (str2lst Texte " ")) (setq DebTxt (Nompropre (lst2str (reverse (cdr (reverse Texte))) " ")) ) ;_ Fin de setq (setq FinTxt (strcase (last Texte))) (setq NouvTxt (strcat DebTxt " " FinTxt)) (setq elst (entget (car Select))) (setq elst (subst (cons 1 NouvTxt) (assoc 1 elst) elst)) (entmod elst) ) ;_ Fin de progn (progn) (setq NouvTxt (Nompropre Texte)) (setq elst (entget (car Select))) (setq elst (subst (cons 1 NouvTxt) (assoc 1 elst) elst)) (entmod elst) ) ;_ Fin de if (princ) ) ;_ Fin de defun Denis... -
[Résolu] Comment changer le contenu d'un texte
DenisHen a répondu à un(e) sujet de DenisHen dans Débuter en LISP
Je ne l'avais pas oubliée, je ne la connaissais même pas... :( Maintenant que je les "connais" (subst et (entmod ouvrent beaucoup de possibilités... Il me vient pas mal d'idées... Mais j'ai encore beaucoup de mal avec les entsel, entget... Merci encore pour tout... Denis... -
[Résolu] Comment changer le contenu d'un texte
DenisHen a répondu à un(e) sujet de DenisHen dans Débuter en LISP
Merci à vous, j'ai fini par comprendre, enfin je pense... Maintenant, j'ai donc ça : ;;;**************************************** ;;; Transforme un text en casse Prénon NOM ;;;**************************************** ;;; Utilise str2lst, lst2str et NomPropre de (gile) (defun c:PrenomNOM () (setq Select (entsel "\nChoisissez votre texte :")) (setq Texte (cdr (assoc 1 (entget (car Select))))) (setq Texte (str2lst Texte " ")) (setq DebTxt (Nompropre (lst2str (reverse (cdr (reverse Texte))) " "))) ;_ Fin de setq (setq FinTxt (strcase (last Texte))) (setq NouvTxt (strcat DebTxt " " FinTxt)) ;(princ Texte) (setq elst (entget (car Select))) (setq elst (subst (cons 1 NouvTxt) (assoc 1 elst) elst)) (entmod elst) (princ) ) ;_ Fin de defun C'est mon premier code "complet" ! ! ! Merci encore à vous, Denis... -
[Résolu] Comment changer le contenu d'un texte
DenisHen a répondu à un(e) sujet de DenisHen dans Débuter en LISP
Merci à vous de m'aider, je vais voir si j'ai bien compris... Denis... -
Bonjour à tous. Voilà, je cherche à faire une routine qui change le texte contenu dans une entité "TEXT" mais je ne sais absolument pas par où commencer... Si quelqu'un a une astuce ou un conseil, je suis preneur... Denis...
-
Pfff ! ! ! ! Je viens de trouver ! ! (setq elst (entget (car Select))) Forcément, mon elst n'était pas complet ! !
-
Effectivement, c'était bien les doubles guillemets ) la fin de (command qui étaient de trop... Merci... Amicalement, Denis...
-
Merci (gile) de t'ajouter à la liste... Oui, Patrick_35 m'a bien conseillé le mode pas à pas, mais je ne sais pas m'en servir avec Visual LISP (je l'utilise pourtant systématiquement en VBA). Alors j'ai palié avec la méthode à papa, les drapeaux... :huh: Voici mon bout de code : (princ "\nDrapeau 03") (setq Coord (cdr (assoc 10 elst))) (princ "\nDrapeau 04") Voici mon message d'erreur : Et voici ce que contient elst dans la Console : Ce que je ne comprend pas, c'est que ça fonctionne dans une autre routine... Mais avec des blocs... Merci encore pour votre aide messieurs...
