Steven Posté(e) le 27 février 2016 Posté(e) le 27 février 2016 Salut à tous, J'ai reçu un dessin dessiné en millimètre. Les surfaces ont été calculées avec des champs, dans lesquels, un facteur de conversion a été fait 0.0001.J'ai modifier l'échelle du dessin pour le mettre en mètre. Toutefois, le facteur de conversion des champs pour les surfaces est toujours à 0.0001. Je souhaiterais les passer tous à 1. Néanmoins, je suis mal barré pour le moment car il faut que je les modifie tous un par un :( Y a-t-il un moyen pour modifier le facteur de conversion de tous les champs, à 1, d'un seul coup, ou existe-t-il un moyen où lorsqu'on modifie l'échelle d'un dessin dans lequel il y a des champs avec un facteur de conversion, ceux-ci se changent automatiquement par rapport à l'échelle dans laquelle on met le dessin?Par exemple, Si je reçois un dessin dessiné en millimètre; facteur de conversion des champs = 0.0001, je modifie l'échelle du dessin en mètre; le facteur de conversion = 1 Je reçois un dessin en centimètre; facteur de conversion = 0.001, je modifie l'échelle du dessin en mètre; le facteur de conversion = 1? Citer Steven________________________________________ Pour le taf; Windows (et ses emmerdes) sinon pas d'AutoCAD. Pour le perso Linux Mint et pas de problèmes. Mais pas d'AutoCAD. En rêve; AutoCAD sous Linux.
lecrabe Posté(e) le 28 février 2016 Posté(e) le 28 février 2016 Hello En resume, il te faudrait sur une selection AutoCAD classique , une routine Lisp/VLisp qui va :- Ne retenir que les champs dynamiques dans la selection - Poser une question du genre "Facteur de conversion (Defaut 0.001): ?"- Appliquer le facteur choisi- Fin de routine Si DWG en MM, alors le perimetre est divise par 1000.0 et la surface par 1000000.0 pour avoir un perimetre en M et une surface en M2 ... Par contre: as tu des attributs dynamiques dans des blocs avec le meme probleme ?Si OUI, la routine doit pouvoir traiter aussi les attributs dynamiques dans les blocs selectionnes ... Waiting for a Lisp/VLisp PRO ? Merci d'avance, Bon WE, lecrabe Citer Autodesk Expert Elite Team
Steven Posté(e) le 28 février 2016 Auteur Posté(e) le 28 février 2016 Par contre: as tu des attributs dynamiques dans des blocs avec le meme probleme ? Salut, En effet, ça peut arriver. Citer Steven________________________________________ Pour le taf; Windows (et ses emmerdes) sinon pas d'AutoCAD. Pour le perso Linux Mint et pas de problèmes. Mais pas d'AutoCAD. En rêve; AutoCAD sous Linux.
didier Posté(e) le 29 février 2016 Posté(e) le 29 février 2016 Coucou Une idée :Taper DWGUNITS et répondre Oui au message "mettre à l'échelle" Amélioration ou pas ? Amitiés Citer Éternel débutant... Mon site perso : Programmer dans AutoCAD
Steven Posté(e) le 29 février 2016 Auteur Posté(e) le 29 février 2016 Salut Didier, Ça ne change rien au facteur de conversion des champs. Citer Steven________________________________________ Pour le taf; Windows (et ses emmerdes) sinon pas d'AutoCAD. Pour le perso Linux Mint et pas de problèmes. Mais pas d'AutoCAD. En rêve; AutoCAD sous Linux.
didier Posté(e) le 29 février 2016 Posté(e) le 29 février 2016 Coucou Désolé pour toi : avoir voulu, avoir pas pu... Amitiés Citer Éternel débutant... Mon site perso : Programmer dans AutoCAD
Olivier Eckmann Posté(e) le 29 février 2016 Posté(e) le 29 février 2016 Bonjour, enregistre en DXF, puis ouvre le avec Notepad++Normalement le facteur de conversion devrait apparaître sous forme [0.001] fait un rechercher/remplacer de[0.001]par [1.0] sauvegarde et réouvre sous AutoCAD, ça devrait fonctionner. Olivier Citer
Steven Posté(e) le 29 février 2016 Auteur Posté(e) le 29 février 2016 Bonjour Olivier, La méthode est intéressante mais elle pose un problème. En effet, il n'y a pas que les conversions des champs qui sont a 0.0001. Il y a aussi des blocs dont l'échelle a été modifiée à 0.0001. Donc, lorsque je modifie le dxf, sous forme de texte et que je remplace tous les 0.0001 par 1, c'est parfais pour les champs mais les blocs sont aussi impactés. Je te laisse imaginer le résultat lorsque j'ouvre mon dessin sur AutoCAD.Quoiqu'il en soit, pour un dessin, la solution DXF <---> Fichier texte peut être bonne, mais lorsqu'on a plusieurs fichiers avec lesquels on a le même soucis, ça risque de vite être lassant. Citer Steven________________________________________ Pour le taf; Windows (et ses emmerdes) sinon pas d'AutoCAD. Pour le perso Linux Mint et pas de problèmes. Mais pas d'AutoCAD. En rêve; AutoCAD sous Linux.
Olivier Eckmann Posté(e) le 29 février 2016 Posté(e) le 29 février 2016 Bonjour, justement, le facteur de conversion est écrit entre crochet [0.001] et non pas comme un simple facteur d'échelle sur un bloc : code DXF 41 42 ou 43 qui sont les échelle en X, Y et Z. Je n'ai pas vérifié, mais je ne suis pas sûr qu'un chiffre écrit entre crochet puisse être autre chose qu'un facteur de conversion d'une formule. Olivier Citer
Steven Posté(e) le 29 février 2016 Auteur Posté(e) le 29 février 2016 En effet, ça fonctionne nettement mieux lorsqu'on met les crochets, avant et après 0.0001 :) Citer Steven________________________________________ Pour le taf; Windows (et ses emmerdes) sinon pas d'AutoCAD. Pour le perso Linux Mint et pas de problèmes. Mais pas d'AutoCAD. En rêve; AutoCAD sous Linux.
lecrabe Posté(e) le 7 mars 2016 Posté(e) le 7 mars 2016 Hello SVP un petit reveil pour les Pros du Lisp/VLisp afin d'obtenir si possible une routine realisant ce que j'ai demande dans mon message du 28/02/2016 12h26 !? Merci d'avance, Bye, lecrabe Citer Autodesk Expert Elite Team
bonuscad Posté(e) le 7 mars 2016 Posté(e) le 7 mars 2016 J'avais récupérer (je ne sais plus où!) ce petit bout de code.A partir de ça, je pense que la mise en oeuvre ne serait pas compliqué (si on ne doit pas aller chercher dans des blocs!), mais je n'ai pas envie de m'y coller... <_< (defun c:getfielentities ( / ent obj) (cond ((setq ent (entsel)) (setq obj (vlax-ename->vla-object (car ent))) (if (vlax-method-applicable-p obj "FIELDCODE") (alert (vlax-invoke-method obj "FIELDCODE")) ) ) ) (prin1) ) Citer Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
Steven Posté(e) le 11 mars 2016 Auteur Posté(e) le 11 mars 2016 Salut Bonuscad, Désolé pour la réponse tardive, je voulais d'abord tester avant de répondre ;) J'ai essayé mais ça n'a pas l'air de fonctionner.Mais bon, ça n'est pas très grave, c'est un cas de figure qui se présenta rarement la modification du dxf en format texte devrait suffire ;) Citer Steven________________________________________ Pour le taf; Windows (et ses emmerdes) sinon pas d'AutoCAD. Pour le perso Linux Mint et pas de problèmes. Mais pas d'AutoCAD. En rêve; AutoCAD sous Linux.
bonuscad Posté(e) le 11 mars 2016 Posté(e) le 11 mars 2016 J'ai essayé mais ça n'a pas l'air de fonctionner. Ha bon! cela ne t'affiche pas la syntaxe du champ dans une boite de dialogue? En fait j'avais rapidement essayé d'aller plus loin, mais j'ai l'impression qu'il faudrait effacer le champ pour en recréer un identique à nouveau avec le terme modifié à sa convenance car l'essai de mise à jour du champ n'a pas fonctionné (ou je ne sais pas faire). Citer Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
Steven Posté(e) le 11 mars 2016 Auteur Posté(e) le 11 mars 2016 Ha bon! cela ne t'affiche pas la syntaxe du champ dans une boite de dialogue? Si, en fait il y a ce message: http://img11.hostingpics.net/thumbs/mini_821806acaderreurgetfieldentities.png Citer Steven________________________________________ Pour le taf; Windows (et ses emmerdes) sinon pas d'AutoCAD. Pour le perso Linux Mint et pas de problèmes. Mais pas d'AutoCAD. En rêve; AutoCAD sous Linux.
Messages recommandés