Author Topic: Autodesk Exchange  (Read 5205 times)

0 Members and 1 Guest are viewing this topic.

Andrey Bushman

  • Swamp Rat
  • Posts: 864
Autodesk Exchange
« on: October 03, 2012, 04:23:27 AM »
Hello all,
I apologize for my bad English. My questions will be about Autodesk Exchange mechanism. Beforehand I studied official documentation.
 
Saving all plugins at the %ProgramFiles%\Autodesk\ApplicationPlugins, and  %AppData%\Autodesk\ApplicationPlugins is good solution. The first path is for all local users, and the second path is for individual user. But there is no third directory, the common for all network users. It is important for team working, when all users must use common resources, like fonts, linetypes, templates, plugins, e.t.c. according Company Standard. The majority of AutoCAD users work at the team! Can I assign additional, common network directory, for location of  the .bundle plugins? And in this case, I being an CAD administrator must to have the capability for disable of using %ProgramFiles%\Autodesk\ApplicationPlugins, and %AppData%\Autodesk\ApplicationPlugins: all users of my Company must use only common plugins from network. How can I manage it?
 
I installed some plug-ins from Autodesk Exchange for testing:
For OsnapPalette installing the rights of the administrator were required. At the installation process the password was requested twice. I thought, such rights are required when plugin will installed into the %ProgramFiles%\Autodesk\ApplicationPlugins directory, but OsnapPalette was installed into %AppData%\Autodesk\ApplicationPlugins. It is present as record at a "Programs and Components" dialog box, and can be uninstalled like a usual program.
 
All other plugins did not require administrator rights and was installed at %AppData%\Autodesk\ApplicationPlugins too. At the installation process I didn't receive the question about target plugin directory location: at the %ProgramFiles% (installation for all local users), or at the %AppData% (installation for current user only).
 
Is the plugins will be installed at the %AppData% always, and must I move that into %ProgramFiles% manually if I need it?
 
Next question...  For example, I want to exclude autoload for the OsnapPalette plugin, but I don't need remove it.
I have read information about Loadreasons attribute at this page. Then I have changed of PackageContents.xml file settings: I set such attributes for the DLL and CUIX, for AutoCAD 2013:
  • Loadreasons="True"
  • LoadOnAutoCADStartup="False"
  • LoadOnCommandInvocation="False"
  • LoadOnAppearance = "False"
  • LoadOnProxyDetection = "False"

 I set APPAUTOLOAD = 2, and restarted AutoCAD. But OsnapPalette plugin was loaded and working. Why this plugin was loaded? Where is my mistake?
 
Best Regards,
Andrey
« Last Edit: October 03, 2012, 06:02:26 AM by Andrey »

Andrey Bushman

  • Swamp Rat
  • Posts: 864
Re: Autodesk Exchange
« Reply #1 on: October 03, 2012, 06:21:25 AM »
The themes which I create, are similar to this picture, because don't live. But I live in a hope... :)
« Last Edit: October 03, 2012, 02:01:18 PM by Andrey »

BlackBox

  • King Gator
  • Posts: 3770
Re: Autodesk Exchange
« Reply #2 on: October 03, 2012, 11:40:12 AM »
FWIW -

We do not use either ..\ApplicationPlugins\ folder, rather store all plug-ins on the network (one copy of each, not replicated out to user computers).

Some are demand loaded, some loaded at startup either by Acad.lsp, or registry.

Here's an article for the latter:

Automatic loading of .NET modules



** Note - Depending on your version, you may require a modification to Acad.Exe.Config to enable LoadFromRemoteSources, as shown in this article:

Loading blocked and network-hosted assemblies with .NET 4

HTH
"How we think determines what we do, and what we do determines what we get."

Andrey Bushman

  • Swamp Rat
  • Posts: 864
Re: Autodesk Exchange
« Reply #3 on: October 03, 2012, 12:04:51 PM »
2 RenderMan
Thank you for the answer, but I know all this information. Autodesk Exchange is interesting for me now.
« Last Edit: October 03, 2012, 12:08:36 PM by Andrey »

BlackBox

  • King Gator
  • Posts: 3770
Re: Autodesk Exchange
« Reply #4 on: October 03, 2012, 01:13:28 PM »
Autodesk Exchange is interesting for me now.

I understand your interested, but the documentation does not seem to support your requests... For example:



Can I assign additional, common network directory, for location of  the .bundle plugins?

Quote from: Autodesk Exchange, AutoCAD, Help, Customization Guide, Introduction to Programming Interfaces

Install and Uninstall Plug-In Applications

<snip>

The plug-in defined by each package is loaded into AutoCAD by placing it in one of the ApplicationPlugins folders on your local drive. There are two different ApplicationPlugins folders that you can use:

    <drive>:\Program Files\Autodesk\ApplicationPlugins

    (Windows XP) <drive>:\Documents and Settings\<user name>\Application Data\Autodesk\ApplicationPlugins
    (Windows Vista or Windows 7) <drive>:\Users\<user name>\AppData\Roaming\Autodesk\ApplicationPlugins

When AutoCAD starts, both ApplicationPlugins folders are checked for plug-in applications. The packages found are automatically registered and loaded based on the metadata in the XML file of each package.



all users of my Company must use only common plugins from network. How can I manage it?

At the risk of tempting fate... Presuming that the documentation is accurate, the only means to load assemblies from the network is made clear in this post.



For OsnapPalette installing the rights of the administrator were required. At the installation process the password was requested twice. I thought, such rights are required when plugin will installed into the %ProgramFiles%\Autodesk\ApplicationPlugins directory, but OsnapPalette was installed into %AppData%\Autodesk\ApplicationPlugins. It is present as record at a "Programs and Components" dialog box, and can be uninstalled like a usual program.
 
All other plugins did not require administrator rights and was installed at %AppData%\Autodesk\ApplicationPlugins too. At the installation process I didn't receive the question about target plugin directory location: at the %ProgramFiles% (installation for all local users), or at the %AppData% (installation for current user only).
 
Is the plugins will be installed at the %AppData% always, and must I move that into %ProgramFiles% manually if I need it?

I am unable to comment on this, as I am not familiar enough with, and do not use, the auto loader mechanism for our production deployments.



Next question...  For example, I want to exclude autoload for the OsnapPalette plugin, but I don't need remove it.
I have read information about Loadreasons attribute at this page. Then I have changed of PackageContents.xml file settings: I set such attributes for the DLL and CUIX, for AutoCAD 2013:

    Loadreasons="True"
    LoadOnAutoCADStartup="False"
    LoadOnCommandInvocation="False"
    LoadOnAppearance = "False"
    LoadOnProxyDetection = "False"


 I set APPAUTOLOAD = 2, and restarted AutoCAD. But OsnapPalette plugin was loaded and working. Why this plugin was loaded? Where is my mistake?

APPAUTOLOAD = 2, means "Load plug-in applications at startup"... Which suggests to me that there may be an improper setting in your XML.

Quote from: Autodesk Exchange, AutoCAD, Help, Customization Guide, Introduction to Programming Interfaces, Install and Uninstall Plug-In Applications, PackageContents.xml Format, Components Element, ComponentEntry Element

ComponentEntry Element

<snip>

Loadreasons

By default, LoadOnAutoCADStartup, LoadOnAppearance and LoadOnProxy are enabled (set to True) if LoadReasons is not specified. If parameters need to be disabled (set to False), the LoadReasons element must be specified along with the parameters set to False.

*IF* I understand this correctly... LoadReasons must also be specified as False, no?



Again, these are the correct answers to your questions to the best of my knowledge, based upon the documentation. If I am mistaken, please feel free to correct me, as I do find this topic to be of great interest, and may consider using the auto loader mechanism in the future.

HTH
"How we think determines what we do, and what we do determines what we get."

Andrey Bushman

  • Swamp Rat
  • Posts: 864
Re: Autodesk Exchange
« Reply #5 on: October 03, 2012, 01:57:14 PM »
but the documentation does not seem to support your requests...
Yes, I have read it, but documentation of Autodesk isn't always exact - therefore I asked this question..
At the risk of tempting fate... Presuming that the documentation is accurate, the only means to load assemblies from the network is made clear in this post.
I use it now, but I want to understand well Autodesk Exchange possibilities to know everything, what it is capable. :)
I am unable to comment on this, as I am not familiar enough with, and do not use, the auto loader mechanism for our production deployments.
Me too. I learn it now.
APPAUTOLOAD = 2, means "Load plug-in applications at startup"... Which suggests to me that there may be an improper setting in your XML.
I don't want to disconnect ALL plug-ins, but OsnapPalette only. Therefore I assigned APPAUTOLOAD = 2 and have modified XML file of OsnapPalette.
*IF* I understand this correctly... LoadReasons must also be specified as False, no?
I understood this phrase so:
If at least one of parameters: LoadOnAutoCADStartup,
LoadOnCommandInvocation, LoadOnAppearance, or
LoadOnProxyDetection is equal the "True", then LoadReasons element must be equal the "False".

Maybe I incorrectly translated it into Russian.

Andrey Bushman

  • Swamp Rat
  • Posts: 864
Re: Autodesk Exchange
« Reply #6 on: October 03, 2012, 03:42:51 PM »
2 RenderMan
In this my topic, Augusto Goncalves has suggested workaround method:
Quote from: Augusto Goncalves
I made a quick testing, it's not affecting the load, I even tried LoadDisabled = True, still nothing, but what did work was the version: I changed the SeriesMax to a lower values, which in fact make it not load.
It is a curve method, but it works now.
« Last Edit: October 03, 2012, 03:47:02 PM by Andrey »

Jeff H

  • Needs a day job
  • Posts: 6150
Re: Autodesk Exchange
« Reply #7 on: October 03, 2012, 05:00:59 PM »
Should LoadOnAppreance or LoadOnCommand be true?
 
 
This is probably not a good solution but what I just came up with in 3 seconds.
Maybe for network plugin location since autocad checks every five seconds in those folders you could maybe create a plugin called 'plug-in manager' that in intialize methods copies bundles over, and fires off a small background app that gets the process of acad.exe and subscribes to exit event to delete all plugins except for manager one, sincce acad must be fully closed so you could erase them.
 
Feels very hacky though.
 
 

BlackBox

  • King Gator
  • Posts: 3770
Re: Autodesk Exchange
« Reply #8 on: October 03, 2012, 05:13:35 PM »
Should LoadOnAppreance or LoadOnCommand be true?
 
 
This is probably not a good solution but what I just came up with in 3 seconds.
Maybe for network plugin location since autocad checks every five seconds in those folders you could maybe create a plugin called 'plug-in manager' that in intialize methods copies bundles over, and fires off a small background app that gets the process of acad.exe and subscribes to exit event to delete all plugins except for manager one, sincce acad must be fully closed so you could erase them.
 
Feels very hacky though.

Perhaps it would be simpler to maintain a simple BAT file to run at login, to XCOPY all network *.Bundle(s) to local disk?

Code: [Select]
ECHO OFF

xcopy "<NetworkFilePath>\*.*" "%AppData%\Autodesk\ApplicationPlugins" /s /r /y

:END
"How we think determines what we do, and what we do determines what we get."

gile

  • Gator
  • Posts: 2507
  • Marseille, France
Re: Autodesk Exchange
« Reply #9 on: November 07, 2012, 03:46:31 PM »
Quote
For OsnapPalette installing the rights of the administrator were required. At the installation process the password was requested twice. I thought, such rights are required when plugin will installed into the %ProgramFiles%\Autodesk\ApplicationPlugins directory, but OsnapPalette was installed into %AppData%\Autodesk\ApplicationPlugins. It is present as record at a "Programs and Components" dialog box, and can be uninstalled like a usual program.

OsnapPalette installation creates two new system variables. This nedds to write in HKLM that's why administrator user account is required (and why OsnapPalette uses my own MSI installer rather than the Autodesk standard installer).

Quote
Next question...  For example, I want to exclude autoload for the OsnapPalette plugin, but I don't need remove it.
I have read information about Loadreasons attribute at this page. Then I have changed of PackageContents.xml file settings: I set such attributes for the DLL and CUIX, for AutoCAD 2013:

    Loadreasons="True"
    LoadOnAutoCADStartup="False"
    LoadOnCommandInvocation="False"
    LoadOnAppearance = "False"
    LoadOnProxyDetection = "False"


 I set APPAUTOLOAD = 2, and restarted AutoCAD. But OsnapPalette plugin was loaded and working. Why this plugin was loaded? Where is my mistake?

LoadOnAutoCADStartup is the default reason, may be if you set all to false, the default is used...

Anyway, OsnapPalette needs to be loaded at startup so that the custom osnaps work even the palette is closed.
Speaking English as a French Frog

Andrey Bushman

  • Swamp Rat
  • Posts: 864
Re: Autodesk Exchange
« Reply #10 on: November 08, 2012, 12:42:34 AM »
OsnapPalette installation creates two new system variables.
Interesting... Are you create own new system variables for AutoCAD? How you did it?

LoadOnAutoCADStartup is the default reason, may be if you set all to false, the default is used...
I have some additional questions about this page:

1. LoadOnProxy, or LoadOnProxyDetection?
2. Loadreasons, or LoadReasons? For XML register of characters is important!
3. If I set LoadReasons = false, LoadOnProxyDetection=true, and LoadOnAppearance=true, which value will get LoadOnAppearance, and LoadOnProxyDetection? What variable will have a bigger priority (LoadReasons, or itself)?
4. If I set LoadOnCommandInvocation = true, LoadOnProxyDetection=true, and LoadOnAppearance=true, which value will get LoadOnAppearance, and LoadOnProxyDetection? What variable will have a bigger priority (LoadOnCommandInvocation, or itself)?

LoadOnAutoCADStartup is the default reason, may be if you set all to false, the default is used...
Anyway, OsnapPalette needs to be loaded at startup so that the custom osnaps work even the palette is closed.

BlackBox

  • King Gator
  • Posts: 3770
Re: Autodesk Exchange
« Reply #11 on: November 08, 2012, 01:00:24 AM »
"How we think determines what we do, and what we do determines what we get."

Andrey Bushman

  • Swamp Rat
  • Posts: 864
Re: Autodesk Exchange
« Reply #12 on: November 08, 2012, 01:09:48 AM »

BlackBox

  • King Gator
  • Posts: 3770
Re: Autodesk Exchange
« Reply #13 on: November 08, 2012, 08:56:41 AM »
"How we think determines what we do, and what we do determines what we get."