Welcome to the Onshape forum! Ask questions and join in the discussions about everything Onshape.

First time visiting? Here are some places to start:
  1. Looking for a certain topic? Check out the categories filter or use Search (upper right).
  2. Need support? Ask a question to our Community Support category.
  3. Please submit support tickets for bugs but you can request improvements in the Product Feedback category.
  4. 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.

Version Independent Metadata (Custom Properties)?

S1monS1mon Member Posts: 2,221 PRO
I think I'm finally getting the idea of how "Edit in version" and "Edit in workspace" are supposed to work. However, I can see types of data that I would like to see in Onshape, but doesn't necessarily correspond to any particular version or revision. BOM Cost per part (or assembly) is an obvious one. The value may fluctuate based on raw material costs etc. or might be renegotiated periodically or change depending on MOQs etc...

One could argue that cost doesn't belong in Onshape, or at least it should not be the source of truth. It should be in a PLM system or an ERP system or accounting system or something else. This is likely the correct answer, but what if as an engineer I'd like to see some representative price directly in Onshape to help think through design decisions?

So let's say I have this magical source of truth for pricing, how do I sync it with Onshape in a way that I can see a cost value for a part for some reasonable set of versions/revisions? If something is written via the APIs is it possible to set a value for a property that is independent of the revision history (besides the obvious need for the part/assembly to exist)?

Maybe a more concrete question: with the new Arena integration, could I easily solve this problem?


  • S1monS1mon Member Posts: 2,221 PRO
    As a corollary to this, what if there's a simple change in nomenclature for a project and a bunch of part names need to change, but perhaps they shouldn't need to trigger any revision? We have a bunch of things which are named like "Cover, Bottom, M1B1" and we want to change them to "Cover, Bottom, M1B". In this case, we've made the parts, and started production, but we're playing catch up with Onshape, so things haven't actually gone to RevA. If these were all in the same document, I could load an assembly with the BOM, do a little spreadsheet search/replace, and fix all the part names in a minute.

    With multiple documents with versioned instances in higher level assemblies, this kind of change requires touching a lot of parts and assemblies, and creating new versions. If everything were at RevA, it would be even harder to fix this small naming cleanup. This seems really stupid.

    In general, I wouldn't want some intern at a large company to accidentally change the names of a bunch of parts with search/replace, so I get that this shouldn't necessarily be easy to do for anyone, but shouldn't there be an Admin level override for things like this?

    Again, is this something which could be done with the APIs, or Arena Integration, or OpenBOM, or ???
  • raj_Onshaperaj_Onshape Onshape Employees Posts: 106
    If you get the top level assembly BOM via API, you will get names of all components involved.  Each BOM row has enough information so you can easily write a script to change name as need and publish new versions. Once new versions are published a simple linked document update at the top level will get you what you want
  • raj_Onshaperaj_Onshape Onshape Employees Posts: 106
    For costs.. you can potentially have a new property called CostID at each part which is the same in all workspaces and versions.  This can be a simple indirection to some Database table that lives outside Onshape which stores the CostId to Actual Cost. Then you can achieve updating costs in all versions and workspace with a single update 
  • BambergermBambergerm Member Posts: 5
    Hello Raj - how do I create a new property? I would like to have a Cost field which I could manually enter.
Sign In or Register to comment.