NBAMBOUCAD
Membres-
Compteur de contenus
16 -
Inscription
-
Dernière visite
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par NBAMBOUCAD
-
Ah d'accord, ouais ça marche tip top. Ah et j'ai remarqué un petit défaut pour l'attribution des valeurs du champs "*_TYPE", le programme applique les règles d'attribution de la liste "l_der" à toutes les lignes possédant un champ du type "*_TYPE", même ceux ne se trouvant pas dans la liste "l_der". Pourrait-on limiter cette attribution au seuls éléments de la liste? Merci!!
-
Ah super, mais quand j'applique le programme les entiers on ensuite la valeur ("DefaultVal" . 0.0), c'est ce que je constate après avoir fait: (foreach i (caddr (ade_odtabledefn "A_RE")) (print i)) Une autre chose qui m'était sortie de la tête, tout les points du dessin doivent être dans le même bloc point à la fin du dessin (pendant le traitement du dessin ils ont des blocs points différents ce qui facilite leur identification), et avec un attribut différent en fonction du nom du calque. Et pour tous les points du dessin leur coordonnée Z doit être associé au champ (du bloc point de substitution) "TAL_COTZ". Ces processus doivent être réalisé à la fin du dessin et ne doivent donc pas être intégré au code déjà existant (procédure attribution des tables, remplissage attribut, etc..), il faut en créer un nouveau. Je t'envoie le tableau en MP.
-
Ah oui en effet. Ils doivent donc forcément avoir une valeur par défaut de .0 pour ne pas être considéré comme nil? Le champ "OBJECTID" est aussi un entier mais est bien définit avec ("DefaultVal" . 0) il devrait donc avoir la même définition que lui. Toutes les tables possédant ces champs sont impactés. Et c'est le client qui définit les tables je vais lui faire part du problème. Je te tiens au courant, et je t'envoie du bonus ce soir! Et UN GRAND MERCI pour ce taff énorme!!
-
Oui c'est nickel, je n'ai cité que deux exemples mais je voulais bien appliquer juste le dernier caractère à tous les blocs ayant deux caractères après le "_", c'est tout bon pour cette partie du programme! Tout comme pour "*_STAT" et "*_ORIENT", c'est tout bon! En regardant dans la table de donnée j'ai vu que le type de donné était "court", d'après le ce que j'ai compris la valeur renseigné doit être de type entier et faire moins de 5 caractères. De plus, j'ai oublié de te dire qu'il est impératif que les valeurs "*_LONG" et "*_LARG" soient arrondies au cm, est-il possible de transformer un caractère de type réel en caractère de type entier? Je pense que même si il n'a plus de caractère après le "." un caractère du type réel n'est pas accepté dans ces champs car ils n'acceptent que des caractères du type entier. Et je n'ai malheureusement pas le droit de modifier la définition des tables.
-
Super la procédure marche du tonnerre! Je te soumets juste une petite amélioration si possible: Actuellement, les valeurs qui sont renseignés (d'après mes tests et si j'ai un petit peu compris le codage) dans les champs correspondent au caractères se trouvant après le dernier "_" du nom du bloc. Cependant parfois il y a deux caractères (ex: "type_eq_ass_AG" ou "ft_c1") du coup les valeurs renseigné dans les champs sont les deux caractères (ex: respectivement "XXX_TYPE"="AG" ou "XXX_TYPE"="c1".) Serait -il possible que ce soir uniquement le dernier caractère de la chaîne du nom du bloc qui soit renseigné? (ex: Pour bloc "type_eq_ass_AG" valeur "XXX_TYPE"="G" ou pour ligne "ft_c1" valeur "XXX_TYPE"="1") Et le tout dernier point serait d'automatiser le remplissage du champ "XXX_ORIENT" des tables OD par la valeur du champs "rotation" des propriétés de l'objet, du champ "XXX_LONG" des tables OD par la valeur du champs "Echelle en X", du champ "XXX_LARG" des tables OD par la valeur du champs "Echelle Y" et ceci pour tous les objets du dessin. Ah oui et aussi ajouter la valeur "A" au champ "XXX_STAT" des tables OD pour tous les objets du dessin. Merci d'avance!
-
Je suis moi même impressionné par le dévouement de Bruno, et ne peut que le louer! Je testes cette œuvre dès demain ! Encore merci PS: tcheck tes MP
-
Oui je sais que c'est plutôt galère, Alors pour le nom de la ligne, on le trouve sous l'onglet "type de ligne" dans les propriétés de la ligne, cependant je ne sais pas si c'est un champ alphanumérique étant donné qu'on trouve aussi la représentation graphique de la ligne dans cet onglet. Je t'envoie un fichier avec des exemples de types de lignes: C'est là le hic, la valeur de l'attribut dépends du nom du bloc exclusivement, du coup l'une des trois possibilité varie selon le type de bloc, je ne sais pas si il est possible d'entrer tout une liste de nom de bloc pour laquelle tel ou tel possibilité s'applique? Du coup après test, la procédure marche nickel, cependant elle ne fait pas un filtre par rapport aux calque du document excel, je désirerai attribuer uniquement les bloc de la liste et non pas tous les calques du dessin (même si ceci on des champs "_TYPE" ou "_NATURE" etc..) du coup ceci nous ramène au paragraphe précédent su la liste. Ou sinon je dissocier les deux procédure puis faire la deuxième en isolant les blocs concerné je pense, tu confirmes? Tu trouveras dans le fichier dwg exemple des blocs ne se trouvant pas dans la liste, ça sera plus parlant Merci beaucoup bonuscad, c'est déjà génial d'arriver jusqu'ici!
-
Il y avait une petite erreur dans l'ancien fichier, je l'ai modifié, bien prendre la version du message mise à jour.
-
Wahouu, quelle efficacité ça marche nickel!! Bon j'ai un nouveau défi pour toi Je souhaiterais ensuite automatiser le remplissage de certains champs des object data en fonction du bloc ou du type de ligne. Je te joins le fichier résumant le différent type de lien à créer: Ps: Si tu réussi ça envois moi aussi ton compte paypal
-
Nickel merci beaucoup ça marche super!! Cela m'avait échappe mais il y quelques calques où le suffixe des calques qui correspond au nom de la table n'est pas composé de 4 mais de 5 caractère. Ex: Cela marche pour les calques: - BAT--B_LD qui associe la table B_LD - MEDIA--I_SU qui associe la table I_SU Mais ne marche pas pour les calque tel que: - VOI--I_SIGN qui n'arrive pas à associer la table M_SIGN - ELEC--E_TRON qui n'arrive pas à associer la table E_TRON Solution: Serait-il possible de passer d'une association calque/table correspondant aux 4 derniers caractères à une association correspondant aux caractères se trouvant après les caractère "--" car ces caractères sont toujours présent dans le nom des calques et les caractères suivant "--" correspondent systématiquement au nom de la table associé. Merci d'avance et merci encore à vous, vous êtes mes sauveurs!!
-
Merci beaucoup Bonuscad, Je teste ça demain!
-
Merci bonuscad, J'essaye, cependant le programme ne semble me permettre que de créer une liste.
-
Pardon, le dernier URL n'a pas fonctionné en voici un fonctionnel https://image.noelshack.com/fichiers/2019/15/2/1554797440-logigramme-de-l-attribution-automatique-des-tables-d-object-data-par-calque.jpg Merci !
-
Merci LeCrabe, Pour la sélection d'objet par de problème, j'ai créé un enregistreur d'action, celui: -Ouvre l'outil sélection par filtre, invite à sélectionner un calque -Isole les éléments de la sélection -Ouvre l'outil "Onglet Map - Données et analyses/ Données d'objet/ Associer ou dissocier les objets" qui invite a renseigner la table à attribuer. Il reste ensuite plus qu'a cliquer sur "Associer aux objets <" et sélectionner les objets préalablement isolé. Cet enregistreur fait gagner un peu de temps, mais je souhaiterais automatiser l'association d'une table à un calque. Je pense que le logigramme est le suivant: [/url][/img]
-
Bonjour, Merci pour ta réactivité, oui j'ai vu ce sujet avant de créer le miens cependant si j'ai bien compris le sujet que tu avais initié permettait de créer une table Object data directement avec les attribut de l'objet. Pour ma part ce n'est pas exactement la même problématique. Je m'explique, je possède déjà des tables de données d'Object Data, celles-ci sont créées avec un certain nombre de champs qu'il faut remplir. Il faut donc attribuer les Tables d'OD aux différents objets des calques avant de pouvoir les remplir. Ex: les objets du calque "ASS--A_EQ" doivent être associés à la table "A_EQ"(Equipement assainissement). Le suffixe du calque (les 4 derniers caratères) correspond au nom de la Table à leur attribuer. Voici pour la première partie de ma problématique. La deuxième partie de la problématique serait donc de copier des attributs des propriétés existantes, dans les tables existantes qui ont été préalablement attribuée aux objets. Merci d'avance pour toute suggestion! PS: Je n'arrive malheureusement pas à joindre de fichier "Erreur Le serveur a retourné une erreur durant l'envoi."
-
Bonjour, Dans le cadre d'un projet je dois attribuer une table object data à tous les éléments du dessin en fonction de leur calque. Je cherche une solution automatisé afin d'attribuer les tables d'Objects Data au éléments du dessin autrement que en sélectionnant le différents calques un par un. N'y connaissant rien en programmation, je vous sollicite afin de trouver des pistes me permettant d'aboutir à ce résultat. D'autre part, une fois les tables de données objet (Object data) attribués aux différents éléments je désire trouver un moyen assez rapide afin de copier certains attribut des objet dans les champs "Object Data" correspondants. Par exemple copier la valeur de l'orientation d'un bloc (Valeur Attribut "Rotation") dans le champs OD correspondant (Valeur Attribut "ARE_ORIENT"), comme dans la pièce jointe. Je fais actuellement à la main ces manipulation et c'est une énorme perte de temps. Je suis preneur de toute solution aussi peu élaboré soit-elle! Merci d'avance!!
