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.

Best Way to Mirror Parts In Place (Without Creating New Parts)

jeffrey_hawkinsjeffrey_hawkins Member Posts: 14 EDU

I need to invert a set of parts, equivalent to the Mirror function. But without creating new and deleting old, and losing the names of the parts involved. I don't care it the part moves in the process or flips in place.

I've been trying to scale across the z-axis with a -1 scale factor, but it's turning red… Is negative scaling not allowed? Any other options?

Thanks.

Best Answers

Answers

  • glen_dewsburyglen_dewsbury Member Posts: 1,116 PRO

    -1 scale factor? Making smaller is done with decimal values lower than 1.

    If you make our document public and share a link it will get a quicker and better answer.

  • jeffrey_hawkinsjeffrey_hawkins Member Posts: 14 EDU
    edited July 28

    I don't want it smaller. I was (perhaps mistakenly) told that using scale factors like (x: 1, y: 1, z: -1) is a pretty standard way of converting a 3D part into a mirror of itself. Scale factors are coordinate multipliers. So multiplying only the z-coordinate by -1 would flip the part across the z-axis for a 1-step flip of the part. I only mentioned that to show that I had attempted things before asking for help. I see that this is more of a Math thing than a CAD thing though. But that's what I'm after.

    I'm literally just looking for the part equivalent of the "flip vertical" function from the text editing interface. For example, if the transform feature had a "mirror" option where you didn't have to create an extra part… Or if the "Mirror" function had a checkbox for "Mirror in place" to tell it not to make an extra part.

    Below is a link to a simplified example. Given the example part, I'm looking for a result where the only visible change after applying these changes, is that the groove in the part moves from the top to the bottom.

    https://cad.onshape.com/documents/46e06838d28589243a2d6345/w/1e024f865c5e8ac1fe0b8f94/e/3f571e55f70a1f1487f9f035

    Thanks.

  • noah_moss978noah_moss978 Member Posts: 2

    Hey @snake game, I get what you mean — using (x:1, y:1, z:-1) as a transformation is totally valid for mirroring across Z. But in Onshape, this approach doesn't always play nice because Transform isn’t really intended for true geometric mirroring. It’s more like repositioning, and it can lead to inside-out geometry if used carelessly.

  • Derek_Van_Allen_BDDerek_Van_Allen_BD Member Posts: 157 PRO
    Answer ✓

    I ran into this exact need and developed Lefty Flip as a custom feature to do exactly what you're asking. It does work as a negative bounds scale transform under the hood and maintains all part and face identities as you're expecting. There's a little bit of sheet metal magic in there too.

  • jeffrey_hawkinsjeffrey_hawkins Member Posts: 14 EDU
    Answer ✓

    Love it. I went ahead and wrote this today, before I saw your reply:

    ReflectSTL/reflect_stl.py at main · HumanJHawkins/ReflectSTL

    Mine is a script that reflects an .stl across user choice of plane (and flips normal to not leave it inside out). But it works on already exported .stls. So, I'll give Lefty Flip a try for that sweet native mojo. :-)

    Thanks all.

  • glen_dewsburyglen_dewsbury Member Posts: 1,116 PRO

    Here are some samples using mirror/delete, transform/rotate, leftyflip, change extrude direction.

    All seem to work well which gives you some choices. None use -1 as a coordinate as I could not think of a way in Onshape unless it was done with a feature script. Change extrude direction looks simplest to me.

    One thing I would note. I typically leave such things in place and set final position at the assembly. If a left and right are needed then just mirror and leave 2 parts.

    https://cad.onshape.com/documents/1feeefe395768088071300a4/w/bca5b3d70ab3629935e028c7/e/b741521641c6ef4681827dd5

    image.png image.png
Sign In or Register to comment.