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.

Mirror in assembly

amir_livneamir_livne Member Posts: 82 EDU
Why Onshape don't have mirror/pattern in assembly????

Comments

  • S1monS1mon Member Posts: 2,986 PRO
    Probably because for it to be useful it needs to be smart enough to know when it's creating a new part (LH vs RH), vs taking something which is already symmetric and mating it in a symmetric location.

    It's one of the top improvement requests, so hopefully it's coming soon enough.

  • billy2billy2 Member, OS Professional, Mentor, Developers, User Group Leader Posts: 2,068 PRO
    I guess it's all about what you believe in. 

    I'm thinking in OS geometry is best created in a part studio and assemblies are for managing parts. Why not create the mirrored parts inside a part studio and then bring them into an assembly? 

    If you're thinking that's not a traditional part/assembly relationship, I have no argument. 

    I think it's safe to say that we've shoe horned parts & assemblies into CAD and the old definitions of these are changing.

    I'm finding that creating geometry in part studios, creating parts and then moving parts into an assembly is working best for me. At least that's what I'm believing today.

    If you have better ideas, please share them.





     
  • edward_petrilloedward_petrillo Member Posts: 81 EDU
    Establish the origin of your parts studios so that you can mirror chiral (handed) parts across the default planes in the parts studios.  Ensure that the origin of the assembly receiving the parts is identical to the origin in the parts studio, and the mirrored parts will be properly oriented when inserted into the assembly. For pairs of achiral (non-handed) parts that are mirrored across a plane in the assembly, insert only one instance of the part and mate it to the assembly origin using offsets. then copy the instance and mate it to the origin using offsets of the opposite sense.   The assembly BOM will  indicate the true count of both chiral and achiral parts.

    Any mate connector in an assembly can serve as a center of symmetry for placing instances in a mirror relationship, or as the origin of a part studio in which a part can be duplicated and mirrored.

    This combination of techniques has been able to cope with nearly every "mirror" situation I've encountered since leaving Solidworks behind.  I'm eager to see whether the much-anticipated improvement request will add any further value.
  • billy2billy2 Member, OS Professional, Mentor, Developers, User Group Leader Posts: 2,068 PRO
    edited December 2021
    Does the position really matter in the assembly or can.we just mirror the geometry?

    @edward_petrillo I'm glad you brought up SW because I knew this thread would end up there. 

    Demoing the assembly mirror feature in SW was "yes Mr. customer one feature will handle all your mirroring needs". But in reality 50% of the people don't get it and it's difficult to maintain especially if you didn't create it. Parametric modeling should be about predictable change and I'm not sure mirroring in the assembly is predictable across an entire engineering department. We called this type of stuff "demo candy" because it gets everyone excited, but can it be implemented?

    If I had an engineering department, I'd probably stick to just mirroring the parts in a part studio and have the people mate the mirrored parts manually. If I opened up one of my engineers project I could easily see which parts are declared as left & right. I'm not sure symmetry in an assembly is always the case. My left brake is not symmetrical to my right brake on my bike. I try to make them symmetrical, but they're not.

    I'm always thinking about the next guy and how much work he has to do to figure out what I've done. Keep it simple, keep it transparent, keep it understandable and keep it accurate. I'm thinking that's what CAD should be.


     

  • konstantin_shiriazdanovkonstantin_shiriazdanov Member Posts: 1,221 ✭✭✭✭✭
    edited December 2021
    Here is a discussion about mirroring workflow involving Part Mirror featurescript. I used it for some real-life projects and found it covering almost all assembly mirroring needs.
  • billy2billy2 Member, OS Professional, Mentor, Developers, User Group Leader Posts: 2,068 PRO
    edited December 2021
    @konstantin_shiriazdanov
    You've definitely mechanized the mirror process in the part studio. I'm wondering why you don't keep the original body? After all it's about a left & right.

    Also, in production, you need to name the mate connector and tell me what they're doing. The only way to know what's going on is to make a copy of your feature script and then go through and toggle all the options watching everything rebuild. 






    This is what I'm thinking:

    In the part studio I can click on the mirror feature and see that it created a "hand right"


    And then in the assembly


    I just add the right hand.

    The nice thing about this approach is that mirroring the hand didn't affect the assembly. This means that if this assembly was in production I can easily adapt LH & RH to the part studio. If hand was used all over the place, I could perform this operation, creating a LH & RH version of a part wouldn't interfere with any production lines.

    Adding the RH to the assembly would impact production for that particular product line, and it should.

    Really for any business, we really need to focus on how we're impacting manufacturing and is our data set manufacturing friendly. 

     


  • konstantin_shiriazdanovkonstantin_shiriazdanov Member Posts: 1,221 ✭✭✭✭✭
    edited December 2021
    billy2 said:
    I'm wondering why you don't keep the original body? After all it's about a left & right.

    Also, in production, you need to name the mate connector and tell me what they're doing. The only way to know what's going on is to make a copy of your feature script and then go through and toggle all the options watching everything rebuild.

    My mirror uses body mirror transform and preserves body identity so that you don't need to recreate mirrored assembly from the scratch. You just creating second configuration and configuring certain parts in mirrored state, and if you used part studio mate connectors and mirrored them correctly, your mirrored assembly is instantly done.
    About naming mate connectors - you probably mean 0, 1, 2, 3 options for positioning in mirrored state, if you remember how its done in SW - you don't have verbose description of part orientation in mirrored position either, just forth and back switcher - this is because you only have 4 options to create a mirrored right-handed coordinate system - a 180 deg rotation around any of 3 axes and default position with no rotation - no more and no less.
    And I was not able to find a way to give a name to MC's from featurescript, seem like it is not possible.
  • billy2billy2 Member, OS Professional, Mentor, Developers, User Group Leader Posts: 2,068 PRO
    I get what you're doing now and thank you for doing this.

    Before:


    After:



    My mirroring a part in an assembly requires one feature in a part studio and one mate connector in an assembly. This technique uses core OS functionality and is manufacturing friendly. I think I could explain this to someone who just graduated from engineering school and make him a valuable asset to my company. I think if I shared this data set with a machinist who hates computers, he'd get it.

    I'm slowing convincing myself this is a good technique. What am I missing?


  • konstantin_shiriazdanovkonstantin_shiriazdanov Member Posts: 1,221 ✭✭✭✭✭
    edited December 2021
    billy2 said:
    I'm slowing convincing myself this is a good technique. What am I missing?
    I used this feature in assemblies with hundreds of parts and found that it works surprisingly well until you remember to use part studio mate connectors for mating something that is supposed to be mirrored, and you remember to configure part properties in mirrored configuration - personally from my point this is the worst scenario when you have an actual mirrored part but it preserves the properties of original one in BOM and your production order is screwed because of this.

  • billy2billy2 Member, OS Professional, Mentor, Developers, User Group Leader Posts: 2,068 PRO
    edited December 2021
    Yes I agree that a mirrored part can be problematic. I don't use many of them.

    Back in the old days many designs had -01 shown & -02 opposite. I think if you were to use that nomenclature today you'd be rejecting all the -02 parts because machinist just wouldn't catch it. Since machinist work off of CAD files, you have to ensure that the -02 is captured in the file name otherwise you'll have problems. And, don't forget the revision number in the file name. Can your machinist work from a shared OS document? My machinist can but won't.

    I'm not a fan of configurations and prefer a new part number. I read an article along time ago that a part number is just a sequence of differentiation and should have no meaning. I still believe that. I'm really hesitant about adding dash numbers to a part number.

    In my bom, my new mirrored part would need updating. I like the fact that OS's boms are really easy to edit. My new part would have blank fields which is pretty easy to spot and fix.

    What's good for my company may not be good for your company. What's most important is that everyone in your company agrees to how things should be done.

    Is everyone including your machinist on board with this process you've developed?



  • konstantin_shiriazdanovkonstantin_shiriazdanov Member Posts: 1,221 ✭✭✭✭✭
    edited December 2021
    billy2 said:
    Is everyone including your machinist on board with this process you've developed?
    Mirroring workflow was not a problem within the company, in the end the documentation correctness is the responsibility of design engineer.
    The machining was outsourced - they had just pdf/step and boms, but assembling was on our side and they liked Onshape models pretty much.
  • billy2billy2 Member, OS Professional, Mentor, Developers, User Group Leader Posts: 2,068 PRO
    edited December 2021
    Do others in your company use your featurescipt to create large mirrored typed machines? Is it a standardized procedure?

    I'm probing and probably shouldn't be. In the US, a lot of engineering departments are every man for themselves which I'm opposed to.

    You're working for a design firm and can get away with more flexibility than a production house. 

    It's cool that you had a small problem, banged out a script, and got'r done. That's impressive.

    I outsource my work too and manage step/pdf files also.


  • konstantin_shiriazdanovkonstantin_shiriazdanov Member Posts: 1,221 ✭✭✭✭✭
    billy2 said:
    Do others in your company use your featurescipt to create large mirrored typed machines? Is it a standardized procedure?
    I was kinda lead design engineer, so I had a bit of authority to say what workflows to use. But using Part Mirror FS didn't cause any resistance (though my colleagues were not spoiled with dozens of years of SW usage). In the end our designs needed to be configurable by left/right side and any automation of this was welcomed by everyone.
  • shawn_crockershawn_crocker Member, OS Professional Posts: 865 PRO
    Why Onshape don't have mirror/pattern in assembly????
    @amir_livne
    I too was bother in the beginning without a mirror feature in onshape assembly.  I have found it actually kind of refreshing to not having it.  In solid works, I found I was continually having to delicately modify things for fear I would some how disturbed the delicate relationship the mirror feature had created in the mirrored part.  I would like a mirror feature in onshape assembly but only for holding a part in the same position as another across a mirror plane.  If you want a very quick way of creating a mirrored part without having to premeditate its existence too much, here is how you can do it with a move forward type of workflow instead of trying to trace backwards into possibly released parts territory.

      - Mate parts in your assembly and realize that a part created by someone else needs to have a mirrored version in your use case.
      - Create a part studio in-context and use the assembly origin as the mate connector.
      - Create a translate feature and use the option, "copy part in place" and select the in-context part you wish to created a mirror of.  Now you have the original part sitting in the proper position with respect to the assembly origin.
      - Mirror the part as desired.
      - drop the mirrored part into the assembly and it falls right into position.



    Now if we could just create a symmetric mate or mate connector the uses entities from different instances we would be golden.  What I like about this is there is no going backwards.  You maintain you forward momentum.  Also, the mirrored part is a perfect mirror but does not necessarily always follow the parents geometry changes unless you very deliberately tell it to by updating the part studios assembly context.  Also, this method require no modifying of the parent parts document.  If you decided you wanted the part studio to hang with the parent, you can just move it to the parents document which seems easier to follow if you are the creator of the parent part and come back to it a year later.  seeing the version history shows clearly that something was moved in rather than attempting to decide if any other changes to the parent part were done during the creation of the mirrored part.
Sign In or Register to comment.