grand_sapin Posté(e) le 27 juin 2006 Posté(e) le 27 juin 2006 Bonjour à toutes et à tous Voici ma requète : Serait-il possible de créer une routine qui me fasse copier une entité autocad (comme la commande copie multiple), mais qu'à chaque insertion, une rotation d'angle aléatoiresoit appliquéParce qu'il m'arrive (de plus en plus frequemment) de faire des plan "d'aménagement paysager", et quand on matérialise un alignement d'arbre, et bien les blocs se ressemblent tous, alors que si on applique un rotation du bloc pour chaque arbre, l'effet est tout autre. Merci Sapin P.S. : J'aimerai savoir le faire tout seul, mais mes notions de lisp sont pour ainsi dire inexistantes, ce à quoi je dois remedier
(gile) Posté(e) le 27 juin 2006 Posté(e) le 27 juin 2006 Salut, Tu peux essayer avec la variable système TDUSRTIMER. Exemple pour une insertion multiple du bloc "MonBloc" : (while (setq pt (getpoint "\nPoint d'insertion: ")) (command "_insert" "MonBloc" "_scale" 1 "_rotate" (* 10000000 (getvar "tdusrtimer")) pt ) ) [Edité le 27/6/2006 par (gile)] Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
grand_sapin Posté(e) le 27 juin 2006 Auteur Posté(e) le 27 juin 2006 ok merci beaucoup exactement ce que je cherchais sapin
Bred Posté(e) le 27 juin 2006 Posté(e) le 27 juin 2006 Salut, La variable "TDUSRTIMER" représente quoi ?(l'aide n'est pas trés clair la dessus...) merci Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
(gile) Posté(e) le 27 juin 2006 Posté(e) le 27 juin 2006 C'est une horloge, qui mesure le temps écoulé depuis le début de la session en fraction de jour. (* 16400 (getvar "TDUSRTIMER")) retourne le nombre de secondes écoulées depuis l'ouverture de la session. En multipliant (getvar "TDUSRTIMER") par un grand nombre on fait "tourner plus vite la roulette",ce qui augmente le côté aléatoire du nombre ainsi retourné à chaque clic qui sert dans l'exemple de valeur d'angle. TDUSRTIMER peut sevir àchronométrer l'exécution d'une routine : ;;; Chronomètre ;;; Placer (setq t0 (get-utime)) au lancement des calculs ;;; et (setq t1 (get-utime)) (princ (strcat "\n; Temps: " (rtos (- t1 t0)) " sec")) à la fin (defun get-utime () (* 86400 (getvar "tdusrtimer")) ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Bred Posté(e) le 28 juin 2006 Posté(e) le 28 juin 2006 merci. Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
(gile) Posté(e) le 2 juillet 2006 Posté(e) le 2 juillet 2006 Dans le même esprit, une routine pour obtenir un entier "aléatoire" entre 1 et l'entier spécifié est donnée ici. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant