arnaudalp Posté(e) le 13 mai 2016 Posté(e) le 13 mai 2016 Bonjour Où est ma faute ? Ma varviable hach1 est nil et ne prend pas mon nom de hachure... (initget 1 "Enrobé Concassé Terre Béton Grave_bitume")(setq choix (getkword "\n Choix revêtement [Enrobé/Concassé/Terre/Béton/Grave_bitume] : ")) (if (= choix "Enrobé") ( (setq hach1 (strcase "SOLID")) (setvar "hpname" hach1) (setvar "hpscale" 0.1) ) ) (if (= choix "Concassé") ( (setq hach1 (strcase "BOIS2")) (setvar "hpname" hach1) (setvar "hpscale" 0.01) ) ) (if (= choix "Terre") ( (setq hach1 (strcase "G_ANCHORLK")) (setvar "hpname" hach1) (setvar "hpscale" 0.01) ) ) (if (= choix "Béton") ( (setq hach1 (strcase "ANSI31")) (setvar "hpname" hach1) (setvar "hpscale" 0.01) ) ) (if (= choix "Grave_bitume") ( (setq hach1 (strcase "ANSI38")) (setvar "hpname" hach1) (setvar "hpscale" 0.01) ) )
(gile) Posté(e) le 13 mai 2016 Posté(e) le 13 mai 2016 Salut, Dans les mots clé en argument de initget, chaque mot clé doit être séparé par un ou plusieurs espace et ne contenir que des lettres, des chiffres et le tiret (-).Par contre tu peux faire différemment dans l'invite (CF ci-dessous). Extrait de l'aide :Keyword SpecificationsThe string argument is interpreted according to the following rules:Each keyword is separated from the following keyword by one or more spaces. For example, "Width Height Depth" defines three keywords.Each keyword can contain only letters, numbers, and hyphens (-). Dans la suite du code, les expressions (if ...) sont incorrectes (parenthèses supplémentaires), il faut utiliser progn pour regrouper plusieurs expressions en une seule :(if (= choix "Enrobé") (progn (setq hach1 (strcase "SOLID")) (setvar "hpname" hach1) (setvar "hpscale" 0.1) ) )Mais pour ce que tu veux faire, l'utilisation de cond est plus adaptée. (initget 1 "Enrobé Concassé Terre Béton Grave") (setq choix (getkword "\n Choix revêtement [Enrobé/Concassé/Terre/Béton/Grave bitume] : " ) ) (cond ((= choix "Enrobé") (setq hach1 (strcase "SOLID")) (setvar "hpname" hach1) (setvar "hpscale" 0.1) ) ((= choix "Concassé") (setq hach1 (strcase "BOIS2")) (setvar "hpname" hach1) (setvar "hpscale" 0.01) ) ((= choix "Terre") (setq hach1 (strcase "G_ANCHORLK")) (setvar "hpname" hach1) (setvar "hpscale" 0.01) ) ((= choix "Béton") (setq hach1 (strcase "ANSI31")) (setvar "hpname" hach1) (setvar "hpscale" 0.01) ) ((= choix "Grave") (setq hach1 (strcase "ANSI38")) (setvar "hpname" hach1) (setvar "hpscale" 0.01) ) ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
DenisHen Posté(e) le 13 mai 2016 Posté(e) le 13 mai 2016 Bonjour à tous, (gile), j'ai juste une petite question, je ne comprend pas pourquoi (setq hach1 (strcase "BOIS2")) et non (setq hach1 "BOIS2")Ou alors, j'ai raté quelque-chose... Et est-ce vraiment nécessaire une échelle pour la hachure "SOLID" ? 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)
arnaudalp Posté(e) le 13 mai 2016 Auteur Posté(e) le 13 mai 2016 L'échelle de solid n'est en effet pas obligatoire... Ce qui n'allait pas était donc mon grave_bitume avec le " _ " ? j'utilise strcase "BOIS2" car le HPNAME requiert un texte si j'ai bien compris... Merci pour l'aide !
DenisHen Posté(e) le 13 mai 2016 Posté(e) le 13 mai 2016 Si je ne dis pas une ânerie, (setq hach1 (strcat "BOIS2")) est la même chose que (setq hach1 "BOIS2")strcat compile les textes, comme dans (setq phrase (strcat "(gile) t'expliquera " "mieux que" " " "moi")) 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)
bonuscad Posté(e) le 13 mai 2016 Posté(e) le 13 mai 2016 DenisH, Relis bien, ce n'est pas strcat mais strcase Le premier concatène des chaines de caractères, le second force la case (majuscule, minuscule) des caractères. (strcase "BOIS2" T)(strcase "bois2")Essayes ces deux expressions pour t'éclairer. Bien que dans le code de cela n'était pas effectivement necessaire, il a pris une précaution au cas où un utilisateur vienne à changer le nom dans le code (choisir un autre motif) et que celui ci soit écrit en minuscule. Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
DenisHen Posté(e) le 13 mai 2016 Posté(e) le 13 mai 2016 Milles mercis bonuscad, j'avais effectivement mal lu... Au temps pour moi... 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