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.


Just did my first "Merge". Is it possible to selectively merge just a subset of changes?

StephenGStephenG Member Posts: 367 ✭✭✭
edited February 2017 in Data management
I created a "Branch" off a version of my design that did not yet contain a lot of the filleting and rounds so I could "chop it up" into pieces to 3D print key features of the geometry to preform a fit check with real world mating part. Did that, worked great. During the fit check I discovered a key dimension had to be changed. I made the change in the branch of the model were I had subsequently added a lot more detail.

I created the version with the change and then I wanted to merge that key dimensional change into the other branch that I had created to facilitate 3D printing of just certain areas (part volumes) of the design.

When I did the "Merge" all the changes got applied to the target. I was hopping I would have an opportunity to just "merge" the dimensional change. Is this possible?  Any I missing how to accomplish this.

Note: I looked at the "Compare" function and while it says the underlying sketch, where the dimensional constraint is located, are "not equal"; I do not see a way to bring up the two sketches side by side with the differences highlighted.


  • Options
    3dcad3dcad Member, OS Professional, Mentor Posts: 2,470 PRO
    I think this is something to consider after we have global parameters (so that you could link dimensions between branches / documents) and configurations (you would probably just make another configuration of part with those details while they both come from same sketch)
  • Options
    mthiesmeyermthiesmeyer Onshape Employees Posts: 115
    edited February 2017
    Hi Stephen,

    It is currently not possible to specify which changes you want to carry over in a merge. This operates similarly to git (barring something like cherry-pick), when you merge one branch into another it brings over all of the changes. If there is a change that you want to apply to two branches, instead of making the change on the more-specialized branch, I would make it on the base branch and merge into the more specialized branch. Alternatively, if there are changes on both of the branches that should not be shared I would go back to their common ancestor, create a new workspace, make the change, and merge that workspace into both branches.

    When you are comparing two states you can select the feature whose changes you are concerned with and use the slider at the top of the screen to highlight the differences between the two sketches or features.


  • Options
    StephenGStephenG Member Posts: 367 ✭✭✭

    I completely missed seeing the "Compare transition slider", thanks for pointing it out.

    However, it did not show what I need (expected) to see. The geometric difference was so small that it could not be discerned visually. I expected to see the two sketches displayed side by side with all the dimensional constraints shown in their full glory. Furthermore, I expected to see components of the sketch color coded to help me understand what "changed" versus what was "deleted", and/or "added".

    This got me thinking about leveraging the collaboration capability in Onshape: why can't I be my own collaborator? (Process: Duplicate the current Onshape Document tab, display the sketch of interest in one browser instance, and the earlier version of the sketch in the other browser instance.)

    If the sketches are not too complicated I should be able to quickly see the difference(s).

    It worked, sort of....

    Because versions are "View Only" it would not allow me to open (edit) the sketch to see the dimensional constraints, and there was no "Show dimensions" available under the RMB Popup context menu.

    Because I knew where the change existed I was able to verify the difference by measuring. But the point of a compare should be to precisely communicate the differences I do not know about.

    Stephen G.
  • Options
    StephenGStephenG Member Posts: 367 ✭✭✭
    Regarding "3dcad"'s comment about global parameters...

    From his comment can I infer that by "parameter" he really means a "variable" created in a Part-Studio scope is limited to just that Part-Studio? And this thing called a "Global Parameter"'s is a variable whose scope will be the entire Document?

    If the above is true may I suggest you implement this capability by following stand object oriented notation method for referencing a data member of an object. For example, if there is a variable named "abc" in a Part-Studio named "def", then referencing the variable in another Part-Studio would be done by giving the object name (abc) dot followed by the member name (abc), i.e. "#def.abc".

    If you are really adventurous you could extend this capability across documents, ex. "#DocumentName.PartStudioName.VariableName".

  • Options
    StephenGStephenG Member Posts: 367 ✭✭✭
    I forgot to consider the implication of branching within the document. My implementation assumes branching is used to create a fork in the design process to explore alternatives and that once the design matures the results of the exploration will be merged back to the main branch. 

    Is see that branching can be used for all sorts of reasons beyond what I described above. So maybe the ability to include a reference to a branch should be considered. My gut feel is not to go down this path, at least at not at first.

Sign In or Register to comment.