(gile) Posté(e) le 10 avril 2023 Posté(e) le 10 avril 2023 Salut, Vous avez écrit un programme LISP (ou autre) que vous souhaitez partager avec vos collègues, vos amis ou tout le monde mais vous n'avez pas envie d'expliquer à chacun comment l'installer, dans quel dossier mettre les ressources, etc. Je propose un petit tutoriel avec un exemple très simple pour apprendre à utiliser les bases du mécanisme de chargement automatique avec un dossier .bundle et à créer un installeur pour placer ce dossier dans le répertoire idoine. Ce tutoriel est, bien sûr, disponible sur cette page. 3 Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
didier Posté(e) le 11 avril 2023 Posté(e) le 11 avril 2023 Bonjour @(gile) Un grand merci pour ce partage d'informations. Je suis complètement passé à côté de ce concept en étant surpris qu'il date de AutoCAD 2013 !. Je vais bien lire tes explications et m'en servirai pour faire des tests et plus si affinités. Il n'y a pas à dire !, quand GILLES écrit ou parle, il faut le lire et l'écouter, en paraphrasant l'inénarrable Michel Audiard : Quand les types de 130 kilos disent certaines choses, les types de 60 kilos les écoutent. Amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
Olivier Eckmann Posté(e) le 11 avril 2023 Posté(e) le 11 avril 2023 Bonjour, Le seul truc qui m'embête avec le principe du bundle, c'est de ne pas pouvoir lier le chargement d'un bundle avec un profil AutoCAD. J'ai 2 plug-in pour : - un client qui fait du réseau d'eau avec son gabarit (qui s'installe comme gabarit par défaut), ses unités topo (mètre, grade... par changement de variables systématiques AUNITS, LUNITS, LUPREC, ANGBASE, ANGDIR...) - un client qui fait des plans de bâtiment avec son gabarit (qui s'installe aussi comme gabarit par défaut) et ses unités (centimètres, degrés...) Evidemment ça ne fonctionne pas car ça génère des conflits. Le dernier plugin chargé réinitialise l'autre "en partie" car les DLL et VLX ne se chargent pas à la suite, mais d'abord toutes les DLL (.Net), puis tous les VLX... Je m'en sors avec 2 lanceurs différents (.BAT) qui renomment les dossiers .bundle avant de lancer AutoCAD, chacun avec son profil, mais si on pouvait charger un plug-in à la demande ça serait plus simple. Olivier 1
(gile) Posté(e) le 11 avril 2023 Auteur Posté(e) le 11 avril 2023 @Olivier Eckmann Il y a 8 heures, Olivier Eckmann a dit : si on pouvait charger un plug-in à la demande ça serait plus simple. En même temps, le principe du .bundle, c'est le chargement automatique... Et ton problème ne me semble pas directement lié au chargement automatique mais plutôt au fait qu'on ne peut pas décharger/recharger une DLL(donc c'est la première chargée qui prévaut) et, au contraire, charger un LISP (ou fas ou vlx) de même nom, écrase le précédent. Et si on ne peut pas conditionner le chargement d'un programme à un profil, on peut le faire à un produit (Civil, MAP, Archi, MEP, ...) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Olivier Eckmann Posté(e) le 12 avril 2023 Posté(e) le 12 avril 2023 @(gile) Quand je développe un bundle pour un client, je fais en sorte que ce plug-in initialise le gabarit par défaut, mette en place les unités et les variables spécifiques pour son travail. Chaque client n'a qu'un bundle, donc pas de souci chez lui. Le problème se pose sur nos postes de production, car nous travaillons avec ces bundles installés sur nos postes certains jours pour 1 client, certains jours pour un autre. J'ai donc les 2 bundle installés sur nos PC de production. Les noms des VLX, DLL ne sont pas identiques, mais chacun d'eux travaillent de la même manière est redéfinissent le gabarit par défaut, et les unités de travail et les variables utiles à chaque environnement de production. Donc ça rentre en conflit. Si on pouvait lier un le chargement d'un bundle à un profil AutoCAD, comme on peut lier un espace de travail à un profil, ça me permettrait de démarrer sur le profil souhaité et ne charger que le bundle associé. Je peux m'en sortir sans passer par un bundle et travailler avec un MNL associé à un CUIX partiel propre à chaque WS donc profil, mais ça m'oblige à produire un MSI pour le client et une autre manière de travailler en interne pour passer outre le bundle. Ce n'est pas forcément simple. Je ne sais pas comment font les BE qui ont plusieurs clients qui leur fournissent chacun leur bundle lorsqu'ils travaillent pour eux. Olivier
(gile) Posté(e) le 12 avril 2023 Auteur Posté(e) le 12 avril 2023 @Olivier Eckmann Je comprends mieux ton problème. Il ne concerne que les BE ou développeurs qui fournissent des applications et ça n'enlève rien à l'intérêt de fournir des dossiers .bundle (ou des installeurs qui les déploient) aux clients. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
(gile) Posté(e) le 12 avril 2023 Auteur Posté(e) le 12 avril 2023 Petite mise à jour du tutoriel : l'exemple de dossier .bundle charge deux programmes LISP (Edit_Bloc et TotalArea) dont un avec un fichier DCL. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Olivier Eckmann Posté(e) le 12 avril 2023 Posté(e) le 12 avril 2023 @(gile), Tu as tout à fait raison, cela n'enlève absolument rien à l'intérêt du bundle ou de l'installeur pour déployer un plug-in avec chargement automatique. Petite question subsidiaire : est-ce que tu indiques une version max ou pas? Jusqu'à présent, je le faisais systématiquement puis je déployais un nouveau bundle, lorsque j'avais testé que tout fonctionnait avec la nouvelle version, mais j'ai vu que certains xml d'Autodesk, ne déclarait pas de version max. Olivier
(gile) Posté(e) le 12 avril 2023 Auteur Posté(e) le 12 avril 2023 Déclarer une version max est obligatoire pour les plug-ins publiés sur Autodesk App Store et il faut systématiquement tester le plug-in et le faire approuver à chaque nouvelle version. Par contre, pour ceux que j'ai donné sur CADxp j'ai fini par retirer la version max parce que j'oubliais régulièrement de les mettre à jour. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant