Aller au contenu

commande autocad dans une variable


couçicouça

Messages recommandés

bonjour à tous

 

comment rendre la valeur d'une commande dans une variable

 

exemple :

 

la commande temps donne

 

Date et heure actuelles: mardi 10 février 2009 19:33:08:671

Dates et durées d'édition pour ce dessin:

Créé: mercredi 14 février 2001 13:58:56:611

Dernière mise à jour: mercredi 14 février 2001 17:07:11:034

Durée d'édition totale: 0 jour(s) 02:55:57:686

Temps écoulé (actif): 0 jour(s) 00:00:03:578

 

si je fais (setq var-temps (getvar "temps")) , on a nil en retour , normal puisque c'est une commande

 

comment on fait ??

Lien vers le commentaire
Partager sur d’autres sites

Cette section de l'aide devrait te mettre sur la piste:

 

Vous pouvez calculer une différence de date et heure en soustrayant les nombres indiqués par la variable DATE. Pour calculer les secondes écoulées depuis minuit à partir de l'heure renvoyée par DATE, utilisez les expressions AutoLISP suivantes :

 

(setq s (getvar "DATE"))

(setq seconds (* 86400.0 (- s (fix s))))

 

Comme l'horloge de votre ordinateur indique la date et l'heure, la variable système DATE renvoie une vraie date julienne uniquement si l'horloge système est réglée sur UTC/Zulu (heure GMT). TDCREATE et TDUPDATE ont le même format que la variable DATE, mais leurs valeurs représentent l'heure de création et l'heure de dernière mise à jour du dessin courant.

 

Lien vers le commentaire
Partager sur d’autres sites

merci patrick

 

mais ça ne m'aide pas beaucoup

 

j'ai donné l'exemple avec la commande temps , mais j'aurai pu choisir "liste" ou une autre ....

 

(setq var-temps (getvar "temps")) -> plantage

(setq var-liste (getvar "liste")) -> plantage

 

 

il doit être possible de stocker dans une variable ce que retourne ces commandes

 

je tourne autour du pot depuis un bon moment, et je ne sais pas comment faire

because je suis pas fortiche

 

maintenant que j'y pense , ce serait pas un defun-q ou qqchose comme ça?

Lien vers le commentaire
Partager sur d’autres sites

Eh bien il te suffit de récupérer les valeurs des variables systèmes telles que TDCREATE et TDUPDATE avec l'instruction (setq s (getvar "TDCREATE ")) ou (setq s (getvar "TDUPDATE "))

Tu ne peux pas récupérer le résultat de l'éxécution d'une commande directement.

Lien vers le commentaire
Partager sur d’autres sites

Bonsoir,

à première vus je n'ai pas trouvé de variable.

Par contre tu pourrais enregistrer, à l'ouverture du dessin (acad.lsp par exemple), une variable contenant la date et l'heure que tu interroges quand tu as besoin.

 

Autrement je n'ai pas trop le temps, mais peut-être en allant jeté un coup d'euil dans les dwl....

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

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

pour trouver des variables tu peux utiliser la commande MODIFVAR, exemple

 

MODIFVAR (entrée) [surligneur] ? [/surligneur] (entée) [surligneur] *DATE*[/surligneur]

 

ou

 

MODIFVAR (entrée) [surligneur] ? [/surligneur] (entée) [surligneur] *TIME*[/surligneur]

 

Tu as aussi mon tableau des variables systèmes AutoCAD ou juste le BEST OF des variables AutoCAD...

 

Bonne lecture ! ;)

 

Christian

Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...

cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)

Lien vers le commentaire
Partager sur d’autres sites

Un programme en lisp qui était donné au tout début par Autodesk pour obtenir les dates depuis les variables.

 

(defun def_date (td / j y d m)
(setq
   j (- (fix td) 1721119.0)
   y (fix (/ (1- (* 4 j)) 146097.0))
   j (- (* j 4.0) 1.0 (* 146097.0 y))
   d (fix (/ j 4.0))
   j (fix (/ (+ (* 4.0 d) 3.0) 1461.0))
   d (- (+ (* 4.0 d) 3.0) (* 1461.0 j))
   d (fix (/ (+ d 4.0) 4.0))
   m (fix (/ (- (* 5.0 d) 3) 153.0))
   d (- (* 5.0 d) 3.0 (* 153.0 m))
   d (fix (/ (+ d 5.0) 5.0))
   y (+ (* 100.0 y) j)
 )
(if (< m 10.0)
	(setq m (+ m 3))
	(setq m (- m 9) y (1+ y))
)
(strcat
	(itoa (fix d))
	"/"
	(itoa (fix m))
	"/"
	(itoa (fix y))
)
)

 

Une fois ce code chargé, on peut faire par exemple:

 

(foreach el '("DATE" "TDCREATE" "TDUCREATE" "TDUPDATE" "TDUUPDATE")
 (prinC (strcat "\nLa variable " el " retourne : " (def_date (getvar el))))
)

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

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é