Aller au contenu

Annuler une commande AUTOCAD avec VBA


Messages recommandés

Posté(e)

(Re)bonjour

 

Est il possible d'annuler une commande autocad en cours dans un event géré en VBA ?

par exemple,

annuler la commande ZOOM une fois que l'on se trouve dans le code de l'event "AcadDocument_BeginCommand".

 

Idee :

1- Command AUTOCAD

2- Traitement dans l'event généré par la command

Si CommandName = "ZOOM" alors

{

action1

action2

}

 

3- Annuler ou finir la command

 

Je veux creer une commande "zperso"

Comment faut il faire pour que AUTOCAD accepte cette commande ?

Lorsque je la lance il n'en veut pas et me dit que ce n'est pas une commande AUTOCAD

 

Il a tt à fait raison mais je pensais que l'on pouvait gérer ce genre de chose en VBA

avec une gestion d'event du type "AcadDocument_BeginCommand".

 

Quelqu'un a t'il une idee ?

 

Merci

 

 

Posté(e)

embat74,

 

Je ne suis pas sur que le remède corresponde au symptome. D'abord, pour créer une commande, c'est facile en Lisp l'instruction defun. Voici la commande Test

 

(defun c:test ()

(alert "Hello Wolrd !")

(princ)

)

 

Ensuite, dans le BeginCommand, tu peux évaluer si la variable système CMDACTIVE vaut 0, si oui tu affiche ce message "Vous devriez utiliser ma routine", sinon tu laisse porter. Je ne suis pas sur qu'en supprimant une commande tu te fasse des amis, surtout si ton client utilise d'autres routines qui elles lancent ces commandes.

 

En dernier lieu, tu pourrais toujours annuler la définition de la commande via la commande NONDEF (_UNDEFINE). Par exemple NONDEF ZOOM.

 

Serge

 

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é