• Ce forum est la traduction générée par la machine de www.cad3d.it/forum1 - la communauté italienne du design. Plusieurs termes ne sont pas traduits correctement.

Trier les attributs Block plus flexibles

Hockrim

Guest
Enregistrer pour tous, j'ai plusieurs blocs qui contiennent de 50 à 100 attributs chacun et devraient les commander selon une logique étant donné que les blocs ont été créés en sélectionnant les attributs ensemble avec une fenêtre au lieu de les sélectionner un par un dans l'ordre désiré.
J'utilise actuellement la commande _battman, mais il s'avère très rigide, car je devrais sélectionner l'attribut et cliquer sur le bouton relatif pour le déplacer là où je veux et ceci pour les attributs 50-100.
Ma question est la suivante : n'y a-t-il pas d'autre moyen (peut-être avec les fameux outils express) d'accélérer l'ordre des attributs, peut-être avec le drag&drop qui les sélectionne plus d'un à la fois? ce que la commande _battman ne permet pas de faire et il y a un risque de mal.
En bref, j'aurais besoin d'une implémentation de la commande _battman.
Je vous remercie.
 
utilise la commande autocad oudattblock.Vous devez le rappeler dans l'éditeur de blocs.
n'oubliez pas de mettre à jour les blocs déjà insérés avec la commande Sincatt !

[edit: anche se effettivamente non si discosta molto dal funzionamento di battman o battorder.... :-( ]
 
Dernière édition:
le fichier Excel joint, via le bouton <seleziona blocco=""> (composants additionnels) a sélectionné le bloc dans autocad, crée une feuille et liste les balises et les valeurs.
la liste obtenue peut être commandée à volonté pour avoir la séquence souhaitée, la colonne sert à entrer des valeurs numériques à utiliser comme clé de tri.
changement de valeurs (colonne c) rend plus pratique de tout éditer.
le bouton <refresh blocco=""> modifier les attributs de bloc dans autocad.
En enregistrant le fichier Excel, à la prochaine utilisation du même bloc, l'ordre précédemment créé est préservé en permettant la gestion des attributs sans se soucier de la façon dont ils ont été créés.
dans les outils/références de vba associer la bonne bibliothèque d'autocad.
N.b.: Sélectionnez un bloc à la fois.</refresh></seleziona>
 

Pièces jointes

utilise la commande autocad oudattblock.Vous devez le rappeler dans l'éditeur de blocs.
n'oubliez pas de mettre à jour les blocs déjà insérés avec la commande Sincatt !

[edit: anche se effettivamente non si discosta molto dal funzionamento di battman o battorder.... :-( ]
déjà essayé, en fait c'est presque la même chose.
 
Je vous remercie.
le fichier Excel joint, via le bouton <seleziona blocco=""> (composants additionnels) a sélectionné le bloc dans autocad, crée une feuille et liste les balises et les valeurs.
la liste obtenue peut être commandée à volonté pour avoir la séquence souhaitée, la colonne sert à entrer des valeurs numériques à utiliser comme clé de tri.
changement de valeurs (colonne c) rend plus pratique de tout éditer.
le bouton <refresh blocco=""> modifier les attributs de bloc dans autocad.
En enregistrant le fichier Excel, à la prochaine utilisation du même bloc, l'ordre précédemment créé est préservé en permettant la gestion des attributs sans se soucier de la façon dont ils ont été créés.
dans les outils/références de vba associer la bonne bibliothèque d'autocad.
N.b.: Sélectionnez un bloc à la fois.</refresh></seleziona>
Merci, J'essaie de te le dire.
 
si vous avez la version 2022 ou 2021, autocad 2021 type bibliothèque, pour descendre chaque version a l'équivalent.Immagine 2022-05-19 140245.jpg
 
J'ai essayé le fichier excel de rpor66: ne commande pas l'attrbuti quand je rafraîchis le bloc, si au contraire j'écris dans le champ de valeur puis le remplir. Pourquoi ?
 
Dernière édition:
Une fois que vous obtenez la liste des balises/valeurs, il vous appartient de mettre en ordre la feuille excel, opération à faire lors de la première utilisation du bloc, puis les valeurs seront lues et écrites selon la balise et non séquentiellement.
 
Une fois que vous obtenez la liste des balises/valeurs, il vous appartient de mettre en ordre la feuille excel, opération à faire lors de la première utilisation du bloc, puis les valeurs seront lues et écrites selon la balise et non séquentiellement.
Bonjour, désolé si je ne me sentais pas, mais j'ai eu un week-end de feu (dans tous les sens vu les températures).
Je pense que j'ai tout fait bien, ce sont les étapes que je fais, peut-être que j'ai tort quelque chose:
1) J'ouvre à la fois des fichiers Excel et des fichiers de bloc
2) Je lance le blocage macro et sélectionne le bloc dans autocad
3) les attributs de commande du fichier Excel à mon goût
4) Je commence macro rafraîchissement
De cette façon, il devrait également mettre à jour l'ordre au lieu de mettre à jour seulement si j'écris quelque chose dans la colonne de valeur mais l'ordre des attributs reste l'original.
 
Ce que le programme fait est d'éliminer précisément le besoin d'ordre des attributs dans les blocs laissant la tâche à l'excel. chaque fois que vous sélectionnez parmi excel le même type de bloc, les valeurs seront triées et l'édition que vous effectuez sur excel.
Si vous voulez avoir le bloc avec les attributs commandés, il ne fait pas à votre cas.
 
Ce que le programme fait est d'éliminer précisément le besoin d'ordre des attributs dans les blocs laissant la tâche à l'excel. chaque fois que vous sélectionnez parmi excel le même type de bloc, les valeurs seront triées et l'édition que vous effectuez sur excel.
Si vous voulez avoir le bloc avec les attributs commandés, il ne fait pas à votre cas.
alors peut-être que je n'ai pas compris l'utilisation de fichier Excel: Donc vous me dites que si j'ai un bloc avec 50 attributs commandés au hasard et que je voulais les commander de 1 à 50 je ne peux pas le faire en éditant la fie excel ?
Et si je ne peux pas faire ça à quoi serait le fichier Excel alors, seulement pour aider à améliorer les étiquettes?
 
après avoir sélectionné le bloc, dans la feuille Excel une feuille a été ajoutée avec le nom du bloc.
commander, enregistrer, "valoriser les étiquettes", fermer la dwg.
ouvrir un nouveau dwg, sélectionner le bloc avec le même nom que le précédent, ne pas ajouter une nouvelle feuille, les champs de valeur déjà commandés sont mis à jour.
à cela sert le fichier xlsm, c'est comme une boîte de dialogue où la séquence d'attributs est stockée dans excelle indépendamment de cela dans autocad.
 
après avoir sélectionné le bloc, dans la feuille Excel une feuille a été ajoutée avec le nom du bloc.
commander, enregistrer, "valoriser les étiquettes", fermer la dwg.
ouvrir un nouveau dwg, sélectionner le bloc avec le même nom que le précédent, ne pas ajouter une nouvelle feuille, les champs de valeur déjà commandés sont mis à jour.
à cela sert le fichier xlsm, c'est comme une boîte de dialogue où la séquence d'attributs est stockée dans excelle indépendamment de cela dans autocad.
Ah, maintenant je comprends, donc j'aurai toujours besoin du fichier de support xlsm. Allez, c'est mieux que rien. même si j'avais besoin de l'ordre des attributs à faire en autocad parce que ceux qui émettent le bloc le font dans un dwg contenant différentes instances de ce bloc et doivent les évaluer avec des données toujours différentes entre l'un et l'autre.
Autre chose: que font les 2 autres macros newbarra et éliminerbarra?
Je vous remercie.
 
sur les différentes instances; le programme, après avoir sélectionné le bloc, stocke le code unique de l'entité d'insertion, puis lit les données de cette instance du bloc, que vous pouvez modifier comme vous le pensez, toujours d'excel, quand vous allez rafraîchir sera modifié seulement cette instance.
en sélectionnant une autre instance, les valeurs des attributs seront copiées dans le fichier déjà commandé et vous pouvez les modifier en utilisant l'ordre déjà exécuté.
J'explique plus techniquement: la définition du bloc est stockée dans une table séparée des entités de la conception actuelle, ainsi que la définition des attributs; lors de l'insertion du bloc dans la conception est ajouté l'entité d'insertion formée par une liste contenant le lien vers la table de blocs, plus la copie des attributs. alors, si vous redéfinissez le bloc, changez le bloc, mais pas les attributs des blocs déjà insérés qui sont une copie et non un lien ; c'est pourquoi vous n'avez pas besoin de réorganiser les attributs à travers l'éditeur de bloc, cela ne fonctionne qu'avec les nouveaux inserts.
le menu add-ons est créé par la macro newbar chaque fois que vous activez la feuille, deletebarra sert à tout supprimer lorsque vous fermez le fichier ou vous déplacez vers un autre fichier Excel.
salutations
 
sur les différentes instances; le programme, après avoir sélectionné le bloc, stocke le code unique de l'entité d'insertion, puis lit les données de cette instance du bloc, que vous pouvez modifier comme vous le pensez, toujours d'excel, quand vous allez rafraîchir sera modifié seulement cette instance.
en sélectionnant une autre instance, les valeurs des attributs seront copiées dans le fichier déjà commandé et vous pouvez les modifier en utilisant l'ordre déjà exécuté.
J'explique plus techniquement: la définition du bloc est stockée dans une table séparée des entités de la conception actuelle, ainsi que la définition des attributs; lors de l'insertion du bloc dans la conception est ajouté l'entité d'insertion formée par une liste contenant le lien vers la table de blocs, plus la copie des attributs. alors, si vous redéfinissez le bloc, changez le bloc, mais pas les attributs des blocs déjà insérés qui sont une copie et non un lien ; c'est pourquoi vous n'avez pas besoin de réorganiser les attributs à travers l'éditeur de bloc, cela ne fonctionne qu'avec les nouveaux inserts.
le menu add-ons est créé par la macro newbar chaque fois que vous activez la feuille, deletebarra sert à tout supprimer lorsque vous fermez le fichier ou vous déplacez vers un autre fichier Excel.
salutations
Merci, explication très claire et exhaustive, mais ce n'est pas ce dont j'avais besoin, il aurait été très pratique si en excellent l'ordre des attributs était également mis à jour.
J'ai demandé cela parce que je change des blocs contenant 40 attributs déjà commandés et je dois en ajouter autant et recréer le bloc en cliquant sur les attributs un par un dans l'ordre dans lequel je veux inclure les 40 déjà commandés, ou les commander à travers la commande ordatbloc ou _battman, qui n'est pas très flexible. Tu ne pourrais pas implémenter le fichier xlsm pour qu'il le fasse ? Merci encore.
 

Statistiques du forum

Sujets
58 521
Messages
499 056
Membres
104 110
Dernier membre
ChristianR

Membres en ligne

Aucun membre en ligne actuellement.
Retour
Haut