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.

Need Advice: How best to create a new part from existing part instance?

StephenGStephenG Member Posts: 367 ✭✭✭
Here is the scenario that leads me to ask for advice...

In the process of designing it has become apparent the concept of using the same part model instanced multiple times in the assembly is not going to work; one of the instances needs a subtle modification for the overall design to work, therefore, it needs to be a different part model.

Currently, (with my limited Onshape experience) the only way I know how to address this situation is to copy the Part Studio were the part design exists, make the necessary changes, delete the existing part instance in the assy, insert an instance of the new part and recreate the assembly constraints. This process seems to me to overly tedious and messing, especially if the part was modeled in a Part Studio that also contains multiple part models. There has got to be a better way.

In other CAD products the process is relatively straight forward, in the context of the assembly you simple tell it to make a particular instance a new "unique" part; a new part model is created and there is no need to replace the instance and recreate assy constraints. You then edit the new part model in the context of the assembly to meet new requirements.

I have thought about utilizing OS "Derived" capability, but this seems only viable when the modification involved is adding new functional functional features. Even though it might be technically feasible to use "Delete faces" feature to remove unwanted existing features, the end result seems a little Rube Goldberg. It would be much better if the "Derived" feature allowed the construction history (feature list) of the localized derived part copy to be edited.

Also, using versions doesn't appear to be a good method because the parts to be uniquely identified from data management standpoint.
   

Answers

  • mahirmahir Member, Developers Posts: 1,291 ✭✭✭✭✭
    edited December 2017
    ***Edit - nevermind. I didn't read the original post very well. Looks like Derived wouldn't do what you want. But I suggest you vote up the improvement request for configurations.
    https://forum.onshape.com/discussion/4118/configurations#latest


    There are a couple ways to do this. You can start a new Part Studio and insert a Derived feature that references the original part that is to be modified. This will maintain a 1-way link from original to modified version.

    Another method that is organized a little differently is to use a Transform feature to create a copy of the original part body from within the same Part Studio. Then, you can make changes to that copied body. The new part still shows up as a separate part when being inserted into the assembly.

    Good luck :)
  • StephenGStephenG Member Posts: 367 ✭✭✭
    Thank you for the additional idea of using "Transform w/Copy Part" option. In many situations this would be better than using "Derived", but it has the same limitation of being cumbersome to make changes, or removing existing features separate from the parent. Also, it still does not alleviate the need to replace (delete old/insert new) the assy instance and redo the assy constraints.

    Right now I am struggling with the lack of assy configurations; it is painful to create "what if - alternate part assy design studies" and assembly process documentation.

    Looked at the discussions thread for configurations. Not much there which is surprising given how important part and assy configurations are to the design process.
  • mahirmahir Member, Developers Posts: 1,291 ✭✭✭✭✭
    You can try branching/versioning. It's not something I've used much, but if the part in question is relatively stable, then you can create different versions, and (correct me if I'm wrong) you can use different versions in one assembly. The problem with this is once you've created a version, it's frozen. Any changes have to go into another version or the main branch, separate from any existing versions.
  • konstantin_shiriazdanovkonstantin_shiriazdanov Member Posts: 1,221 ✭✭✭✭✭
    the advantage of "copy in place" approach is that you can select the moment of feature history to create a copy, so there will be less work for deleting unwanted geometry
  • Jake_RosenfeldJake_Rosenfeld Moderator, Onshape Employees, Developers Posts: 1,646
    @StephenG

    If you want a copy of your part with the full feature history you could potentially try to "Duplicate" the part studio you're interested in?  Right click on the part studio tab to find this option.
    Jake Rosenfeld - Modeling Team
  • StephenGStephenG Member Posts: 367 ✭✭✭
    I believe I described that approach as my initial inclination. However, that approach still requires delete, reinsert, re constrain the instance. I was hoping for a way (unknown to me) that would eliminate those tedious steps. It appears that Onshape currently does not have the capability to quickly support this common iterative design scenario.

    After giving it some thought I realize that Onshape's multi-part Part Studios makes things more complicated; you do want to arbitrarily duplicate the existing part studio, in most circumstance it would be better to add a "Transform w/Copy" feature to the existing Part Studio. As was pointed out by @Mahir this approach has the benefiting of allow the user to relocate the "Transform w/Copy" within the Feature List to a common point where the two part designs diverge. However, this approach still has its limitations; if the subtle difference is just simple adjustment of an existing dimensional constraint to an existing feature you are forced to copy the entire Part Studio.(Maybe the yet to be released Part Configurations functionality will address this limitation. :) )

    I am coming to the conclusion, as tempting as it is to model multiple parts within a Part Studio, a better approach is to limit a Part Studio to a single part design and to part model using derived parts, or in an assembly context when you really what to part to to part dependencies. Unfortunately you lose the ability to use feature variables across parts if they are in different Part Studios.   
  • perry_ismangilperry_ismangil Member Posts: 8
    @StephenG I also needed to design a bracket that just differs by 1.5mm. So I went the duplicate part studio way.

    Then I needed to modify the screw hole, which is the same for both - now any changes like that I need to do two times...

    So even doing one part per studio will be repetitive for parts that only differs in measurements, for example.
  • mahirmahir Member, Developers Posts: 1,291 ✭✭✭✭✭
    I know it's not the preferred method for people accustomed to history-based CAD (most designers and engineers), but redundant modifications can be avoided by copying the part in the original part studio and then implementing modifications via direct editing (Move Face, Scale, etc). Until we get real configurations, I can't think of a better solution.
Sign In or Register to comment.