Aller au contenu
Kris

Macro-Script : Prompt option diag box in a modifier

Recommended Posts

Hello,
j'aurais besoin d'un petit coup de main sur un macro-script, j'essaie d'optimiser certaines tâches répétitives, étant néophyte en max-script/macro-script je rencontre bien évidemment quelques soucis.
Voici la fonction de ma macro en l'état :

macroScript Macro32
    category:"DragAndDrop"
    toolTip:""
(
    modPanel.addModToSelection (sweep ()) ui:on
    
    $.modifiers[#Sweep].SmoothSection = on
    $.modifiers[#Sweep].SmoothPath = on
    $.modifiers[#Sweep].PivotAlignment = 3
    $.modifiers[#Sweep].realWorldMapSize = on
    $.modifiers[#Sweep].CustomShape = 1
)

J'aimerais ajouter la fonction mergeCustomSection(), pour remplacer le clique manuel du dit boutton dans le modifier sweep, mais je n'y arrive pas.
En gros je souhaiterais après avoir fait le CustomShape = 1 que la macro m'ouvre la boîte de dialogue pour merge une section que j'irais chercher manuellement en fonction des besoins. Si quelqu'un a une idée de comment intégrer ça dans ma macro ça serait super !


Merci d'avance !

Share this post


Link to post
Share on other sites
(
	modPanel.addModToSelection (sweep ()) ui:on

	$.modifiers[#Sweep].SmoothSection = on
	$.modifiers[#Sweep].SmoothPath = on
	$.modifiers[#Sweep].PivotAlignment = 3
	$.modifiers[#Sweep].realWorldMapSize = on
	$.modifiers[#Sweep].CustomShape = 1

	$.modifiers[#Sweep].mergeCustomSection() 
)

Ça devrait le faire :) 

 

Share this post


Link to post
Share on other sites

Merci SugaR ça fonction, j'avais pourtant essayé..., mais je devais avoir fait une erreur de syntax...(mybad)

Vu que tu as l'air doué en maxscript, j'ai éventuellement une autre question pour tes super méninges !

Il existe aussi une autre commande, qui est .pickCustomSection(), j'ai fait quelques essais, mais techniquement le script aurait besoin de faire une pause, le temps que l'utilisateur sélectionne un Shape puis continu la lecture du script (mon script ne s’arrête pas là, j'y ajoute d'autre modifier du coup le pickCustomSection() est complètement zappé et l'utilisateur n'a pas le temps de choisir un Shape).

Une idée, ou il n'y a que le sleep pour delay la suite de mon script ?

Merci encore pour ta première réponse, et bon week-end.

Share this post


Link to post
Share on other sites

Faut faire un petit workaround apparemment pour ça. Pour le test, je rajoute juste un modifier edit_poly par dessus le sweep, qui est ajouté uniquement après que l'utilisateur est pick une custom shape.

(
	modPanel.addModToSelection (sweep ()) ui:on

	$.modifiers[#Sweep].SmoothSection = on
	$.modifiers[#Sweep].SmoothPath = on
	$.modifiers[#Sweep].PivotAlignment = 3
	$.modifiers[#Sweep].realWorldMapSize = on
	$.modifiers[#Sweep].CustomShape = 1

	$.modifiers[#Sweep].shapes[1] = pickObject()

	modPanel.addModToSelection (edit_poly()) ui:on
)

L'idée c'est plutôt que d'utiliser la fonction du modifier pour pick une shape ( .pickCustomSection() ), tu assignes directement ta custom shape via "$.modifiers[#Sweep].shapes[1]" en utilisant "pickObject()", ce qui devrait revenir au même. Par contre PickObject() met bien le script en pause le temps que l'utilisateur pick un objet.

Au passage tu peux filtrer les objets que l'utilisateur peut pick, a toi de trouver comment (avec un gros indice quand même : http://help.autodesk.com/view/3DSMAX/2016/ENU/?guid=__files_GUID_CB0EBFC3_9360_445B_BCD4_5F5B2031579F_htm) ;) 

Share this post


Link to post
Share on other sites

Salut SugaR !

J'ai fait quelques essais avec la fonction pickObject()

Alors, ça fonctionne effectivement, et ça met bien le script en pause le temps que l'utilisateur sélectionne une Shape.

En revanche je sais pas pourquoi, mais j'ai l'impression que les ID mats appliqués sur ma Shape que je sélectionne ne sont pas pris en compte, du coup il faut que je reload manuellement la Shape dans le Sweep pour que les ID mats soit bien appliqués...

Je pense que je vais rester sur le mergeCustomShape() qui fait la pause et importe bien les ID mats de la Shape !

Merci pour ton aide !

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Invité
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Chargement

  • Who's Online   0 Members, 0 Anonymous, 181 Guests (See full list)

    There are no registered users currently online

×
×
  • Créer...