(gile) Posté(e) le 1 juin 2011 Posté(e) le 1 juin 2011 Salut, Un petit programme qui permet d'extraire des attributs et de ré-importer les valeurs modifiées un peu comme les commandes ATTIN et ATTOUT des Express Tools à ceci près qu'il utilise directement Excel plutôt qu'un fichier .txt et que les attributs des blocs dynamiques apparaissent sous le nom du bloc d'origine. La classe Commands définit les commandes : EATT pour l'extraction et IATT pour l'importation. D'après mes tests elles fonctionnent sans encombres avec Excel 2003 et 2010. Ces commandes utilisent trois classes qui peuvent être utilisées par ailleurs. ExcelReader et ExcelWriter définissent des méthodes pour lire et écrire dans une feuille Excel un peu à la manière des StreamReader et StreamWriter avec les fichiers texte. Par ailleurs des propriétés sont aussi définies dans ces classes pour accéder au fichier. Pour assurer une compatibilité avec toutes les versions d'Excel, ces classes utilisent la "liaison tardive" (late binding). Une autre classe : LateBindings définit des méthodes pour rendre la syntaxe des expressions de liaison tardive plus concises et explicites. Les codes source. Nouvelle version 2010-2012 ExcelAttribute.zip Version 2013-? ExcelAttribute_19.zip Extraire les deux DLLs correspondant à la version d'AutoCAD ciblée dans le même répertoire. Charger dans AutoCAD avec NETLOAD ExcelAttribute.dll ou ExcelAttribute_19.dll suivant la version d'autoCAD (ExcelLateBinding.dll ou ExcelDynamic.dll sont des DLLs de ressources). Nouvelle version : on peut désormais télécharger ExcelAttributeSetup.exe, pour installer ExcelAttribute sur toute version d'AutoCAD depuis 2013 (il faut probablement Débloquer le fichier téléchargé). Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
fabcad Posté(e) le 1 juin 2011 Posté(e) le 1 juin 2011 Merci Gile, Je n'arrive pas à me connecter avec le site acadlabs, je ne comprends pas leur système de connexion. Dommage, Fabcad
SupportCova Posté(e) le 1 juin 2011 Posté(e) le 1 juin 2011 Bonjour, un petit souci. J'ai un message d'erreur lors de l'import eUnknownHandle à Autodesk.AutoCAD.DatabaseServices.Database.GetObjectId(Boolean createIfNotFound, Handle objHandle, Int32 identifier) à ExcelAttribute.Commands.ImportAttributes() L'erreur semble provenir de certains Handle mal interprété : par ex j'ai un Handle valant 8E7 qui une fois mis sous Excel est considéré comme 8.00000E+07 soit 80000000 Je pense qu'il faudrait forcer les cellules des Handle au format Texte ou les faire précéder de l'apostrophe comme avec ATTOUT Olivier Support Technique Covadis
(gile) Posté(e) le 1 juin 2011 Auteur Posté(e) le 1 juin 2011 Merci pour le retour SuperCova. J'ai corrigé le code en forçant toutes les colonnes utilisée au format Texte comme ça les attributs du style "002" sont conservés aussi. Fabcad, Si tu n'arrives pas à te connecter à AcadLabs, j'ai ajouté les codes source en téléchargement dans le premier message. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
(gile) Posté(e) le 2 juin 2011 Auteur Posté(e) le 2 juin 2011 Nouvelle version : ajout d'une méthode ReadToEnd() à la classe ExcelReader. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
lili2006 Posté(e) le 2 juin 2011 Posté(e) le 2 juin 2011 Bonjour à toutes et tous, J'ai testé sur un plan d'armatures assez complet, pas de bug apparent,..(Dans les deux sens) Testé avec Excel 2007, nickel ! Merci Gilles pour ce superbe outil :P Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
lili2006 Posté(e) le 2 juin 2011 Posté(e) le 2 juin 2011 Re, Après quelques autres tests sur Excel 2007, plantage systématique du logiciel Excel, Mais les modifs sont bien prisent en compte,... :exclam: Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
(gile) Posté(e) le 2 juin 2011 Auteur Posté(e) le 2 juin 2011 Re, Après quelques autres tests sur Excel 2007, plantage systématique du logiciel Excel, Mais les modifs sont bien prisent en compte,... :exclam: Peux tu préciser :Avec EATT ou IATT ?Comment se manifeste ce "plantage systématique du logiciel Excel" ?Excel est-il ouvert avant le lancement de la commande ?Si oui, le fichier .xls(x) ouvert est-il celui lié au dessin ? Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
(gile) Posté(e) le 2 juin 2011 Auteur Posté(e) le 2 juin 2011 Nouvelle version : le forçage des cellules au format Texte est directement effectué dans ExcelWriter.Write() et ExcelWriter.WriteLine() quand la donnée en entrée est une chaîne (String). Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
lili2006 Posté(e) le 2 juin 2011 Posté(e) le 2 juin 2011 Re, Je n'ai pas reproduit le phénomène !!! :o Plutôt lié à mon PC ? Je ne sais pas,... Pour conclure sur le second exemple de la vidéo, l'export et l'import fonctionne à merveille,... Je ne peux donc en dire plus pour le moment,... Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
(gile) Posté(e) le 2 juin 2011 Auteur Posté(e) le 2 juin 2011 D'après ce que tu décris, le problème viendrait plutôt d'Excel.Au moment où on propose d'ouvrir/afficher le fichier Excel l'extraction a été faite et enregistrée et d'après ce que tu dis, c'est au moment d'enregistrer des modifications que ça plante à ce moment là la commande EATT est terminée. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
lili2006 Posté(e) le 2 juin 2011 Posté(e) le 2 juin 2011 Re, Vraisemblablement ! Entre temps, je n'ai pas reproduit d'erreurs,... l'extraction a été faite et enregistrée c'est au moment d'enregistrer des modifications que ça plante En effet ! Merci encore, :D Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
Bred Posté(e) le 3 juin 2011 Posté(e) le 3 juin 2011 Salut,j'ai testé rapidement, ça m'a l'air OK.ça n'a pas l'air de prendre les attributs invisibles ou sur calques gelés, non ? Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
(gile) Posté(e) le 3 juin 2011 Auteur Posté(e) le 3 juin 2011 ça n'a pas l'air de prendre les attributs invisibles ou sur calques gelés, non ? Chez moi les attributs invisibles ou sur des calques gelés sont traités comme les autres. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Bred Posté(e) le 3 juin 2011 Posté(e) le 3 juin 2011 ... ah ouaip, désolé !En fait je pense plutôt que c'est les attributs fixes que ça ne prends pas, non ?(j'ai des blocs avec attributs, et il ne les sélectionne pas). Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
Steven Posté(e) le 2 novembre 2011 Posté(e) le 2 novembre 2011 Salut à tous. Je viens de charger le programme, je souhaite l'essayer sur un fichier pour extraire les attributs de blocs mais lorsque je lance la commande EATT, en retour j'ai: Pas encore d'association d'attributs et je ne peux rien sélectionner.J'ai 94 blocs avec attributs à extraireJe ne comprends pas bien, là :blink: Steven________________________________________ Pour le taf; Windows (et ses emmerdes) sinon pas d'AutoCAD. Pour le perso Linux Mint et pas de problèmes. Mais pas d'AutoCAD. En rêve; AutoCAD sous Linux.
lili2006 Posté(e) le 2 novembre 2011 Posté(e) le 2 novembre 2011 (modifié) Salut à tous. Je viens de charger le programme, je souhaite l'essayer sur un fichier pour extraire les attributs de blocs mais lorsque je lance la commande EATT, en retour j'ai: Pas encore d'association d'attributs et je ne peux rien sélectionner.J'ai 94 blocs avec attributs à extraireJe ne comprends pas bien, là :blink: Bonjour à toutes et tous, !!!!!!!!!! Même sur un nouveau fichier (vierge, donc,), je peux appeler la commande,...:unsure: Et toi ? Commande: eatt Choix des objets: Spécifiez le coin opposé: 0 trouvé(s)Choix des objets: Au chargement d'un nouveau fichier , as-tu bien ces lignes ? _netload Nom du fichier d'assemblage: ExcelAttribute.dll (Si tu possèdes un fichier "accad.lsp" seulement,... => syntaxe : (command "_netload" "ExcelAttribute.dll ")) Modifié le 2 novembre 2011 par lili2006 Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
lili2006 Posté(e) le 2 novembre 2011 Posté(e) le 2 novembre 2011 Re, Tiens, en testant sur mon MAP 2012, voici le message d'erreur ??!! Impossible de charger l'assemblage. Détails de l'erreur: System.IO.FileLoadException: Impossible de charger le fichier ou l'assembly 'file:///D:\AUTOCAD -PERSONNALISATION\PROG PERSOS\ExcelAttribute.dll' ou une de ses dépendances. L'opération n'est pas prise en charge. (Exception de HRESULT : 0x80131515)Nom de fichier : 'file:///D:\AUTOCAD -PERSONNALISATION\PROG PERSOS\ExcelAttribute.dll' ---> System.NotSupportedException: Tentative de chargement d'un assembly à partir d'un emplacement réseau qui aurait entraîné l'utilisation de l'assembly en mode Bac à sable (sandbox) dans les versions antérieures du .NET Framework. Cette version du .NET Framework n'activant pas la stratégie CAS par défaut, ce chargement peut être dangereux. Si ce chargement n'est pas destiné à utiliser l'assembly en mode Bac à sable (sandbox), activez le commutateur loadFromRemoteSources. Pour plus d'informations, consultez http://go.microsoft.com/fwlink/?LinkId=155569. à System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) à System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) à System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection, Boolean suppressSecurityChecks) à System.Reflection.RuntimeAssembly.InternalLoadFrom(String assemblyFile, Evidence securityEvidence, Byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm, Boolean forIntrospection, Boolean suppressSecurityChecks, StackCrawlMark& stackMark) à System.Reflection.Assembly.LoadFrom(String assemblyFile) à Autodesk.AutoCAD.Runtime.ExtensionLoader.Load(String fileName) à loadmgd() Commande:Commande:Commande: EATTLe fichier eatt(.lsp/.exe/.arx) n'a pas été trouvé dans les dossiers du chemin de recherche.Vérifiez l'installation des fichiers de support et réessayez.nil Commande:Commande:Commande:Commande: IATTLe fichier Iatt(.lsp/.exe/.arx) n'a pas été trouvé dans les dossiers du chemin de recherche.Vérifiez l'installation des fichiers de support et réessayez.nil Commande: Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
(gile) Posté(e) le 2 novembre 2011 Auteur Posté(e) le 2 novembre 2011 Salut à tous. Je viens de charger le programme, je souhaite l'essayer sur un fichier pour extraire les attributs de blocs mais lorsque je lance la commande EATT, en retour j'ai: Pas encore d'association d'attributs et je ne peux rien sélectionner.J'ai 94 blocs avec attributs à extraireJe ne comprends pas bien, là :blink: Je pense qu'il s'agit d'un conflit avec une autre commande EATT (un LISP de Patrick_35 ?). Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
(gile) Posté(e) le 2 novembre 2011 Auteur Posté(e) le 2 novembre 2011 lili2006, Tu as les réponses détaillées à ton erreur dans le message que tu postes... Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Steven Posté(e) le 2 novembre 2011 Posté(e) le 2 novembre 2011 Salut Lili. Quand je charge le fichier .dll, j'ai ceci ans la ligne de commande: Commande: NETLOAD Impossible de charger l'assemblage. Détails de l'erreur: System.IO.FileLoadException: Impossible de charger le fichier ou l'assembly 'file:///G:\MOE\01_Interne\8 Atelier d'Architecture\Dossiers personnels\Steven\Lisps\ATTIN - ATTOUT vers Excel\ExcelAttribute.dll' ou une de ses dépendances. L'opération n'est pas prise en charge. (Exception de HRESULT : 0x80131515) Nom de fichier : 'file:///G:\MOE\01_Interne\8 Atelier d'Architecture\Dossiers personnels\Steven\Lisps\ATTIN - ATTOUT vers Excel\ExcelAttribute.dll' ---> System.NotSupportedException: Tentative de chargement d'un assembly à partir d'un emplacement réseau qui aurait entraîné l'utilisation de l'assembly en mode Bac à sable (sandbox) dans les versions antérieures du .NET Framework. Cette version du .NET Framework n'activant pas la stratégie CAS par défaut, ce chargement peut être dangereux. Si ce chargement n'est pas destiné à utiliser l'assembly en mode Bac à sable (sandbox), activez le commutateur loadFromRemoteSources. Pour plus d'informations, consultez http://go.microsoft.com/fwlink/?LinkId=155569. à System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) à System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) à System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection, Boolean suppressSecurityChecks) à System.Reflection.RuntimeAssembly.InternalLoadFrom(String assemblyFile, Evidence securityEvidence, Byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm, Boolean forIntrospection, Boolean suppressSecurityChecks, StackCrawlMark& stackMark) à System.Reflection.Assembly.LoadFrom(String assemblyFile) à Autodesk.AutoCAD.Runtime.ExtensionLoader.Load(String fileName) à loadmgd() Steven________________________________________ Pour le taf; Windows (et ses emmerdes) sinon pas d'AutoCAD. Pour le perso Linux Mint et pas de problèmes. Mais pas d'AutoCAD. En rêve; AutoCAD sous Linux.
Steven Posté(e) le 2 novembre 2011 Posté(e) le 2 novembre 2011 Arf, comme j'ai fais autre chose au moment de poster ma réponse, Vous avez répondu avant que je ne clique sur Répondre.:P Steven________________________________________ Pour le taf; Windows (et ses emmerdes) sinon pas d'AutoCAD. Pour le perso Linux Mint et pas de problèmes. Mais pas d'AutoCAD. En rêve; AutoCAD sous Linux.
Steven Posté(e) le 2 novembre 2011 Posté(e) le 2 novembre 2011 Je pense qu'il s'agit d'un conflit avec une autre commande EATT (un LISP de Patrick_35 ?). Salut Gile, J'ai décharger tous mes lisps mais ça ne change rien. Steven________________________________________ Pour le taf; Windows (et ses emmerdes) sinon pas d'AutoCAD. Pour le perso Linux Mint et pas de problèmes. Mais pas d'AutoCAD. En rêve; AutoCAD sous Linux.
lili2006 Posté(e) le 2 novembre 2011 Posté(e) le 2 novembre 2011 (modifié) Re, Salut Gilles, C'est à dire ? Les autres ".dll" sont bien reconnut pourtant,...(Chargement depuis acad.lsp) Modifié le 2 novembre 2011 par lili2006 Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
lili2006 Posté(e) le 2 novembre 2011 Posté(e) le 2 novembre 2011 (modifié) Re, Steven Tu est sur un archi 2012 ? Ne serais-ce pas du à cette version (ou du moins les versions autres que "base" 2012,...)? Aucun pb sur mon Civil 3d 2011,... Modifié le 2 novembre 2011 par lili2006 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