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.
Split Part using Ruled Surface?

I've been working with some laser cut tubing recently, and have had to go back and forth with suppliers about normal-to-surface tube cutting that doesn't exactly match our model. I've found guides for normalizing coped and mitered cuts on round tube, and used them to come up with a process for transforming a tube modeled with the Frame features (with limited ends) into a normal-to-surface model ready for fabrication:
- Create a ruled surface from the outer edge, normal to the outer surface, towards the center of the tube.
- This step isn't in the guides, but the outer edge surface is needed with angled copes or miters to prevent part interference.
- Create a ruled surface from the inner edge, normal to the inner surface, towards the outside of the tube.
- Split the part from the Outer and Inner ruled surfaces (in that order).
I think this would process would be ideal for a custom feature, but I haven't learned FeatureScript yet, so I naturally turned to vibe coding. I'm starting with very simple constraints - round tubes with coped and mitered cuts, but would love to expand to more complex cuts or rectangular tubing in the future. After a lot of back-and-forth, I've gotten the feature to successfully create the ruled surfaces from the cut end, but I can't get opSplitPart
to split the frame parts with the ruled surfaces. Any direction on how to get this to be functional?
The Normalized Tube End document contains:
- Normalized Tube End FS
- Manual Process - manually building the features/process
- Test Studio - base parts for testing custom feature
Lead Mechanical Engineer @ Healing Innovations
Comments
My black box of vibe code suggests the following fix for your split operation:
Something like this feature was on my to-do list for frames, I'm glad someone else is working on it, I'll probably be working from this as a starting point because the ruled surface inside / outside + split operation is the exact working principle I was going to turn into my script when I got into it.
Edit: Here's a link to my copy of your doc that implements split direction keep logic as well so you can skip the delete bodies logic.
Status update: trying to get it to work on square tube and automatically find all of the relevant faces for the split ops making it only require you to select the faces you wanna normalize.
That was the issue! The split direction logic also worked well. I had the same thought about selecting only the end faces. I'm working to expand to more complex cuts (i.e. a V-notch to mate with the corner of a square tube).
Lead Mechanical Engineer @ Healing Innovations
Yeah the multi-face cuts and support for more complicated frame types is where I stopped mucking around with it. It's not hard to get queries to pick up the adjacent faces and body to cut from the normalize face group, but thickness determination is trickier when you're dealing with more faces in both groups. Last time I dug into frames I found myself wishing there were more attributes to pull from to make operations like this easier. Sheet metal bodies have loads of exploitable data to work with, but frame bodies don't even store their seed curves meaning I need to rebuild them every time I want to do something funky with frame bodies.
If someone gets this working well, I would love to see the FS. Up to this point, I've just dealt with the pain of trying to communicate with my supplier what I need. I don't have time to learn FS, and I haven't decided if this is a tool that I should pay someone to develop.
Also, vote this IR up some more if you haven't. See if we can get this built in.
added a pic and demo video to the IR.
I'll probably pick this back up later this weekend as an after-hours project if Ben doesn't wrap it up before I get to it. I can see my team in the other room drawing box tubes with 60 degree cuts at this exact moment and I'm about to live those same vendor conversations in the next week or two here.
I played with the idea of ruled surface and cutting the tubing we're using right now, which is ANSI 0.75" X 0.75" X 0.125". It has 0.038" fillets. I'm not clear on how a ruled surface, normal to the outside, would work with tubing where a fillet is less than the wall thickness. Depending on the design intent, there's likely a way to model the result, but there's not a simple programmatic solution to this, unless maybe the FS made a copy of the outside and deleted small radii like that. I'm also not clear on what would happen with a real tub cutting machine. I've only ever seen videos of them in action, and haven't designed anything with them as part of the production process.
Simon Gatrall | Staff Mechanical Engineer | Carbon, Inc.
I was able to add selection for multiple end faces and removed the part selection requirement, but I think that's as far as I'm going to take my FS at this point. I tried to repeat the process manually with rectangular tubes, but couldn't figure out how to do it with ruled surfaces because of the external corner radius. Excited to see what you can figure out!
Lead Mechanical Engineer @ Healing Innovations
If anyone wants to dig in, here is a document that outlines various manual methods for doing this. All rather tedious. The parts studio that says support copy was done by Onshape support.