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.

Swept Profile Boolean Subtract

24

Answers

  • owen_sparksowen_sparks Member, Developers Posts: 2,660 PRO
    Good call.
    Business Systems and Configuration Controller
    HWM-Water Ltd
  • famadorianfamadorian Member Posts: 390 ✭✭✭
    Good call.
    Did that work for you? Is that what you meant with "good call"?

    I can't get it to work. 

    Also, why not select all faces of a part or just the part itself?
  • famadorianfamadorian Member Posts: 390 ✭✭✭
    edited May 2019
    Here I've  selected just two cabinets and the simple surface that cuts through them. 

    Doesn't seem to do a thing;)

  • john_mcclaryjohn_mcclary Member, Developers Posts: 3,935 PRO
    I knew you would want to get in on this one morgan :smile: Thanks for helping
  • famadorianfamadorian Member Posts: 390 ✭✭✭
    @john_mcclary
    Could you share it to me too?

    I have made some improvements in my copy of it and would like to merge them into yours
    My version is here: https://cad.onshape.com/documents/982fc7244bbd0d9a3368d875
    @famadorian
    My version will automatically select concave faces propagating from the faces that you select, much like the 'pocket' option in create selection

    This one deletes some parts of the part, but not all;)

    Here's my document (part studio 4):

    https://cad.onshape.com/documents/70d70cf1b954c030847ece24/w/de6d8c01c346e92bbbdec2d7/e/36d3ec964060f62ffba9ab9b




  • owen_sparksowen_sparks Member, Developers Posts: 2,660 PRO
    edited May 2019
    If you hide the sink you'll see the plug hole drain is messing things up, in that the cupboard sides are not separate parts.  I rolled back before subtract,  deleted the inner face of that cylinder and then let the partstudio rebuild and it worked as expected.




    link
    Also Morgan - you weren't kidding about changing it a bit.  B)
    Hope that helps, 

    Owen S.


    Business Systems and Configuration Controller
    HWM-Water Ltd
  • famadorianfamadorian Member Posts: 390 ✭✭✭
    Thanks a bunch;)

    I moved the cabinets so that they didn't intersect with the drain and now looks good;)

    Why do I see their ghost appearance though? The slider doesn't go any further


  • john_mcclaryjohn_mcclary Member, Developers Posts: 3,935 PRO
    The ghost appearance is only on while the feature is open, It's to give you an idea of what is being removed
  • famadorianfamadorian Member Posts: 390 ✭✭✭
    Yup, got it. Thanks

    I inserted it into the assembly;)


  • famadorianfamadorian Member Posts: 390 ✭✭✭
    Now I had to manually hide all the parts that I copied. I guess that can be done in other ways, but I'm happy. 

    Thanks to you all for solving this;)
  • famadorianfamadorian Member Posts: 390 ✭✭✭
    edited May 2019
    Hmm, now that I click "show all" in the assembly, it of course shows both the original parts and the imported parts. What's the correct thing to do here? I should delete the original parts?

    That also feels like a causality loop paradox, cause how can I import the parts if I already deleted them?;)

    There's no such option to "replace" them with the in-context ones?

    What's the proper procedure?
  • john_mcclaryjohn_mcclary Member, Developers Posts: 3,935 PRO
    I'd have to dig into your structure better,

    You should have only copied the sink, for the sake of using it as a trimming tool against the shelves.

    Which is the problem with in-context / transform copy in place. You are asking the system for a new part starting from this assembly position. But then you have multiple parts in the assembly.

    You should be able to just suppress the original cabinets. In-Context only updates when you ask it to, so you can suppress them for now, then in the future you will unsuppress them before you update the context.
    Maybe create a checkbox configuration in your assembly that suppresses the parts and their mates, that will make it easier to toggle (I'd name the configuration "in-contex mode")
  • owen_sparksowen_sparks Member, Developers Posts: 2,660 PRO
    I'd be tempted to have two assembly tabs, one for "construction" and one "final". Construction tab can have redundant or helper parts where as final just had the real bits. Maybe.
    Business Systems and Configuration Controller
    HWM-Water Ltd
  • john_mcclaryjohn_mcclary Member, Developers Posts: 3,935 PRO
    separate assembly tabs for the same assembly!  Taboo! say it ain't so Owen
    Now you would need to manage 2 assemblies, doubling your workload  :#
  • owen_sparksowen_sparks Member, Developers Posts: 2,660 PRO
    edited May 2019
    Yes and no, the construction assembly could be a single use tab that is then ignored. It was a takeaway from Phillips performance webinar, something along the lines of not being afraid to build an assembly just to make one part.  Simple blocks that make up a more complicated whole. Maybe a better term would be a "construction subassembly". 

    In the above example the taps don't add anything to the cutting process, but they do add overhead to the in-context so let's omit them here and just put them in the main assembly.
    Owen S.
    Business Systems and Configuration Controller
    HWM-Water Ltd
  • john_mcclaryjohn_mcclary Member, Developers Posts: 3,935 PRO
    Ok, not the WHOLE assembly, just using assembly / incontext in lieu of part studio derive
    ICWUTUMEAN
  • famadorianfamadorian Member Posts: 390 ✭✭✭
    I'd have to dig into your structure better,

    You should have only copied the sink, for the sake of using it as a trimming tool against the shelves.

    Which is the problem with in-context / transform copy in place. You are asking the system for a new part starting from this assembly position. But then you have multiple parts in the assembly.

    You should be able to just suppress the original cabinets. In-Context only updates when you ask it to, so you can suppress them for now, then in the future you will unsuppress them before you update the context.
    Maybe create a checkbox configuration in your assembly that suppresses the parts and their mates, that will make it easier to toggle (I'd name the configuration "in-contex mode")
    One thing, it seems I can't suppress parts of subassemblies, so if I suppress the cabinet, then the door disappears aswell.

    So, I guess I have to do it again and bring the door with me, into the in-context part studio. 


  • john_mcclaryjohn_mcclary Member, Developers Posts: 3,935 PRO
    In that case, sub assemblies do make things tougher, structurally speaking, this is getting messy
  • famadorianfamadorian Member Posts: 390 ✭✭✭
    So, basically, this is a pretty fundamental thing that should be addressed;) The core abstract model needs to be reviewed here.  

  • famadorianfamadorian Member Posts: 390 ✭✭✭
    I also feel the word "copy" is a detached part that doesn't respond to changes in the part it was copied from. We actually modify the specific instance.

    We also don't need to speak about replace the parts and suppressing subparts, cause we modify the specific instance of the cabinet.
  • john_mcclaryjohn_mcclary Member, Developers Posts: 3,935 PRO
    Now your getting it  ;)

    It is easier to understand whats happening once you get deeper into parametric systems. Understanding when parts come in and out of existence (new internal I.D.), can be as simple as the order in which you select objects in a boolean, or an extrude add deleting an existing edge... Transform Copy is defiantly one of those cases where a clone (new part with perfectly copied geometry and a new unique internal I.D.) has been brought into existence.

    These kinds of things (in-context relations & derives) need to be thought out thoroughly before beginning a large project. Otherwise they can be HARD for you and HARDER for anyone who comes after you if the solution is not obvious. Unfortunately the only way to learn these things is to fail at it many times and take mental notes, and do a little better next time.
  • famadorianfamadorian Member Posts: 390 ✭✭✭
    What I really meant is that there is a flaw in how all of this is supposed to work;) In the matrix itself. 

    First of all, we shouldn't be working on a copy; we should be working on the specific instance of this cabinet

    Secondly, as there's no copy going on, there would be no reason for the suppression of a subpart, since we're modifying the actual instance. 
  • Cris_BowersCris_Bowers Member Posts: 281 PRO
    I'm late to the party on this, but why not just create an in context sketch using the side profile of the sink and doing an extrude remove through the cupboards? I tried opening the document, but it said the tab didn't exist anymore and it spent a good couple of minutes loading before I gave up to see what was actually done.
  • famadorianfamadorian Member Posts: 390 ✭✭✭
    Here's a revision link:

    https://cad.onshape.com/documents/70d70cf1b954c030847ece24/v/01dabfcdc3d55baced4f9f74/e/8ce4f09a8a2a91930f98d819

    Also, when you say "create an in-context sketch", do you mean creating a part studio in context? , cause that's what we've done. 
  • Cris_BowersCris_Bowers Member Posts: 281 PRO
    I'm not seeing the cutouts in the cabinets, they are still protruding through the sink.

    Either way, what I was assuming is that the cabinets, counter tops, and sinks were all created separately and inserted into the kitchen assembly. Then in order to make the cuts in the cabinets for the sinks I would have edited the cabinets in the context of the assembly, created a sketch using the profile of the sink and used an extrude remove to make the cutout in the walls of the cabinet. I never dug into this post previously because the title was asking for something I wasn't familiar with.
  • famadorianfamadorian Member Posts: 390 ✭✭✭
    That's because the original cabinets are still present in the document.

    That's like the whole point of this thread, now. 

    It would probably clear things up if you read the thread. 

    You say: "I would have edited the cabinets in the context of the assembly". Sure, but you'd end up with copies in the assembly, which kinda sucks. 

    A proper solution would be to edit the instance, not a copy of the instance. 


  • john_mcclaryjohn_mcclary Member, Developers Posts: 3,935 PRO
    I was under the understanding you wanted a new cabinet (could have been me overthinking something)

    You can create a context for the original cabinet instead.

    instead of creating a new part in contex, right click the cabinet and edit in context.
    Although, ou will need to repeat this step for each cabinet. depending on if you modeled each cabinet in a separate part studio..
  • famadorianfamadorian Member Posts: 390 ✭✭✭


    Ah, think I'm getting there soon;)

    Now I'm stumped by this. 

    I created a context, but why does the "subtract1" still do something, when context is "none"?


  • Cris_BowersCris_Bowers Member Posts: 281 PRO
    I read the entire thread before I commented. I thought the solutions being recommended were more complicated than needed based on my understanding of what was being asked and I offered a solution based on my understanding. It seems you figured it out, so it's all good.
Sign In or Register to comment.