lalau Posté(e) le 28 octobre 2021 Posté(e) le 28 octobre 2021 Bonjour à toutes et à tous. Depuis 1 semaine j'essaie sans succès de trouver une méthode pour associer une liste de valeurs à mes attributs de blocs. Impossible de trouver la méthodologie... Quelqu'un pourra m'apporter son éclairage ? Votre aide sera la bienvenue... Moi : dessinateur projeteur depuis 1 année en Collectivité. Pas de contrat d'assistance avec Géomédia. Citer
Curlygoth Posté(e) le 28 octobre 2021 Posté(e) le 28 octobre 2021 c'est a dire ? extraire des valeurs des attributs vers une table ? ou attribuer des valeurs à des attributs à l'aide d'un table ? Citer Mon site Web (en cours de construction) : Site DA-CODE de @didier
didier Posté(e) le 28 octobre 2021 Posté(e) le 28 octobre 2021 Bonjour @lalau Il est compréhensible que pour le premier message, on ne s'exprime pas tout à fait correctement. En effet, bien expliquer un souci est souvent la meilleure façon de s'approcher de la solution. D'où nos questions pour compréhension du problème ... Avez-vous une liste de valeurs, par exemple dans un fichier texte externe, que vous devez dispatcher dans des blocs avec attributs ? Si oui comment faire la relation entre les lignes du fichier texte et les blocs avec attributs (coordonnées d'insertion, noms des étiquettes ...) Ou bien est-ce autre chose ? Amicalement Citer Éternel débutant... Mon site perso : Programmer dans AutoCAD
lalau Posté(e) le 28 octobre 2021 Auteur Posté(e) le 28 octobre 2021 Bonjour, Merci pour votre retour.... Ce que je tente d'obtenir, c'est la possibilité de compléter la valeur d'un attribut de bloc, avec une liste de choix de valeurs. Oui c'est plutôt attribuer des valeurs à mes attributs à partir d'une table ou mieux encore à partir d'une liste déroulante. Un peu sur le même principe que les jeux de valeurs pour les blocs dynamiques. mais il me semble les jeux de valeurs ne peuvent être mise en place qu'avec des contraintes de type dimensionnelles, angulaires, etc .... Dans l'absolue, par exemple si j'ai un Bloc "Compteur" avec un attribut "Statut" et 4 valeurs possibles " En service / Hors Service / En attente / Abandonné ". Et surtout avec la possibilité pour l'opérateur qui doit remplir les données d'attributs de pouvoir choisir entre les différentes valeurs dans une liste afin de l'inciter à valider une valeur attendues, pour éviter les erreurs de rédactions, voir un gain de temps. Citer
Luna Posté(e) le 28 octobre 2021 Posté(e) le 28 octobre 2021 Coucou, Donc si je comprends bien tu ne veux pas remplir en automatique un ensemble de blocs avec attributs à partir d'un fichier Excel. Ce que tu veux c'est de pouvoir limiter la valeur d'un attribut à certaines chaînes de caractères ? Si c'est bien cela, il faut créer un table des propriétés de bloc me semble-t-il. Depuis l'éditeur de bloc, tu as dans l'onglet "Actions" la commande "Table des propriétés de bloc". Cela va créer un paramètre (similaire à une poignée de visibilité de bloc) et tu auras un tableau dans lequel tu peux ajouter une colonne correspondant à ton attribut. Tu spécifie la liste de valeurs et tu coches l'option "Les propriétés du bloc doivent correspondre à une rangée de la table" (en bas à gauche). J'espère que cela correspond à ta demande 🙂 Autrement il faudra expliquer plus clairement avec un fichier d'exemple. Bisous, Luna Citer
lalau Posté(e) le 28 octobre 2021 Auteur Posté(e) le 28 octobre 2021 Bonjour Didier, Toute mes excuses pour la formulation de ma problématique, je commence donc à mieux cerner les bonnes pratiques du forum. Pour le moment je dispose d'un certains de blocs, avec des attributs spécifiques pour chaque blocs. Pour chaque attribut, je souhaite une valeur soit ponctuelle (exemple : une dimension) ou valeur prédéfinie (exemple : jeu de 4-5 valeurs possibles). Je connais l'ensemble de mes valeurs type, je les ai associés à certains bloc dans la définition d'attribut où j'ai rentré dans la cellule "INVITE" les différentes valeur attendues dans l'espoir que l'opérateur ecrit les mêmes termes pour compléter la valeur de l'attribut. Je ne sais pas encore comment associer une liste de valeurs d'un fichier externe à mes attributs et je souhaite évidemment le savoir afin de créer des listes pour ensuite les intégrer à des attributs. Citer
Curlygoth Posté(e) le 28 octobre 2021 Posté(e) le 28 octobre 2021 en vba : sub liste_d_un_fichier arr = array("CHOIX1","CHOIX2",...,"CHOIXX") 'ensuite tu l'injecte dans un userform avec un combox pour revoir ta liste Combobox1.list = arr end sub après tu as juste à remplir l'attribut : ou le blorefobj est ton objet bloc For Each Att In BLOCKREFOBJ.GetAttributes If Att.TagString = "Nom de l'attribut" Then Att.textString = VALEUR Exit For Else End If Next Att Citer Mon site Web (en cours de construction) : Site DA-CODE de @didier
lalau Posté(e) le 28 octobre 2021 Auteur Posté(e) le 28 octobre 2021 Bonjour Luna et merci... Oui, tu as très bien résumé ma problématique. Pour certains attributs, je souhaite pouvoir proposer une liste bloqués de valeurs, afin d'éviter les erreurs de saisies de l'opérateur. Je vais donc essayer avec la table de propriétées. Citer
Luna Posté(e) le 28 octobre 2021 Posté(e) le 28 octobre 2021 @lalau, En plus de ma réponse ci-dessus, tu peux également créer une visibilité à la place de ton attribut (uniquement dans le cas où tu n'as qu'un seul attribut qui doit correspondre à une liste de valeurs prédéfinies !). L'avantage de la visibilité c'est que tu peux sélectionner plusieurs blocs d'un coup et modifier la visibilité en une seule fois, contrairement aux tables de propriétés (uniquement accessible en cliquant sur la petite flèche, mais tu peux avoir plusieurs tables de propriétés par bloc !) où il faut modifier les blocs un à un. Donc en fonction de tes besoins et de la vitesse d'exécution que tu recherches, tu as plusieurs options. 😉 Si jamais tu as des questions n'hésites pas ! Bisous, Luna Citer
lalau Posté(e) le 28 octobre 2021 Auteur Posté(e) le 28 octobre 2021 Curlygoth, Je vais tenté dans un 1er temps la méthodologie de Luna, car je ne ne suis pas suffisamment aguerri pour la tentative en VBA. Mais je compte bien m'initier à court terme. Citer
lalau Posté(e) le 28 octobre 2021 Auteur Posté(e) le 28 octobre 2021 Luna, Travaillant sur des réseaux d'assainissement, les situations seront différentes d'un plan à l'autre. Pour certains blocs, je n'aurai qu'un seul attribut qui sera associé à un jeu de valeurs, d'autres blocs seront à associés à 2 ou 3 attributs demandant un jeu valeur. Pour le même bloc un certain nombres auront les données entièrement similaires et d'autres avec des données différentes. Je vais donc tester la table des propriétés dans un premier temps et je ferai un retour au forum. Citer
Curlygoth Posté(e) le 28 octobre 2021 Posté(e) le 28 octobre 2021 j'utilisais les tables de propriétés avant mais je trouvais ça trop long si tu dois le faire pour X blocs mais pas de soucis ^^ Citer Mon site Web (en cours de construction) : Site DA-CODE de @didier
didier Posté(e) le 28 octobre 2021 Posté(e) le 28 octobre 2021 Coucou Désolé je n'ai pas compris le coup des valeurs dans un fichier externe, je ne suis donc pas en mesure de répondre. Citer Éternel débutant... Mon site perso : Programmer dans AutoCAD
lalau Posté(e) le 3 novembre 2021 Auteur Posté(e) le 3 novembre 2021 Bonjour Luna et autres membres contributeurs, Je me permet de faire un retour suite à la proposition de Luna d'utiliser les tables de propriétés pour les attributs de blocs. Merci Luna, après l'avoir testé la méthode fonctionne. Je peux ainsi choisir une valeur au sein d' une liste à partir d'une poignée insérée sur mon bloc. Cette étape constitue une 1ère et grande avancée par rapport à ma problématique énoncée. Le dessinateur étant en perpétuelle recherche d'optimisation de ses manips, j'espère pouvoir affiner la méthode actuelle. Pour le moment, je dois cliquer sur la poignée associé aux blocs pour avoir accès à ma liste de valeurs. Mais quand je sélectionne le bloc, dans la fenêtre de propriété je ne retrouve plus de liste de valeur affecté à un attribut. L'étape suivante, c'est de trouver une méthodologie afin qu'au moment où je sélectionne un bloc, je puisse dans la fenêtre de propriété, en cliquant dans la cellule d'un attribut, avoir accès à une liste de valeur associée à cet attribut. Citer
Luna Posté(e) le 4 novembre 2021 Posté(e) le 4 novembre 2021 Coucou, J'ai déjà évoqué ce problème dans mon message précédent. J'ai cependant dit des bêtises ^^" En effet si tu as plusieurs références de blocs qui doivent avoir la même valeur d'attributs, il faut cliquer sur la table de propriétés (dans la palette des propriétés) (cf. la ligne surlignée ci-dessous). Cela va ouvrir la table des propriétés et il suffit de cliquer sur la valeur désirée et de dire "OK" pour que tous les attributs se mettent à jour avec la nouvelle valeur. Donc il est tout à fait possible de modifier plusieurs blocs d'un coup directement depuis la palette des propriétés 😉 Il faut simplement faire attention au nom des tables de propriétés de bloc si jamais tu veux avoir un même table de propriétés entre deux définitions de bloc, bien penser à mettre le même nom ! Bisous, Luna Citer
lalau Posté(e) le 8 novembre 2021 Auteur Posté(e) le 8 novembre 2021 Bonjour Luna, Merci encore pour ces infos complémentaires. Je vais donc tester la méthodologie et je ferai un retour. Bonne journée. Citer
lalau Posté(e) le 16 novembre 2021 Auteur Posté(e) le 16 novembre 2021 Bonjour Luna, En retour à tes précieux conseils, effectivement les manips proposées fonctionnent. J'envisage une amélioration des manips, mais j'attends de trouver un peu de temps pour étudier le vba et peut-être pouvoir modifier certaines commandes. Encore merci pour ton aide. Bien à toi, Citer
Messages recommandés