previous arrowprevious arrow
next arrownext arrow
PlayPause
ArrowArrow
Shadow

Wir realisieren Ihre CAD-Projekte

im AutoCAD, Inventor, Revit und Autodesk Forge Platform

Umfeld
Wir helfen Ihnen bei der Realisierung Ihrer Projekte.

Blog.CAD-Becker.de

Beiträge zu AutoCAD und dessen Vertikalprodukte.

Tipps und Tricks, viele Neuigkeiten aus der Autodesk Welt.
2 Minuten Lesezeit (452 Worte)

Visual Lisp to C# - Laden der Anwendungen -

Anzeige

Aktuelle Top-Angebote der Telekom, Online-Vorteile, Attraktive Prämien

​Es gibt die unterschiedlichsten Verfahren Applikationen in AutoCAD zu laden. Ich stelle hier die seit AutoCAD 2013 von Autodesk empfohlene Variante vor.


​In den Versionen vor AutoCAD 2012 - ich lasse hier bewusst die Version 2012 aus - wurden Lisp Applikationen entweder als MNL-Datei, in der acad.lsp oder der acaddoc.lsp geladen.

DAs hat wohl in den 1990er Jahren gut funktioniert, heute ist dieses Verfahren nicht mehr so glücklich, da viele andere Applikationen in das AutoCAD geladen werden. Wenn alle die acad.lsp und die acaddoc.lsp nutzen, kommt das ganze System ganz schön durcheinander.

Manche nutzen die Lisp-Funktion s::startup, was zunächst einmal sehr einfach in der Anwendung ist, da AutoCAD nach dieser Funktion sucht und ausführt.

Allerdings wird das zum Problem, wenn mehrere Applikationen eine eigene s::Startup nutzen. Somit setzen wir unsere oder deren s::startup ausser Kraft.

AutoCAD Mechanical ist z.B. so ein Produkt, dass die Lisp-Funktion s::Startup nutzt. Wenn wir nun eine eigene Applikation mit einer s::Startup erstellen, läuft AutoCAD Mechanical nicht mehr. 

Dieses Verfahren ist ziemlich in die Jahre gekommen und wir sollten es schnell ändern.

 

  AutoCAD Plugin laden aus einem Bundle-Ordner 

Laden eines AutoCAD Plugins

Das Beste wäre, wenn keines der obigen Möglichkeiten genutzt wird und wir ein Verfahren anwenden, dass sicher ist und die Applikation somit stets geladen wird. Dieses Verfahren möchte ich in diesem Posting vorstellen.  

Beim Laden vom AutoCAD wird AutoCAD in einen Bundle-Ordner schauen und eine Datei Namens PackageContents.xml auslesen. In dieser XML-Datei wird definiert, welche Dateien (Lisp, .Net und VBA) und wie geladen werden sollen.

<?xml version="1.0" encoding="utf-8" ?>
<ApplicationPackage
    SchemaVersion="1.0"
    Version="1.0"
    ProductCode=""
    HelpFile=""
    Name="CAD-Becker App"
    Description="App for serveral activities within drawings with AutoCAD.IO"
    Author="Dipl.-Ing. Jürgen A. Becker (CAD-Becker.de)"
    AutodeskProduct="AutoCAD">

    <CompanyDetails
        Name="CAD-Becker.de"
        Phone="+49 5202 9953808"
        Url="www.CAD-Becker.de"
        Email="Juergen.Becker(at)CAD-Becker.de" />

    <Components>
        <RuntimeRequirements 
            OS="Win64|Win32" 
            Platform="AutoCAD|AutoCAD*" 
            SeriesMin="R18.1" 
            SeriesMax="R22.0"  />
        
        <ComponentEntry
            AppName="CAD-Becker"
            ModuleName="./Contents/Lisp/CAD-Becker.DLL"
            AppDescription="App for serveral activities within drawings with AutoCAD.IO"
            LoadOnAutoCADStartup="True"
            />
      
         <ComponentEntry
            AppName="CAD-Becker Menu"
            ModuleName="./Contents/Menu/CAD-Becker.cuix"
            AppDescription="Menüdatei"
            LoadOnAutoCADStartup="True"
            />
      
    </Components>

</ApplicationPackage> 

Der wichtigste Teil dieser XML-Datei ist der Components Bereich. In diesem Bereich werden die Applikationen eingetragen, die geladen werden sollen.

Im ComponentEntry-Bereich definiert die einzelne Applikation.

ComponentEntry  

Attribute des ComponentEntry Bereichs
Name Beschreibung
Appname Name der Applikation
Modulname Der Dateiname der Applikation
Relativ zum bundle-Ordner
AppDescription Beschreibung der Applikation
LoadOnAutoCADStartup Sollte auf true gestellt werden,
damit AutoCAD die Applikation beim Starten ladet.

 Die Applikations-Systemvoraussetzungen wird im Bereich RunTimeRequirements definiert.

Dabei ist zu beachten, dass der senkrechte Strich ( | ) eine Trennung der zulässigen Eigenschaften.

RuntimeRequirements  

Attribute des RuntimeRequirements Bereichs
Name Beschreibung
OS Betriebssystem z.B. Win32|Win64
Platform Der Name der AutoCAD-Version
SeriesMin Die mindest Versionsnummer
SeriesMax Die maximal Seriennummer

Zusätzliche Information

  • Benötigen Sie Hilfe, dann helfe ich gerne. Sagen Sie einfach Bescheid. Meine Kontakte finden Sie über den Menüpunkt "Über uns".

Copyright

© Copyright 2019 by CAD-Becker.de

Autodesk Forge: DevDays online (BIM 360 API)
Forge Update: Issues, RFIs und Checklisten wurden ...

Ähnliche Beiträge

 

Über mich

  Dipl.-Ing.
Jürgen A. Becker
Versorgungstechnik

 

Google Translator

 

Suchen

Abonniere Blog

Kalender

Warte kurz, während wir den Kalender laden

Kontakt

Jürgen A. Becker

CAD-Becker.de
Detmolder Str. 786
33699 Bielefeld
Germany
Telefon
+49 (5202) 9953808 
Mobil
+49 170 870 8679
E-Mail
Juergen.Becker(at)CAD-Becker.de