Lisp movbak sur dernieres versions autocad

Lisp movbak sur dernieres versions autocad

fruity101079
Advisor Advisor
1 487 Visites
11 Réponses
Message 1 sur 12

Lisp movbak sur dernieres versions autocad

fruity101079
Advisor
Advisor

Bonjour

Petite question:

Le lisp movbak ne semble plus fonctionner sur les dernière versions autocad. Pourtant, aucun message d'erreur.

Quelqu'un a réussi a corriger le problème?

 

Merci

 

Pour mémoire, le lisp fonctionne en 2 parties:

Le lisp en lui même:

 

 

; Réacteur

(defun patrick:bouger_bak(rea dwg / anc des fso nom rep tot)

  (setq des (cadr dwg)

	rep (strcat (vl-filename-directory des) "/bak")

	nom (strcat (vl-filename-base des) ".bak")

	fso (vlax-create-object "Scripting.FileSystemObject")

  )

  (or (findfile rep)

    (vlax-invoke fso 'CreateFolder rep)

  )

  (and	(setq tot (findfile (strcat (vl-filename-directory des) "/" nom)))

	(setq anc (findfile (strcat rep "/" (vl-filename-base des) ".bak")))

    (vl-file-delete anc)

  )

  (and tot

    (vlax-invoke-method fso 'MoveFile tot (strcat rep "/"))

  )

  (vlax-release-object fso)

  (princ)

)



;Activer le réacteur

(defun c:mbak()

  (if patrick:reacteur_bak

    (princ "\nLe réacteur est déjà actif.")

    (setq patrick:reacteur_bak (vlr-dwg-reactor nil (list (cons :vlr-savecomplete (function patrick:bouger_bak)))))

  )

  (princ)

)



; Désactiver le réacteur

(defun c:rbak()

  (if patrick:reacteur_bak

    (progn

      (vlr-remove patrick:reacteur_bak)

      (setq patrick:reacteur_bak nil)

    )

    (princ "\nLe réacteur est déjà désactivé.")

  )

  (princ)

)

 

 

 

Et un 2ème pour le lancer :

 

 

(load"D:/movbak.lsp")
(c:mbak)  ;deplacer bak

 

 

0 J'aime
Solutions acceptées (2)
1 488 Visites
11 Réponses
Replies (11)
Message 2 sur 12

Caderix
Mentor
Mentor
Solution acceptée

Bonjour,

 

Si vous possédez une version complète d'AutoCAD, il existe la commande MOVEBAK qui fait cela.

Dans ce cas, pas besoin de lisp.


Cordialement

Eric GUELEN
Formateur AutoCAD
Site Internet

EESignature

Message 3 sur 12

-didier-
Advisor
Advisor

Bonjour @fruity101079 

 

Je confirme le nom de la commande native citée par @Caderix.
Je viens de tester : elle est fonctionnelle sur version pleine 2025 et même sur LT 2024.
Inutile de faire tourner des LSP lorsqu'une commande native est disponible.
Surtout dans le cas de ce code qui lance des réacteurs !

 

Amicalement

 

Éternel débutant.. my site for learning : Programmer dans AutoCAD

DA

EESignature

Message 4 sur 12

fruity101079
Advisor
Advisor

Bonjour.

La commande présente dans les express tools ne fonctionne pas vraiment de la même manière. Je l'avais déjà vu.

Le lisp de Patrick fonctionnait depuis des années et beaucoup l'utilisent (utilisaient).

Donc ma question reste en suspend, si quelqu'un sait pourquoi depuis 2023 elle ne fonctionne plus automatiquement, je suis preneur.

 

ps: stoppée puis relancée manuellement, elle fonctionne.

0 J'aime
Message 5 sur 12

-didier-
Advisor
Advisor
Solution acceptée

Bonjour @fruity101079 

 

Je ne comprends vos indications, car je viens de tester sur full 2025 et sur LT 2024 et…
Le fonctionnement est parfait !
Création d'un dossier BAK dans le dossier du dessin courant et écrasement du fichier BAK à chaque suavegarde.

Ça, c'est pour la question posée.

------------------------------------------------------

Pour ce qui est du fonctionnement, je préfère le movebak natif puisque avoir cinquante répertoires BAK dans des sous-dossiers ce n'est pas cool.
Mes BAK sont centralisés dans un dossier parfaitement connu et quand je veux faire du ménage, c'est simple comme tout.
Les préférences sont différentes visiblement.

 

Amicalement

 

Éternel débutant.. my site for learning : Programmer dans AutoCAD

DA

EESignature

0 J'aime
Message 6 sur 12

fruity101079
Advisor
Advisor

A voir, si pas de solutions, je ferai sans doute comme vous 🙂
Mais ce matin, je viens de remarquer qu'un autre de mes addons ne se lance plus au démarrage. Et là pour le coup, il s'agit d'un plugin que la boite a acheté. Et quand je lance à la main, je dois à chaque fois confirmer la license, et remettre les barres d'outils.
Donc il y a bien un souci.

Ps: J'ai vérifié secureload.

0 J'aime
Message 7 sur 12

_gile
Consultant
Consultant

Salut,

 

Si tu entres l'expression suivante en ligne de commande :

!patrick:bouger_bak

et que ça renvoie :

nil

 c'est que le LISP n'est pas chargé (ce qui ne veut pas dire qu'il ne fonctionne plus).

 Dans ce cas, il faut chercher du côté de la méthode utilisée pour charger les fichiers LISP.



Gilles Chanteau
Programmation AutoCAD LISP/.NET
GileCAD
GitHub

0 J'aime
Message 8 sur 12

fruity101079
Advisor
Advisor
Bonjour
J'ai testé au cas où, la commande est bien chargée.
0 J'aime
Message 9 sur 12

_gile
Consultant
Consultant

J'ai testé le LISP sur AutoCAD 2024 et 2025. Aucun problème, tout fonctionne comme attendu.

 



Gilles Chanteau
Programmation AutoCAD LISP/.NET
GileCAD
GitHub

0 J'aime
Message 10 sur 12

manon_puel
Community Manager
Community Manager

Bonjour @fruity101079 

Merci d’avoir posé cette question sur nos forums ! La communauté a essayé de vous aider au mieux. Si des réponses vous paraissent appropriées, voulez vous avoir l'amabilité de cliquer sur le bouton  APPROUVER LA SOLUTION  en bas de la réponse qui apporte une solution?
Merci de ne pas accepter comme solution le message que vous êtes en train de lire.


Manon Puel animatrice de la communauté francophone
0 J'aime
Message 11 sur 12

fruity101079
Advisor
Advisor

Alors, aujourd'hui, sans faire attention, j'ai vu le dossier bak qui s'est créé tout seul, pourtant je n'ai rien re-modifié... bizarre. Est-ce que ca pourrait provenir d'un dessin en particulier? Bizarre...

Disons que c'est réglé pour le moment alors, et il y a toujours la solution express tools.

Merci

0 J'aime
Message 12 sur 12

manon_puel
Community Manager
Community Manager

Bonjour @fruity101079, je suis ravie de voir que votre problème est résolu, n'hésitez pas à revenir sur nos forums si vous avez d'autres questions !


Manon Puel animatrice de la communauté francophone
0 J'aime