Fabs Posté(e) le 24 janvier 2023 Posté(e) le 24 janvier 2023 Bonjours le forum. ci joint le lisp que j'utilise régulierement, il fonctionne correctement mais pas avec des calques contenat ler #. il fonctionne bien avec des calques commencant par (-, _, $, ¤) si j'utilise la command clavier Fcalque => geler => selection de mon calque "#textes" = cela fonctionne. je ne trouve pas d'information en lisp qui pourrait bloquer avec l'utilisation du # dans un nom de calque. le # peut importe l'endroit dans le nom du calque, le lisp ne fonctionne pas. (defun c:gel_fen (/ ss n) (defun *error* (e) (vl-bt)) (setq ent(car(nentsel "\nSélectionnez un objet sur le calque à geler dans la fenêtre courante: "))) (setq ent (cdr (assoc 8 (entget ent)))) ;;;(command "_vplayer" "_freeze" ent "" "");;; fonction anglaise (command "fcalque" "g" ent "" "");;; fonction francaise (princ) ) quelqu'un aurait une idée pour les calque contenant le # dans un nom de calque (type #Textes) Fabs
JPhil Posté(e) le 24 janvier 2023 Posté(e) le 24 janvier 2023 Bonjour, C'est obligatoire les caractères spéciaux dans le nom du calque ($, ¤, #) ?
didier Posté(e) le 24 janvier 2023 Posté(e) le 24 janvier 2023 Bonjour @Fabs En règle générale, on conseille d'éviter les caractères spéciaux dans les noms AutoCAD, Calques, Styles, Groupes... Il est aussi recommandé de ne pas utiliser d'accents. Si ce n'est ABSOLUMENT obligatoire, on les évitera. Je constate ce que tu dis, mais en l'occurrence, je ne sais pas expliquer ce que la présence de ce caractère impose au logiciel. Je l'avais déjà constaté avec un calque contenant le signe "%", ce n'était avec FCALQUE mais ça plantait furieusement la commande. Morale à retenir. Amicalement Éternel débutant… Mon site perso : Programmer dans AutoCAD
bonuscad Posté(e) le 24 janvier 2023 Posté(e) le 24 janvier 2023 Bonjour, Je confirme que l'utilisation de caractères spéciaux et fortement déconseillé. Néanmoins je pense que la commande fcalque doit permettre l'utilisation de caractères tel que "#" qui permet de remplacer n'importe quel chiffre numérique unique dans le noms de calque. Voir la fonction lisp (wcmatch), ce qui explique le soit disant bug que tu rencontre. Ainsi si tu as les calques "0" "Calque1" "Calque2" "toto" Lors de l'utilisation de la commande fcalque si tu tapes "Calque#" les calques "Calque1" et "Calque2" seront gelés. Si tu veux que ta fonction lisp fonctionne avec des calques comportant le symbole "#", remplace la ligne (setq ent (cdr (assoc 8 (entget ent)))) par (setq ent (vl-string-subst "`#" "#" (cdr (assoc 8 (entget ent))))) Cependant cela ne fonctionnera que si le symbole "#" n'est présent qu'une seul fois dans le nom. Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
Fabs Posté(e) le 24 janvier 2023 Auteur Posté(e) le 24 janvier 2023 merci de votre retour rapide les caracteres spéciaux (-, _, $, ¤) etaient pour faire des test de fonctionnement pour comparer avec le #. j'ai choisi le # en début de mes calque car cela fait bien longtemps que personne ne respecte les chartes d'entreprise si il y en a. et comme les dwg ne sont plus fait par un dessinateur mais par X dessinateurs donc autant de nouveau calques + les échanges internationaux = moyenne 200 calques le diese me permet d'avoir mes nom de calque en début de liste et de passer de l'un à l'autre rapidement Bonuscad ta ligne de command fonctionne parfaitement c'est ce que je recherchais Fabs
JPhil Posté(e) le 24 janvier 2023 Posté(e) le 24 janvier 2023 Ces caractères spéciaux (- et _) ne posent aucun problème bien au contraire 🙂, les autres sont déconseillés voir à bannir 😉 surtout si tu veux te lancer dans la programmation. En utilisant ce caractère (_) en début de nom de calque, ils apparaitront avant le calque 0.
didier Posté(e) le 24 janvier 2023 Posté(e) le 24 janvier 2023 Bonjour @Fabs Si c'est pour regrouper les calques, l'idée de faire des filtres de propriétés peut être à creuser. En mettant un préfixe, genre "initiales" ou caractère "underscore", il est aisé de les regrouper de façon à ce que seuls les noms concernés apparaissent. Amicalement Éternel débutant… Mon site perso : Programmer dans AutoCAD
Fabs Posté(e) le 25 janvier 2023 Auteur Posté(e) le 25 janvier 2023 merci du complément Didier, je vais l'étudier. Fabs
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