DenisHen Posté(e) le 25 janvier 2007 Posté(e) le 25 janvier 2007 Bonjour à tous, Voilà, j'ai dans un Lisp ceci : (defun c:phTypLign (NomLign / VarCherche) (c:StylTxt "Nihon" "WINGDNG2.TTF" "0" "1") (c:StylTxt "Cloture1" "Phalène-Ligne.shx" "0" "1") (c:StylTxt "Cloture2" "simplex.shx" "0" "1") (c:StylTxt "Cloture3" "Romand.shx" "0" "1") (c:StylTxt "Reseau" "simplex.shx" "0" "1") (c:StylTxt "TypLign1" "simplex.shx" "0" "1") (if (> (strlen NomLign) 3) (setq VarCherche (strcat (substr NomLign 1 (- (strlen NomLign) 1)) "*")) (setq VarCherche (strcat NomLign "*")) ) ;(princ (strcat "Nom de recherche = " VarCherche)) (vl-catch-all-apply 'vla-load (list (vla-get-linetypes (vla-get-activedocument (vlax-get-acad-object)) ) VarCherche (findfile "Phalène.lin") ) ) ) ;_ Fin de defunEt celà plus loin : (defun c:StylTxt (NomTxt Police Comp Inclin /) (setvar "CMDECHO" 0) (if (not (tblsearch "STYLE" NomTxt)) (entmake '((0 . "STYLE") (5 . "40") (100 . "AcDbSymbolTableRecord") (100 . "AcDbTextStyleTableRecord") (2 . NomTxt) (70 . 0) (40 . 0.0) (41 . (atof Comp)) (50 . 0.0) (71 . 0) (42 . 0) (3 . Police) (4 . "") ) ) ) ) ;_ Fin de defun Mon problème est qu'AutoCAD me répond : ; erreur: groupe DXF incorrect: (2 . NOMTXT) et je ne sais absolument pas quoi faire avec ça ! ! Merci pour l'effort de lecture pour lire mon code :cool: Denis... Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
Bred Posté(e) le 25 janvier 2007 Posté(e) le 25 janvier 2007 Salut,à première vue :changer (2 . NomTxt) par (cons 2 NomTxt). Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
DenisHen Posté(e) le 25 janvier 2007 Auteur Posté(e) le 25 janvier 2007 Salut Bred et merci, Si ton orthographe est correcte (car j'ai copier/coller), AutoCAD me cherche avec : ; erreur: groupe DXF incorrect: (CONS 2 NOMTXT) Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
Bred Posté(e) le 25 janvier 2007 Posté(e) le 25 janvier 2007 mmmm...je me demande si tu ne devrais pas faire en fait un (entmake ( [b] append[/b] '( (0 . "STYLE") (5 . "40") (100 . "AcDbSymbolTableRecord") (100 . "AcDbTextStyleTableRecord") [b] (list (cons 2 NomTxt))[/b] .... (pas testé) Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
(gile) Posté(e) le 25 janvier 2007 Posté(e) le 25 janvier 2007 Salut, l'apostrphe devant une paranthèse est l'abréviation de la fonction LISP quote qui signifie ne pas évaluer l'expression suivante (setq a 10) -> 10 '(2 . a) -> (2 . a) ou (quote (2 . a)) -> (2 . a) '((0 . "STYLE") (2 . a)) -> ((0 . "STYLE") (2 . A)) '((0 . "STYLE") (cons 2 a)) -> ((0 . "STYLE") (CONS 2 A)) (list '(0 . "STYLE") '(2 . a)) -> ((0 . "STYLE") (2 . A)) (list '(0 . "STYLE") (cons 2 a)) -> ((0 . "STYLE") (2 . 10)) Donc : (defun c:StylTxt (NomTxt Police Comp Inclin /) (setvar "CMDECHO" 0) ; Complètement INUTILE si aucun appel à command (if (not (tblsearch "STYLE" NomTxt)) (entmake (list '(0 . "STYLE") '(5 . "40") '(100 . "AcDbSymbolTableRecord") '(100 . "AcDbTextStyleTableRecord") (cons 2 NomTxt) '(70 . 0) '(40 . 0.0) (cons 41 (atof Comp)) '(50 . 0.0) '(71 . 0) '(42 . 0) (cons 3 Police) '(4 . "") ) ) ) ) ;_ Fin de defun Et s'il te plait, je t'en ai déjà parlé, on réserve les (defun c:toto ...) aux fonctions destinées à être appelées toto à la ligne de commande donc sans arguments. pour tes routines avec arguments destinées à être appelées depuis une autre routine on écrit juste (defun toto ...) [Edité le 25/1/2007 par (gile)] Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
DenisHen Posté(e) le 25 janvier 2007 Auteur Posté(e) le 25 janvier 2007 Désolé Bred, mais on peut dire qu'AutoCAD te cherche aussi maintenant, il me dit de te passer ça : ; erreur: groupe DXF incorrect: (LIST (CONS 2 NOMTXT)) Merci de te casser la tête pour moi, Denis... Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
DenisHen Posté(e) le 25 janvier 2007 Auteur Posté(e) le 25 janvier 2007 Salutations (gile) et merci, Je regarde tout de suite ton post, Et j'utilise aussi StylTxt depuis AutoCAD via des Menus [style Cadastre]^C^C(c:StylTxt "Cadastre" "simplex.shx" "0" "1.2"); Mais tu as raison, je n'y pense pas toujours... Merci encore, Denis... Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
DenisHen Posté(e) le 25 janvier 2007 Auteur Posté(e) le 25 janvier 2007 Merci à vous, :) Ca fonctionne au poil ! ! Denis... ;) Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
Bred Posté(e) le 25 janvier 2007 Posté(e) le 25 janvier 2007 Bon, il faut que je me concentre sur quelque chose moi.... Désolé DenisH, je tapais les lignes sans les tester, en faisant des copier/coller/modifier sans aprofondir la chose, et je ne suis pas encore assez bon pour ça....Donc je t'ai fait perdre ton temps pour rien....Et encore plus ecoeurer parceque j'avoue me sentir assez bien avec les entmake.... J'espère que je pourrais t'être d'une plus grande aide une autre fois.... Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
DenisHen Posté(e) le 25 janvier 2007 Auteur Posté(e) le 25 janvier 2007 Ne t'inquiète pas Bred, j'apprend (enfin j'essai), même si c'est avec des trucs faux. Exemple pour "entmake" avec lequel je n'avais bossé que trop raremen, et grace à toi, j'ai lu les aides et consulter "aidacad.com"... Donc, merci à tous d'avoir pris le temps de m'aider... Denis... Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
DenisHen Posté(e) le 30 janvier 2007 Auteur Posté(e) le 30 janvier 2007 Merci encore, ça fonctionne AU POIL ! ! Mais maintenant, je cherche à rendre ce style courant de la même façon, c.a.d. sans "command" ou grace à un code DXF ? Merci encore, Denis... Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
(gile) Posté(e) le 30 janvier 2007 Posté(e) le 30 janvier 2007 Salut, (setvar "TEXTSTYLE" "MonStyle") Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
DenisHen Posté(e) le 31 janvier 2007 Auteur Posté(e) le 31 janvier 2007 Merci (gile), c'est génial ! ! Mais..... Oui, il y a toujours un mais, j'ai l'impression que le "code DXF" 50 est pour l'inclinaison. Mais faut-il le rentrer en radian ? Et si oui, ai-je bon :Menu :[blaBla]^C^C(c:StylTxt "Cadastre" "ARIAL.TTF" "1" "20");_.mtext....... Lisp : (defun c:StylTxt (NomTxt Police Comp Inclin /) (setvar "CMDECHO" 0) (if (not (tblsearch "STYLE" NomTxt)) (entmake (list '(0 . "STYLE") '(5 . "40") '(100 . "AcDbSymbolTableRecord") '(100 . "AcDbTextStyleTableRecord") (cons 2 NomTxt) '(70 . 0) '(40 . 0.0) (cons 41 (atof Comp)) (cons 50 . (* (/ Inclin 200) pi)) '(71 . 0) '(42 . 0) (cons 3 Police) '(4 . "") ) ;_ Fin de list ) ;_ Fin de entmake ) ;_ Fin de if (setvar "TEXTSTYLE" NomTxt) ) Si j'ai bon, c'est grace à vous tous, si j'ai faut, c'est uniquement de ma faute ;) ! ! Merci encore, Denis... Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant