(gile) Posté(e) le 2 janvier 2009 Posté(e) le 2 janvier 2009 Salut, Mon cadeau de fin d'année pour les lispeurs.Pas vraiment une révolution, plutôt mes balbutiements en dot NET. Il s'agit de 4 nouvelles fonctions LISP qui permettent d'accéder aux boites de dialogues standard Windows.- gc-GetFileDlg pour choisir un ou plusieurs fichiers existants- gc-GetFolderDlg pour choisir un répertoire- gc-MessageBox pour délivrer un message et récupérer une réponseplus,- gc-InputBox pour récupérer une entrée utilisateur.J'ai préfixé les noms des fonctions pour limiter le risque de conflit avec des fonction définies en LISP. Comme je ne suis pas encore au point avec les setup.exe, l'installation se fait depuis AutoCAD :- décompresser le fichier ZIP dans un répertoire du chemin de recherche- entrer (load "dialog-setup") à la ligne de commande, valider- entrer dialog-setup, valider- laisser vous guider... Télecharger le ZIP PS : pour accéder à l'aide de ces fonctions entrer : (help "LispDialog") PPS : si certains sont intéressé par les codes source (C#) je les mettrais en téléchargement aussi. EDIT : Ça y est !!! Tout les fichiers dans un setup qui s'occupe de tout Réponse 6 (uniquement 2007, 2008 et 2009) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Matt666 Posté(e) le 2 janvier 2009 Posté(e) le 2 janvier 2009 Salut Gile !Cool je vais tâcher d'essayer tout ça sur BricsCAD !Juste pour la curiosité : Tu utilises quoi comme programme pour voir/Editer un programme en DLL ?Merci !Matt. "Chacun compte pour un, et nul ne compte pour plus d'un."
(gile) Posté(e) le 3 janvier 2009 Auteur Posté(e) le 3 janvier 2009 Salut, Tu utilises quoi comme programme pour voir/Editer un programme en DLL ? On peut décompiler les assemblies (DLL) .NET avec Reflector, si elles ne sont pas cryptées. Pour modifier le code source on peut utiliser n'importe quel éditeur de texte et on peut recompiler depuis la fenêtre de commande DOS, mais il est plus pratique d'utiliser un éditeur Visual Studio. Je ne suis pas sûr du tout que tout ça fonctionne avec BricsCAD, tout dépend de l'implémentation de .NET Dans AutoCAD, ça ne fonctionnera qu'à partir de la version 2007. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Bred Posté(e) le 4 janvier 2009 Posté(e) le 4 janvier 2009 Salut (gile),Je ne me suis pas penché sur le C#.Trouves-tu ça sympa comme logique ?j'avoue que le vb-net ne m'amuse pas du tout (au contraire du lisp), donc c'est pour voir si je ne tendrais pas vers autre chose...merci. [Edité le 4/1/2009 par Bred] Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
(gile) Posté(e) le 4 janvier 2009 Auteur Posté(e) le 4 janvier 2009 Salut, Du peu que je sais, si les syntaxes du VB et du C# diffèrent un peu, l'architecture est la même.C'est de la Programmation Orientée Objet et les deux utilisent le même Framework. Je dois avouer avoir un peu de mal et beaucoup moins m'amuser qu'en LISP(mais ça viendra peut-être). J'ai choisi C# pour plusieurs raisons (plus ou moins bonnes)- Ce n'est pas un langage propriétaire, contrairement à VB (Microsoft) et un framework pour les systèmes d'exploitation MacOS et LINUX (MONO) est en train d'être implémenté.- La syntaxe me semblait moins rébarbative que celle du VB et elle est plus proche du C++ (peut-être un jour...)- J'ai trouvé plus d'exemples pour AutoCAD en C# qu'en VB, notamment sur TheSwamp ou sur Through the Interface Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Bred Posté(e) le 4 janvier 2009 Posté(e) le 4 janvier 2009 OK, merci pour ta réponse ! Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
(gile) Posté(e) le 21 janvier 2009 Auteur Posté(e) le 21 janvier 2009 Salut, Voilà un fichier .msi qui s'occupe de l'installation (AutoCAD 2007/2008/2009):- création d'un nouveau dossier contenant les fichier (dll, chm)- inscriptions dans la base de registre du chemin vers le dossier et du chargement automatique de la dll. Pour installer : fermer AutoCAD, décompresser le ZIP et double cliquer sur le fichier msi, relancer AutoCAD, les nouvelles fonctions LISP sont automatiquement chargées. Pour ouvrir l'aide, dans AutoCAD lancer l'expression LISP : (help "LispDialog") La désinstallation se fait par le panneau de configuration Windows >> Ajouter et supprimer des programmes. LispDialogSetup.msi Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
lili2006 Posté(e) le 22 janvier 2009 Posté(e) le 22 janvier 2009 Bonjour à toutes et tous, Afin de tester, j'ai télécharger "dotnetfx35setup.exe" et lorsque je lance l'install de "LispDialogSetup.msi", j'ai ce message (j'ai testé à plusieurs reprises après avoir rebooté mon ordi,..) http://images4.hiboox.com/images/0409/a1a829745d01e379a3cfffaf4a136c05.jpg Une idée ? Merci d'avance, Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
Arcasdk Posté(e) le 22 janvier 2009 Posté(e) le 22 janvier 2009 Le dll fonctionne nickel (Gile), merci. Pour le msi je ne peux pas l'installer..... problème de droits administrateur. En revanche si je peux me permettre, J'apporterai une petite option à "gc-GetFolderDlg". Ne pourrait-on pas définir un chemin par défaut.Parce que j'ai des chemins de répertoire à rallonge et je dois toujours remonté toute l'arborescence pour cibler mon dossier. Cela dit, encore merci tout fonctionne nickel Lili2006 est trop fort. Il a été écrire son message dans le futur et est revenu après. Il y a un problème dans l'horloge [Edité le 22/1/2009 par Arcasdk] <IMG SRC=http://peronfrederic.free.fr/banniere.jpg></IMG> <a href=www.formu-lan.net>www.FormuLan.net</a>
(gile) Posté(e) le 22 janvier 2009 Auteur Posté(e) le 22 janvier 2009 Salut, À tous,Je débute avec C#, ce qui explique que certaines choses ne soient pas tout à fait point... lili2006, j'ai télécharger "dotnetfx35setup.exe" C'est curieux, j'ai tout paramétré pour que ça fonctionne avec la version2.0 de .NET Framework ?... L'installation ne fonctionne peut-être pas suivant la version par défaut d'AutoCAD.Peux-tu essayer cette expression LISP à la ligne de commande et me dire le retour :(vl-load-com) (vlax-product-key) Arcasdk, En revanche si je peux me permettre, J'apporterai une petite option à "gc-GetFolderDlg". Ne pourrait-on pas définir un chemin par défaut. Cette propriété existe, mais je l'avais volontairement écartée parce que spécifier un chemin par défaut empêche l'accès aux répertoires situés plus haut dans l'arborescence.Dès que j'ai un peu de temps, je rajouterais cette option à utiliser avec prudence donc. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
lili2006 Posté(e) le 22 janvier 2009 Posté(e) le 22 janvier 2009 Re, Retour en ligne de commande de "(vl-load-com) (vlax-product-key)" => Commande: (vlax-product-key)"Software\\Autodesk\\AutoCAD\\R17.1\\ACAD-6001:40c" Sur ma V2008 full ! Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
(gile) Posté(e) le 22 janvier 2009 Auteur Posté(e) le 22 janvier 2009 lili2006, Peux tu essayer plutôt ceci :((lambda (/ k) (setq k "HKEY_CURRENT_USER\\Software\\Autodesk" k (strcat k "\\" (vl-registry-read k "CurProd")) k (strcat k "\\" (vl-registry-read k "CurVer")) k (strcat k "\\" (vl-registry-read k "CurVer")) ) ) ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
lili2006 Posté(e) le 22 janvier 2009 Posté(e) le 22 janvier 2009 Re, Réponse => "HKEY_CURRENT_USER\\Software\\Autodesk\\AutoCAD\\R17.1\\ACAD-6001:40c" Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
(gile) Posté(e) le 22 janvier 2009 Auteur Posté(e) le 22 janvier 2009 Merci pour ta patience lili2006, mais je ne vois vraiment pas pourquoi ça ne fonctionne pas.As tu bien tous les droits sur ton poste ? Si ça ne marche pas, tu peux toujours utiliser la première méthode (premier message). Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
lili2006 Posté(e) le 22 janvier 2009 Posté(e) le 22 janvier 2009 Re, As tu bien tous les droits sur ton poste ? J'ai une embrouille su ce poste, la boite qui m'a fait le montage de mon PC et l'install de windows à coulé aujourdh'ui ! Je me suis pourtant mis en administrateur mais certains pg "bloquent" effectivement,... Donc cela provient de chez moi,.. Désolé, c'était pour faire avancer le chmilblick pensant que cela pouvait provenir de ton prog,.... Encore désolé, Merci pour ta patience lili2006 C'est plutôt à toi, ;) 1er méthode, sans pb, j'avais déjà testé (euh, au fait, peut-être un rapport aussi ???!) D'autres vont surement testé et tu seras alors fixé ! @+, Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
(gile) Posté(e) le 22 janvier 2009 Auteur Posté(e) le 22 janvier 2009 1er méthode, sans pb, j'avais déjà testé (euh, au fait, peut-être un rapport aussi ???!) Oui, le programme étant déjà installé, c'est normal.Si tu veux vraiment tester à nouveau, il faut d'abord faire une désinstallation "manuelle" :- supprimer le dossier "LispDialog"- supprimer chemin de recherche de fichiers de support qui pointe vers ce dossier- supprimer la clé "LispDialog" dans le registre :HKEY_CURRENT_USER\Software\Autodesk\AutoCAD\\R17.1\ACAD-6001:40c\Applications\LispDialog Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
lili2006 Posté(e) le 22 janvier 2009 Posté(e) le 22 janvier 2009 Re, Oups ! Redésolé ! Je teste et reviens, Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
lili2006 Posté(e) le 22 janvier 2009 Posté(e) le 22 janvier 2009 Re, Plus simple, j'ai testé sur mon PC portable, avec la même licence (transfert). Pas de pb d'installation, tout fonctionne ! Désolé de t'avoir fait perdre ton temps,... Mais, c'était dans le but de tester et donner un retour sur ton appli, ;) Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
(gile) Posté(e) le 22 janvier 2009 Auteur Posté(e) le 22 janvier 2009 Merci ;) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Arcasdk Posté(e) le 13 mars 2009 Posté(e) le 13 mars 2009 Cela fonctionne néanmoins au lancement de la commande dialog-setup dans la ligne de commande, j'ai eu un message d'erreur....Est ce que c'est grave docteur Commande: dialog-setup netload Nom du fichier d'assemblage: LispDialog Commande: System.InvalidCastException: Le cast spécifié n'est pas valide. à Autodesk.AutoCAD.Runtime.CommandClass.InvokeWorker(MethodInfo mi, Object commandObject, Boolean bLispFunction) à Autodesk.AutoCAD.Runtime.CommandClass.InvokeWorkerWithExceptionFilter(MethodInfo mi, Object commandObject, Boolean bLispFunction) à Autodesk.AutoCAD.Runtime.CommandClass.Invoke(MethodInfo mi, Boolean bLispFunction) à Autodesk.AutoCAD.Runtime.CommandClass.CommandThunk.InvokeLisp(); erreur: Demande ADS erronée <IMG SRC=http://peronfrederic.free.fr/banniere.jpg></IMG> <a href=www.formu-lan.net>www.FormuLan.net</a>
(gile) Posté(e) le 13 mars 2009 Auteur Posté(e) le 13 mars 2009 Salut, Sur quelle version ? (ne fonctionne qu'à partir de la version 2007) À l'installation :- as-tu eu la boite de dialogue : "Charger automatiquement au démarrage ?" ?- puis celle : "Ouvrir la documentation ?" ? Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Arcasdk Posté(e) le 16 mars 2009 Posté(e) le 16 mars 2009 J'étais sur une version 2009.J'ai bien eu la fenêtre "Charger automatiquement au démarrage ?" Par contre pour celle de la documentation. Je ne pense pas l'avoir vu. Je vais ré-essayer.... Après tests. Non y a pas de fenêtre de documentation. Mais la commande fonctionne quand même. En revanche si je ferme autocad.... Le programme se décharge et je doit relancer la commande "dialog-setup". Est ce quelqu'un a déjà essayé cette macro sur une 2009? Merci... [Edité le 25/3/2009 par Arcasdk] <IMG SRC=http://peronfrederic.free.fr/banniere.jpg></IMG> <a href=www.formu-lan.net>www.FormuLan.net</a>
(gile) Posté(e) le 26 mars 2009 Auteur Posté(e) le 26 mars 2009 Salut Arcasdk, Excuse moi, je n'avais pas vu ton message. Il semble que que le chargement automatique ne fonctionne pas, c'est peut-être un problème de droit. Le chargement automatique nécessite de créer des entrés dans la base de registre. Après avoir tenté l'installation, essaye de lancer l'expression suivante :((lambda () (foreach val '("DESCRIPTION" "LOADCTRLS" "LOADER" "MANAGED") (print (vl-registry-read (strcat "HKEY_CURRENT_USER\\" (vlax-product-key) "\\Applications\\LispDialog" ) val ) ) ) (princ) ) ) tu devrais avoir le retour suivant (au chemin de la dll près) : "Charge les fonctions LispDialog"2"C:\\Program Files\\LispDialog\\LispDialog.dll"1 Si tu n'as pas ça, c'est que tu n'as pas les droits pour écrire dans la base de registre.Tu peux toujours essayer de créer (si ce n'est déjà fait) un fichier acaddoc.lsp (ou AutoCAD.lsp les dll n'ont besoin d'être chargées qu'une fois par session) dans un dossier du chemin de recherche, et dans ce dossier, ajouter l'expression suivante : (if (findfile "LispDialog.dll") (command "_netload" "LispDialog.dll") (princ "\nLispDialog introuvable") ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Arcasdk Posté(e) le 30 mars 2009 Posté(e) le 30 mars 2009 Salut (gile), Merci d'avoir jeté un coup d'oeil sur mon problème... Tu le lances comment ce programme.... Sinon je l'ai fait avec le fichier acaddoc.lsp ça fonctionne merci bcp. <IMG SRC=http://peronfrederic.free.fr/banniere.jpg></IMG> <a href=www.formu-lan.net>www.FormuLan.net</a>
(gile) Posté(e) le 30 mars 2009 Auteur Posté(e) le 30 mars 2009 Salut, Tu le lances comment ce programme.... En le collant à la ligne de commande et en validant. Sinon, le chargement automatique pas AutoCAD.lsp ou acadoc.lsp est moins élégant mais tout aussi efficace. 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