Olivier Eckmann Posté(e) le 7 décembre 2015 Posté(e) le 7 décembre 2015 Bonjour, En mettant au point le plug-in spécifié sur ce sujet, je me retrouve face à un problème que je ne parviens pas à contourner.J'utilise les objets MPolygone dont je souhaite redéfinir le grip tellement ceux de base d'AutoCAD sont impossibles à gérer.D'après ce que j'ai compris, il y a 2 fonctions GetGripPoints, l'une ne contient qu'une liste de points , donc tous les grips sont identiques et carrés de base. L'autre fonction permet de spécifier des GripData avec leur propre worlddraw pour leur donner l'apparence que l'on souhaite. Sur les MPolygones, seule la 1ère fonction est implémentée, car quand j'essaie d'appeler l'autre base.GetGripPoints(avec les grip data) j'obtiens un message d'erreur eNotYetImplemented. Je pense que c'est pour cela que tous les grips sont carrés. C'est donc cette seconde méthode que je surcharge en overrule :Dans le GetGripPoints le 1er paramètre reçu c'est une entité et c'est là que le problème se pose.Sous 2013 à 2016, l'entité est de type MPolygon alors que sous 2010 à 2012 je reçois une entité de type "ImpEntity" que je ne peux pas caster en MPolygon (j'ai le même problème si j'essaie de récupérer l'objet dans une transaction avec un GetObject). D'après ce que j'ai lu et ce que j'ai pu comprendre, il semblerait que l'objet est mal exposé en .Net (la DLL qui gère les polygones AcMPolygonMgd.DLL semble mal foutue).Est-ce que c'est possible qu'il y ait un souci dans la programmation par Autodesk de cet objet MPolygon? Ou bien c'est moi qui suis complètement à côté de la plaque?Y a-t-il moyen de remonter à l'entité MPolygon à partir d'une ImpEntity? J'espère avoir été clair et merci pour toutes infos. Je joins un fichier contenant différent type de MPolygone OlivierMPOLYGON2.zip
Olivier Eckmann Posté(e) le 1 janvier 2016 Auteur Posté(e) le 1 janvier 2016 Bonjour, Pour le moment, j'ai laissé tomber la compilation sous 2012, mais je rencontre un autre problème que j'ai posté aussi ici Je voudrais faire apparaître un menu contextuel sur certains grips pour : ajouter un sommet / supprimer un sommet.D'après les infos que j'ai pu trouver il s'agit d'implémenter une classe dérivant d'un MultiModesGripPEJe dispose de 3 ActionType pour gérer 3 types d’événement sur le menu contextuel:ActionType:Immediate => exécute 1 fois le moveGripPointsAtActionType:Command => exécute une commande externeActionTypeDragOn => exécute le moveGripPointsAt et le drag, c'est cette option que je voudrais utiliser pour la fonction d'ajout de sommet.Le problème c'est qu'avec les 2 premier paramètres, le menu contextuel apparaît alors qu'avec le paramétrage DragOn, aucun menu contextuel n'apparaît à côté de mon grip, donc je ne passe jamais dans le moveGripPointsAtJ'ai testé sur 2014 et 2015 en MAP 3D et AutoCAD classique, rien à faire, ça ne fonctionne pas. Est-ce que quelqu'un a déjà implémenté cette fonction avec succès? Merci pour toutes infos. Olivier
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