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
New Custom feature: Publish geometry
I'm pleased to announce that my Publish geometry Custom feature is now… published.
https://cad.onshape.com/documents/40d43cad542dccfa4772d7e1/v/856bd2b631f7e35c4a2b34ad/e/788996d08647863b81b2ff61
Like many other CAD systems (Creo, CATIA etc) the Publish geometry is intended to make Top Down Design workflows much more efficient by providing an easy way to collate references (bodies, faces, curves, sketches, mate connectors) needed for certain downstream activities into a single feature. This feature creates a (composite) part that can be Derived
into other Part Studios, into the same or other documents.
Because the Publish geometry creates a part, it can be version/revision managed, ensuring that downstream collaborators always are working with the correct references.
The Publish geometry can also be inserted into an assembly to provide a "scaffold" for assembly of other instances. For this reason, the "Exclude from BOM
" property is set by default, though you can override this.
Intended usage is for this feature to be used on high level, skeleton (early concept/layout) parts, and NOT at the end of a multi-hundred feature epically detailed Part studio. The reason for this? When a Derive
feature is used, it regenerates and carries along with it the contents of the whole part studio. So even if you only "published" one face, it will carry the weight of everything else in the Part studio. Hence it should be used early in skeleton/layout Part Studios where you are laying out the interfaces, the key keepin/keepout bodies, the key csys/datums (Mate connectors!) and so on.
If you do have a complex assembly (either from a an existing native Onshape assembly or a giant imported STEP file) then it can be used in the following way: create an in-context Part studio (ICPS) of the assembly, then in that ICPS, use the Publish geometry feature on only the key references you need! The double good whammy here is that 1) the ICPS will ensure that the Part studio is lightweight, and 2) you get all the benefits of the Publish geometry workflow.
I made a quick video to introduce this:
Re: Custom Features Collection
Thanks for your feedback!
I was not secretly hoping that my initiative would reach “you”.
As I mentioned, I will be gone for 2 weeks, but I intend to finish everything I started in August.
I am aware that the story is endless, but I will undertake the editing up to 250 pages, the important thing would be that each page is filled with authentic and relevant information.
(What motivated me?
Maybe it was that I wanted to see an information document like this, but I haven’t come across one in half a year, so I created it!
That’s just how it is!) 😎
Re: Custom Features Collection
This is a lot of great work. This is the most complete list I've seen. I'm not sure it scales for one person to maintain something like this.
We really need a FeatureStore which has user ratings and better discoverability. A few people have attempted to do so, but this really needs to be a PTC Onshape feature. There's already an App store for other types of add ons - that should be extended for FeatureScripts.
Part of what needs to be covered is deprecation and overlap by built in features. There are a few obvious examples like Beams which - as far as I know - is fully replaced by Frames. @EvanReese 's FaceCurves is mostly covered by Isoparametric curve (although there are still some great improvements over the built in).

Re: How to draw a puzzle type connection
Have a play. See what works. You can always undo. Do the learning center courses linked above.
Re: Help with sheet metal flanges.
Thanks Eric. That's better.
https://cad.onshape.com/documents/e7deb849eaf79cbe21dd8d77/w/d33b9654867f8aafb9a49fde/e/45af4c571c12078cc476f0ac
Re: Improvements to Onshape - July 18th, 2025
Yes! One of the things I really miss in Onshape (as a prior Creo user) is the ability to give sketch dimensions variable names and then base other sketch dimensions off of those variables within the sketch. It allows for really powerful parametric sketching within the context of the sketch itself without clogging up the rest of the model with defined variables.
Custom Features Collection
I joined the Onshape design team in January of this year, having previously worked in NX for 11 years. At first, I was hesitant to get to know the software, but it quickly became apparent that beyond the built-in functions, there are also many custom solutions for different tasks. These are nice, but it is almost impossible to find them intentionally, you tend to stumble upon them randomly or the command remains incognito “forever”. Talking to others has also revealed that I am not alone in this.
According to a Hungarian saying:
“If you buy something and want to pass it on to future generations, then two basic principles must be met:
• The first is that you know where you put it!
• The second is that it does not get damaged during storage!
The absence of either of these two conditions calls into question what it was bought for?!?”
Well, this came to my mind because if we create a series of better than good “Custom Features”, but users barely know about their existence, or if they become obsolete during storage, and Onshape has not yet implemented them in its own interface, then how much is that worth?
There should be an interface where these can be found in a bunch and where the operating principles of these commands are described, preferably by their creators.
I have already started to write this down along my own logic and I would like to make it public for the community. The “Custom Features” I found are in the order of 300. The document that has just been published contains about 200 commands, it would be good if a third of them were processed, but even so, it is now ready for publication. After all, the links to the commands are already live, they are available for searchers.
This is a thought-provoking initiative on my part, where I look forward to the comments and contributions of active players. I imagine that I would fill in the missing descriptions of existing commands with the text of their creators, or perhaps with details of the model I want to show.
There are many creators whose commands have not yet been included in this document, I apologize to them, but you see, it has become too long. There are preferred commands and their creators, but those who have, some of which are noteworthy works. I don't know where my initiative will end, how much I will be able to fulfill the requests (I don't count the time anymore), but I will try to finish what I started.
Unfortunately, my English is not the best, so I apologize for the mistakes in the "translated" text.
Original Text. (Hungarian)
Idén januárban csatlakoztam az Onshape-ben tervezők csapatához, korábban NX-eztem 11 évig. Eleinte kétkedve ismerkedtem a szoftverrel, de hamar feltűnt, hogy a beépített funkciókon túl van számos egyéni megoldás is, a különböző feladatokra. Ezek tetszetősek ugyan, de ezeket megtalálni szándékosan, szinte lehetetlen, inkább botlik bele az ember véletlenszerűen vagy marad inkognitóban a parancs „mindörökre”. Másokkal való beszélgetés során is az derült ki, nem vagyok ezzel egyedül.
Egy Magyar mondás szerint:
„Ha az ember vásárol valamit és azt el szeretné tenni a jövő nemzedéknek, akkor két alapvetésnek kell, megfeleljen:
- Az első, hogy tudja hova rakta el azt!
- A második, hogy a tárolás ideje során,ne menjen az tönkre!
Ezen két feltétel, bármelyikének a hiánya, megkérdőjelezi azt, hogy minek lett az megvéve?!?”
Nos, ez azért jutott eszembe, mert amennyiben sorra készítjük, a jobbnál jobb „Custom Feature”-öket, de azok létezéséről alig tudnak a felhasználók, ill. a tárolás ideje alatt az elavul, az Onshape meg még nem implementálta azt a saját felületébe, akkor az mennyit ér?
Kellene lennie egy olyan felületnek, ahol ezek egy csokorban megtalálhatóak és ahol ezen parancsok működési elvei le vannak írva, lehetőleg az alkotóik által.
Én a saját logikám mentén ezt már el is kezdtem összeírni és szeretném is közkinccsé tenni a közösség számára. Az általam megtalált „Custom Feature”-ök, 300-as nagyságrendben vannak. A most közzé tett dokumentumban kb. 200 parancs található, ennek jó, ha a harmada lett feldolgozva, de ezzel együtt is, most már közreadható állapotra került. Végül is a parancsok linkjei már élnek, azok elérhetőek a keresők számára.
Ez egy gondolatébresztő kezdeményezés a részemről, ahol várom az aktív szereplők észrevételeit és a közreműködésüket is. Elképzelésem szerint, feltölteném a meglévő parancsok hiányzó leírásait az alkotóik szövegével, esetleg a megmutatni kívánt modell részleteivel.
Sok olyan alkotó van, akinek a parancsai még nem kerültek bele ebbe a dokumentumba, tőlük elnézést kérek, de látjátok, így is terjedelmesre sikerült. Vannak preferált parancsok és alkotóik, akik viszont igen, egy némelyik figyelemre méltó alkotás. Nem tudom hova fut ki a kezdeményezésem, mennyire fogom tudni teljesíteni a kéréseket (az időt már nem számolom), de igyekszem az elkezdetteket befejezni.
Sajnos az angoltudásom nem a legjobb, ezért a „fordított” szöveg hibáiért elnézést kérek tőletek.
Re: Fill a hollow object
Lets say your part is called Part1
1) Generate a cube around your part (Part2)
2) Use Transform/copy to make an identical cube (Part3)
3) Boolean subtract Part1 from Part2 (keeping tools)
4) Hide Part1 Part2 Part3
5) Delete all other bodies (these are the voids)
6) Show Part1 Part2 Part3
7) Boolean subtract Part2 from Part3 (you now have an exact copy of the original part (minus the voids)
8) Optional - this step preserves the original body ID - use this step if Part1 has been derived somewhere else or used in an assembly. Boolean union Part1 and Part2 (make sure you select Part1 first).
This process is very repeatable and works for any number of voids. Because the steps are always the same, it would lend itself very well to a custom feature (FeatureScript).
I hope this helps


Re: Improvements to Onshape - July 18th, 2025
I'm guessing some of this stuff is part of the required groundwork for MBD as well (like the tolerancing in the hole feature, I would expect this to eventually show up in other places, including sketch dimensions…)
Re: Improvements to Onshape - July 18th, 2025
I wasn't thinking that far, more about documenting design intent…
That said I do sometimes miss the ability to relate dimensions to each other withing a sketch so a "local variable" would be useful for this…
For anything that will be referenced downstream in a different feature it seems like a better idea to use an explicit variable though so I wouldn't mind if it was just accessible within the one sketch!