Visual LISP, AutoLISP and General Customization
cancel
Showing results forĀ 
ShowĀ Ā onlyĀ  | Search instead forĀ 
Did you mean:Ā 

Application Plugins PackageContents.xml for LISP

0 REPLIES 0
Reply
Message 1 of 1
JF_005
2103 Views, 0 Replies

Application Plugins PackageContents.xml for LISP

I've started toying with the Autoloader (Application Plugins Bundles) so that AutoCAD loads automatically my LISP functions without the use of Startup Suite, Acaddoc or any other "old" ways to do it. I know that the ApplicationPlugins folder is very useful for installation of Plugins/tools that you can buy at the Autodesk App Store, but I want to use it mainly for my own local LISP files and take advantage of the LoadOnCommandInvocation element they added in AutoCAD 2013.

 

I've found a sample PackageContents.xml that shows how to load LISP commands, and of course I'm doing tests about what I need to keep and what I can remove from that sample. But I have a question about the ApplicationPackage "ProductCode" element (GUID) found in the XML sample file:

 

 In the Autodesk Help topic for PackageContents.xml Format Reference, for Local Deployment, apparently the ApplicationPackage "ProductCode" element would be required. But I managed to suppress that element in my XML file and my LISP commands still loaded successfully in Acad2013:

 

<?xml version="1.0" encoding="utf-8"?>
<ApplicationPackage
  AppNameSpace="appstore.exchange.autodesk.com">
  AppVersion="1.0.0"
  Author="Lee-Mac"
  AutodeskProduct="AutoCAD"
  Description="Lisp Routines from Lee-Mac"
  Name="Lisp: Lee-Mac"
  ProductType="Application"
  SchemaVersion="1.0"
  <Components>
    <RuntimeRequirements
    OS="Win64|Win32"
    Platform="AutoCAD*"
    SeriesMin="R19.0" />
    <ComponentEntry AppName="DoubleOffset" ModuleName="./Contents/DoubleOffset.lsp" LoadOnCommandInvocation="True">
      <Commands GroupName="LEE_MAC">
        <Command Local="Doff" Global="Doff" />
      </Commands>
    </ComponentEntry>
    <ComponentEntry AppName="CopyText" ModuleName="./Contents/CopyText.lsp" LoadOnCommandInvocation="True">
      <Commands GroupName="LEE_MAC">
        <Command Local="CTx" Global="CTx" />
	<Command Local="STx" Global="STx" />
      </Commands>
    </ComponentEntry>
    <ComponentEntry AppName="ChangeBlockInsertion" ModuleName="./Contents/ChangeBlockInsertion.lsp" LoadOnCommandInvocation="True">
      <Commands GroupName="LEE_MAC">
        <Command Local="CBI" Global="CBI" />
	<Command Local="CBIR" Global="CBIR" />
      </Commands>
    </ComponentEntry>
  </Components>
</ApplicationPackage>

 

So the "ProductCode" element don't seems to be required after all.

So since I don't ever plan to distribute my LISP with a MSI setup (which means I manually copy/paste my bundle in ApplicationPlugins folder), do I really need to have a GUID for the "ProductCode" element? How does AutoCAD register my LISP commands then if I did not specified any GUID?. Also, is the "AppNameSpace" element is important, or I can write any text value for loadind a LISP file?

 

I'm really newby about Application Plugins and what is good practice for the PackageContents.xml, but I really find this interesting as a new way to load LISP and DLL files. Thanks in advance for anyone you can answer me, or give me good websites that explain more in details the process of PackageContents.xml.

Tags (1)
0 REPLIES 0

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report

ā€Boost