Frage

Ich mache ein AutoCAD mit DOT Net 3.50 und verweise auf acdbmgd.dll, acmgd.dll von AutoCAD 2012 Was kann ich tun, um es sowohl in AutoCAD 2010 als auch für AutoCAD 2011 zu machen, wenn ich mich auf ACDBMGD.Dll, ACMGD, verweisen sollte. DLL von AutoCAD 2010 Wo kann ich diese DLL bekommen, während ich gerade AutoCAD 2012 habe

War es hilfreich?

Lösung

Ich habe einige Erfolge bei der Verwendung von Bibliotheken von 2008 in AutoCAD 2010 hatte. Die Verwendung der Bibliotheken von AutoCAD 2010 ist daher wahrscheinlich die beste Wahl, obwohl sie nicht garantiert funktioniert. Es hängt genau davon ab, was Sie tun.

Sie können die Bibliotheken als Teil des Objectarx 2010 -Pakets herunterladen Autodesk Developer Center (am Ende der Seite). Sie können bei Bedarf auch Objektarx 2011 erhalten.

Andere Tipps

Mein bestes Glück mit der Langlebigkeit von Autocad-Add-Ons war bei Autolisp. Ich habe Tools, die ich 1995 geschrieben habe, die jetzt noch stark kocht, ohne dass sich verändert habe.

Die .NET -API ist kompatibler als die ActiveX, aber es gibt immer noch einige Unterschiede.

Sie können immer Reflection verwenden, um die Funktionen aufzurufen (nennen Sie sie mit dem Namen), aber es wird eine Reihe von Schecks erfolgen, und es wird eine Menge Arbeit geben, Ihre App zu haben. Reagieren Sie auf alle Versionen auf die gleiche Weise.

Ihre beste Wette (was ich zumindest tun würde) wäre, für jede gewünschte Funktionbarkeit eine Wrapper -Klasse zu erstellen. Zum Beispiel würde ich eine "Mycircle" -Klasse erstellen, um Kreise zu manipulieren, und dann in dieser Klasse eine generische Funktion (z. Steuern Sie, wie der Anruf abhängig von den Versionen von AutoCAD durchgeführt wird (z. B. um eine bestimmte Funktion in einer bestimmten Version von AutoCAD nicht aufzurufen, da er einen Fehler enthält). Dies macht eine erweiterbare Ebene, die Sie in der gesamten Version von AutoCAD wiederverwenden können, und Sie können Änderungen in der API unterstützen.

Ich mache das für 2012 und 2013. Es gibt einen Unterschied zwischen ihnen.

Ich starte im Allgemeinen zwei Projekte eins mit dem Acad.net -Assistenten 2012 und einem weiteren mit 2013 Acad .Net Assistent.

Aktualisieren Sie beide gleichzeitig

In den meisten Fällen wird nur Kopierungen einfügen. Einige Fälle wird anders sein, wenn sich die API von 2013 beispielsweise in Civil3d 2012 weiterentwickelt hat. Es gibt keine Co-Go-Punkt-API, bei der sie wie 2013 hinzugefügt haben, dass ich in diesem Fall den Code wenig ändern muss Ein bisschen zur Arbeit im Jahr 2013.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top