Aller au contenu

rendu et lisp


Messages recommandés

Posté(e)

Salut à tous!

est ce que quelqu'un connait le moyen de créer un programme (lisp si possible) qui fasse des rendus (par lancer de rayon) en chaine suivant un trajet pédéfini (par exemple polyline) et enregistrant les vues en format image en incrémentant les noms de fichier (image1.jpg image2.jpg ...) .

Mon but est en fait de créer un film d'animation avec les différentes images comme si on " se baladait" dans le projet avec la qualité lancer de rayon.

Actuellement j'effectue rendu aprés rendu et j'enregistre sous les différentes images : j'y passe mes soirées! :-)

Merci d'avance

 

je sais ce que je sais mais comment connaître mon ignorance

Posté(e)

 

Oui tu peux, je sais pas si je peux poster mon fichier .AVI pour te montrer si c'est ca que tu cherches?

 

Par contre pas de mouvement complexe,

sinon faut passé sur 3Dstudio, autocad n'est pas un logiciel d'animation.

 

Je bosse sur autocad 2000i.

 

Pour le post du fichier .AVI comment on fait? :casstet:

 

 

Posté(e)

Salut

 

On peut faire ça en lisp, je te donne un exemple , mais il faudra certainement que tu l'ajuste à tes besoins propre car beaucoup de paramètres rentrent en compte.

Je t'invite à regarder l'aide d'autocad.

*Documentation du développeur

-> Référence AutoLISP

-> Externally Defined Commands

Dans cette section tu auras toutes les commandes avec les toute les options de rendu possible.

 

Le programme qui suit réclame une 3Dpoly (splinée ou non) comme parcours.

Il te donne déjà une structure principale, mais il peut être adapté à une situation plus sophistiqué.

A toi d'y réfléchir

(defun c:make_clip ( / om e_sel dxf_ent last_ent n d_fence key_target d_target a_target l_ptcam pt_cam pt_target)
(if (not (member "acrender.arx" (arx))) (arxload "acrender.arx"))
(setq om (getvar "osmode"))
(while (not (setq e_sel (entsel "\nChoix de la 3Dpoly pour parcours: "))))
(setq dxf_ent (entget (car e_sel)))
(cond
	((and (eq (cdr (assoc 0 dxf_ent)) "POLYLINE") (eq (logand (cdr (assoc 70 dxf_ent)) 8) 8))
		(setq last_ent (entlast) n 0)
		(initget 7)
		(setq d_fence (getdist "\nPas de déplacement de la caméra: "))
		(initget 1 "Fixe Relatif")
		(setq key_target (getkword "\nPoint de visée [Fixe/Relatif] à la caméra: "))
		(if (eq key_target "Fixe")
			(progn
				(initget 1)
				(setq pt_target (getpoint "\nPoint fixe de la visée: "))
			)
			(progn
				(initget 7)
				(setq d_target (getdist "\nDistance relative à la camèra: "))
			)
		)
		(setvar "osmode" 0)
		(command "_.measure" (car e_sel) d_fence)
		(while
			(and
				(= (cdr (assoc 0 (entget (entlast)))) "POINT")
				(not (equal (entlast) last_ent))
			)
			(setq l_ptcam (cons (cdr (assoc 10 (entget (entlast)))) l_ptcam))
			(entdel (entlast))
		)
		(cond
			((and l_ptcam (> (length l_ptcam) 1))
				(c:rpref "DEST" "FILE")
				(c:rpref "STYPE" "ARAY")
				(c:rpref "TOGGLE" "FINISH" "ON")
				(c:rpref "TOGGLE" "SKIPRDLG" "ON")
				(C:RFILEOPT "TIFF" 1024 768 1.0 "C24")
				(while l_ptcam
					(setq pt_cam (car l_ptcam))
					(if (and (eq key_target "Relatif") (cadr l_ptcam))
						(setq
							a_target (angle (car l_ptcam) (cadr l_ptcam))
							pt_target (polar (car l_ptcam) a_target d_target)
						)
					)
					(command "_.dview" e_sel "" "_point" pt_target pt_cam "_distance" "" "")
					(setq name_image (strcat (substr (getvar "dwgname") 1 (- (strlen (getvar "dwgname")) 4)) "-" (itoa (setq n (1+ n)))))
					(c:render name_image)
					(setq l_ptcam (cdr l_ptcam))
				)
			)
		)
		(setvar "osmode" om)
	)
	(T (princ "\nN'est pas une 3DPOLY!"))
)
(prin1)
)

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

Posté(e)

Si tu penses rester dans une fourchette précise.

Exemple de 000 à 100

 

remplace (setq n 0 ) par (setq n 1000)

et (itoa (setq n (1+ n))) par (substr (itoa (setq n (1+ n))) 2 3)

 

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

Posté(e)

je cite

remplace (setq n 0 ) par (setq n 1000)

et (itoa (setq n (1+ n))) par (substr (itoa (setq n (1+ n))) 2 3)

fin de citation

 

y'a pas (setq n 0 ) dans ton lisp?

 

[Edité le 2/2/2005 par boris]

Posté(e)

Disons qu'il y a

(setq last_ent (entlast) n 0) ce qui est pareil

 

On peut metrtre plusieurs variable dans un (setq n1 0 n2 2 etc.. ) ca évite de mettre plusieurs ligne avec un (setq) par variable ;)

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

Posté(e)

j'ai remplacé comme tu as dis

 

(setq name_image (strcat (substr (getvar "dwgname") 1 (- (strlen (getvar "dwgname")) 4)) "-" (itoa (setq n (1+ n)))))

 

par

 

(setq name_image (strcat (substr (getvar "dwgname") 1 (- (strlen (getvar "dwgname")) 4)) "-" (substr (itoa (setq n (1+ n))) 2 3)

 

et bah ca marche plus

 

sniff...

Posté(e)

Il faut faire attention aux paranthèses :casstet:

et se débrouiller seul si on veut personnaliser.

 

aller va les 2 lignes

(setq last_ent (entlast) n 1000)

 

(setq name_image (strcat (substr (getvar "dwgname") 1 (- (strlen (getvar "dwgname")) 4)) "-" (substr (itoa (setq n (1+ n))) 2 3)))

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

Posté(e)

Nous dirons simplement qu'il est bien de se donner la peine de chercher ses erreurs pendant un petit moment avant de crier au secour :P

 

Sans rancune ;)

A+

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

Posté(e)

Franchement UN ENORME MERCI!!!!!!!!

ça va me faire gagner un temps fou!!!

(dans quelques semaines je dois faire plusieurs films d'ambiance et , partant une semaine en vacance je vais en profiter pour lancer ce lisp avec une vue tous les 10 cm !!!)

encore merci et moi je dis

 

PS: je travaille en voirie urbaine donc mon projet est à l'échelle du km!!!

 

VIVE CAD XP!!!!!!!ET VIVE TOI!!!!!

 

je sais ce que je sais mais comment connaître mon ignorance

Posté(e)

Salut mlon ;)

 

Ravi que tu puisse partir en vacance en toute quiètude, profites en bien.

 

Les images seront elles bien toutes générées, je te le souhaite, car le processeur va calculer dur et lui ne sera pas en vacance. :casstet:

 

pour répondre à thierryd.

 

Les images générées sont en TIFF , tu peux modifier ce format dans le lisp pour choisir un TGA, PCX,BMP,PS ou TIFF

Par contre j'ai remarqué que l'enregistrement de ces images se faisait dans le dernier dossier ayant servir pour un enregistrement, donc pas forcément dans le dossier du dessin ouvert. Cela aussi doit pouvoir se modifier dans le lisp. Si tu te sens pas le courage fais une rechercher de fichiers :exclam:

 

Pour le fmontage AVI mlon pourra peut être t'en dire plus.

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

Posté(e)

Pour créer des avi à partir de tiff (ou autre format d'image d'ailleurs), il existe un grand nombre de logiciels(actuellement je me sers d'animation shop qui bug au dela de 100 images)....le tout étant de savoir

1°) si c'est chez toi no prob ya plein de logiciels en partagiciel (en principe payant) mais gratuits en usage personnel

2°) si c'est au travail là ça ce corse il faut voir (chez toi si possible) quel logiciel te convient le meiux en version "essai" (genre 30 jours) et demander à ce que ton travail achète une licence.

 

(je suis sur pc ) je suis aussi à la recherche en ce moment d'un logiciel qui crée simplement des vidéos à partir de photos : mes recherches s'orientent actuellement vers les logiciels qui servent à ripper les DVD .

Bien sur le mieux pour le traitement d'image est d'acheter un Mac.

PS: je posterais un message de chez moi avec les logiciels que j'ai trouvé (rien de tres performent)

je sais ce que je sais mais comment connaître mon ignorance

  • 2 semaines après...
Posté(e)

problème avec windows movie maker :

durée mini de la frame (création a partir de jpg) : 1sec (enfin je crois)

sinon la durée de traitement est correcte mais la compression est pas terrible...

je sais ce que je sais mais comment connaître mon ignorance

  • 2 mois après...
Posté(e)

Bon g trouvé enfin du moin pour moi

étapes

1) je génère les images avec le lisp avec une qualité légèrement supérieure a celle du .avi (lui est en 800 600pour moi)

2) j'assemble les images par groupe d'une centaine max environ avec animation shop (en 25frames/sec)( ne pas compresser oui je sais ca prends de la place!)

3)j'assembles les bouts de films avec virtual dub (programme gratuit) et j'ajoute a ce moment la bande sonore (attetion il faut du wave) commande "append avi segment" de virtual dub

4) je rentre mon format de compression un x-vid par exemple et je crée mon avi final

voili voilou par contre pour assembler les images entres elles g pas trouvé de logiciel gratuit...à vrai dire g pas vraiment cherché étant donné que j'ai de koi fer djà installé

je sais ce que je sais mais comment connaître mon ignorance

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é