Otarie Posté(e) le 6 novembre Posté(e) le 6 novembre Bonjour à tous, Je souhaite créer des hachures qui ne sont pas forcément carrées, c'est-à-dire qui n'ont pas le même décalage en X et en Y. Pour des hachures simples comme un mur en parpaings de 50 cm de large par 20 cm de hauteur avec un joint de 2 cm entre chaque parpaing, j'arrive à créer un fichier .pat à la main via un éditeur de texte. Mais je souhaiterai utiliser un Lisp qui me permettrait de créer des hachures plus compliquées. En cherchant je suis tombé sur le Lisp HatchMaker.lsp Le problème est que ce Lisp ne permet que la création de hachures selon un carré de 1 par 1. Or dans l'exemple d'un parpaing de 50 x 20, le décalage en X n'est pas le même que celui en Y, et je n'arrive même pas à faire une hachure aussi simple satisfaisante avec ce Lisp, alors des hachures plus compliquées... Donc, auriez-vous une solution (un autre Lisp ou alors comment bien utiliser ce Lisp que je ne sais peut-être pas faire fonctionner correctement 😅) ou bien sauriez-vous ce qu'il faut modifier dans ce Lisp pour pouvoir utiliser une zone personnalisée (par homogène en X et en Y) pour la création des hachures ? Merci d'avance ! Citer
didier Posté(e) le 6 novembre Posté(e) le 6 novembre Bonjour @Otarie C'est le principe des hachures d'être définies dans un carré de 1 par 1. Donc, il faut travailler avec un ratio. C'est à cause de cette limitation que les hachures "aléatoires" comme gravel deviennent incohérentes quand les valeurs de coordonnées grandissent démesurément. Le ratio de départ est "mis à l'échelle" et au loin le 0.00001 d'écart se révèle un grand écart. Amicalement Citer Éternel débutant... Mon site perso : Programmer dans AutoCAD
La Lozère Posté(e) le 6 novembre Posté(e) le 6 novembre il y a 9 minutes, didier a dit : C'est à cause de cette limitation que les hachures "aléatoires" comme gravel deviennent incohérentes quand les valeurs de coordonnées grandissent démesurément. Le ratio de départ est "mis à l'échelle" et au loin le 0.00001 d'écart se révèle un grand écart. Problème pouvant être corrigé en redéfinissant le point d'origine de la hachure. Citer www.cad-is.fr Autocad Map 2021 - Covadis/Autopiste V18.0c Pisser sous la douche ne suffira pas
Otarie Posté(e) le 6 novembre Auteur Posté(e) le 6 novembre Bonjour @didier Je vous remercie bien pour votre réponse, mais je ne comprends pas trop votre phrase indiquant que Citation C'est le principe des hachures d'être définies dans un carré de 1 par 1. Car quand je regarde la définition des fichiers sur le site d'Autodesk, je n'ai pas vu de référence à une définition d'un ratio 1x1. Il est indiqué le format d'une ligne de définition des hachures : angle, x-origin, y-origin, delta-x, delta-y, dash-1, dash-2 Je pense avoir compris le principe et j'arrive à faire (par exemple) une hachure de parpaings 50 x 20 : 0,0,.02,.26,.22,.50,-.02 0,0,.22,.26,.22,.50,-.02 90,.50,.02,.22,.26,.20,-.24 90,0,.02,.22,.26,.20,-.24 Je pensais que les hachures d'Autocad étaient constituées de droites (lignes infinies) sur lesquelles on appliquait des espaces (traits négatifs) que l'on répétait avec un espacement en X et en Y (espacement qui pouvait ne pas être uniforme en X et en Y). Je pensais (sûrement naïvement) également que le décalage que l'on pouvait trouver sur certaines hachures provenaient du nombre de chiffres après la virgule des origines et des deltas, et donc de la non-coïncidence exacte des lignes contenues dans la définition de la hachure. Et que lorsque l'on créait une hachure à des coordonnées très éloignées de 0,0 (par exemple à quelques millions en X et en Y en coordonnées Lambert Conique Conforme), si les lignes au départ ne coïncidaient pas exactement, on se retrouvaient avec des décalages proportionnels aux coordonnées où on créait la hachure (car la définition restait à l'origine 0,0) ; problème qui peut-être corrigé comme l'a dit @La Lozère par une redéfinition de l'origine des hachures proche de l'endroit où elles ont été créées. Il faudrait donc que que je modifie ce Lisp HatchMaker pour arriver à recréer des hachures qui n'ont pas un décalage uniforme en X et en Y (comme l'exemple de cette hachure "parpaings" qui a un delta-x de 0.26 et un delta-y de 0.22 sur la 1ère ligne). Citer
didier Posté(e) le 6 novembre Posté(e) le 6 novembre Bonjour @Otarie Ce que vous dîtes n'est pas faux, mais incomplet. Vous parlez des hachures qui ne sont que des lignes espacées, mais parallèles. Celles-ci ne subissent aucune déformation si fait des coordonnées, les lignes sont toujours parallèles même à des millions de kilomètres. Pour ces types de hachures (ANSI) il n'y a jamais besoin de spécifier une nouvelle origine pour se rapprocher du dessin. Ce que vous voulez faire est un motif, c'est là que le carré de 1 par 1 prend son sens. Amicalement Citer Éternel débutant... Mon site perso : Programmer dans AutoCAD
Olivier Eckmann Posté(e) le 6 novembre Posté(e) le 6 novembre Bonjour, Quelque chose comme cela, créé avec le lisp HatchMarker.lsp Olivier PAVE_50-20.pat Citer
Otarie Posté(e) le 8 novembre Auteur Posté(e) le 8 novembre Bonjour @didier, Bonjour @Olivier Eckmann Je vous remercie pour votre réponse, et je suis désolé si je suis long à la détente, mais je ne comprends toujours pas la différence entre des "hachures" et des "motifs". Les "motifs" comme "GRAVEL" sont, il me semble (ou alors je n'ai rien compris, mais c'est fort possible), également définis par des droites (lignes infinies) dont on définit les segments pleins (valeur positive) et les segments vides (valeur négative comme dans la définition des types de lignes .lin), leur origine, leur répétition le long de la droite et le décalage de la droite. Je ne vois pas de différence dans leur définition. Ou bien alors Autocad les traite différemment : mais en se basant sur quoi pour les différencier ? Bon sinon je pense que je vais refaire le programme de création de fichier .pat, en demandant à l'utilisateur premièrement la sélection du rectangle (je ne parle pas de carré 😅) englobant les ligne de la hachure : la largeur de ce rectangle permettra la répétition en X des lignes et la hauteur en Y. Et deuxièmement la sélection des lignes (et points) constituant la hachure. Dans une première version le programme exporterait toutes les lignes et points de la sélection. Dans une seconde version du programme, j'aimerai l'optimiser de telle sorte que des lignes coplanaires ne soient définies que par une seule droite (et non plusieurs comme dans la première version). À voir si j'arrive à faire quelque chose (ça ne sera sûrement pas très optimisé vu mon niveau)... Le 06/11/2024 à 20:18, Olivier Eckmann a dit : Bonjour, Quelque chose comme cela, créé avec le lisp HatchMarker.lsp Olivier PAVE_50-20.pat 234.78 Ko · 10 téléchargements Je vous remercie bien pour l'envoi de ce fichier, mais celui-ci comporte plus de 4000 lignes, alors que la définition d'un motif de pavés ne nécessite que 4 lignes minimum... 😓 Citer
Olivier Eckmann Posté(e) le 8 novembre Posté(e) le 8 novembre Bonjour @Otarie, Pour pouvoir utiliser le programme tel quel, il faut définir un carré de 1 par 1. Dans votre cas, le pavé fait 50 par 20 plus 2 pour le joint, donc un motif de 52 par 22. Il suffit de faire un réseau de 22 par 52 pavés de base, puis un facteur d'échelle de 1/1144, puisque l'on a 52*22=1144 pavés dans chaque sens. A partir de là on a la base du motif de répétition carré et on peut utiliser le programme HatchMarker.lsp Cela crée un fichier de définition très long, mais ça peut s'appliquer quelque soit le motif. Par exemple si vous avez des coins biseautés dans les angles du pavé, ça fonctionne aussi simplement. Si vous ne dessinez que des pavés rectangulaires, alors oui, ce programme n'est pas le plus optimisé. Olivier Citer
Otarie Posté(e) le 8 novembre Auteur Posté(e) le 8 novembre Bonjour @Olivier Eckmann Je vous remercie, je comprends mieux maintenant les 4000 lignes du fichier .pat 😅 Mon souhait à la base était de créer des hachures aux bonnes dimensions métriques pour que l'utilisateur ne se pose pas la question de l'échelle de la hachure et qu'en l'insérant à une échelle de 1, on ait les bonnes dimensions (par exemple 50 cm par 20 cm pour un parpaing standard). Parce que toutes les hachures récupérées à droite ou à gauche ne sont jamais à des échelles équivalentes : il faut toujours "jongler" avec les échelles pour avoir quelque chose de satisfaisant. Et certains hachures ne sont pas forcément bien définies (ni même bien dessinées), c'est dans cette optique que je voulais les refaire pour avoir des choses cohérentes. Je pense que je vais donc me lancer sur une réécriture complète du programme Lisp de création de hachures. Merci encore. Citer
Otarie Posté(e) le 10 novembre Auteur Posté(e) le 10 novembre Bon, je viens de me rendre compte de ma bêtise... En fait le problème d'essayer de faire des hachures dans un rectangle (et non un carré), c'est qu'il n'y a pas de répétition des lignes (selon les axes X et Y de la ligne) : en effet, avec un carré, il y a répétition (des fois loin du carré de base, mais ça permet de créer un espace vide, créé par une distance négative dans les "dash" de la définition de la ligne). Donc je pense que je vais me faire à la main toutes les hachures simples (c'est-à-dire celles qui ont des angles de linge de 0° ou de 90°). Pour les autres hachures (de type pierres ou autres), je vais les faire avec le lisp HatchMaker. Il faut bien par contre bien avoir un angle de base de 0 (variable ANGBASE) et un angle dans le sens trigonométrique (variable ANDIR à 0), sinon on a des surprises... 😅 Citer
(gile) Posté(e) le 10 novembre Posté(e) le 10 novembre Salut, Je trouve que le fichier joint illustre bien comment décrire un motif de hachure. Tu peux trouver des exemple de motif non orthogonaux dans le lien de cette réponse, de celle là. ou encore celle là. HatchPattern.dwg Citer Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Otarie Posté(e) le 11 novembre Auteur Posté(e) le 11 novembre Bonjour @(gile) Merci bien pour ce fichier qui a le mérite de mettre en forme les explications du site Autodesk. Je vous remercie également pour les liens qui sont très instructifs, notamment sur les pavages apériodiques ! Citer
Otarie Posté(e) le 14 novembre Auteur Posté(e) le 14 novembre Bonjour, Je revenais vers vous, car je me confronte à un problème dans la définition d'une hachure d'ardoise en losange (de 20 x 20 avec angle biseauté) comme l'exemple ci-dessous : Voici la définition du fichier .pat que j'ai créé à la main : ;%VERSION=1.0 ;%UNITS=M *MES_Ardoise-Losange,Ardoises en losange 20 x 20 ;%TYPE=MODEL 0,.09857864,0,.12,.09857864,.04284271,-.19715729 45,.14142136,0,.15455844,-.01514719,.13941125,-7.66733320 45,.38142136,0,.15455844,-.01514719,.13941125,-7.66733320 45,.62142136,0,.15455844,-.01514719,.13941125,-7.66733320 45,.86142136,0,.15455844,-.01514719,.13941125,-7.66733320 45,1.10142136,0,.15455844,-.01514719,.13941125,-7.66733320 135,.09857864,0,.15455844,.01514719,.13941125,-7.66733320 135,.33857864,0,.15455844,.01514719,.13941125,-7.66733320 135,.57857864,0,.15455844,.01514719,.13941125,-7.66733320 135,.81857864,0,.15455844,.01514719,.13941125,-7.66733320 135,1.05857864,0,.15455844,.01514719,.13941125,-7.66733320 Mon problème est la jointure des lignes (même proche des lignes de base) : J'ai pourtant pris les dimensions avec 8 chiffres après la virgule... 😓 Auriez-vous une solution à ce problème ? Je suis désolé si c'est une question de débutant ou si la hachure existe déjà, mais j'aimerai essayer de bien comprendre le fonctionnement des hachures sous Autocad. Merci d'avance ! Citer
La Lozère Posté(e) le 14 novembre Posté(e) le 14 novembre Bonjour, Sujet évoqué plus haut. Trop loin de l'origine. Et encore tu es pas trop mal, il faut vraiment zoomer. Solution, redéfinir le point de d'origine de la hachure ou passer à 15-20-30 chiffres après la virgule. Citer www.cad-is.fr Autocad Map 2021 - Covadis/Autopiste V18.0c Pisser sous la douche ne suffira pas
Otarie Posté(e) le 14 novembre Auteur Posté(e) le 14 novembre Bonjour @La Lozère Je te remercie pour ta réponse, mais il ne me semble pas que ce soit un problème d'origine, car ça le fait même proche de l'origine de la hachure. Il est vrai qu'il faut zoomer, mais je ne trouve pas ça très propre... 😅 Et comment peut-on passer à plus de 8 chiffres après la virgule ? La commande "_UNITS" ne permet que d'en afficher 8. Merci d'avance ! Citer
didier Posté(e) le 14 novembre Posté(e) le 14 novembre Bonjour 15-20-30 chiffres après la virgule. On se calme !, Dois-je rappeler qu'AutoCAD travaille avec quinze chiffres significatifs ! "Significatif" cela veut dire : Tous les chiffres y compris la partie entière, donc quand vous êtes en Lambert 93 seulement six chiffres décimaux. Amicalement 1 Citer Éternel débutant... Mon site perso : Programmer dans AutoCAD
La Lozère Posté(e) le 14 novembre Posté(e) le 14 novembre Le problème existe-t-il si tu fais une hachure proche du 0,0 du SCG ? il y a 7 minutes, didier a dit : Bonjour 15-20-30 chiffres après la virgule. On se calme !, Dois-je rappeler qu'AutoCAD travaille avec quinze chiffres significatifs ! "Significatif" cela veut dire : Tous les chiffres y compris la partie entière, donc quand vous êtes en Lambert 93 seulement six chiffres décimaux. Amicalement Ok, j'admet.... Je me suis enflammé 😂 Mais je reste persuadé que redéfinir l'origine de la hachure est LA solution. Ci-dessous 2 hachures identiques qui se trouvent en X=570537.155 et Y=6717955.731. Donc bien loin de l'origine. A gauche, sans redéfinition de l'origine, à droite avec redéfinition de l'origine de la hachure. Et si je zoom, 0 problème de raccord. Si tu ne veux pas redéfinir l'origine, je ne vois pas. 1 Citer www.cad-is.fr Autocad Map 2021 - Covadis/Autopiste V18.0c Pisser sous la douche ne suffira pas
Otarie Posté(e) le 14 novembre Auteur Posté(e) le 14 novembre il y a 21 minutes, La Lozère a dit : Le problème existe-t-il si tu fais une hachure proche du 0,0 du SCG ? Oui j'ai créé une hachure proche du 0,0 du SCG pour mes tests. Je suis bien au courant de ce problème 😅, travaillant régulièrement en coordonnées Lambert Conique Conforme, et je redéfinis toujours l'origine des hachures proche des hachures. Citer
didier Posté(e) le 14 novembre Posté(e) le 14 novembre Bonjour @La Lozère On mélange tout là !!! Le fait de redéfinir l'origine permet JUSTEMENT de pallier le souci de dispersion de la précision des hachures C'est un peu comme un SCU local pour les hachures ! Lambert Conique Conforme, C'est la projection qui est conforme, pas les coordonnées. Amicalement tout de même ! Citer Éternel débutant... Mon site perso : Programmer dans AutoCAD
Otarie Posté(e) le 14 novembre Auteur Posté(e) le 14 novembre il y a 4 minutes, didier a dit : Lambert Conique Conforme, C'est la projection qui est conforme, pas les coordonnées. J'ai corrigé, mais vu qu'il y a 9 projections Lambert Coniques Conformes, je pense que ça pouvait également s'écrire au pluriel... 😉 Citer
Olivier Eckmann Posté(e) le 14 novembre Posté(e) le 14 novembre Pour afficher plus de 8 décimales, soit mettre un facteur 1000 à sa figure, puis une fois obtenu 8 décimales, décaler de 3 décimales vers la gauche. Sinon, il faut recourir à du Lisp. Par exemple pour 16 chiffres (partie entière et décimale confondues), cette expression permet de récupérer le X du point cliqué (rtos (car (getpoint "\nCliquer un point")) 2 16) Citer
Otarie Posté(e) le 14 novembre Auteur Posté(e) le 14 novembre Bonjour @Olivier Eckmann Je vous remercie bien, je vais essayer ça ! Citer
Otarie Posté(e) le 14 novembre Auteur Posté(e) le 14 novembre Bon en fait j'ai trouvé mon erreur. Ça venait des dimensions de la tuile utilisée : j'avais fait des pans coupés avec des dimensions qui ne tombaient pas juste. La conséquence est qu'il n'y avait pas répétition du motif selon l'axe X de la ligne, car le demi-décalage entre chaque tuile n'était pas un multiple de la largeur de la tuile. Bref, j'ai refait avec des dimensions "qui vont bien" et je n'ai plus de décalage. Je vous mets le code du fichier .PAT au cas où. ;%VERSION=1.0 ;%UNITS=M *MES_Ardoises-Losanges,Ardoises en losange 20 x 20 ;%TYPE=MODEL 0,.09899495,0,.12020816,.09899495,.04242641,-.19798990 45,.14142136,0,.155,-.015,.14,-4.62000015 45,.38183767,0,.155,-.015,.14,-4.62000015 45,.62225398,0,.155,-.015,.14,-4.62000015 135,.09899495,0,.155,.015,.14,-4.62000015 135,.33941126,0,.155,.015,.14,-4.62000015 135,.57982757,0,.155,.015,.14,-4.62000015 Citer
(gile) Posté(e) le 15 novembre Posté(e) le 15 novembre Il y a moyen de faire plus simple. *Ardoises_losanges, Ardoises en losange 20 x 20 0, -0.0212132034,0, 0.1166726189,0.0954594155, 0.0424264069,-0.1909188309 225, 0,0, 0.15,-0.015, 0.135,-1.35 315, 0,0, 0.15,0.015, 0.135,-1.35 Citer Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Otarie Posté(e) le 15 novembre Auteur Posté(e) le 15 novembre Bonjour @(gile) Je vous remercie bien, effectivement avec une largeur de 13,5 cm au lieu de 14cm pour les grandes longueurs du losange, on a une répétition sur la droite tous les 1,35 m au lieu des 4,62 m dans mon exemple. Ce qui fait bien un fichier plus simple. Merci encore. Citer
Messages recommandés