Aller au contenu

Présentation et petite question autoload


SF.Designer

Messages recommandés

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 !

Lien vers le commentaire
Partager sur d’autres sites

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 Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Lien vers le commentaire
Partager sur d’autres sites

 

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

Lien vers le commentaire
Partager sur d’autres sites

j'ai donc des difficulté a comprendre ce que j'ai laissé en Quote

Un quote devant une fonction indique qu'il ne faut pas évaluer la fonction

Je 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 Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité