David Gary Posted April 19, 2004 Share Posted April 19, 2004 Hi. A minor problem ( maybe has been already answered ...) I've collapsed a PolyExtrudeSOP+TransformSOP into an OTL ( quite simple, to do faster modelling, inspired by the Stretch Function in Lightwave). But once that done, how do i interactively reselect geometry in the OTL ( prmitives, points) to extrude-and-transform . Thx for any help Quote Link to comment Share on other sites More sharing options...
michael Posted April 19, 2004 Share Posted April 19, 2004 you mean you've collapsed the SOP into a 'subnet'...? check to see that you have "Select Entire Subnet" turned off...it's on of the little buttons on the left side of the viewport Quote Link to comment Share on other sites More sharing options...
edward Posted April 20, 2004 Share Posted April 20, 2004 Maybe he means binding SOP selectors to the custom SOP operator? Quote Link to comment Share on other sites More sharing options...
David Gary Posted April 20, 2004 Author Share Posted April 20, 2004 ok, i didn't make myself clear. What I want to do is to create an OTL made of a PolyExtrudeSOP followed with a TransformSOP that operates on ExtrudeGroups created by the PolyExtrudeSOP. If i use normally the two SOPs, i can reselect geometry in the PolyExtrudeSOP, that is interactively change the faces to extrude. But i cannot do that once the SOPs are into an OTL. I have no 'reselect geometry for curent operation' feature in the OTL. Thx for help. Quote Link to comment Share on other sites More sharing options...
old school Posted April 20, 2004 Share Posted April 20, 2004 You have to add a bindselector to the dialog script for your asset. It involves going in to the Operator Type Manager for the operator, editing the contents by injecting the bindselector command inside the DialogScript section. The idea is to put a bindselector on the string parameters for your object to accept object groups. You can drive the string directly in to a group field for a SOP, then do that for every subsequent SOP or use a group SOP and drive the string in to there. Obviously not that intuitive but very powerful and the only way to currently add user interactivity in the viewport. Here is a document that I wrote that will hopefully end up in the documentation somewhere for H6.5. It describes the bindselector command and all of it's options. -jeff sop_bindselector.txt Quote Link to comment Share on other sites More sharing options...
old school Posted April 20, 2004 Share Posted April 20, 2004 This is for SOPs only. Objects have a gui method for applying user interactivity in H6.5. Using the bindselector call in the DialogScript for object assets will simply not work and may crash houdini. -jeff Quote Link to comment Share on other sites More sharing options...
David Gary Posted April 20, 2004 Author Share Posted April 20, 2004 Well... Not so easy to do, it seems. What is the dialogScript? Is it the .otl file? i tried to add the "bindselector..." lines in my .otl file. ( edited it with a notepad) It didn't work... maybe because i used the arguments of your example. But is it the right thing to do? Is there a corresponding way to do this in the Operator Type Properties page? I cannot edit the Selector page in the OPerator Type Propertied page but i can with OTLs made with objects. Maybe the best way would be to send me a simple scene where you did that ( if you don't mind of course! ) I hope H6.5 will include a fully detailed documentation about OTL creation. and customization , if there isn't already ! Sorry i get a little confused with all that! Quote Link to comment Share on other sites More sharing options...
old school Posted April 22, 2004 Share Posted April 22, 2004 It's not hard and doesn't even require a text editor. The file you need to edit is contained inside the asset. If you RMB (RightMouseButton) hold on the asset and choose the option "Operator Type Manager". You should have the manager up now with your asset's definition highlighted in blue. Now rmb on the highlighted asset name and choose the option "Edit Contents...". You should have the Edit Contents Dialog open now. These are the section files of your asset. This is the dialog where you can edit directly the section called "DialogScript". Find the parameter name that you want to add the bindselector to. For example, I want to bind it to a general group string field in my parameters, so I find it in the DialogScript section: parm { Quote Link to comment Share on other sites More sharing options...
David Gary Posted April 22, 2004 Author Share Posted April 22, 2004 Thank you very much. That was exactly what i wanted to do. (You can make Houdini look like any other software but you cannot make any other software look like Houdini!) Quote Link to comment Share on other sites More sharing options...
anakin78z Posted May 28, 2005 Share Posted May 28, 2005 Howdy, I just started playing with this, and it doesn't seem like there's any easier way to do this in houdini 7 yet? I guess I should search the help some more, but so far it doesn't seem like this has evolved much. Here's hoping we can do it in 8? Anyhoo, I was hoping to find more info on the selection types, and if there's any good way to modify the incomming information. I'm curious if there's any way to sort the point order that an edge selection returns, or how that determination is made in the first place. What I'm trying to do is create a tool that creates a curve from selected edges. Using the example you gave here I was able to create a tool that creates a curve from selected points, but I wasn't able to get an edge selection to return points in the order that would work to build the curve. Any help would be appreciated. -z Quote Link to comment Share on other sites More sharing options...
sibarrick Posted May 28, 2005 Share Posted May 28, 2005 I don't know if there is a direct answer to your question but there may be a way around it. It's not a great one but if nothing else shows up you could try the following. Rather than picking the edge pick all the polys above or below the edge, then blast them so you are left with a part of your original model right up to the edge you want. Then add a divide sop with remove shared edges turned on but nothing else. This should then extract the edge you need. The down side is if the model isn't completely closed you will get lots of other edges too. And of course picking all those polys won't be as easy as just picking the edge you want. In order to reduce the number of edges to just the one you need you would have to either preclose all the holes, again using divide sop -> remove shared edges and mergeing the result with the original or you would have to have another delete to pick just the edge you want out of the ones created. If you go the first route you need a reverse after the divide and a fuse after the merge. Hopefully someone will have a better answer for you. Quote Link to comment Share on other sites More sharing options...
anakin78z Posted May 31, 2005 Share Posted May 31, 2005 Hey Simon, Yeah, I could probably play around to see if I can find a way to do this, but I'm kind of bummed about the selector functionality as it is right now (assuming I'm not missing something, and I don't think I am). I mean, in this very post there's talk about hoping this will be better in 6.5, and as far as I can tell there has been no progress since. Bummer. Perhaps I'm experiencing a bit of package envy, when I talk to some people who have written modeling tools for maya in mel. Granted, I don't really know what goes into that, but it doesn't sound too difficult to do. Anyhoo, I'd like to hear what people have used the selectors for, if they have, to get an idea of how far it can be taken. Thanks, Jens Quote Link to comment Share on other sites More sharing options...
old school Posted June 2, 2005 Share Posted June 2, 2005 As far as I know, bindselectors return a string of points or primitives in the order selected (I think) directly to the string field that the selector is bound to. Edge selection "smarts" are not supported with bindselectors. It will convert your edges to points as you already found out. The points aren't in any useful order either in the conversion from edge selections to points. It would make sence that when converting edges to points that the selection order is based on edge connectivity if it makes sense. What about forking and discontinuous edge selections? I will submit the request and see if it makes sense. Edges are not supported as an entity in SOPs. It would be nice to use a Group SOP to feed the proper edge syntax on down the chain but this is currently not possible. I tend to dump my bindselectors in to group SOPs and reference the group after that. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.