Question

i faire un add autocad avec dot net et 3,50 i référence à acdbmgd.dll, acmgd.dll de autocad 2012 Que puis-je faire pour le faire fonctionner à la fois autocad 2010 et 2011 Autocad si je dois faire référence à acdbmgd.dll, acmgd.dll à partir autocad 2010 où puis-je obtenir ce dll alors que je viens d'Autocad 2012

Était-ce utile?

La solution

J'ai eu un certain succès à l'aide de 2008 bibliothèques dans AutoCAD 2010 pour utiliser les bibliothèques à partir d'AutoCAD 2010 est probablement votre meilleur pari, mais pas garanti. Il sera exactement sur ce que vous faites.

Vous pouvez télécharger les bibliothèques dans le cadre du paquet ObjectARX 2010 de Autodesk Centre Developer (au bas de la page). Vous pouvez également obtenir ObjectARX 2011 à partir de là si nécessaire.

Autres conseils

Ma meilleure chance avec la longévité d'AutoCAD Add-ons a été avec AutoLISP. J'ai des outils que j'ai écrit en 1995 qui sont encore cuisinent forte maintenant sans modification.

L'API .Net est plus compatible puis les ActiveX, mais il y a encore quelques différences.

Vous pouvez toujours utiliser la réflexion pour appeler les fonctions (les appeler par leur nom), mais il y aura un tas de contrôles à faire, et ce sera beaucoup de travail pour avoir votre application. réagir de la même façon sur toutes les versions.

Votre meilleur pari (ce que je ferais au moins) serait de faire une classe wrapper pour chaque functionability que vous voulez. Par exemple, je voudrais créer une classe « myCircle » pour manipuler les cercles, puis, à l'intérieur de cette classe, faire une fonction générique (ex .: « ChangeThickness (int newThickness) ») et faire votre code de réflexion là-bas, afin que vous puissiez contrôler la façon dont l'appel est effectué en fonction des versions d'AutoCAD installé (par exemple pour ne pas appeler une fonction spécifique dans une certaine version d'AutoCAD, car il contient un bug). Cela fait une couche extensible que vous pourrez réutiliser dans toutes les versions d'AutoCAD, et vous serez en mesure de soutenir toute modification de l'API.

Je le fais pour 2012 et 2013. Il y a une différence entre eux.

Je commence généralement deux projets avec un assistant 2012 Acad.NET et une autre avec l'Assistant .NET 2013 Acad.

Mettre à jour les deux simultanément

La plupart des cas sa copie il suffit de coller certains cas, il sera différent où en 2013 API ont évolué par exemple dans Civil3D 2012 il ny a pas un point quelconque Co-Go api où, comme en 2013, ils ont ajouté que si dans ce cas, je dois changer le peu de code au travail en 2013.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top