Welcome to the Onshape forum! Ask questions and join in the discussions about everything Onshape.
First time visiting? Here are some places to start:- Looking for a certain topic? Check out the categories filter or use Search (upper right).
- Need support? Ask a question to our Community Support category.
- Please submit support tickets for bugs but you can request improvements in the Product Feedback category.
- Be respectful, on topic and if you see a problem, Flag it.
If you would like to contact our Community Manager personally, feel free to send a private message or an email.
How to query "self-referencing" entities that are generated in the feature
Jose_Morales
Member Posts: 15 PRO
Hi there,
This is a bit of a weird one. I want to be able to have the user give an initial set of inputs, have a script that uses those to generate some sketches and bodies, and then (still in the UI screen) for the user to be able to fill out a Feature Parameter Query with one of the entities created from the feature.
In this case I want the user to drop select a file from which a lot of geometry is generated, then be able to select one of the vertices, which will then feed the script to continue generating the rest of the geometry.

I understand why just adding the query request in the preconditions doesn't work, but I'm hoping there's some way to do this.I tried creating another Feature just after the first one but that doesn't seem to work.
Thanks in advance for any help.
This is a bit of a weird one. I want to be able to have the user give an initial set of inputs, have a script that uses those to generate some sketches and bodies, and then (still in the UI screen) for the user to be able to fill out a Feature Parameter Query with one of the entities created from the feature.
In this case I want the user to drop select a file from which a lot of geometry is generated, then be able to select one of the vertices, which will then feed the script to continue generating the rest of the geometry.

I understand why just adding the query request in the preconditions doesn't work, but I'm hoping there's some way to do this.I tried creating another Feature just after the first one but that doesn't seem to work.
Thanks in advance for any help.
0
Comments
-
Sorry, it can’t be done. The feature must regenerate in its entirety so no intermediate selections are possible. The only way you can do this is to create a second feature and have a two-step process.Senior Director, Technical Services, EMEA0
-
@NeilCooke
Yeah, I suspected as much. That kinda makes it messy (and I don't even know that it'd work with what I want to do).
Is there at least a way to have both Features be prompted by a single UI? Like someway of taking 2 features and merging their UI screens into 1.0 -
@Jose_Morales
You could try using a manipulator (Look at manipulator.fs)0 -
@Jose_Morales - no, it is only one UI per feature type. If it is point/vertex selection, you could try the point manipulator like @MBartlett21 suggests, but it may get a little crazy visually is there are a lot of points.
Senior Director, Technical Services, EMEA0 -
There is a similar discussion going on in a wire looming thread.In an ideal world I'd like a FS that first brings in an instance of the connector we require, and then allows the user to click on the pins of that connector to chose pinouts and wire colo(u)rs. We can't do that of course because because these connectors don't exist at the time the precondition is executed.
Same deal with making one or more composite parts of the results.So today it's looking like a sequence of 3 different FeatureScripts to get the order of operations as we need. I can live with that.
Being able to have a multi stage feature each with it's own precondition would be awesome though.Owen S.Business Systems and Configuration Controller
HWM-Water Ltd2 -
Thanks, @NeilCooke and @MBartlett21 . I'm gonna look into manipulators, but I've been designing the FS work flow for the tool and I think it might not be too terrible to have it be 2 features; we'll see.
0 -
Thanks for the down-vote to whoever did that. Mind telling me why?Business Systems and Configuration Controller
HWM-Water Ltd0 -
Whoops, that was me. I meant to upvote. I'm used to Reddit where upvote is on the left.0
-
Ah, no problem at all, was worried I'd said something that upset somebody! Cheers, Owen.Business Systems and Configuration Controller
HWM-Water Ltd0 -
@owen_sparks
If you want an example of a points manipulator you can look at my beams feature
See line 150 here: https://cad.onshape.com/documents/cfcc264d41817d876589755c/w/96f5dc1940f48d057e52bdaa/e/404f7326c439894ea55e4ff6
1 -
MBartlett21 said:@owen_sparks
If you want an example of a points manipulator you can look at my beams feature
See line 150 here: https://cad.onshape.com/documents/cfcc264d41817d876589755c/w/96f5dc1940f48d057e52bdaa/e/404f7326c439894ea55e4ff6Wow, there's a lot going on in that document
That manipulator does seem to open up some possibilities. Thanks for sharing itCheers, Owen S.
Business Systems and Configuration Controller
HWM-Water Ltd0 -
@Jose_Morales @owen_sparks
It is possible to have a multi-stage feature in a single dialog. You just create an enum for the phases and make it the first input of the feature. If you give it the HORIZONTAL_ENUM UIHint, it will appear as tabs instead of a dropdown. Then branch with an if and define the look of both phases, and in the feature body have a global branch that does two completely different things based on which phase was selected. I put together an example of this:
https://cad.onshape.com/documents/0c06537195bf449a5f21f945/w/700cf90d6fe7e822a4e1e307/e/824cc77612191cc612145140
@kevin_o_toole_1 and I had a chat about it as well, and the major UX concern here is that a user will see "phase 2" at the top and just fill in phase 1 and click on phase 2 to move along, then all their stuff will disappear because what they were actually supposed to do was commit the feature, and use a second feature for phase 2.
The best solution we came up with for this was an "auophasing" feature which has a READ_ONLY phase and uses editing logic in combination with a variable on the context to set the phase of the feature appropriately as it is being created. This turned out to be really slick in combination with the Shift+Enter shortcut, which will seamlessly move you into the next phase.
In my example I have provided both a simple phased feature, and a more advanced autophased feature.
Let me know if you have any questions!Jake Rosenfeld - Modeling Team2 -
@Jake_Rosenfeld
I am very much looking forward to diving into that and really appreciate you folks putting in the effort to raise examples for us 👍
I've finished work for the day and am tucked up in bed with man snivels but I'm positive I'll be back with some questions on Monday.
Thank you,
Owen.Business Systems and Configuration Controller
HWM-Water Ltd2 -
@Jake_Rosenfeld
This sounds really cool. I was gonna dig into it but the link you provided is throwing an error:
"Failed to load document for workspace. Resource does not exist, or you do not have permission to access it".0 -
Jake Rosenfeld - Modeling Team0
-
Jake_Rosenfeld said:Link is all good now.Nice features and that Auto-phase method is indeed very slick.
I'll have a play later and see if I can bend it to my will. (Have method 1 sussed but need to work out how you've achieved the latter.)I was hoping that one day this sort of functionality might be introduced, to have a chunk of it already there exceeds the expectation. Good stuff Devs
Cheers folks,Owen S.
Business Systems and Configuration Controller
HWM-Water Ltd0 -
@owen_sparksowen_sparks said:MBartlett21 said:@owen_sparks
If you want an example of a points manipulator you can look at my beams feature
See line 150 here: https://cad.onshape.com/documents/cfcc264d41817d876589755c/w/96f5dc1940f48d057e52bdaa/e/404f7326c439894ea55e4ff6Wow, there's a lot going on in that document
That manipulator does seem to open up some possibilities. Thanks for sharing itCheers, Owen S.
That document is a beams feature that is based on @NeilCooke 's feature, but it has very different internal workings and is split into a lot of feature studios, rather than in one huge one (currently 15).
I also have added a few other features to it, such as weld gaps, customisable profiles, custom properties, cutlists and custom profiles complete with part number, material and maximum length2 -
1





