Aller au contenu

Messages recommandés

Posté(e)

Bonsoir à toutes et tous,

 

Suite à ce post de (gile), voilà ce que j'ai fait =>

 

1) _appload => charger au démarrage mon fichier "acaddoc.lsp"

2) Pointez dans les fichiers de recherche AutoCAD le répertoire ou je met mes lisps

3) Je lance le lisp LXL (par exemple) qui est dans mon fichier "acaddoc.lsp" sous la forme =>(autoload "lxl.lsp") [ A ce propos, est-ce que (load "lxl.lsp") serait suffisant dans ce cas de figure ? ,. Je ne suis pas sur d'avoir encore bien compris la différence entre "load" et "autoload",...dans ce fichier "acaddoc.lsp" ]

4) Je lance dans un nouveau fichier la commande " LXL" , AutoCAD me répond =>

 

Commande: lxl

Commande inconnue "LXL". Appuyez sur F1 pour obtenir de l'aide.

 

Pourtant, lorsque je teste la commande "-fenetres" redéfinie dans ce même fichier "acaddoc.lsp" depuis l'exemple fourni par (gile) sur le post cité ci-dessus, =>

 

Commande:

Commande: _-vports _.vports

Spécifiez le coin de la fenêtre ou

[Actif/Inactif/Zonegraph/Tracombr/Verrou/Objet/Polygonal/Restaurer/Calque/2/3/4]

: _4

Spécifiez le premier coin ou [Zonegraph] :

Spécifiez coin opposé: Régénération du modèle.

 

J'ai bien le résultat escompté (création de la fenêtre dans le calque VPORT, gris non imprimable !

 

Bien sûr, mon objectif est de mettre tous les appels au lisps que je souhaite avoir à disposition dans ce fichier "acaddoc.lsp"

 

Ma question, vous l'avez surement compris, est pourquoi est-ce que LXL (pour garder le même exemple) ne se lance pas ???

 

J'ai forcément raté une étape, me direz-vous,...

 

Mais là, je ne vois pas !

 

Merci d'avance de votre aide, ;)

 

PS : Je sais que mon fichier "acaddoc.lsp" se lance bien puisque j'ai un message d'alerte dans une BD me prévenant de son chargement => Fichier "acaddoc.lsp" correctement chargé.

Civil 3D 2025 - COVADIS_18.3b

https://www.linkedin...3%ABt-95313341/

Posté(e)

Salut,

 

1) tu n'as pas besoin de faire APPLOAD pour le fichier acaddoc.lsp.

À chaque ouverture d'un document, AutoCAD cherche un fichier acaddoc.lsp, d'abord dans le répertoire du document (DWGPREFIX), puis dans les répertoires du chemin de recherche (ACADPREFIX) dans l'ordre, il le charge et l'exécute le premier trouvé (regarde l'aide d'AutoCAD Guide de personnalisation >> Introduction aux interfaces de programmation >> AutoLISP et Visual LISP >> Chargement et exécution automatiques des routines AutoLISP >> Le fichier ACADDOC.LSP)

 

2) Pour charger les fichiers LISP depuis acaddoc.lsp tu peux utiliser 2 fonctions :

 

(load "mes-routines")

le fichier "mes_routines.lsp" est chargé immédiatement. L'argument est le nom du fichier ou le chemin complet si celui-ci n'est pas dans les chemins de recherche.

 

 

(autoload "LXL" '("lxl"))

le fichier LXL.lsp ne sera chargé qu'au premier appel de la commande lxl. les arguments sont : le nom du fichier (ou le chemin complet) et la listes des commandes définies dans ce fichier, par exemple pour le fichier "increment.lsp", on ferait :

(autoload "Increment" '("incsuf" "inctxt" "incatt" "incsel" "incadd" "incr"))

et le fichier serait chargé au premier appel d'une de ces commandes :

 

Commande: inctxt

Initialisation...

Spécifiez le point d'insertion:

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Petites précisions

 

On pourrait n'utiliser que la fonction load pour charger tous les fichiers (.lsp, .fas, .vlx) à chaque ouverture de document.

Si on utilise la fonction autoload, c'est pour "soulager" le démarrage.

 

La fonction autoload ne peut servir que pour les fichiers qui définissent des commandes.

 

Si on a des fichiers "bibliothèque" qui ne contiennent que des routines (fonctions) utilisées par d'autres fichiers il faut qu'elles soient chargées au démarrage donc avec load.

 

Il est aussi impératif d'utiliser la fonction load pour les fichiers dans les quels sont définis des réacteurs qui doivent être actif dès le démarrage, même si des commandes sont définies dans ce ficher (TotalArea, par exemple), à moins que les expressions qui construisent le réacteur ne soient placées directement dans le fichier acaddoc.lsp (ce que tu avais fait pour MsFreeze).

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Bonjour à toutes et tous,

 

Merci beaucoup (gile) de ces explications (dont certaines que tu m'avais déjà dites, honte à moi,... :mad: )

 

A ce stade, je ne comprend pas pourquoi, toujours pour garder le même exemple, LXL ne se lance pas.

 

Pour les différentes incrémentions, pas de pb,

 

Pour selprop, rien ne fonctionne,...

 

Je refais un profil tout neuf tout beau car je dois avoir un pb de ce coté là, comme tu me l'as déjà suggéré,...

 

Merci encore,

 

Civil 3D 2025 - COVADIS_18.3b

https://www.linkedin...3%ABt-95313341/

Posté(e)

Salut Liliian,

 

Première chose, si tu veux faire "propre" commence par supprimer de ton fichier les deux expressions (foreach ...)

(foreach f (vl-directory-files
     "D:\\AUTOCAD -PERSONNALISATION\\PROGRAMMES\\VLX"
     "*.vlx"
     1
   )
 (load f)
)

;;=========================================================;;

(foreach f (vl-directory-files
     "D:\\AUTOCAD -PERSONNALISATION\\PROGRAMMES\\LISP"
     "*.lsp"
     1
   )
 (or (= f "acad.lsp") (load f))
)
(alert "3")

 

Ces expressions appellent la fonction load pour tous les fichiers VLX et LSP contenus dans les répertoires : "D:\\AUTOCAD -PERSONNALISATION\\PROGRAMMES\\VLX" et "D:\\AUTOCAD -PERSONNALISATION\\PROGRAMMES\\LISP"

Je pense qu'il doit y avoir une erreur au chargement d'un de ces fichiers et cette erreur fait s'arrêter la suite du chargement.

D'ailleurs, si tout se passait correctement, tu devrait avoir une boite d'alerte : (alert "3").

 

Deuxième chose,

 

(load "Vecteur&matrices")
(load "TotalArea")

(autoload "LXL" '("lxl"))
(autoload "Incrementer" '("incsuf" "inctxt" "incatt" "incsel" "incadd" "incr"))
(autoload "SelProp" '("ssl" "sse" "ssc" "sstl" "ssatt" "ssd"))

 

Pour que ces expressions n'échouent pas, il faut que les fichiers : "Vecteur&matrices.lsp", "TotalArea.lsp", "LXL.lsp" "Incrementer.lsp" et "SelProp.lsp" soient présents dans un répertoire des chemins de recherche avec précisément ces noms là. Ce n'étaient que des exemples.

De plus, LXL fonctionne avec un fichier DCL "lxl.dcl" qui doit aussi être dans un répertoire des chemins de recherche.

Si un de ces appel échoue, les appels suivant ne sont pas évalués et tu devrait avoir un message d'erreur à la ligne de commande :

; erreur: La commande CHARGER n'a pas abouti: "Vecteur&Matrices"

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Re,

 

Salut Gilles,

 

Cool, merci pour ces importantes informations !!!

 

Je pense que tu as raison pour les les deux expressions (foreach ...),.. (Modification des chemins entre temps et des dossiers,...)

 

De plus, LXL fonctionne avec un fichier DCL "lxl.dcl" qui doit aussi être dans un répertoire des chemins de recherche.

 

Pour simplifier le travail, j'ai créé un dossier "prog perso" ou j'ai mis toutes les persos qui m'interesse et AutoCAD pointe ce répertoire, donc là, pas de soucis à mon avis,...

 

Je continue ce travail en fin d'AM et reviens aux nouvelles,

 

Encore merci :D

 

Bonne journée,

Civil 3D 2025 - COVADIS_18.3b

https://www.linkedin...3%ABt-95313341/

Posté(e)

Re,

 

J'ai essayé de réorganiser le fichier afin de mieux comprendre pourquoi cela ne fonctionne toujours pas,...

 

Ligne de commande =>

 

Utilitaires de menu AutoCAD chargés.; erreur: La commande CHARGER n'a pas

abouti: "Vecteur&matrices"

_.undefine Entrez le nom de la commande: -fenetres

 

Le fichier semble bloquer ici => (load "Vecteur&matrices") ???

 

Une idée ,

 

Merci d'avance,

Civil 3D 2025 - COVADIS_18.3b

https://www.linkedin...3%ABt-95313341/

Posté(e)

Re,

 

C'est certainement qu'il n'y a aucun fichier "Vecteur&Matrices.lsp" (ou .fas ou .vlx) dans aucun répertoire du chemin de recherche.

 

C'est ce que j'expliquais plus haut :

Pour que ces expressions n'échouent pas, il faut que les fichiers : "Vecteur&matrices.lsp", "TotalArea.lsp", "LXL.lsp" "Incrementer.lsp" et "SelProp.lsp" soient présents dans un répertoire des chemins de recherche avec précisément ces noms là.

 

Je donnais juste comme exemple (load "Vecteurs&Matrices") parce que le fichier "Vecteur&matrices.lsp" (en bas de cette page) est un exemple typique de bibliothèque de routines, aucune commande n'y est définie, Le fichier ne contient que des définitions de fonctions qui peuvent être utilisées comme les fonctions LISP natives (si le fichier est chargé, bien sûr).

 

Mais, il ne faut pas copier tout ce que j'écris ;)

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Rere,

 

Mais, il ne faut pas copier tout ce que j'écris

 

C'est surtout que j'étais convaincu d'avoir chargé cette routine,...

 

effectivement, mais dans le dossier "test" puisque je ne m'en sers pas,...

 

J'ai entré les 30 ou 40 routines qui peuvent m'être utiles de tps à autres,...

 

Marche Nickel !

 

Me plait bien cette méthode de gestion,...

 

Merci encore à toi gilles, :D

 

Bon WE

Civil 3D 2025 - COVADIS_18.3b

https://www.linkedin...3%ABt-95313341/

Posté(e)

Re,

 

Encore une question (de curiosité cette fois-ci, ;) )

 

Pourquoi certains lisps ont besoin de s'initialiser, d'autres, non ! ?

 

Commande:

Commande: LXL

Initialisation......LXL chargé.

Commande:

Commande:

Commande:

Commande: GRP

Choix des objets: *Annuler*

; erreur: Fonction annulée

Commande:

Commande:

Commande:

Commande: ALIGN_TEXT

Choix du texte à aligner:

Choix des objets: *Annuler*

; erreur: Fonction annulée

Commande:

Commande:

Commande: DELVTX

Sélectionnez le sommet à supprimer: *Annuler*

Commande:

Commande:

Commande: ADDVTX

Choix de l'objet: *Annuler*

Commande:

Commande:

Commande: ncopy

Initialisation...

Select nested objects to copy:

Commande:

Civil 3D 2025 - COVADIS_18.3b

https://www.linkedin...3%ABt-95313341/

  • 10 mois après...
Posté(e)

Avec un peu beaucoup de retard :red:

 

C'est une astuce qui est prévu dans mes lisps.

Quand tu charges par exemple LXL avec _appload, load, drag&drop ou autres, tu as le message

LXL.LSP Chargé......Tapez LXL pour l'exécuter.

juste pour indiquer que le chargement s'est bien passé et le nom de la commande à lancer.

 

Maintenant, avec un autoload, c'est en tapant le nom de la commande que tu charges le lisp si ce n'est pas déjà fait.

Comme tu as le message Initialisation... avant de lancer le lisp, j'ai juste complété ce message de départ en y ajoutant le nom du lisp, ce qui donne donc

Initialisation......LXL chargé.

Juste pour indiquer que le chargement s ‘est bien passé et comme on charge le lisp en tapant le nom de la commande, inutile donc de la rappeler.

 

@+

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

Posté(e)
Bonjour à toutes et tous,

 

Salut Patrick_35,

 

Vieux Motard que jamais,... ;)

 

Merci, :D

:D :D :D

 

Surtout que j'attend ma belle avec impatience (courant Mai d'après le cons) et que je suis caisseux depuis deux mois (revente du scoot)

Et avec ce magnifique soleil, dur dur d'attendre.http://www.lesbannis.be/smileys/guidon.gif

 

@+

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

Posté(e)
Surtout que j'attend ma belle avec impatience (courant Mai d'après le cons) et que je suis caisseux depuis deux mois (revente du scoot)

 

Moi aussi je revends mon scoot (Skyliner comme neuf) mais pour financer les permis moto et remorque. Je n'achéterai une bécane que quand j'aurais le budget.

 

Maintenant, avec le soleil, je n'attends pas : je laisse la mercedes au garage et je prends la deudeuche. Décapotée, c'est comme la moto sauf que t'as l'autoradio et que t'es bien assis...et qu'il y a un peu moins de reprise dans les montées :cool:

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Posté(e)
je prends la deudeuche. Décapotée, c'est comme la moto sauf que t'as l'autoradio et que t'es bien assis...et qu'il y a un peu moins de reprise dans les montées

... et dans les courbes, faut se pencher tout pareil ....

Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...

Posté(e)
c'est comme la moto sauf que t'as l'autoradio et que t'es bien assis...et qu'il y a un peu moins de reprise dans les montées :cool:

Je rejoins lili et Bred

Tu as un jeu de suspensions avec la 2cv du tonnerre et un moteur très simple d'entretien. :D

Mais le plaisir de rouler en deux roues, sans arsouille et le sourire que te reste encore collé quand tu te couche.

ah....

 

Pour quand le permis pour rejoindre la meute ;)

 

@+

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

Posté(e)
sans arsouille et le sourire que te reste encore collé quand tu te couche.

 

Sans parler des moucherons collés sur les dents,....(Et oui, le fameux mythe du Motard Heureux,...) :P

:D

 

J'y pense Tramber

 

Après quelques années de moto

http://img714.imageshack.us/img714/2858/comics0035.jpg

 

Faut faire attention :D

 

La 2cv nouvelle génération

http://www.pierro.org/photos/humour/2cv.jpg

El le modèle hybride avec moteur Ferrari

T'auras plus à rougir dans les montées :D

 

@+

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

Posté(e)
Pour quand le permis pour rejoindre la meute ;)

 

On verra, pour cet été !...

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Posté(e)
Pour quand le permis pour rejoindre la meute ;)

 

On verra, pour cet été !...

Alors tu commences à travailler ton code :cool:

 

Vraiment excellente ton image de la deuch,... :D

Moi, j'adore l'essuie glace arrière :cool:

 

@+

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

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é