PDA

Voir la version complète : MoTexte et cloneur avec un chiffre incrémentiel ?



kilden
25/11/2015, 21h18
Bonsoir,

J'aurais besoin d'afficher des chiffres incréments (par exemple de 234 à 300) en évitant (si possible :sweatdrop:) de retaper chaque chiffre à la main... (c'est pour faire un bête parking en fait ! ^^)

je me demandais s'il y avait une façon d'utiliser MoTexte et un cloneur de façon à ce que chaque instance soit incrémentée. Je ne vois pas du tout la façon de faire avec Xpresso (que je ne connais pas du tout).

J'imagine que je met un élément MoText dans un cloneur, puis avec l'effecteur Etape, je dois pouvoir réutiliser une incrémentation avec Xpresso ? Cela me paraît surhumain...

Merci pour toute aide.

Aurety
25/11/2015, 23h18
Pourquoi ne pas faire un bete Xpresso avec un noeuds temps qui te retourne la frame en cours + noeud math ( addition ) renseigné avec le numéro du début de la séquence voulue ?
Oups, j'ai lu un peu trop vite, j'ai manqué l'info parking.. Je reflechis et revois ma copie ! :sweatdrop:

Math1712
26/11/2015, 15h24
Salut,

Je partirais en ce sens =>

16605

kilden
26/11/2015, 16h28
Merci déjà pour vos réponses. Hélas, je n'arrive pas à accéder de Math1712 ! Est-ce parce que je suis un "nouveau" membre et je n'ai pas ces droit d'accès ? Un modérateur pourra sans doute me répondre...

@aurety : Oui, il s'agissait du sujet du parking... J'aurais dû mettre le lien d'une image pour être plus explicite : Par exemple celle-ci (https://www.google.ch/url?sa=i&rct=j&q=&esrc=s&source=images&cd=&cad=rja&uact=8&ved=0ahUKEwiA6aGjsa7JAhXCtBoKHT5AAI8QjRwIBw&url=https%3A%2F%2Fcommons.wikimedia.org%2Fwiki%2FF ile%3ATaipei_Songshan_Airport_1st_and_2nd_Parking_ Lots.JPG&psig=AFQjCNH_Fb-8LD0Lsrowm-S3px_jHEp_-A&ust=1448637472592056)
ou celle-là (https://www.google.ch/url?sa=i&rct=j&q=&esrc=s&source=images&cd=&cad=rja&uact=8&ved=&url=http%3A%2F%2Fwww.adim.fr%2Ffrance%2Fadim%2Fadi m.nsf%2Fweb%2Fadim_ouest_references.htm%26ent%3Den treprise_entreprise_adim_ouest.htm%26noprehome%3D1 %26niveau1%3D39FEF7535036A0B8C1257BB8005E64E4&bvm=bv.108194040,d.ZWU&psig=AFQjCNFaI5fkQtLiaw80V1rMGVmIt7MkMw&ust=1448637625575781) . Mais j'imagine que cela peut servir plein de fois : pour une piste d'avion, pour des guichets, des stands... dès que des numéros se répètent beaucoup de fois, mais qu'ils sont tous différents...

Math1712
26/11/2015, 17h22
Essayes un clic droit enregistrer la cible du lien sous ...


Envoyé de mon iPhone en utilisant Tapatalk

Aurety
26/11/2015, 17h23
Je t'ai passé membre reconnu. Tu devrais pouvoir télécharger le fichier joint.

Ah joli Math1712, très efficace et très simple ! Il suffit juste de rajouter un noeud addition en sortie (+ 234) avant de remplir le texte de l'instance.

Math1712
26/11/2015, 17h36
Même pas tu passes la constante a 234 et hop

J'ai un doute j'ai bien mis le fichier avec la constante?

kilden
26/11/2015, 18h05
@Aurety : Merci de cette reconnaissance !:icon_prie::biggrin: En je n'ai pas réussi à télécharger le fichier depuis Safari (ça me demandait de me logger à nouveau, comme si je ne l'étais pas!), mais cela a fonctionné depuis Firefox...

@Math1712 : Whaaa... Je n'ai rien compris comment tu as mis en place cela, mais c'est génial car utilisable et paramétrable comme je veux ! :biggrin:

Mais un tel mystère pour moi me pousse quand même à essayer de comprendre : Comment as-tu créé 1000 instances textes différentes comme cela à l'intérieur du Cloner ? J'imagine que tu n'as pas tapé tout cela juste pour me faire plaisir ? ^^

Math1712
26/11/2015, 18h17
J'ai un petit script qui génère autant de copies voulues je le posterais demain car la j'ai aïkido tu en auras besoin si tu veux aller au dessus de 1000


Envoyé de mon iPhone en utilisant Tapatalk

tabou
26/11/2015, 22h35
Sinon il y a une possibilité méconnue : utiliser le cloner en mode blend (fusionnés) avec par exemple 1 dans le premier motext et 100 dans le deuxième, et bien entendu il faut régler le cloneur pour qu'il produise autant de clones que nécessaire, 100 dans mon exemple, Mograph est suffisamment malin pour reconnaître les nombres et les interpoler correctement, cool :thumbup1:



http://tabou.free.fr/tabou/2015/nombres_auto.png

Aurety
27/11/2015, 10h02
waw ! je savais pas qu'il interpolait les chiffres, je croyais qu'il ne le faisait qu'avec les paramêtres et les geometries ! Merci Tabou, quelle classe :icon_clap:

Aurety
27/11/2015, 10h11
Bizarre, j'arrive pas à le reproduire :icon_eek:

Sir Gong
27/11/2015, 10h33
Même moi j'ai réussi :icon_mrgreen:

Génial Tabou, t'es trop fort !

Aurety
27/11/2015, 10h44
ahaha, oki, j'ai compris c'est parce que je tentais de passer de 234 à 300 via cette méthode.. Là je réussis pas.

tabou
27/11/2015, 11h29
Ah, je n'avais pas testé avec ces valeurs, on se retrouve avec plein de décimales :sweatdrop:

Apparemment pour obtenir des nombres entiers il faut que le nombre de clones soit un multiple de 10.



http://tabou.free.fr/tabou/2015/nombres_auto2.png

Math1712
27/11/2015, 11h50
Oui j'avais constaté le pb, idem si tu fait avec un multiple de 10 et que tu passes un effecteur dessus t'obtiens des chiffres à virgule.

Je ne sais pas si y a un codeur dans le coin mais hier j'ai utilisé ce script pour générer mes copies d'instances $


import c4d
from c4d import gui
def Paste(parent,key,position):
c4d.CallCommand(100004821)

selection = doc.GetActiveObjects(1)

for obj in selection:
oldpos = obj.GetMg()
newobj = obj
if key == "shift":
doc.AddUndo(c4d.UNDOTYPE_CHANGE,newobj)
newobj.InsertUnder(parent)
obj.SetMg(oldpos)
elif key == "shift+ctrl":
doc.AddUndo(c4d.UNDOTYPE_CHANGE,newobj)
newobj.InsertUnder(parent)
obj.SetMl(oldpos)
elif key == "shift+alt":
doc.AddUndo(c4d.UNDOTYPE_CHANGE,newobj)
newobj.InsertUnder(parent)
obj.SetMg(position)
elif key == "alt":
newobj.InsertBefore(parent)
obj.SetMg(position)
doc.AddUndo(c4d.UNDOTYPE_CHANGE,parent)
parent.InsertUnder(obj)
parent.SetMg(position)

elif key == "ctrl":
newobj.InsertBefore(parent)
obj.SetMg(position)
doc.AddUndo(c4d.UNDOTYPE_CHANGE,parent)
parent.InsertUnderLast(obj)
parent.SetMg(position)
else:
pass
if obj.GetNBit(c4d.NBIT_OM1_FOLD):
obj.ChangeNBit(c4d.NBIT_OM1_FOLD,c4d.NBITCONTROL_C LEAR)
obj.Message(c4d.MSG_CHANGE)
c4d.EventAdd()

def main():
doc.StartUndo()
bc = c4d.BaseContainer()
if c4d.gui.GetInputState(c4d.BFM_INPUT_KEYBOARD,c4d.B FM_INPUT_CHANNEL,bc):
if bc[c4d.BFM_INPUT_QUALIFIER] & c4d.QSHIFT:
key = "shift"
if bc[c4d.BFM_INPUT_QUALIFIER] & c4d.QCTRL:
key = "shift+ctrl"
elif bc[c4d.BFM_INPUT_QUALIFIER] & c4d.QALT:
key = "shift+alt"
elif bc[c4d.BFM_INPUT_QUALIFIER] & c4d.QCTRL:
key = "ctrl"
elif bc[c4d.BFM_INPUT_QUALIFIER] & c4d.QALT:
key = "alt"

else:
key = None

selection = doc.GetActiveObjects(1)

for obj in selection:
position = obj.GetMg()
Paste(obj,key,position)
if obj.GetNBit(c4d.NBIT_OM1_FOLD):
obj.ChangeNBit(c4d.NBIT_OM1_FOLD,c4d.NBITCONTROL_C LEAR)
obj.Message(c4d.MSG_CHANGE)
c4d.EventAdd()

doc.EndUndo()

if __name__=='__main__':
main()

cela fonctionnait plutôt bien sauf qu'aujourd'hui le fonctionnement est aléatoire des fois rien des fois des copies ???? :huh::huh:

Math1712
27/11/2015, 13h31
C'est bien ce qu'il me semblait je n'ai pas uploadé le bon fichier hier voici le bon =>

16606


Pas besoin de script je te montre ici


https://youtu.be/bW9LtQEz0w0

xs_yann
27/11/2015, 14h19
Moi je veux bien regarder ton code Math mais je comprend pas trop le but du script.
T'es sûr que t'as bien des objets dans ton clipboard quand ça ne fonctionne pas ?

J'ai déjà vu deux trois petits trucs que tu pourrais améliorer dans ton code si ça t'intéresse.

Math1712
27/11/2015, 15h33
Moi je veux bien regarder ton code Math mais je comprend pas trop le but du script.
T'es sûr que t'as bien des objets dans ton clipboard quand ça ne fonctionne pas ?

J'ai déjà vu deux trois petits trucs que tu pourrais améliorer dans ton code si ça t'intéresse.

Salut Yann,

Ne perd pas de temps avec ça :icon_smile:

C'est un script que j'avais trouvé ici

http://www.c4dcafe.com/ipb/forums/topic/79408-script-%C3%A2%C2%BB-paste-multiple-child-2/