yaya Posté(e) le 6 septembre 2022 Partager Posté(e) le 6 septembre 2022 bonjour, j'utilise autocad 2022, et j'ai récupérer le programme en LISP de "gile(CAD)" nommé "Pline_block". je l'ai modifié pour mes besoins, mais voilà je voudrais exécuter une opération (multiplication) entre 2 attributs (SURF-PIECE x HAUTEUR_PIECE) pour inscrire le résultat dan un 3ème (VOLUME)...! quelqu'un peut-il m'aider ? svp ?... je joins le fichier .dwg test_attribut.dwg Lien vers le commentaire Partager sur d’autres sites More sharing options...
JPhil Posté(e) le 6 septembre 2022 Partager Posté(e) le 6 septembre 2022 Bonjour, Pour t'aider il nous faut le lisp modifié. Lien vers le commentaire Partager sur d’autres sites More sharing options...
yaya Posté(e) le 6 septembre 2022 Auteur Partager Posté(e) le 6 septembre 2022 bonjour, ok voila le lisp... BIL.lsp Lien vers le commentaire Partager sur d’autres sites More sharing options...
yaya Posté(e) le 6 septembre 2022 Auteur Partager Posté(e) le 6 septembre 2022 avez-vous besoin de tous les LISP associés ?... et les DCL aussi, ou non ?... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Luna Posté(e) le 6 septembre 2022 Partager Posté(e) le 6 septembre 2022 Coucou, Je présume que c'est ici que tu aimerais que ton calcul fonctionne (mais ce n'est actuellement pas le cas), n'est-ce pas ? 129 ;; boite dialogue du volume 130 (setq vol (* aire atrib_04)) 131 ;(if (not (setq vol (geta07 "8/11. volume de la pièce"))) 132 ; (setq vol "") 133 ;) Si je comprends bien le programme, ta variable 'atrib_04' est une chaîne de caractères standard tandis que ta variable 'aire' correspond à l'expression d'un champ dynamique. Autrement dit, il faut que ta variable 'vol' soit elle aussi un champ dynamique ! Donc ce n'est pas une simple multiplication entre 2 attributs malheureusement. Il s'agit en plus de cela d'un champ dynamique devant faire la multiplication entre un nombre et un autre champ dynamique correspondant à la propriété d'un objet. J'ai regardé vite fait sur AutoCAD le résultat d'un tel champ : %<\AcExpr (56*%<\_FldPtr 1915583967872>%) \f "%lu2">% Avec '56*' correspondant à une valeur fixe au pif que j'ai rentré pour la multiplication et donc '%<\_FldPtr 1915583967872>%' correspondant au champ dynamique faisant appel à la propriété de ta polyligne. Je n'ai malheureusement jamais vraiment étudié cette partie là concernant les champs dynamique donc j'avoue ne pas savoir comment récupérer l'ID d'un autre champ dynamique. Peut-être que @(gile) a plus d'infos à ce sujet mais s'il ne l'a pas fait dans son programme originel, c'est certainement pour une bonne raison ! Bisous, Luna Lien vers le commentaire Partager sur d’autres sites More sharing options...
yaya Posté(e) le 6 septembre 2022 Auteur Partager Posté(e) le 6 septembre 2022 bonjour Luna, merci de ta réponse... apparemment cela ne doit pas être possible, ou du moins facilement faisable moyennant un bon code bien ficelé..!! mais je vais en rester là, je garde mon petit prog, sauf que je vais y retirer le calcul du volume, je vais faire autrement... merci encore ! 🙂 Lien vers le commentaire Partager sur d’autres sites More sharing options...
didier Posté(e) le 6 septembre 2022 Partager Posté(e) le 6 septembre 2022 Bonjour @yaya Je ne suis pas sûr d'avoir compris Les attributs, tu les trouves où ? En utilisant un LSP additionnel ou en interrogeant quelque chose dans le dessin ? Ça ne me semble pas bien compliqué ce que tu demandes, sauf si tu veux des champs qui se mettent à jour. Mais il est possible que je sois à côté de la plaque. Amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD Lien vers le commentaire Partager sur d’autres sites More sharing options...
yaya Posté(e) le 7 septembre 2022 Auteur Partager Posté(e) le 7 septembre 2022 Il y a 23 heures, didier a dit : Bonjour @yaya Je ne suis pas sûr d'avoir compris Les attributs, tu les trouves où ? En utilisant un LSP additionnel ou en interrogeant quelque chose dans le dessin ? Ça ne me semble pas bien compliqué ce que tu demandes, sauf si tu veux des champs qui se mettent à jour. Mais il est possible que je sois à côté de la plaque. Amicalement bonjour didier, les attributs sont ceux que je renseigne pour la référence de bloc. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Curlygoth Posté(e) le 7 septembre 2022 Partager Posté(e) le 7 septembre 2022 tu peux créer aussi un champ formule dans le lequel tu fais l'opération ^^ Mon site Web (en cours de construction) : Site DA-CODE de @didier Lien vers le commentaire Partager sur d’autres sites More sharing options...
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