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.
Best Of
Re: Does anyone have any good examples of how to use startTracking?
It's not really a transparent example to browse but the way OnlyTabs handles the tab and slot generation is my most recent exploration so it's top of mind. It's a little hard to explain without visuals but I'll do my best.
The way the tab feature works in the standard library toolbox is it takes a surface body from a sketch, moves it to a sheet metal master surface location, does a thicken operation to create tool geometry, offsets all the faces of that tool by a clearance value specified by the user, does a subtraction of that clearance tool from the master surfaces of the sheet metal bodies in the subtraction scope, then the script unions the tab surface back to the master body after the clearances allow it to sit where it goes, creating a unified sheet for the update sheet metal engine to rebuild with no self intersections.
OnlyTabs pretty much copies this logic wholesale except without being limited to planar domains. I opSplit the input edge chain into domains where there are tabs or no tabs, copy the surfaces of the adjacent wall faces to this edge chain, do a surface extension operation to turn the segments into tab geometry on the surfaces, offset the tool surfaces to align them to the master surface definitions of the sheet metal parts, and do my thicken, subtraction, then union steps like default smTab does. There's a problem though in that if I did an offset to all of the thickened surfaces of my tool bodies I would delete the whole edge of the slot target instead of limiting the scope of my clearance operation just to the ends of the tabs like I wanted. I could try to query for some alignment but the better way is to just track the edges generated by that surface extension operation and resolve that tracking downstream after the thickening operation to find the surfaces resultant from that original extension. In this example the tracking query starts as an edge selection and when it's resolved later it's a face query resultant from those input edges.
In other examples of the code the tracking query is used to handle issues where split entities would result in ambiguity of execution or skipping entities I want to modify so I use a union query between the input and a tracked query of the input.
Re: ChatGPT Atlas for FeatureScript vibe coding
Things change so fast that the title of this thread is out of date.
Today OpenAI released a Codex App (Mac only at the moment, but Electron based and they're working on other platforms) which can use AppleScript to do things. I just hooked it up so that the project I've been working on with Codex in VSCode, is now able to run as an "operator". It wrote an AppleScript that opens a URL (to the FS tab of the document), and pastes and commits the latest Codex/VSCode/GitHub managed commit into Onshape. It's minor, but one step closer to a more automatic loop.
I think it will be a while until it can interpret 2D images of 3D models in any useful way for the things that I want to do, but I could see some automated stuff happening where I might try to get it to optimize the timing of a feature, or at least look at the outputs of a feature and see if the debug statements are successful.
So far the whole process seems a little slower but fewer clicks, but I also just changed to GPT-5.3-Codex (from 5.2) which was released today as well. Maybe because it's quickly churned out Electron app?
S1mon
Re: Gear Lab - Cylindrical, Bevel, Face Gears
+1 to dan_lezak's comment. I run into the issue a lot. If I make a change to a gear that's earlier in the feature list than other gears it breaks all gears after. I think usually if it's a parent gear that's changed.
Drew
Re: Folders in Parts List in Part Studio?
This thread was started 6 years ago, and since then, folders have been added in specific places.
In a part studio, parts cannot be placed into folders. It wouldn't make any sense, because parts are created via features sequentially.
In a part studio, you can place features into folders, as long as they are sequential features.
In an assembly studio, you can place individual components into folders. All assembly mates are solved simultaneously, not in sequence, so the components list can be in any order, or placed inside random folders.
Re: ChatGPT Atlas for FeatureScript vibe coding
I'll give it a crack when they have a Windows version available, but a direct GitHub integration for featurescript studios would likely be more token efficient and faster than running through an app like that.
Re: Viewing personal API usage
I think I have found the answer to both of my questions.
There is an undocumented API endpoint. I don't think API key/secret key auth has permission to access it, but when logged into Onshape in the browser it can be accessed:
https://cad.onshape.com/api/v13/metrics/api/summary?startDate=2025-09-14T00:00:00.000ZstartDate is required.keyCount in the response appears to be the requests made by my personal API keys (excluding requests made by company keys).
Adding ownerId=AAAA to the query params, where AAAA is the company id returned from the /companies endpoint, shows only the requests made by company API keys (excluding requests made by personal keys). This is what is displayed in the API usage table, and the reason I couldn't see my personal key usage reflected.
chigozie
Re: Use Report, viz(), and dbg() for conditional println and debug visualizations
Glad you're getting use out of it! I have also found it very handy for debugging complex geometry FS, because you want to visualize a lot of stuff but not always the same set and not at the same time. And removing my printouts and visualization is generally a thing I eventually have occasion to regret (when yet another test case breaks). Once you switch over to viz and dbg you dont have to worry about it - just add everything, it's fine.
In my case, Reframe is building a large FS codebase of libraries and custom features used across hundreds (? maybe thousands) of documents. When custom features fail in the field, I dont have to create a doc to then debug or recreate the feature with a 'live' version of the code in order to add printlns and debugs to — I just start sticking Report features in to see what is happening under the hood. It has become a huge help for me.
Makes me happy to hear you're finding some success with it @S1mon. Finally working on that (awesome) plastic boss feature we discussed ;)
jnewth




