Tom693 Posté(e) le 23 novembre 2023 Posté(e) le 23 novembre 2023 Bonjour, En fouillant sur internet j'ai découvert ce lisp qui m'intéresse grandement. Seul soucis, j'ai un message d'appel a erreur de commandes lorsque je le lance. Pouvez-vous me dire ce qui pose soucis ? Merci par avance? area+HATCH.LSP Citer
Fraid Posté(e) le 23 novembre 2023 Posté(e) le 23 novembre 2023 il y a une heure, Tom693 a dit : j'ai un message d'appel a erreur de commandes lorsque je le lance Bonjour, Lequel, pourrais tu être un peu plus precis. Citer https://github.com/Fraiddd
Tom693 Posté(e) le 23 novembre 2023 Auteur Posté(e) le 23 novembre 2023 Bonjour Fraid, Voici ma barre de commande. Commande: AH Pick a point within boundary: -boundary Commande inconnue "-BOUNDARY". Appuyez sur F1 pour obtenir de l'aide. Commande: Commande: AH Commande inconnue "AH". Appuyez sur F1 pour obtenir de l'aide. Commande: _AREA Spécifiez le premier coin ou [Objet/Ajouter une aire/Soustraire une aire] <Objet>: O Sélectionnez des objets: L *Sélection non valable* Attend un point ou Dernier ; erreur: Fonction annulée Citer
Luna Posté(e) le 23 novembre 2023 Posté(e) le 23 novembre 2023 Coucou, Je pense que le fichier à été développé en anglais mais il n'a pas été écris à l'internationale. Pour cela il suffit de rajouter un underscore ("_") devant chaque nom de commande dans ton fichier s'il n'y en a pas (idem pour les options de commandes). Par exemple remplacer "-BOUNDARY" par "_-BOUNDARY" Bisous, Luna Citer
Tom693 Posté(e) le 23 novembre 2023 Auteur Posté(e) le 23 novembre 2023 il y a 21 minutes, Luna a dit : Coucou, Je pense que le fichier à été développé en anglais mais il n'a pas été écris à l'internationale. Pour cela il suffit de rajouter un underscore ("_") devant chaque nom de commande dans ton fichier s'il n'y en a pas (idem pour les options de commandes). Par exemple remplacer "-BOUNDARY" par "_-BOUNDARY" Bisous, Luna Bonjour Luna, Je pense que cela en fait également partie. Toutefois j'essaie de suivre ou le message d'erreur s'affiche (je débute en LISP) et j'ai comme l'impression que après la commande "_AREA" cela merde quelque part. Qu'il n'arrive pas à sélectionner et à supprimer. Citer
Fraid Posté(e) le 23 novembre 2023 Posté(e) le 23 novembre 2023 Quand je regarde ce lisp, ça pique les yeux ... Si tu nous expliquais ce que tu veux faire exactement. On peut surement t'écrire un p'tit truc moins bancale. Sinon, je me permet de te souhaiter une bienvenu sur le site. Citer https://github.com/Fraiddd
Luna Posté(e) le 23 novembre 2023 Posté(e) le 23 novembre 2023 En regardant ton programme, même de base il est non fonctionnel... Je vais regarder pour écrire quelque chose de plus solide parce qu'en l'état, ce programme ne sert à rien (peut-être suis-je médisante mais cela ressemble fortement à du ChatGPT qui baragouine du LISP sans comprendre ce qu'il fait..) Bisous, Luna Citer
Tom693 Posté(e) le 23 novembre 2023 Auteur Posté(e) le 23 novembre 2023 il y a 1 minute, Fraid a dit : Quand je regarde ce lisp, ça pique les yeux ... Si tu nous expliquais ce que tu veux faire exactement. On peut surement t'écrire un p'tit truc moins bancale. Sinon, je me permet de te souhaiter une bienvenu sur le site. Ne te brules pas les yeux pour si peu ^^ Alors ce que j'aimerais est assez simple sur le papier. Je souhaite avec ce lisp qu'en créant une hachure, la surface apparait. Le fichier que je vous ai partagé est issus de cette vidéo. C'est exactement le résultat que j'aimerais obtenir. Citer
lecrabe Posté(e) le 23 novembre 2023 Posté(e) le 23 novembre 2023 Hello @Tom693 SVP et si tu essayais la routine jointe ... Un poil differente de ton besoin !? Bye, lecrabe HatchArea.zip Citer Autodesk Expert Elite Team
lecrabe Posté(e) le 23 novembre 2023 Posté(e) le 23 novembre 2023 Hello @Tom693 Et en voici une autre ... Toujours un poil differente !? Bye, lecrabe HatchTable__Areas_per_Layer__HT2__v2.zip Citer Autodesk Expert Elite Team
Luna Posté(e) le 23 novembre 2023 Posté(e) le 23 novembre 2023 Coucou, Quelque chose comme cela peut-être ? (defun c:AH (/ acc mode pt obj txt) (setq acc (getvar "OSMODE")) (setvar "OSMODE" 0) (initget "Supprimer Conserver") (setq mode (cond ((getkword "\nSupprimer ou conserver le contour ? [Supprimer/Conserver] <Conserver> : ")) ("Conserver"))) (command "_-BOUNDARY" (setq pt (getpoint "\nSpécifiez un point interne : ")) "") (setq obj (vlax-ename->vla-object (entlast))) (cond ( (= "Supprimer" mode) (setq txt (rtos (vla-get-area obj))) (entdel (entlast)) ) ( (= "Conserver" mode) (setq txt (strcat "%<\\AcObjProp Object(%<\\_ObjId " (itoa (vla-get-ObjectID obj)) ">%).Area \\f \"%lu2\">%")) ) ) (command "_-HATCH" "_Properties" "ANSI31" "" "" pt "") (command "_-TEXT" "_Justify" "_MC" pt "" "" txt) (setvar "OSMODE" acc) (princ) ) Pour info, la première question "Supprimer/Conserver" permet de définir si tu souhaites supprimer le contour généré. S'il est supprimé alors le texte inséré sera un simple texte. Si le contour est conservé alors le texte sera sous forme de champs dynamique pointant sur la propriété "Aire" du contour, permettant ainsi de mettre à jour le texte si le contour est modifié. Bisous, Luna Citer
Luna Posté(e) le 23 novembre 2023 Posté(e) le 23 novembre 2023 Ah bah, @lecrabe et sa bibliothèque de 3001 (?) routines sont toujours plus rapides 🙂 Bisous, Luna 1 Citer
Tom693 Posté(e) le 23 novembre 2023 Auteur Posté(e) le 23 novembre 2023 il y a 10 minutes, Luna a dit : Coucou, Quelque chose comme cela peut-être ? (defun c:AH (/ acc mode pt obj txt) (setq acc (getvar "OSMODE")) (setvar "OSMODE" 0) (initget "Supprimer Conserver") (setq mode (cond ((getkword "\nSupprimer ou conserver le contour ? [Supprimer/Conserver] <Conserver> : ")) ("Conserver"))) (command "_-BOUNDARY" (setq pt (getpoint "\nSpécifiez un point interne : ")) "") (setq obj (vlax-ename->vla-object (entlast))) (cond ( (= "Supprimer" mode) (setq txt (rtos (vla-get-area obj))) (entdel (entlast)) ) ( (= "Conserver" mode) (setq txt (strcat "%<\\AcObjProp Object(%<\\_ObjId " (itoa (vla-get-ObjectID obj)) ">%).Area \\f \"%lu2\">%")) ) ) (command "_-HATCH" "_Properties" "ANSI31" "" "" pt "") (command "_-TEXT" "_Justify" "_MC" pt "" "" txt) (setvar "OSMODE" acc) (princ) ) Pour info, la première question "Supprimer/Conserver" permet de définir si tu souhaites supprimer le contour généré. S'il est supprimé alors le texte inséré sera un simple texte. Si le contour est conservé alors le texte sera sous forme de champs dynamique pointant sur la propriété "Aire" du contour, permettant ainsi de mettre à jour le texte si le contour est modifié. Bisous, Luna C'est exactement ca mais une erreur apparait au moment du placement du texte. Citer
Tom693 Posté(e) le 23 novembre 2023 Auteur Posté(e) le 23 novembre 2023 il y a 36 minutes, lecrabe a dit : Hello @Tom693 SVP et si tu essayais la routine jointe ... Un poil differente de ton besoin !? Bye, lecrabe HatchArea.zip 77.94 Ko · 1 téléchargement Salut lecrabe et merci pour ton retour. Je vois que tu es toujours à l'affut pour aider les gens 🙂 L'idée est d'avoir le texte qui s'affiche au milieu de la hachure avec l'aire de celle-ci. Les tables par calques sont pratiques mais dans le cas présent c'est pour avoir un plan avec l'ensemble des superficies sans avoir à créer des textes dans tout les sens. Citer
Luna Posté(e) le 23 novembre 2023 Posté(e) le 23 novembre 2023 Alors... Il s'agit d'utiliser mon programme SANS MODIFICATIONS car je n'ai pas écrit "_OSMODE" mais "OSMODE"... ^^" Bisous, Luna Citer
Tom693 Posté(e) le 23 novembre 2023 Auteur Posté(e) le 23 novembre 2023 il y a 3 minutes, Luna a dit : Alors... Il s'agit d'utiliser mon programme SANS MODIFICATIONS car je n'ai pas écrit "_OSMODE" mais "OSMODE"... ^^" Bisous, Luna Ah oui pardon, ca c'était en tentant autre chose car j'avais un message d'erreur ^^. C'est la commande inconnue "AREA". Cela fonctionne t il chez toi ? Peut-être ai-je trop de lisp tenté avec "AH" Citer
Tom693 Posté(e) le 23 novembre 2023 Auteur Posté(e) le 23 novembre 2023 @Luna En faite cela vient du gabarit que j'utilise, j'ai essayé ton lisp sur un acadiso normal et tout fonctionne je te remercie grandement. 🙂 Citer
Luna Posté(e) le 23 novembre 2023 Posté(e) le 23 novembre 2023 Je pense que tu n'utilises pas mon programme ? Car je n'ai pas non plus utilisé la commande AREA ^^" Peut-être change le nom AH de ma commande ? Personnellement je n'ai eu aucun soucis lors de mes tests... Bisous, Luna Citer
OlivierR Posté(e) le 23 novembre 2023 Posté(e) le 23 novembre 2023 Il y a l'erreur avec les styles de textes annotatifs. Il faut alors remplacer (command "_-TEXT" "_Justify" "_MC" pt "" "" txt) par (command "_-TEXT" "_Justify" "_MC" pt "" txt) Mais je ne sais pas retrouver si un style de texte est annotatif ou non pour mettre une condition. Olivier Citer
OlivierR Posté(e) le 23 novembre 2023 Posté(e) le 23 novembre 2023 En cherchant autre chose je viens de tomber sur ceci avec la fonction _isAnnotative Donc voilà le code complété (defun _isAnnotative ( style / object annotx ) (and (setq object (tblobjname "STYLE" style)) (setq annotx (cadr (assoc -3 (entget object '("AcadAnnotative"))))) (= 1 (cdr (assoc 1070 (reverse annotx)))) ) ) (defun c:ESSAICOMMANDE (/ acc mode pt obj txt) (setq acc (getvar "OSMODE")) (setvar "OSMODE" 0) (initget "Supprimer Conserver") (setq mode (cond ((getkword "\nSupprimer ou conserver le contour ? [Supprimer/Conserver] <Conserver> : ")) ("Conserver"))) (command "_-BOUNDARY" (setq pt (getpoint "\nSpécifiez un point interne : ")) "") (setq obj (vlax-ename->vla-object (entlast))) (cond ( (= "Supprimer" mode) (setq txt (rtos (vla-get-area obj))) (entdel (entlast)) ) ( (= "Conserver" mode) (setq txt (strcat "%<\\AcObjProp Object(%<\\_ObjId " (itoa (vla-get-ObjectID obj)) ">%).Area \\f \"%lu2\">%")) ) ) (command "_-HATCH" "_Properties" "ANSI31" "" "" pt "") (if (_isAnnotative (getvar "TEXTSTYLE")) (command "_-TEXT" "_Justify" "_MC" pt "" txt) (command "_-TEXT" "_Justify" "_MC" pt "" "" txt) ) (setvar "OSMODE" acc) (princ) ) Merci Lee-Mac Olivier Citer
Tom693 Posté(e) le 27 novembre 2023 Auteur Posté(e) le 27 novembre 2023 Le 23/11/2023 à 18:16, OlivierR a dit : En cherchant autre chose je viens de tomber sur ceci avec la fonction _isAnnotative Donc voilà le code complété (defun _isAnnotative ( style / object annotx ) (and (setq object (tblobjname "STYLE" style)) (setq annotx (cadr (assoc -3 (entget object '("AcadAnnotative"))))) (= 1 (cdr (assoc 1070 (reverse annotx)))) ) ) (defun c:ESSAICOMMANDE (/ acc mode pt obj txt) (setq acc (getvar "OSMODE")) (setvar "OSMODE" 0) (initget "Supprimer Conserver") (setq mode (cond ((getkword "\nSupprimer ou conserver le contour ? [Supprimer/Conserver] <Conserver> : ")) ("Conserver"))) (command "_-BOUNDARY" (setq pt (getpoint "\nSpécifiez un point interne : ")) "") (setq obj (vlax-ename->vla-object (entlast))) (cond ( (= "Supprimer" mode) (setq txt (rtos (vla-get-area obj))) (entdel (entlast)) ) ( (= "Conserver" mode) (setq txt (strcat "%<\\AcObjProp Object(%<\\_ObjId " (itoa (vla-get-ObjectID obj)) ">%).Area \\f \"%lu2\">%")) ) ) (command "_-HATCH" "_Properties" "ANSI31" "" "" pt "") (if (_isAnnotative (getvar "TEXTSTYLE")) (command "_-TEXT" "_Justify" "_MC" pt "" txt) (command "_-TEXT" "_Justify" "_MC" pt "" "" txt) ) (setvar "OSMODE" acc) (princ) ) Merci Lee-Mac Olivier Merci à toi Olivier et merci à vous tous pour votre aide 🙂 Citer
BIM G CO Posté(e) le 5 décembre 2023 Posté(e) le 5 décembre 2023 En reprenant le lisp original et sans trop chercher à faire des fonctions lisp : (defun C:AH ( / pt1 a1 aa) (setq aa 0) (setq pt1 (getpoint "\nPick a point within boundary: ")) (setq pt2 pt1) (while (/= pt1 nil) (command "_-BOUNDARY" pt1 "") (command "_AREA" "_Object" "_Last") (command "_ERASE" "_Last" "") (setq Temp1 (getvar "area")) (setq bb Temp1) (setq aa ( + aa bb)) (setq pt1 (getpoint "\nPick a point within boundary: ")) ) (setq aa (rtos (* aa 1.0) 2 2)) (command "_TEXT" pt2 "3" "" aa) (command "_-BHATCH" "_Properties" "ANSI31" " ") ) (defun C:HA ( / pt1 pt2 pt3 a1 aa) (command "_-BHATCH" "_Properties" "ANSI31" " ") ) Citer Dessinateur AutoCAD, Modeleur BIM, consultant informatique logiciels métier Lenovo ThinkStation P330 i9 9900K 32Gb RAM 512 SSD + 1To GstarCAD, Fisa-CAD, Revit, FisaBIM CVC, Microsoft Office PlaquetteDeplianteMars2024.pdf
Messages recommandés