Aller au contenu

Mise à jour d'une variable Lisp dans un Bloc à son insertion


quent1

Messages recommandés

Bonjour,

 

Je viens chercher un petit peux d'aide auprès des experts du Lisp et d'Autocad (peut être plus d'Autocad).

 

Présentation: J'utilise un programme Lisp pour compter des blocs dans mes dessins, puis je stock ces comptages dans une variable nommée "compteurXXX". A la fin de mon programme, celui-ci fait l'insertion d'un tableau convertit en WBLOC et qui contient dans ses cellules les variables "compteur" créées précédemment en tant que champ.

 

Mon problème: Lors ce que j'ai crée mon bloc pour la première fois dans mon dessin, le programme a parfaitement marché et le bloc se met à jour automatiquement. MAIS lorsque mon programme insert ce "bloc tableau" pour la première fois après avoir ouvert Autocad, la mise à jour de la variable ne se fait pas alors que mon lisp a mis à jour ces variables (je peux le voir à l'aide de l'espion). Il faut que je rentre dans mon bloc et reclique sur le champs voulu puis l'enregistrer pour que les variables se remettent à jour à chaque nouvelle insertion de se tableau. La chose en plus que je trouve bizarre, c'est que une fois cette manip réalisée, je peux supprimer ce tableau, purger mon dessin, et même exécuter mon programme sur un autre dessin, les variables se mettront toujours parfaitement à jours... Jusqu'à ce que je ferme Autocad, ce qui aura pour conséquence de me faire refaire toute la manip décrite précédemment...

 

Voilà, je ne pense pas que ce soit un gros problème, mais il reste assez gênant et je n'arrive pas à m'en défaire.

 

Merci d'avance pour vos coups de pouce

 

Quent1

 

Lien vers le commentaire
Partager sur d’autres sites

Coucou

 

J'ai pas tout compris, pardon

Comment tu t'y prends pour mettre à jour le bloc récapitulatif ?

Tu lances une commande ?

Ou bien y-a-t'il un réacteur ?

 

Le lisp dont tu parles, tu en es l'auteur ?

Mets-le à disposition qu'on le zieute pour chercher le tracas.

 

Amicalement

Lien vers le commentaire
Partager sur d’autres sites

Bonjour Didier, et merci pour ta réponse rapide, je ne peux pas en dire autant...

J'en ai aussi parlé autour de mois, et comme tu le soupçonnais, c’était tout simplement le bloc qui ne se mettait pas à jour, même en effectuant une régénération... Un problème bien moins compliqué que ce que je pensait! J'ai juste eu à rajouter deux ligne à mon programme et le problème était réglé!

Voilà les deux lignes que j'ai eu à rajouter:

(setq seltableauxamettreajour (ssget "_X"'((0 . "INSERT")(2 . "tableau*"))))
 
(command "mettreajourchamp" seltableauxamettreajour "")

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é