didier Posté(e) le 10 octobre 2016 Posté(e) le 10 octobre 2016 Bonjour à Toutes et à Tous Certes il vaut mieux UN qui sait que DIX qui cherchent, nonobstant j'ai cherché et recherché et re-recherché.J'ai trouvé des sites anglophones, russophones et d'autres choses aussi exotiques.Je cherche quoi me direz-vous ? Je cherche un équivalent à DUMP en VisualLisp qui permet de savoir tout ce qu'on peut faire avec telle ou telle autre entité ? Il me semble que MDGDBG.dll correspondrait à mes souhaits...Mais je n'ai rien trouvé de récentJ'ai même pris connaissance des messages de (Gile) à ce sujet sur TheSwamp mais ça date maintenant et ça a l'air problématiqueEt comme j'ai eu pas mal de souci pour lancer démarrer mon environnement à cause de MAP (encore merci pour la solution)Je ne voudrais pas casser quelque chose. Aussi, je vous remercie de me mettre sur le voie si c'est vraiment cette dll qui est intéressante.Puisque je suis le benêt de base je vous remercie aussi de me donner la marche à suivre pour l'installer qu'il y a des spécificités. Amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
(gile) Posté(e) le 10 octobre 2016 Posté(e) le 10 octobre 2016 Salut, On peut faire un "dump" assez facilement en utilisant la "réflexion" : using Autodesk.AutoCAD.ApplicationServices; using Autodesk.AutoCAD.DatabaseServices; using Autodesk.AutoCAD.EditorInput; using Autodesk.AutoCAD.Runtime; using System; using System.Collections.Generic; using System.Reflection; using AcAp = Autodesk.AutoCAD.ApplicationServices.Application; [assembly: CommandClass(typeof(DumpEntityProperties.Commands))] namespace DumpEntityProperties { public class Commands { [CommandMethod("Dump")] public void Dump() { Document doc = AcAp.DocumentManager.MdiActiveDocument; Database db = doc.Database; Editor ed = doc.Editor; var entRes = ed.GetEntity("\nSélectionnez une entité: "); if (entRes.Status == PromptStatus.OK) PrintDump(entRes.ObjectId, ed); AcAp.DisplayTextScreen = true; } private void PrintDump(ObjectId id, Editor ed) { var flags = BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.DeclaredOnly; using (var tr = id.Database.TransactionManager.StartTransaction()) { var dbObj = tr.GetObject(id, OpenMode.ForRead); var types = new List<Type>(); types.Add(dbObj.GetType()); while (true) { var type = types[0].BaseType; types.Insert(0, type); if (type == typeof(RXObject)) break; } foreach (Type t in types) { ed.WriteMessage($"\n\n - {t.Name} -"); foreach (var prop in t.GetProperties(flags)) { ed.WriteMessage("\n{0,-40}: ", prop.Name); try { ed.WriteMessage("{0}", prop.GetValue(dbObj, null)); } catch (System.Exception e) { ed.WriteMessage(e.Message); } } } tr.Commit(); } } } } Mais je pense que MgdDbg est un outil de développement assez incontournable (malgré ses imperfections). Il est plus convivial et plus complet. J'ai mis à jour le lien vers la version que j'utilise. Elle est compatible avec AutoCAD 2012 à 2017. Elle n'est pas entièrement déboguée donc certaines fonctionnalités peuvent générer des erreurs. Télécharger MgdDbg.zipDébloquer le ZIPPlacer le dossier "Autodesk DWG MgdDBG.bundle" dans : "%appdata%\Autodesk\ApplicationPlugins". Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
didier Posté(e) le 10 octobre 2016 Auteur Posté(e) le 10 octobre 2016 CoucouIl me serait bien pratique que je me fasse un petit fichier texte sur mon bureau, pour que je puisse en copier-coller le contenu à l'envi. Ce fichier texte contiendrait quelque chose du genre : Je te remercie (Gille) Pour la rapidité de ta réponsePour la qualité de ta réponsePour ta disponibilité Si j'avais ce genre de fichier je m'en servirais bien souvent pour te féliciter.Toujours est-t’il que tu as encore répondu pile-poil, bravo. J'ai bien fait comme tu as dis et ça marche,un menu s'est ajouté sur le clic droit et je peux effectivement obtenir bien des renseignements. Maintenant une nouvelle question se pose : Que faire de ces renseignements ?Je vais décortiquer tout ça et me permettrai, sans vergogne, de venir questionner si je ne trouve pas la réponse par moi-même.---------------------------------------------------------Ça c'était pour le MgdDgbPour ce qui est de la réflexion c'est très bien aussi. Je copie-colle mes propos liminaires Amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
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