chanchan38 Posté(e) le 21 janvier 2024 Posté(e) le 21 janvier 2024 Bonjour à tous, après des heures à me battre avec ChatGPT, je décide de retourner vers l'humain! J'essaie désespérément de faire changer la couleur d'un bloc (un simple rectangle rempli) avec une valeur contenue dans un tableau. L'idée est de demander à autocad de lire la cellule qui contient la valeur et de changer la couleur du bloc en fonction. Le tableau peut soit être intégré à Autocad avec une liaison de données, soit aller chercher la valeur directement dans le fichier excel. Je ne connais rien en LISP (quelques base (anciennes!) en PHP, Javascript, VB) Je pensais bêtement copier coller adapter un programme LISP dicté par ChatGPT mais ça ne fonctionne pas. La finalité sera d'avoir une quantité de rectangles positionnés à partir d'un plan de masse, dont la couleur sera indexé à un tableau excel ou un tableau autocad avec liaison de données. Merci à vous.
rebcao Posté(e) le 21 janvier 2024 Posté(e) le 21 janvier 2024 Bonjour, Quantifier des RECTANGLES, n'est pas évident ! Car pour AutoCAD cet objet n'existe pas ! Un rectangle est ni plus ni moins qu'une POLYLIGNE ! Pour Quantifier des éléments il vaut mieux passer par un BLOC "RECTANGLE" DYNAMIQUE pour pouvoir changer librement la longueur et la largeur... En plus si c'est un BLOC on peut lui associer des ATTRIBUTS et obtenir plus de données à trier. Sinon, un dessin d'exemple permettrait de se faire une idée et éventuellement de te guider vers la meilleure solution. Christian Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)
chanchan38 Posté(e) le 21 janvier 2024 Auteur Posté(e) le 21 janvier 2024 Bonjour Christian, merci de m'aider. Les rectangles n'ont pas besoin d'être quantifiés, je souhaite simplement moduler la couleur de remplissage. Ces rectangles seront de toutes façons des blocs dynamique, avec un nom pour pouvoir les différencier. Mon problème est surtout de pouvoir indexer leur couleur via un tableau interne ou externe. Je mets un fichier très basique en exemple Rectangle_rouge.dwg
didier Posté(e) le 22 janvier 2024 Posté(e) le 22 janvier 2024 Bonjour @chanchan38 Je suis désolé d'avoir à te demander d'expliquer le but à atteindre, car je n'ai pas compris. "Changer la couleur d'un bloc" ? en fonction de quoi et quelle couleur ? "Je mets un fichier très basique en exemple" ? basique, il l'est, je ne sais qu'en faire, il n'y a aucune explication. Décortique pas à pas les conditions, quel est le choix ? Doit-on cliquer le bloc ou le retrouver dans le dessine par une condition ou une référence ? Y a-t-il des attributs qui permettront de faire la différence entre deux blocs ? Je ne sais pas dans quelle direction chercher, car je ne sais pas où il faut aller. Amicalement Éternel débutant… Mon site perso : Programmer dans AutoCAD
chanchan38 Posté(e) le 22 janvier 2024 Auteur Posté(e) le 22 janvier 2024 Bonjour et merci encore. J'avais simplement besoin d'un point de déblocage sur le fait de pouvoir indexer la couleur d'un bloc à un tableau, je ne me suis pas étendu sur le reste car je pensais pouvoir traiter la suite tout seul. Mais effectivement plus de contexte peut être utile à la résolution du problème, donc: Je travaille sur des plans de masse de magasins de bricolage. Ces plans montrent l'organisation d'un magasin, avec tous les rayons concernés. La structure du plan est assez simple, en ce sens que l'usage qui en est fait sert à identifier les différentes zones/familles de produits. On trouvera donc une succession de racks (comme des gondoles mais en plus costaud) vus de dessus. Il sont tous en bloc dynamique car il en existe plusieurs versions en fonction du type d'agencement mis en œuvre. Ce que je souhaite faire, c'est ajouter un calque par dessus le plan, avec un rectangle positionné sur chaque rack. Chaque rectangle sera un bloc dynamique qui pourrait avoir pour nom le nom indiqué pour la famille de produits concernés, de façon à avoir un rectangle par famille. Ensuite c'est là qu'intervient l'importance de la couleur. Je souhaite montrer à travers une échelle de couleur, différents éléments statistiques. Par exemple un chiffre d'affaire largement au dessus de la moyenne serait en vert, et un chiffre d'affaire en dessous serait en rouge. Le choix de la valeur de la couleur n'a pas à être calculé dans autocad. J'ai des tableaux contenant une liste de familles de produits avec un chiffre d'affaire en face. Je souhaite qu'autocad lise le nom de la famille de produits, qui correspondra donc à un rectangle dans un bloc dynamique, attribue une couleur prédéterminée dans le tableau, qui traduira la performance du rayon. On pourrait donc avoir un tableau avec 2 colonnes, une pour le nom et une pour le code couleur. Problème: comment demander à autocad de changer la couleur des rectangles reconnus grâce au tableau avec la valeur indiquée dans le tableau. Le tableau peut être intégré au plan ou être un Excel à part. Voila le contexte, je mets donc un vrai plan de magasin en pièce jointe (sur lequel j'ai posé des rectangles blancs de base ) avec un tableau bidon, qui sert juste pour l'exercice mais dont la structure est correcte pour mon approche Merci beaucoup magasin.dwg couleur_blocs.xlsx
rebcao Posté(e) le 23 janvier 2024 Posté(e) le 23 janvier 2024 Bonjour, Dommage que tes BLOCS "TEXTES" et RACK soient dissociés ! Personnellement, je traiterais tout à partir d'EXCEL, avec juste un HIC pour gérer la dimension des BLOCS DYNAMIQUES... exemple avec cette Vidéo où je fais du traitement avec EXCEL est ensuite j'insère les éléments à partir d'un SCRIPT généré par EXCEL dans le dessin... Christian Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)
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