2017-09-18 2 views
0

Salut, je suis en train de charger des fichiers dll à Autocad 2018 comment puis-je y parvenir. Je veux automatiser pour pouvoir le faire au démarrage. Avec netload, tout fonctionne. J'ai utilisé les moyens * .lsp. Puis-je avoir une aide s'il vous plait. J'ai trouvé beaucoup de moyens, mais aucun ne fonctionne.Autocad 2018 autoload dll

Répondre

1

façon officielle d'AutoCAD pour charger les fichiers .dll écrits en .Net au démarrage est d'utiliser la fonction de chargement automatique. Vous regroupez en principe le fichier .dll avec tous les autres fichiers que vous voulez dans un dossier par défaut où AutoCAD lit au démarrage pour charger tous les plug-ins. Cela est particulièrement utile si vous souhaitez distribuer votre plug-in (.dll) en tant que fichier d'installation à installer sur plusieurs machines.

La première étape consiste à créer un dossier groupé dans "%ProgramData%/Autodesk/ApplicationPlugins". le dossier bundle est un dossier Windows normal qui se termine par .bundle (par exemple MyApp.bundle)

Dans ce dossier, vous devez avoir un dossier nommé ("Contenu") et un fichier nommé ("PackageContents.xml").

place .dll dans le contenu du dossier

Code

à l'intérieur PackageContents.xml peut être aussi simple que les éléments suivants (Changer des choses comme "MyApp", "MyName", etc .. et cela devrait fonctionner pour vous):

<?xml version="1.0" encoding="utf-8"?> 
<ApplicationPackage SchemaVersion="1.0" ProductType="Application" Name="MyAPP" AppVersion="1.0" Description="MyAPP, My description" Author="My Name" Icon="./Contents/MyAPPIcon.ico" OnlineDocumentation="http://MyWebSite.com" HelpFile="" ProductCode="{xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx}" FriendlyVersion="1.0" SupportedLocales="Enu" AutodeskProduct="AutoCAD"> 
    <CompanyDetails Name="My Name" Phone=" " Url="http://MyWebsite.com" Email="[email protected]" /> 
    <Components Description="Main"> 
    <RuntimeRequirements SupportPath="./Contents" OS="Win32|Win64" Platform="AutoCAD*" SeriesMin="R19.0" SeriesMax="R22.0" /> 
    <ComponentEntry AppName="MyAPP" Version="1.0" ModuleName="./Contents/MyAPP.dll" AppDescription="My description" LoadOnAppearance="True" LoadOnAutoCADStartup="True" LoadOnCommandInvocation="True"> 
    </ComponentEntry> 
    </Components> 
</ApplicationPackage> 

Je pense que ce qui précède est suffisant pour répondre à votre question, mais si vous avez besoin plus lu l'article dans le lien suivant: http://adndevblog.typepad.com/autocad/2013/01/autodesk-autoloader-white-paper.html

+0

Bien que cela fonctionne deux j'ai deux questions pour vous. 1) Comment cela m'aide-t-il à automatiser les commandes? 2) Aussi sur le nom du module, quel est ce chemin? – panoskarajohn

+0

Demandez et je vais essayer de répondre si je peux – mavios

+0

J'ai écrit un plugin .net. Je veux exécuter automatiquement certaines commandes personnalisées . Je veux le faire dans .Net car il offre une plus grande flexibilité que VBA/ActiveX (Macros). 2. Si nous regardons le fichier XML et voyons à l'intérieur du nom du module = "./ Contents" -> où cela conduit-il? Quel dossier? 3. Comment le xml m'aide avec l'automatisation? – panoskarajohn

1

Vous mettez vos commandes NETLOAD dans un fichier LSP et le fichier LSP dans votre suite de démarrage.

Gardez à l'esprit les chemins doivent utiliser 2 antislashs comme ceci:

(command "netload" "C:\\Internal Tools\\Detect Overlap\\Type 5\\x86\\Detect Overlap.dll") 
+0

où est la suite de démarrage? – panoskarajohn

+0

Dans Autocad, tapez APPLOAD et il y aura une image d'une valise. – braX

+0

ok merci je vais le tester et vous le faire savoir. – panoskarajohn

1

Il est également tout à fait ea sy à faire avec le registre, et est ma façon préférée. Voir le lien ci-dessous. Pour déployer, vous pouvez créer un programme d'installation pour définir les clés de registre, ou vous pouvez le faire correctement dans le code si vous avez du code s'exécutant en dehors d'AutoCAD.

https://knowledge.autodesk.com/support/autocad/troubleshooting/caas/sfdcarticles/sfdcarticles/How-to-autoload-DLLs-with-AutoCAD.html

+0

façon très intéressante, honnêtement, j'avais peur de jouer avec le registre, mais cela semble être très facile. Je vous remercie. – panoskarajohn