Curlygoth Posté(e) le 18 mars 2021 Posté(e) le 18 mars 2021 Bonjour ou bonsoir (tout dépend a quel moment de la journée vous allez voir ce message), Je commence à avoir un peu (Beaucoup trop) de boutons pour mes programmes ou autres... Est il possible de créer une commande pour faire appel à l'action de ce bouton ? Merci à vous ! Mon site Web (en cours de construction) : Site DA-CODE de @didier
(gile) Posté(e) le 19 mars 2021 Posté(e) le 19 mars 2021 Salut,Le plus simple est de définir une commande LISP.Exemple pour une macro VBA avec les fonctions vl-vbaload et vl-vbarun.(defun c:TOTO () (vl-vbaload "C:\Macros VBA\AutoCAD\laMacro.dvb") (vl-vbarun "laMacro") (princ) )ensuite tu peux simplement entrer : TOTO en ligne commande (et simplifier ta macro AutoCAD : ^C^Ctoto). Si tu ne veux absolument pas de LISP, le seul autre moyen, à ma connaissance, pour définir une commande AutoCAD est de le faire .NET ou ObjectARX, mais là, c'est vraiment comme prendre l'avion pour acheter une baguette de pain à un pâté de maison. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Curlygoth Posté(e) le 19 mars 2021 Auteur Posté(e) le 19 mars 2021 OK ensuite "appload" contenu a chargé au démarrage etc... merci beaucoup et question bête mais si je rajoute tous mes dvb ça dans un DEM.lsp :(defun c:TOTO () (vl-vbaload "C:\Macros VBA\AutoCAD\laMacro.dvb") (vl-vbarun "laMacro") (princ)) ... (defun c:TATA () (vl-vbaload "C:\Macros VBA\AutoCAD\TATA.dvb") (vl-vbarun "laMacro") (princ)) Si tu ne veux absolument pas de LISP, le seul autre moyen, à ma connaissance, pour définir une commande AutoCAD est de le faire .NET ou ObjectARX, mais là, c'est vraiment comme prendre l'avion pour acheter une baguette de pain à un pâté de maison.Un maitre du multi language VB.NET/ C# / Lisp /ObjectARX m'a dit :Ne cherche pas à aller trop vite et vas-y avec toute la rigueur nécessaire, à vouloir courir avant de savoir marcher, on se casse souvent la gueule.Et je vais suivre son conseil Ca lancera toutes mes commandes ? parce que j'ai une centaines d'entrées à faire ! [EDIT] Initialisation du système VBA...; erreur: Erreur Automation Problème lors du chargement du fichier DVB Le code réél J'ai créer un module qui s'appel Affpuis une procédure aff pour afficher le userform (defun c:USF ()(vl-vbaload "C:\K2M\ACAD\USF.dvb")(vl-vbarun "C:\K2M\ACAD\USF.dvb!Aff.aff") Marche pas;;(vl-vbarun "Aff.aff") marche pas;;(vl-vbarun "aff") marche pas(princ)) Mon site Web (en cours de construction) : Site DA-CODE de @didier
Curlygoth Posté(e) le 19 mars 2021 Auteur Posté(e) le 19 mars 2021 Alors j'ai trouvé par moi même (enfin sur un autre de tes posts XD) : (vl-vbarun "C:\\K2M\\ACAD\\GAZ.dvb!Aff.aff") Double \\ pour \ Mon site Web (en cours de construction) : Site DA-CODE de @didier
(gile) Posté(e) le 19 mars 2021 Posté(e) le 19 mars 2021 Montre le contenu d'une ou deux macros, on les convertira en commandes LISP. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Curlygoth Posté(e) le 19 mars 2021 Auteur Posté(e) le 19 mars 2021 ensuite tu peux simplement entrer : TOTO en ligne commande (et simplifier ta macro AutoCAD : ^C^Ctoto). heu.. le ^C^C pour echap deux fois ok mais ??? dans la création de commande ? pour mettre les ^C^C en plus ? Montre le contenu d'une ou deux macros, on les convertira en commandes LISP. Tu veux me convertir aussi au lisp ? ^^allez je suis d'accord ! plus à de corde à son arc mieux c'est ! en code simple j'ai ça :Sub aff()FONCT.PROPRIETE_ACTIVE_DUCALQUE 'Mets les propriétés active en propriété ducalquePRINC.show 'Affiche le userformEnd Sub EDIT : SUPPRESSION D'UN CODE VBA Mon site Web (en cours de construction) : Site DA-CODE de @didier
(gile) Posté(e) le 19 mars 2021 Posté(e) le 19 mars 2021 Normalement, avec vl-vbarun tu as juste besoin de passer le nom de la macro, pas le chemin complet (voir l'aide). Pour le chargement, tu peux créer, dans un dossier des chemins de recherche, un fichier nommé : acaddoc.lsp dans lequel tu mets toutes les définitions de commande LISP. Ce fichier sera automatiquement chargé dans chaque dessin AutoCAD. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
(gile) Posté(e) le 19 mars 2021 Posté(e) le 19 mars 2021 Nos messages se sont croisés. Je parlais de macro AutoCAD (ce qu'il y a dans les boutons) pas de macro VBA. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Curlygoth Posté(e) le 19 mars 2021 Auteur Posté(e) le 19 mars 2021 a dans les boutons : C'est toujours pareil :^c^c^p-vbarun "C:/.../FICHIER.dvb!MODULE.PROC_SUB" le nom de la macro, pas le chemin completOK merci et ça marche ...acaddoc.lsp dans lequel tu mets toutes les définitions de commande LISP. donc je créer un accaddoc.lsp ou autre nom et dedans : (defun c:USF () ;? meme nom ?(vl-vbaload "C:\\K2M\\ACAD\\LANCEMENT.lsp")(vl-vbarun "USF")(princ)) EDIT et pourquoi ne pas "insérer" les ^C^C dans le le Nom USF de base dans le Lancement.lsp que j'ai créé ? genre :(defun c:USF ()(^C^C);par exemple ????(vl-vbaload "C:\\K2M\\ACAD\\USF.dvb")(vl-vbarun "Aff.aff")(princ)) Mon site Web (en cours de construction) : Site DA-CODE de @didier
(gile) Posté(e) le 19 mars 2021 Posté(e) le 19 mars 2021 Si dans les boutons tu n'as que le vbarun :^c^c^p-vbarun "C:/.../FICHIER.dvb!MODULE.PROC_SUB"c'est que le fichier DVB est chargé par ailleurs. Donc en LISP il suffirait de faire :(defun c:USF () ; le nom que tu veux (vl-vbarun "USF") ; le nom de la macro (princ) ) donc je créer un accaddoc.lsp ou autre nomNon, pas autre nom, acaddoc.lsp avec un seul c. À l'ouverture de chaque dessin, AutoCAD cherche un fichier nommé acaddoc.lsp dans les chemin de recherche et, s'il le trouve, il le charge. pourquoi ne pas "insérer" les ^C^C dans le le Nom USF de base dans le Lancement.lsp que j'ai créé ?C^C^ c'est uniquement pour les macros de commande AutoCAD. Ça n'a aucune signification en LISP. Fais les choses tranquillement, calmement. Tu sembles surexcité, les exemples que tu donnes ne sont pas cohérents :(vl-vbaload "C:\\K2M\\ACAD\\LANCEMENT.lsp") Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
lecrabe Posté(e) le 19 mars 2021 Posté(e) le 19 mars 2021 Hello Gilles YES restons Cool / Zen ! La Sante, Bye, lecrabe "fatigue" Autodesk Expert Elite Team
Curlygoth Posté(e) le 19 mars 2021 Auteur Posté(e) le 19 mars 2021 Ok super ! merci beaucoup ! C^C^ c'est uniquement pour les macros de commande AutoCAD. Ça n'a aucune signification en LISP. A.. bon ok ! En tout cas merci beaucoup ça va permettre de créer des itérations contrôlés avec cette méthode.Ou... juste un raccourci plutôt que d'aller chercher le bouton. Mon site Web (en cours de construction) : Site DA-CODE de @didier
Curlygoth Posté(e) le 26 avril 2021 Auteur Posté(e) le 26 avril 2021 Hello je relance un poil, Donc je suis content, j'ai tout mes fonctionnalités VBA en commande juste un truc il m'affiche toujours ça : le nom de la commande elle me gêne pas : bien au contraire surtout pour la suite ^^ par contre connaissez vous un moyen de ne pas afficher ces 2 dernières lignes ? Mon site Web (en cours de construction) : Site DA-CODE de @didier
Curlygoth Posté(e) le 26 avril 2021 Auteur Posté(e) le 26 avril 2021 effectivement ça aide merci ! ça enleve le VBARUN Entrez une nouvelle valeur pour CMDECHO <1>: 0 Commande: AS AS Initialisation du système VBA..."Aff.aff_calc_ASS" mais on voit toujours le nom de la macro (pas sexy) Mon site Web (en cours de construction) : Site DA-CODE de @didier
Curlygoth Posté(e) le 18 janvier 2022 Auteur Posté(e) le 18 janvier 2022 Bonjour, Je relance un peu ce topic car les commandes ne fonctionne plus... une variable qui à bougé peut etre ? Je suis passé sur AUTOCAD MAP 2022 : j'ai un lancement.lsp qui se charge (pas de soucis) il y a ces deux lignes merci @(gile) Quand je tape GAZ dans ma ligne de commande (le dvb se charge mais le code C:\\K2M\\ACAD\\GAZ.dvb!AFF.AFF ne se lance pas) :s (defun c:GAZ () (vl-vbaload "C:\\...\\GAZ.dvb") (vl-vbarun "Aff.aff") (princ) ) du coup, je suis reparti sur mes boutons mais ça commence à faire beaucoup XD Mon site Web (en cours de construction) : Site DA-CODE de @didier
(gile) Posté(e) le 18 janvier 2022 Posté(e) le 18 janvier 2022 Je ne vois pas de souci dans le code ci-dessus. Je ne comprends pas ce que veut dire : " le code C:\\K2M\\ACAD\\GAZ.dvb!AFF.AFF ne se lance pas)". Si tu essayes (toujours essayer, c'est si simple en LISP) de coller les expressions une par une dans la ligne de commande : (vl-vbaload "C:\\...\\GAZ.dvb") Que répond AutoCAD ? (vl-vbarun "Aff.aff") Que répond AutoCAD ? Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Curlygoth Posté(e) le 19 janvier 2022 Auteur Posté(e) le 19 janvier 2022 Citation Si tu essayes (toujours essayer, c'est si simple en LISP) de coller les expressions une par une dans la ligne de commande : Donc (le dvb est chargé dans mes projet) et et donc j'ai essayer de mettre le code dans L'iDE de VLISP mais : F8 est grisé :-s Merci en tout cas @(gile) PS : J'ai réessayé avec autocad 2015 et ça marche... (c'est la version 2022 MAP qui a un problème ?) Mon site Web (en cours de construction) : Site DA-CODE de @didier
Luna Posté(e) le 19 janvier 2022 Posté(e) le 19 janvier 2022 Coucou, F8 est actuellement grisée parce que tu n'as pas défini de point d'arrêt dans le programme. Il s'agit du bouton en forme de main (à gauche de la paire de lunettes). Je te conseille de placer le point de coupure au niveau de la parenthèse ouvrante de la fonction (vl-vbaload) et d'ajouter "Consulter dernière interprétation" dans la fenêtre espion. Ainsi en lançant la commande GAZ tu verras ce qui ne fonctionne pas avec F8. En regardant l'aide AutoCAD concernant la fonction (vl-vbaload), elle est supposée retourner le chemin du fichier .dvb normalement. Or cela ne semble pas être le cas d'après ta première capture.. Es-tu sûr que ton fichier a pu être trouvé ? Essaye de taper la ligne suivante dans la ligne AutoCAD et voir ce qu'elle retourne : (findfile "C:\\K2M\\ACAD\\GAZ.dvb") Bisous, Luna
(gile) Posté(e) le 19 janvier 2022 Posté(e) le 19 janvier 2022 Tu n'as pas lu attentivement. Il y a 13 heures, (gile) a dit : (vl-vbarun "Aff.aff") Que répond AutoCAD ? Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Curlygoth Posté(e) le 19 janvier 2022 Auteur Posté(e) le 19 janvier 2022 a oui pardon : donc ok et merci luna mais rien de spécial : Mon site Web (en cours de construction) : Site DA-CODE de @didier
(gile) Posté(e) le 19 janvier 2022 Posté(e) le 19 janvier 2022 Commande: (vl-vbarun "Aff.aff") devrait renvoyer le nom de la macro (soit "Aff.aff" si c'est bien le nom de la macro). Voir ici. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Curlygoth Posté(e) le 19 janvier 2022 Auteur Posté(e) le 19 janvier 2022 OK et pas T comme je lis sur ma barre de commande... je me demande s'il n'y aurais pas un problème avec MAP 2022 Car ça marche sur Autocad 2015 (classique) et pas sur Autocad MAP 2022. je fais un fichier test pour vous ? TEST_VBA.dvbCURLY.lsp j'ai fais un dvb et un lisp. qui l'appel j'ai le meme problème Mon site Web (en cours de construction) : Site DA-CODE de @didier
(gile) Posté(e) le 19 janvier 2022 Posté(e) le 19 janvier 2022 il y a une heure, Curlygoth a dit : je fais un fichier test pour vous ? Pas pour moi, merci. Je n'ai installé ni le module VBA, ni AutoCAD MAP. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Curlygoth Posté(e) le 19 janvier 2022 Auteur Posté(e) le 19 janvier 2022 ca roule merci quand même ^^ Mon site Web (en cours de construction) : Site DA-CODE de @didier
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