SF.Designer Posté(e) le 28 juillet 2014 Posté(e) le 28 juillet 2014 Premièrement,Bonjour a toute la communauté. Je me décide enfin a m'inscrire ici. Je me présente, Sébastien 32 ans, sur autocad depuis l'age de 20 ans pour le compte d'architecte, économiste de la construction et bureau d’études fluides (courant faible/fort, CVC), puis actuellement pour un bureau d’études en signalisation ferroviaire. Je me sers de votre site depuis longtemps afin de développer mes propres Lisp (aussi simple soit'il, souvent seulement a partir de la fonction "command") pour les particularités attenantes a mes métiers respectifs cité plus haut, mais aussi afin d'utiliser certain de vos Lisp qui me sont très utile et que je ne pourrais programmer moi-même par manque de connaissance de ce langage et de temps pour m'y former malheureusement. Je tiens a ce sujet a vous remercier tous et en particuliers les cadors du site que je ne pense pas avoir besoin de citer, car vous m'avez aidé a automatiser énormément de taches rébarbatives. Je me tourne vers vous afin de m'aider, pour une chose qui je pense doit être simple (pour vous hehe). J'ai crée le Lisp Acaddoc.lsp qui me permet d'installer: - Chemin_de_recherche_de_fichiers_de_support - Chemin de recherche des fichiers de support de l'imprimante - Fichier autre police - (load "") Chargement au demarrage - (autoload "" '("")) Chargement a la demande Pour le moment tous fonctionne correctement mais je souhaiterais mettre une condition, si cette élément est déjà chargé ou programmé alors ne pas le recharger, mais si cet élément n'est pas chargé ou programmé alors le charger. Exemple: - Chemin_de_recherche_de_fichiers_de_support (setq listCheminsSupportBase (strcat (getenv "ACAD") ";S:\\mes_documents\\autocad\\sf_designer")) (setenv "ACAD" listCheminsSupportBase) - Chemin de recherche des fichiers de support de l'imprimante (setenv "PrinterConfigDir" "S:\\Mes_Documents\\Autocad\\SF_DESIGNER\\Plotters") - Fichier autre police (setvar "fontalt" "es_isocp.shx") - (load "") Chargement au demarrage (load "Barre_Onglets_2010_x64.lsp") - (autoload "" '("")) Chargement a la demande (autoload "Ligne.lsp" '("Ligne_Pose" "Ligne_Cadre_Pose" "Ligne_Depose" "Ligne_Rectificatif")) Je vous remercie d'avance pour vos réactions !
SF.Designer Posté(e) le 28 juillet 2014 Auteur Posté(e) le 28 juillet 2014 ...Configuration_Base.lspEnregistrer_Etendu.lspFichier_Externe.lspInserer_Bloc.lspLigne.lspRaccord_0.lspResol.lspTracer.lsp
Patrick_35 Posté(e) le 28 juillet 2014 Posté(e) le 28 juillet 2014 Salut Bienvenue sur le site Pour le moment tous fonctionne correctement mais je souhaiterais mettre une condition, si cette élément est déjà chargé ou programmé alors ne pas le recharger, mais si cet élément n'est pas chargé ou programmé alors le charger.Avec Autoload, tu n'as plus ce besoin. Normalement, en utilisant cette fonction, quand tu tapes au clavier le nom du lisp, il se charge si besoin et se lance ensuite.Mais quand même pour répondre à ta question(if (eval 'c:mon_lisp) (alert"Lisp chargé"))En plus subtil(or (eval 'c:mon_lisp) (alert"Lisp à charger")) Pour les différents chemins, tu peux aller voir ici(vlax-dump-object (vla-get-files (vla-get-preferences (vlax-get-acad-object)))) Pour les différentes imprimantes, tu peux aller voir ici(vlax-invoke (vla-get-activelayout (vla-get-activedocument (vlax-get-acad-object))) 'getplotdevicenames) Pour les différents styles de texte, par exemple le romans(tblsearch "style" "romans") Et enfin pour les menus, par exemple Fichier (si j'ai bien compris ton Barre_Onglets)(vlax-dump-object (vla-item (vla-get-menubar (vlax-get-acad-object)) "&Fichier")) @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
SF.Designer Posté(e) le 28 juillet 2014 Auteur Posté(e) le 28 juillet 2014 Pour les différents chemins, tu peux aller voir ici(vlax-dump-object (vla-get-files (vla-get-preferences (vlax-get-acad-object)))) Pour les différentes imprimantes, tu peux aller voir ici(vlax-invoke (vla-get-activelayout (vla-get-activedocument (vlax-get-acad-object))) 'getplotdevicenames) Pour les différents styles de texte, par exemple le romans(tblsearch "style" "romans") Et enfin pour les menus, par exemple Fichier (si j'ai bien compris ton Barre_Onglets)(vlax-dump-object (vla-item (vla-get-menubar (vlax-get-acad-object)) "&Fichier")) Bonsoir Patrick (une des personnes que je ne citais pas plus haut^^) Je comprend bien pour les load et autoload, par contre comme je le precisais mes connaissances sur ce langage de programmation sont limité et j'ai donc des difficulté a comprendre ce que j'ai laissé en Quote ! Si je fesais cette demande c'est que j'ai peur que mes chemins essaient de se réinstaller a chaque demarrage d'autocad et donc me créer des doublons ou erreurs !!!Si tu me dis que effectivement je n'aurais pas se probleme, je n'aurais pas de raison d'allourdir mon code !Mais je souhaite quand même comprendre ce que tu m'a donné, donc je vais essayer de me liberer du temps pour m'y pencher plus serieusement. Merci
Patrick_35 Posté(e) le 28 juillet 2014 Posté(e) le 28 juillet 2014 j'ai donc des difficulté a comprendre ce que j'ai laissé en QuoteUn quote devant une fonction indique qu'il ne faut pas évaluer la fonctionJe t'invite à lire ce sujet Mais je souhaite quand même comprendre ce que tu m'a donné, donc je vais essayer de me liberer du temps pour m'y pencher plus serieusement.Je t'ai juste donné des pistes où chercher. Pour savoir si un chemin est existant, tu peux tester avec(vl-string-search "ce chemin" "et oui, ce chemin existe")Ou mieux, avec wcmatch qui offre énormément de possibilités(wcmatch "et oui, ce chemin existe" "*ce chemin*") ps : il ne faut pas hésiter à poser des questions.Comme le disais Sacha Guitry "Le peu que je sais, c'est à mon ignorance que je le dois." @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
SF.Designer Posté(e) le 28 juillet 2014 Auteur Posté(e) le 28 juillet 2014 Un quote devant une fonction indique qu'il ne faut pas évaluer la fonction Ah mince quand je disai en Quote c'etais pour dire que je repetais tes phrase ^^ () En tous cas merci je vais me pencher sur la question, histoire d'approfondir tous ca ! Je joins mon Acaddoc.lsp que je suis en train de faire evoluer.Acaddoc.lsp
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