 | |  |
| firestome | Bonjour a tous !
Comme je sais qu'il y a des pros d'XSI ici je me permet de vous exposer mon petit soucis !
Voila je modélise des éléments en poly et souvent les opérations sont répétitives comme dans le cas d'ouvertures a extruder etc...
en général j'ai 5 opérations a faire sur un poly pour arriver au résultat souhaité, et ce que je souhaite c'est pouvoir créer un script pour ne pas répéter constamment les mêmes opérations, (créer ensuite un menu de sélection, je sais faire )
Opérations :
selection du poly
inset a 0,2
extrud a -0,2
re-inset....
re-extrud...
extract/delet
en script ça donne cela:
SelectGeometryComponents("cube.poly[0]" );
ApplyTopoOp("InsetPolygons", "cube.poly[0]", siUnspecified, siPersistentOperation, null);
ApplyTopoOp("ExtrudeComponentAxis", "cube.poly[0]", siUnspecified, siPersistentOperation, null);
SetValue("cube.polymsh.extrudecompaxisop[1].length", -0.2, null);
ApplyTopoOp("InsetPolygons", "cube.poly[0]", siUnspecified, siPersistentOperation, null);
ApplyTopoOp("ExtrudeComponentAxis", "cube.poly[0]", siUnspecified, siPersistentOperation, null);
SetValue("cube.polymsh.extrudecompaxisop[3].length", -0.2, null);
ExtractFromComponents("ExtractPolygonsOp", "", "polymsh_detached", true, siImmediateOperation, siKeepGenOpInputs, null);
SelectFilter("object" );
donc comment a partir de ce shéma pouvoir faire un script basic utilisable pour tout les poly que je sélectionne ? lol merci par avance pour ceux qui auront la gentillesse de se pencher sur ce petit prob de scripting ! |
Skelter fucking with fire | Salut!
Il te faut faire une boucle de type for.
for (initialisation; condition; incrémentation) { instruction1; instruction2; .... } Je ne connais pas XSI et son langage de script mais tu devras procéder ainsi:
Récuperer la sélection et la stocker dans un tableau. Visiblement la commande qui permet de sélectionner est SelectGeometryComponents("Nom_objet.composant[indice]" ); . Regarde dans la doc et vois comment tu peux lister la sélection dans un tableau.
Ensuite tu crées ta boucle avec comme condition le nombre d'éléments contenu dans le tableau(attention le 1er élément est créé avec la valeur 0). Dans le corps de ta boucle tu ajoutes les instructions qui vont te permettre de créér ta modé toujours en te basant sur le contenu de ton tableau.
C'est un peu difficile si tu n'as pas d'expérience de la programmation donc bon courage.
---------------
Softs: 3ds Max, Mental Ray, Catia.
Matos: stations Bi-Xeon 12 cores, 24 Go RAM.
|
firestome | Bonsoir Skelter
Je te remercie déja pour la rapidité de ta réponse !
je vais essayer ce que tu me propose dans la soirée ! je reconnais que pour un débutant dans le scripting ce n'est pas tout les jours dimanche Aussi je reste a l'écoute de divers propositions sur ce sujet qui je crois, servira ensuite a d'autres !
l'avantage des forum c'est à la fois d'exposer une problématique mais aussi dans le même temps de pouvoir bénéficier d'apports d'expériences supplémentaires a la question de base !
je te remercie encore d'avoir pris le temps de me répondre Skelter |
Skelter fucking with fire | Salut!
De rien pour la réponse. Une fois que tu auras assimilé le principe de la boucle for le reste ira tout seul. ---------------
Softs: 3ds Max, Mental Ray, Catia.
Matos: stations Bi-Xeon 12 cores, 24 Go RAM.
|
| |
| | |