lili2006 Posté(e) le 9 novembre 2010 Posté(e) le 9 novembre 2010 Bonjour à toutes et tous, Peut-être que ma demande existe déjà,... Voilà, j'ai deux types de texte (Style 1 et style 2 sur l'image ci dessous) => http://www.hostingpics.net/viewer.php?id=804934selection_texte.png Style 1, exemple => 2HA16x5.50m Style 2, exemple => 10HA14x4.00m e=18cm Il faudrait que je puisse récupérer ces infos sous EXcel de cette façon là => http://www.hebergementimages.com/image-b42e061b55e172a78b4b40d9dcd9d22e_selection-texte2.jpg.html Est-ce réalisable ? Merci d'avance, Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
Carboleum Posté(e) le 9 novembre 2010 Posté(e) le 9 novembre 2010 ceci devrait t'aider: (mapcar 'read (read (strcat "(\"" (vl-string-subst "\"\"" "HA" (vl-string-subst "\"\"" "x" (vl-string-subst "\"\"" "e=" "10HA14x4.00m e=18cm"))) "\")"))) pour la connection avec xls: http://www.cadxp.com/sujetXForum-29763.htm bon code! Carboléüm, qui dessine aussi à la main -> Carboleum's sketchblog
(gile) Posté(e) le 9 novembre 2010 Posté(e) le 9 novembre 2010 Salut, Tous les textes contenant HA sont sélectionnés, le résultat est inscrit dans un fichier csv (je n'ai plus Excel pour tester) (defun c:lili2006 (/ ss filename sep file n ent) (if (and (setq ss (ssget "_X" '((0 . "TEXT") (1 . "*HA*")))) (setq filename (getfiled "Créer un fichier CSV" "" "csv" 1)) ) (progn (setq sep (vl-registry-read "HKEY_CURRENT_USER\\Control Panel\\International" "sList") file (open filename "w") ) (write-line (strcat "nb de barre" sep "diam (mm)" sep "long (m)" sep "espt") file) (repeat (setq n (sslength ss)) (setq str (gc:string-subst-all "" " " (cdr (assoc 1 (entget (ssname ss (setq n (1- n))))))) ) (write-line (vl-string-subst sep "HA" (vl-string-subst sep "x" (if (wcmatch str "*m*e=*") (vl-string-subst sep "me=" (if (wcmatch str "*alternées*") (vl-string-subst sep "cm" str ) (vl-string-right-trim "cm" str ) ) ) (vl-string-right-trim "m" str ) ) (vl-string-search "HA" str) ) ) file ) ) (close file) ) ) (princ) ) ;; gc:string-subst-all ;; Substitue toutes les occurences d'une chaine par une autre dans une chaine ;; ;; Arguments ;; new : la chaine à substituer au modèle ;; old : le modèle à remplacer ;; str : la chaine ;; ;; Exemple ;; (string-subst-all "/" " " "Oui Non Peut-être") -> "Oui/Non/Peut-être" (defun gc:string-subst-all (new old str) (while (vl-string-search old str) (setq str (vl-string-subst new old str)) ) str ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
didier Posté(e) le 9 novembre 2010 Posté(e) le 9 novembre 2010 Coucou je suis d'accord avec le corps des routines, j'ai pas bien regardé mais bonje viens plus préciser le mode de sélectionj'ai cru comprendre que Lili2006 avait créé deux stylesdons on fait deux sélections en filtrant le styleet ensuite on traite... (setq jeusel1 (ssget "x" (list (cons 1 "style1") (cons 0 "TEXT") ) ) jeusel2 (ssget "x" (list (cons 1 "style2") (cons 0 "TEXT") ) ) ) amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
lili2006 Posté(e) le 11 novembre 2010 Auteur Posté(e) le 11 novembre 2010 Bonjour à toutes et tous, Je n'ai pu tester que maintenant, étant en déplacement. Carboleum, Merci d'avoir regardé mon pb mais je suis bien incapable d'exploiter tes lignes de code,... La routine de (gile) fonctionne à une vitesse impressionnante (641 lignes le tps d'enregistrer le fichier !!) Par contre, j'ai un soucis avec le rangement sur certaine ligne. Mais peut-être est-ce lié au "format d'écriture" sur AutoCAD. Un exemple. http://img.ahst.fr/data/images/arma1beb.jpg Quoi qu'il arrive, là aussi un grand merci à Gilles, :P Merci Didier, deux styles Tu veux dire avec l'information "espt" (espacement) ou sans ? Là aussi, je ne sais que faire de tes lignes de code, mais te remercie d'avoir regardé ou bien de m'en dire un peu plus,.. Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
didier Posté(e) le 11 novembre 2010 Posté(e) le 11 novembre 2010 coucou j'avais compris dans le problème que tu posaisque tu avais deux styles de texte différentset que en fonction du style il fallait faire une choseen fonction de l'autre autre chose donc je ne t'ai donné que le moyen de faire deux jeux de sélectionsensuite on applique la routine sur l'un puis sur l"autre sans faire trop de test à l'intérieur de la routine puisque c'est le style de texte qui commande l'action. amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
lili2006 Posté(e) le 11 novembre 2010 Auteur Posté(e) le 11 novembre 2010 Re, Salut Didier, Ok ! Merci pour ce complément d'info. Non, je n'avais pas fais attention qu'il y avait 2 styles de textes différents et j'aurai pu, effectivement, devoir trié selon ce critère. En fait, non ! Style 1 => Barres longitudinales (Nombre, mais pas d'espacements constants => Exemple ligne 2 sur l'image ci-dessus)) Style 2 => Barres type "cadre" (nécessite un espacement constant pour dénombrer => Exemple ligne 5 de cette même image) le moyen de faire deux jeux de sélectionsensuite on applique la routine sur l'un puis sur l"autre Compris, Merci encore de ton intervention, Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
(gile) Posté(e) le 11 novembre 2010 Posté(e) le 11 novembre 2010 Par contre, j'ai un soucis avec le rangement sur certaine ligne. Mais peut-être est-ce lié au "format d'écriture" sur AutoCAD. Tu parlais de 2 "styles de texte : Style 1, exemple => 2HA16x5.50m Style 2, exemple => 10HA14x4.00m e=18cm Hors, avec HA, dans ton dessin on trouve aussi (entre autre) : - 44HA16 x8.00m e=12cm alternées - 2x2HA14x4.00m - 6HA8x12.00+1.70m e=50 Si j'ai eu la présence d'esprit de supprimer tous les espaces au début du traitement de la chaîne, je ne pouvais pas deviner (et encore moins la machine à laquelle parle le programme) qu'il existait d'autres formats... J'ai modifié le code pour que 2x2 soit écrit dans la première colonne et 12.00+1.70 dans la troisième. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
lili2006 Posté(e) le 11 novembre 2010 Auteur Posté(e) le 11 novembre 2010 Re, Si j'ai eu la présence d'esprit de supprimer tous les espaces au début du traitement de la chaîne, je ne pouvais pas deviner (et encore moins la machine à laquelle parle le programme) qu'il existait d'autres formats... Hum hum, :o Il est clair que je n'ai pas la capacité de définir clairement un cahier des charges comme sait si bien le faire lecrabe, ;) En tout cas, ton analyse du besoin est juste Gilles puisque tout semble fonctionner nickel chrome (il faut que je compare un peu plus le résultat .csv du plan mais je ne vois pas pourquoi ce ne serait pas juste à priori,...) Pour les tetxes de type "12.00+1.70", il suffit de rajouter le "=" devant, http://img.ahst.fr/data/images/arma2.jpg Est-ce qu'il est difficile sur cette routine de faire comme sur SELTEXT, un filtrage par fenêtre de capture ? Encore un grand merci pour ton aide, EDIT : - 44HA16 x8.00m e=12cm alternées Exact ! Je ne m'en étais pas aperçu ! http://img.ahst.fr/data/images/arma3.jpg Tu as donc du les exclure (Alors que sur la version précédente, ils l'étaient) alors qu'il faut effectivement les garder. En fait, toutes ces infos correspondent au ferraillage complémentaires de dalles (planchers) en béton armé. Pour ce style (avec en plus "alternées"), si il n'est pas possible de créer une nouvelle cellule,alors j'utiliserai SELTEXT pour les identifier et traiterai "manuellement" ceux-là, à moins que tu n'ai une meilleure idée ? Un extrait du plan dans sa globalité : http://img.ahst.fr/data/images/arma4.jpg Est-il alors également possible de récupérer les informations des Treillis soudés (quadrillage régulier de barres d'armatures HA matérialisé ici par un trait bleu de 2.40m (correspondant à la largeur standard d'un panneau)) du type "ST60 6.00x2.40" ? (c'est un exemple car il existe d'autres types de références de panneaux correspondant à des sections d'aciers différentes). Il serait pas mal aussi de pouvoir les séparer des autres armatures (de type "filantes" ou "cadres"). http://img.ahst.fr/data/images/arma5.jpg Un extrait de plan de ferraillage (Complément technique: Une dalle (plancher) doit reprendre des efforts de flexion, donc de traction en fibre inférieure de la dalle en zone courante et fibre supérieure sur appuis (type murs, poutres,..), le béton ne supportant que très mal la traction (d'ou la naissance du Béton armé), c'est alors l'acier qui récupère les efforts de traction dans la dalle. Le béton ne sert alors que d'enrobage dans ces zones tendus)) Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
(gile) Posté(e) le 11 novembre 2010 Posté(e) le 11 novembre 2010 Le code est modifié pour mettre 'alternées' dans la colonne suivante. Est-il alors également possible de récupérer les informations des Treillis soudés (quadrillage régulier de barres d'armatures HA matérialisé ici par un trait bleu de 2.40m (correspondant à la largeur standard d'un panneau)) du type "ST60 6.00x2.40" ? (c'est un exemple car il existe d'autres types de références de panneaux correspondant à des sections d'aciers différentes). Certainement,mais fais l'effort de donner :- ce qui caractérise les textes à sélectionner (permet de les sélectionner tous en excluant les autres ex : commencent par ST)- ce qui permet de séparer les données (espace 'x')- répertorier les différents formats pour ce type. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
lili2006 Posté(e) le 11 novembre 2010 Auteur Posté(e) le 11 novembre 2010 Re, Certainement,mais fais l'effort de donner :- ce qui caractérise les textes à sélectionner (permet de les sélectionner tous en excluant les autres ex : commencent par ST)- ce qui permet de séparer les données (espace 'x')- répertorier les différents formats pour ce type. Oui, oui bien sur mais je voulais savoir d'abord si c'était faisable (je pensais bien que oui pour être honnête) et surtout si tu voudrais bien me donner la main (j'ai longuement hésité avant de poster cette demande car je la trouve bien spécifique et elle risque bien de n'intéresser que moi, et c'est là ou je suis gêné,... :cool: ) Je regarde tout ça en détail et t'en remercie (une fois de plus) par avance,... J'espère vraiment un jour pouvoir te rendre la pareille mais j'ai bien peur qu'il n'en sera jamais rien,...(Il est plus facile pour moi de donner que d'accepter de recevoir,... :exclam: ) Je viens de tester la nouvelle mouture, tout roule ! :P http://img.ahst.fr/data/images/arma6.jpg Dés que l'info change, le "rangement" aussi, mais je vois mal comment on peut référencer (du moins prendre en compte) tous ces cas de figures,...Et je ne pense pas qu'il soit bien long de rectifier ces quelques lignes "manuellement", la routine fait 95 % du travail de rangement et de dénombrement. Il faut cependant filtrer l'ensemble des armatures et TS du plan, c'est pour ça que je vais réfléchir à comment recenser tous les cas existants sur cette zone de 15 000 m² et ce, sur les deux faces de la dalle (en lit supérieur, il peut y avoir des dénominations encore différentes,..) Dés que j'y vois plus clair sur la définition du besoin, je revient Merci encore pour ton soutien et ton aide, (Je ne pensais pas que c'était aussi galère une affaire comme ça,...d'habitude, on fait le métré à l'avancement et par calques, il suffit d'une "méga charrette" pour palier au plus urgent (les toupies de béton qui attendent ou déverser,...) et après on perd bien plus de temps, sans parler des risques d'erreurs,.... Encore une fois,une bonne 'organisation du travail est primordiale,...) Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
lili2006 Posté(e) le 11 novembre 2010 Auteur Posté(e) le 11 novembre 2010 Re, Je pense avoir recensé les cas les plus "classiques". Un exemple sur un plan depuis la routine en l'état,Un exemple de formatage souhaitable (si réalisable "facilement", bien entendu, sinon c'est déjà très bien comme ça,...) Les autres cas doivent rester à l'interprétation du métreur. Est-ce qu'il est difficile sur cette routine de faire comme sur SELTEXT, un filtrage par fenêtre de capture ? Une idée ? Merci encore, Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
lili2006 Posté(e) le 15 novembre 2010 Auteur Posté(e) le 15 novembre 2010 Bonjour à toutes et tous, Pour le moment, je traite les "TS" avec SELTEXT, puis TotalPERIM, cela semble bien fonctionner, Merci encore de ton aide (gile), :D Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
lili2006 Posté(e) le 15 novembre 2010 Auteur Posté(e) le 15 novembre 2010 Re, Tiens, un autre format que je n'avais pas vu,... :exclam: (Le "APRES" correspond bien entendu à une correction "manuelle",...) http://img.ahst.fr/data/images/arma7.jpg Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
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