Die Artikel-Reihe "Toolbündel" setzt sich mit der Möglichkeit auseinander, Tools so zu implementieren, dass sie automatisch in AutoCAD geladen und im Ribbon angezeigt werden. Start der Reihe ist hier.

Dieser zweite Teil beginnt mit der Vorbereitung eines Toolbündels anhand des CADmaro-Tools TempLeeren und erläutert die wichtigsten Inhalte der Paket-Datei.

 

Nachdem das Konzept hinter den Tool-Paketen im ersten Teil erläutert wurde, geht es nun in die Praxis.

  1. In einem Arbeitsverzeichnis wird ein Ordnernamens TempLeeren erzeugt. Die endgültige Bezeichnung mit dem .bundle-Suffix wird später ergänzt, wenn das Tool fertig zum Laden ist.
  2. In diesem Ordner wird eine Datei namens PackageContents.xml abgelegt.


Exkurs PackageContens.xml

Diese XML-Datei definiert die Parameter des gesamten Tool-Pakets. Neben allgemeinen Informationen werden zum Beispiel Programmnamen und Resourcen definiert. Die AutoCAD-Hilfe zeigt im Kapitel "Plugin-Beispiel: Verwenden von Ordnern zum Organisieren von Komponenten" unter anderem den beispielhaften Inhalt einer PackageContens.xml-Datei an.

Als Vorlage für ein eigenes Tool kann entweder der entsprechende Text aus der Hilfe verwendet werden oder ein beliebiges Tool aus dem Autodesk Exchange Appstore. Wichtig ist, diese XML-Dateien vollständig zu ändern und keine Fragmente der Vorlage übrig zu lassen.

Die Datei PackageContents.xml ist in verschiedene festgelegte Elemente und Attribute unterteilt, manche verbindlich, manche optional. Für eigene oder kleinere Tools kann man hier sicher sehr reduzierte Angaben machen, bei größeren und spezifischen Tools und solche, die im Exchange-Appstore angeboten werden, sind Attribute wie ProductCode, Betriebssystem, Plattform usw. allerdings unumgänglich. Eine umfassende Liste von Attributen ist in der AutoCAD-Hilfe zu finden. Für das Beispiel-Tool-Paket TempLeeren kann der folgende Text verwendet werden.

Hinweis: Ähnlich wie bei HTML-Dateien werden die einzelnen Elemente in spitze Klammernpaare eingeschlossen. Das Ende eines Elements wird im /> notiert.


<?xml version="1.0" encoding="utf-8" ?>
<ApplicationPackage SchemaVersion="1.0" AppVersion="1.0"
    ProductCode="[Add Unique Plug-in GUID Here]"
    Name="TempLeeren"
    Icon="./Contents/Resources/TempLeeren.png"
    Helpfile="./Contents/Resources/TempLeeren.htm"
>
  <CompanyDetails
    Name="CADmaro.de"
    Email="Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein."
  />
  <Components>
<RuntimeRequirements
      SupportPath="./Contents/Resources"
      Platform="AutoCAD|AutoCAD*"
      OS="Win32|Win64"
      SeriesMin="R18.2"
    />
    <ComponentEntry
      ModuleName="./Contents/TempLeeren.vlx"
    />
  <ComponentEntry
      AppName="TempLeeren"
      ModuleName="./Contents/Resources/TempLeeren.cuix"
    />
  </Components>
</ApplicationPackage>

 

- Die erste Zeile mit der Deklaration der XML-Version und dem verwendeten Zeichensatz sollte unverändert übernommen werden.

- Danach startet der ApplicationPackage-Block. Er fasst alle für das Tool notwendige Angaben zusammen.

- Das Attribut "ProductCode" muss angegeben werden, kann bei kleineren und eigenen Tools wie hier aber unbezeichnet bleiben.

- "Name", "Icon" und "Helpfile" sind bei dieser Art Tools nicht notwendig und sind hier aufgeführt um ihre Handhabung zu demonstrieren.

 

Das erste Element im ApplicationPackage ist der Abschnitt CompanyDetails. Die Angaben sind für diese Zwecke alle optional.

Das zweite Element ist der Abschnitt "Components". Hier werden die Tool-Bestandteile deklariert. Zunächst im Element "RuntimeRequirements", wo Voraussetzungen wie Windows-Architektur, Autodesk-Produktname oder Versionsnummer definiert werden.

Anschließend kommen die sogenannten "ComponentEntry"-Attribute, die Datei- und Toolnamen enthalten. Bemerkenswert hierbei: Auch zugehörige Anpassungsdateien werden über "ModulName"-Einträge eingebunden.

Abschließend werden im obigen Beispiel alle Elemente geschlossen und die Datei als PackageContens.xml gespeichert.

 

Weiter geht es im dritten Teil.

 

Diese Internetseite ist urheberrechtlich geschützt. Alle Rechte vorbehalten.     © 2024 Markus Hoffmann (─┼──) www.CADmaro.de