Aller au contenu

Luna

Membres
  • Compteur de contenus

    1 113
  • Inscription

  • Dernière visite

  • Jours gagnés

    42

Tout ce qui a été posté par Luna

  1. Yes StripMTEXT est bien un LISP mais comme on est sur un sujet AutoCAD full, je considère que chat ne pose pas de soucis... Bisous, Luna
  2. Coucou, Pour que la couleur forcée soit considérée, il faut prendre les couleurs de texte, ligne de repère, etc... en DuBloc. Peut-être qu'avec un reset via StripMTEXT pour supprimer les couleurs forcées en éditeur de texte peut corriger le problème ? (désolée, j'avoue n'avoir lu le fil de discussion qu'à moitié ^^') Bisous, Luna
  3. Coucou, Le sujet en anglais : https://forums.autodesk.com/t5/autocad-forum/background-mask-default-settings-thru-registry/td-p/8265800 La réponse semble donc être de passer par la commande des ExpressTools TEXTMASK. Il faudrait ainsi l'ajouter à ta routine (je ne m'y connais pas suffisamment en macros pour t'aider cependant) pour lancer la commande TEXTMASK une fois la commande MTEXT terminée et sélectionner le dernier objet créé ("_L" pour "_Last") et lui affecter le masque d'arrière-plan désiré en suivant les instructions de la commande TEXTMASK 🙂 Bisous, Luna
  4. Coucou, A ma connaissance il n'existe pas de liste des dessins récemment ouverts. Il s'agit uniquement des dessins ouvert par une application en particulier donc la liste sera différente suivant que l'on ouvre des dessins avec un AutoCAD 2023 ou un AutoCAD 2025. Mais cela ne devrait pas être source de problème. Bisous, Luna
  5. Coucou, Comme je disais, c'est une commande ExpressTools donc il suffit de suivre les instructions ci-dessous pour ajouter les ExpressTools a ton AutoCAD : https://www.autodesk.fr/support/technical/article/caas/sfdcarticles/sfdcarticles/FRA/How-to-install-Express-Tools-into-AutoCAD.html Bisous, Luna
  6. Coucou, Essaye avec ceci : Il s'agit de la commande TXTEXP (provient des Express Tools). Edit: Toujours aussi rapide @didier 🙂 Bisous, Luna
  7. Ma logique me dit que si le fichier Excel n'est pas généré alors l'outil ne fonctionne pas 🙂 Anyway, ma remarque ne faisait allusion qu'au fait qu'un sujet spécifique était ouvert pour justement faire remonter les bugs et problèmes rencontrés vis-à-vis de cet outil. Donc globalement, non seulement il pourrait éventuellement y avoir des informations pour ton soucis, l'auteur en personne pourrait te venir en aide (@(gile)) et ton problème pourrait également servir pour les prochaines personnes qui liront ce sujet (plutôt que d'éplucher 150 sujets différents). Désolée d'avance si mes propos sont vexant, ce n'est là aucunement mon intention >w< Après (à confirmer avec l'auteur), il se peut qu'une mise à jour de la dll soit requise pour supporter les versions récentes d'AutoCAD (2025) car il me semble qu'il faille adapter le programme par rapport aux versions d'AutoCAD. Bisous, Luna
  8. Bonjour, Tu auras plus de chance d'obtenir de l'aide depuis le sujet initial : Si un modo passe par là ( @lecrabe ?) pour déplacer le message (si possible) >w< Bisous, Luna
  9. Coucou, Sur CADxp il y a un forum dédié au LISP donc sur le sujet >>ici<< tu trouveras des explications claires et détaillées sur la démarche à suivre en fonction de ton besoin 🙂 Bisous, Luna
  10. Luna

    Épaisseur de ligne

    Coucou, Pour les polylignes il s'agit de la propriété "Largeur globale" (dans le cas où la polyligne a déjà été crée), sinon tu peux modifier la variable PLINEWID (si tous les segments des nouvelles polylignes crées ont la même largeur) ou bien passer par l'option "LArgeur" lors de la création d'une polyligne (après avoir renseigné le 1er point de la polyligne) pour plus de précision. Après comme dit rebcao, passer par la largeur de polylignes au lieu de l'épaisseur de ligne est un défaut en soit. La largeur globale n'est utile que dans certains cas mais une bonne utilisation d'AutoCAD devrait prioriser l'épaisseur de ligne avant de se tourner vers la largeur globale des polylignes. Bisous, Luna
  11. Coucou, Pour accéder aux objets dans une XREF, il faut utiliser (nentsel) et non (entsel). Le problème : (entsel) sélectionne un objet donc quand tu as un bloc cela renvoie l'ID du bloc et donc c'est simple de récupérer les infos du bloc (attribut par exemple) mais (nentsel) sélectionne un sous-objet donc dans le cas d'un bloc, si tu cliques sur une polyligne d'un bloc cela te renvoie les données de la polyligne et non ton bloc. Donc soit il faut que ta sélection soit précise (clic sur l'attribut souhaité directement) et cela demande peu de modifications de programmation, soit il faut être capable de remonter les couches de sous-objets pour récupérer les bonnes valeurs, ce qui nécessite beaucoup plus de modifications et programmation complexe car il faut que ton programme fonctionne dans chaque cas (bloc en dur et/ou bloc dans xref..) Bisous, Luna
  12. Luna

    ACAD.PGP

    Coucou, Si j'ai bien compris le problème vient de l'aperçu de la commande lors de la saisie d'un alias de commande (cf capture ci-dessous). Cela fonctionne aussi bien pour les commandes AutoCAD que pour les commandes LISP Perso j'ai quelques bugs car certaines fois cet aperçu n'apparaît qu'à partir de raccourcis en 2 lettres, tandis que d'autres fois cela fonctionne aussi pour les raccourcis d'une seule lettre. Donc si je ne dis pas de bêtises, le problème de @PATRICE69 c'est que le nom de la commande (ACTIF), situé entre parenthèses, n'apparaît pas. J'ai essayé de chercher un peu mais je n'ai rien trouvé de probant à ce sujet. Désolée de ne pas faire avancer le schmilblick.. >w< Bisous, Luna
  13. Coucou, Sincèrement désolée, je manque cruellement de temps ces temps-ci et je n'ai toujours pas regarder ton souci. J'espère que ce n'est pas un souci pour toi, je jetterai un œil dès que mon planning se libère un peu 🙂 Bisous, Luna
  14. Coucou @Rémy, Le problème vient principalement du fait que les propriétés dynamiques sont séparées des attributs d'un bloc. En effet il est possible de gérer les valeurs d'attributs via une Table des Propriétés de bloc (cela ne permet de contrôler que les attributs) tandis qu'avec une Table de Consultation, il est possible de gérer les propriétés dynamiques. Mais, il ne me semble pas possible de lier une valeur d'attribut en fonction d'une propriété dynamique (par exemple si ton état de visibilité est "2 lignes" alors supprimer la valeur des attributs "PROFONDEUR3" et "PROFONDEUR4") via une table ou autre. Tu évoques la possibilité d'utiliser un LISP. Quitte à emprunter ce chemin je peux te proposer une solution alternative, qui, à chaque exécution d'une commande LISP faire : Sélection de l'ensemble des blocs dynamiques du dessin Si le nom de la référence de bloc (= EffectiveName) est égal à NomDéfinitionBloc (= mettre la bonne valeur pour ton cas), alors Récupération du nom de l'état de visibilité en cours, récupération de la liste des attributs de la référence de bloc et suppression des valeurs d'attribut en fonction de la visibilité Ainsi tu conserves une seule définition de bloc et tu n'as pas besoin de remplacer les références de bloc (changement d'ID d'objet, etc...) qui pourrait être gênant si mal intégré. Si tu as besoin d'aide sur l'élaboration d'un programme LISP quel qu’il soit, n'hésite pas 🙂 Bisous, Luna
  15. Coucou, Pour info depuis la version AutoCAD LT 2024, les LISP sont supporté par les versions LT. En terme de macro, je ne m'y connais pas suffisamment. Dans un premier temps, faut-il modifier ces infos à la création d'une cotation ou bien sur des objets existants ? Car la réflexion n'est pas la même selon la réponse. Dans le cas d'une modification lors de la création de nouveaux objets, tu peux t'aider de ceci (variables systèmes relative aux cotations) : Il s'agit donc des variables DIMSE1 et DIMSE2 qui contrôle la suppression des lignes d'attaches et elles acceptent les valeurs _On (= Actif en FR) ou _Off (= Inactif en FR). Donc en clair, tu peux créer une macro dans le genre pour le cas où tu souhaites modifier les cotations avant la création d'une cotation (ici une cotation linéaire) : ^C^C_DIMSE1;_On;_DIMSE2;_On;_DIMLINEAR;\;\;\;; Tu peux également simplement faire : ^C^C_DIMSE1;_On;_DIMSE2;_On; Pour ton premier bouton (permettant de supprimer les lignes d'attaches pour les prochaines cotations crées), puis pour le second bouton (permettant d'afficher les lignes d'attaches pour les prochaines cotations crées) : ^C^C_DIMSE1;_Off;_DIMSE2;_Off; Désolée de ne pas pouvoir faire plus. Il me semble impossible de modifier les propriétés d'une cotation existante en macro cependant, mais encore une fois, cela dépasse mes compétences dans ce domaine. Bisous, Luna
  16. Coucou @matthieu_n, Je pense que le problème vient d'ici : En clair, la variable système n'existe plus depuis AutoCAD 2019 donc le programme (édité en 2017) est de ce fait obsolète. C'est le problème lorsqu'un programme veut initialiser la quasi-totalité des variables systèmes. Il arrive toujours un moment où une variable système a été supprimée, modifiée, etc... Donc les programmes deviennent très vite obsolètes. Bisous, Luna
  17. Coucou, Etant donné que l'on n'a qu'un extrait de code, je dois admettre avoir beaucoup de difficulté pour situer correctement à quoi correspond chaque variable (PlotNB, PlotNBB, ...). D'un point de vue programmation, je recommande vivement de favoriser l'utilisation d'arguments pour les fonctions et de déclarer localement l'ensemble des variables qui ne doivent pas être "enregistrée" dans le dessin après l'exécution d'une fonction. Pour ce qui est de l'architecture des (cond) à la chaîne...avec un simple extrait difficile de voir si l'on peut améliorer l'écriture du programme. Enfin pour le retour des toggles à la fin d'exécution de la boîte de dialogue, sans code impossible de pouvoir y apporter une explication. Bisous, Luna
  18. Bien vu ! Pour info soit tu utilises les noms de commandes / options de commandes en langue internationale, auquel cas il faut toujours utiliser un underscore, soit tu considères uniquement les commandes dans la langue locale (donc par exemple en français) et du coup, pas besoin de mettre d'underscore. Il est fortement conseillé d'utiliser les commandes internationales, pour éviter toute erreur potentielle (imaginons par exemple qu'un collègue français préfère utiliser un AutoCAD anglais) mais cela requiert d'être parfaitement au courant des options dans cette langue. Pour le nom des commandes tu peux utiliser la fonction (getcname) lorsque tu as un doute (mais pas dans un programme, c'est juste pour toi pour connaître l'orthographe exacte). Bisous, Luna
  19. Coucou @YuGzeBuL et @didier, En effet, il faut toujours utiliser (cons) lorsqu'on a une variable (et donc (list) et non une (quote) / ' ) pour pouvoir justement interpréter la valeur d'une variable. Je remarque également ceci : (setq layerColor "114") ; Couleur 114 Donc ici layerColor est de type 'STR (string), donc une chaîne de caractères. Si maintenant tu fais un (entget) sur le calque "0" par exemple, tu as ceci : Explore-DXF in progress from "LAYER" (<Nom d'entité: 1f472e8c900>) : | (-1 . <Nom d'entité: 1f472e8c900>) | (0 . "LAYER") | (5 . "10") | (102 . "{ACAD_XDICTIONARY") | (360 . <Nom d'entité: 1f472e8d9e0>) | (102 . "}") | (330 . <Nom d'entité: 1f472e8c820>) | (100 . "AcDbSymbolTableRecord") | (100 . "AcDbLayerTableRecord") | (2 . "0") | (70 . 0) | (62 . 7) | (6 . "Continuous") | (290 . 1) | (370 . 0) | (390 . <Nom d'entité: 1f472e8c8f0>) | (347 . <Nom d'entité: 1f472e8ce00>) | (348 . <Nom d'entité: 0>) | End of exploration... Et plus particulièrement la ligne | (62 . 7) Que remarques-tu @YuGzeBuL ? (je vais répondre directement 🙂) Le code DXF 62 attend une valeur entière, comprise entre 0 et 254 (pour les calques uniquement) correspondant à la valeur ACI (AutoCAD Color Index). Cette valeur est donc de type 'INT (Integer), soit un nombre entier. A titre purement éducatif, si tu désires utiliser des couleurs RGB (et non ACI), alors il faudra définir ta couleur RGB à partir du code DXF 420 (qui requiert d'ailleurs une petite conversion, cf. les explications >>ici<<) tout en conservant le code DXF 62 le plus proche de ta couleur RGB (pour cela tu peux t'aider des fonctions développées par LeeMac pour faire toutes les conversions possibles des couleurs >>ici<<). Et s'il faut utiliser des couleurs d'un carnet de couleur, alors il faudra également ajouter le code DXF 430 (qui cette fois-ci n'est qu'une chaîne de caractères représentant le nom de la couleur) en plus des codes DXF 420 et 62 les plus proches de cette couleur. Bref, tout chat pour dire que le choix des couleurs peut être plus ou moins complexe selon le type de couleur souhaité 🙂 Dernière remarque vis-à-vis de ton code : (setq layerLineweight 50) '(370 . 50) ;; épaisseur de ligne 0.50 mm Pourquoi ne pas utiliser ta variable layerLineweight ici ? Car je trouve chat dommage de créer une variable que tu n'utilises pas...Du coup il faudrait juste remplacer ta ligne par : (cons 370 layerLineweight) ;; épaisseur de ligne Bisous, Luna
  20. Coucou @PATRICE69, J'ai souvenir d'avoir initié une discussion à propos de l'exploration des filtres de propriétés du gestionnaire des calques (je suppose que c'est de cela dont tu parles) en LISP, donc voici le lien si chat t'intéresse : Je n'ai malheureusement plus le temps de faire de programmation donc je ne pourrais pas faire plus, désolée.. Bisous, Luna
  21. Ahah, c'est juste moi qui chipote 🙂 mais je me suis doutée que c'était l'intelligence artificielle qui n'avait pas toute sa tête au moment de générer l'image Bisous, Luna
  22. Coucou, Il existe des magouilles qui te permettent d'avoir plusieurs états de visibilité ou autres (cf >>ici<<) mais je te conseille d'éviter d'en arriver là. Il existe très certainement une méthode qui permet d'éviter cela (comme le suggère @Fraid, la création de 2 blocs distincts par exemple) car AutoCAD n'est pas supposé fonctionner avec plusieurs paramètres de visibilité. Donc tu peux avoir des risques de compatibilité ou autre. Bisous, Luna
  23. Luna

    VBScript Déprécié

    D'accord, je comprends mieux ! Donc c'est en effet un changement lourd dans la mesure où de nombreux programmes "phares" ont tendance à passer par VBScript au final. Et du coup il "suffit" de transcrire les passages VBScript en JavaScript ou bien est-ce plus complexe que chat ? Bisous, Luna
  24. Coucou, Sujet intéressant et à suivre ! Par contre, y a-t-il que moi que chat trigger la tasse de café avec le liquide quasiment à la verticale sur l'image ? ^^' Bisous, Luna
  25. Luna

    VBScript Déprécié

    Coucou, Dans quel(s) contexte(s) ce langage est-il utilisé exactement ? Je n'y connais rien mais je suis curieuse ^^ Car si je comprends bien, le JavaScript est préférable car plus de compatibilité, nan ? Bisous, Luna
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité