Skip to main content
15-Moonstone
February 14, 2015
Question

Mirror of Part: Something's not right

  • February 14, 2015
  • 10 replies
  • 15104 views

Mirroring in general is more complicated that it SHOULD be.

I have a part model that I need the opposite hand for. The most obvious way of creating this mirror model would be to go FILE/SAVE AS/MIRROR. The only problem is that you can NOT choose the plane to mirror from. WHY NOT? There is absolutely no reason this crucial step shouldn't be included.

There is a work around that involves extra un-needed steps.

This includes going into an Assembly and creating the mirror from this. Within Assembly it does allow you to specify the mirror plane.

I have followed PTC's specific directions to produce my needed mirrored part.

I specified the mirror plane from my original part (I also tried this with the Assembly mirror plane)

I am very happy with my result. See picture below (New mirror is in green)

MirrorCorrect.JPG

The satisfaction fades however as I see that my model is precisely the way it mirrored before. See picture below.

Result.JPG

After the ensuing frustration I discovered that I could rotate my part so I was able to get the correct orientation. See picture below.

Add rotation in Part.JPG

When I go back into Assembly after rotating the part I see that it displays incorrect to the view visibility within the part. See below picture

after rotated assembly.JPG

Any idea as to why my Part and Assembly models do not line up?

After this experience I voted up one of the Mirror part with specified plane Idea submissions.

What worries me however is that I have a mismatch between what I can view between Part and Assembly. This could lead to extremely expensive manufacturing results.

I did modify my planes to a World View Coordinate System. My views and Csys orientations appear to agree with each other in my Part and Assembly templates. This is the 1st such anomaly I've seen.


This thread is inactive and closed by the PTC Community Management Team. If you would like to provide a reply and re-open this thread, please notify the moderator and reference the thread. You may also use "Start a topic" button to ask a new question. Please be sure to include what version of the PTC product you are using so another community member knowledgeable about your version may be able to assist.

10 replies

15-Moonstone
February 14, 2015

just about the plane not included....a mirror would always be a mirror...which ever plane it is it would produce the same mirror part.

that is the reason a plane is not included.

pimm15-MoonstoneAuthor
15-Moonstone
February 14, 2015

It does give you the actual part you need through a mirror but you have absolutely no control over where it gets mirrored to. I am not a very learned user of this software but I see 2 issues with this;

1) Due to componentizing sometimes you can't even select the part model as a whole to rotate into final position (I am running into this too)

2) If the model was built on a datum away from the origin you would have to go through another step to place it in it's needed position

In my situation I've spent over a half day struggling through a correct placement. Something which would take 10 seconds in our other CAD system.

This is one of the issues that I can foresee us starting a search for new CAD software. This HAS to work.

15-Moonstone
February 14, 2015

it would be difficult to say something unless..actual part can be seen.

pimm15-MoonstoneAuthor
15-Moonstone
February 14, 2015

I need to add to the original post and this situation is quite bad unless there is some setting that can fix this issue.

What I am finding is that everything that is mirrored whether the mirror part is created from using Save Part/Mirror or if it is mirrored from Assembly is that the resulting model file is rotated 180 degrees from where it really is.

In other words, the mirror did propagate in the correct orientation the issue is that the model file generated from the mirror is in the wrong orientation.

EDIT: Now I'm seeing that 1 model file mirrors over with the wrong model file orientation and the other model imports in the wrong orientation but a rotate lines it up in the proper model file orientation. This is severely buggy I literally don't know which ends up.

The way that I discovered this was by bringing the generated model file into Pro Mold and seeing that the model was rotated 180. I also noticed this issue by bringing another model into the generated mirror model file and seeing the orientation 180 degrees opposite of it's true orientation.

Even though I built my own Datums and Csys for my default part, assembly and Pro Mold they all line up with each other. This lines up with the spin center orientation. When I output data it is in true orientation with our other CAD system.

I don't understand how a mirror generated model file would rotate out of position. I'm hoping someone understands what needs done to straighten out the issue.

1-Visitor
February 14, 2015

The mirror operator flips the coordinate values relative to some plane. I don't know what plane part-mirror defaults to (probably X-Y, so plus-Z becomes negative-Z) but I guess the default isn't what you want. In the assembly you picked a different plane, and it mirrored like you wanted by using the same mirror as the part plus a rotation/offset to move the mirrored part to the desired location. If you go into that part and add more rotation, that rotation will be seen in the assembly.

I think I understand why you don't like the way it works, but there is no switch or command or any method that makes it work differently. I would probably create a new coordinate system in the mirrored part that was in the orientation and location I wanted.

pimm15-MoonstoneAuthor
15-Moonstone
February 15, 2015

Looking even closer it appears that the models needing mirrored that had dual DCS ended up in a model file with DCS and views turned upside down to each other. In order to fix this I have to rebuild my views in order to insert properly into Pro Mold. This multiplied by every mirrored part.

This can't be. I've already drifted behind on this project I'm working on.

1-Visitor
February 16, 2015

Just out of curiosity, you said you went back to the ASM0002 assembly after modifying the 2513-BLOCKER-2354.PRT, and noticed that the mirror part is not oriented correctly. Did you also notice that this modified part is placed in the assembly using "Fix" constraint? If that's true, what happens if you change that "fix" constraint to "Default"?

By the way, how did you rotate the geometry of the 2513-BLOCKER-2354.PRT - that is, how did you create the "Moved Geometry 1" feature (I was trying to use flexible modeling, but it's not easy to precisely control the result!)

pimm15-MoonstoneAuthor
15-Moonstone
February 16, 2015

Paul,

I did use the Default constraint when I placed the model in Assembly.

As far as the rotation of the part was concerned, this model was a quilt. That was actually why I was able to rotate the model.

The solid models that I mirrored I wasn't able to rotate unless I exploded the model and merged as a quilt.

1-Visitor
February 16, 2015

Hi Paul,

This is what I did and see if i understand what is happening to you. By the way, I wholeheartedly agree with you that the Creo mirror functionality has the serious limitation in that it always mirrors about the "internal" x-y plane.

mirror_test.jpg

Shown in the image is an assembly of three components each constrained by "default".

Starting with the light blue part: if you do a save-as mirror function to that part you will end up with the dark blue part. Note that the mirror plane is the x-y plane of the default coordinate system.

Now, suppose what you actually want is the light green part - one that's been mirrored about they y-z plane. Well, if you use the assembly method of mirroring and create the mirror component (green - MIRRORED_IN_ASM) using the x-y plane of the light blue component, you will get what you see above, which looks great except as you mentioned, the green component is actually identical to the dark blue one. Creo merely does the same "x-y" mirror and then applied the "Fix constraint" to position the new part in the right location - in this assembly. In other words, if you change the "fix" constraint to "default", the green part will end up overlapping the dark-blue one.

So to get it to the right position, I transformed the geometry of the light green component by rotating it about its y-axis by 180 degrees. This modified component is now shown in the "default" orientation and is the correct mirror of the light-blue original. Also its views are preserved, etc...

I'm attaching my test files if you want to examine this. I know that this is a simple example and the corrective transformations can be much more complicated than a simple rotate about y-axis by 180 degrees, but that's how it is. The only other thing to keep in mind is to model your "to be mirrored" parts knowing that they will be flipped about the default x-y plane.

15-Moonstone
February 16, 2015

Have you tried visual mirror or mirroring the part with the simple mirror tool just double Check.there you have the option to select the plane also

pimm15-MoonstoneAuthor
15-Moonstone
February 16, 2015

Visual Mirroring would not work as we have to build actual tooling geometry on that which was mirrored and cutter paths have to be applied to this.

15-Moonstone
February 16, 2015

yes i know..it would not create an actual part..i suggested you that for the following reasons:

1. you have an option to select a plane, which you do not have in "save a copy as mirror "..option.

2. you would be able to see whether that is giving you the same or different result.

you could also use the regular mirror option...where you can select the plane option and mirror ..and then cut the original geometry.

you can also use the merge inheritance option to call the original part in a new part window..then mirror it..and cut the original geometry.

pimm15-MoonstoneAuthor
15-Moonstone
February 19, 2015

I hate to say this but I can't seem to duplicate that which I thought was an answer. I do appreciate the help you've already given. Hopefully there is a simple reason for the failure that still persists.

I don't know if there was something different and unique in my trial model or if it was my perception of the results.

I will attach snapshots of what I am seeing. In what I've seen the whole crux of the issue is that the mirror function doesn't know how to deal with the CSYS Local that we use to rotate the solid part.

1st of all I placed the ASCO CSYS in the assembly. The placement of this didn't seem to influence the result. Whether the ASCO was rotated 180 or placed straight up the result I received was the same.

I inserted the component that I needed mirrored using the Coincident constraint. For the component I used the PRT_CSYS_DEF. For the Assembly I used the ASCO which I created.

AssemblyInsertion.JPG

Next I set up the Mirror operation. This was done using the Create Component command. I used the mirror part option. I part referenced the inserted component. I planar referenced the RIGHT datum which I needed the mirror completed off of.

MirrorSetup.JPG

This mirrored the part. On 1st inspection the mirror looks correct. Unfortunately when you zoom into the CSYS area you see that the new part has a flipped Z orientation as shown.

ResultInAssembly.JPG

This unfortunately means that the part that you Open has the views flipped. When you bring this part into another model such as Pro Mold you see that it is rotated 180 degrees out of position.

I'm trying to get help additionally from PTC tech support, but there are times when people who have to deal with the tools within Creo have a deeper understanding of how the software works.


1-Visitor
February 19, 2015

Hi Paul,

Check again how the mirrored component is placed in the assembly. I'm suspecting it is using the "Fix" constraint.


Go edit the mirrored part and add to it a new CSYS, using the default PRT_CSYS_DEF as the reference.

This new CSYS will be transformed by rotating about some axis of PRT_CSYS_DEF by 180 degrees (I'm not sure which, try Y-axis).


Then go back to the assembly and redefine the placement of the mirrored part: use the coincident constraint between ACS0 and the new CSYS you just made.

This will position your mirrored part correctly in the assembly. In the same manner, you have to bring in the mirrored part into Pro Mold using the transformed CSYS...

And yes, unfortunately the views in your mirrored part will be flipped around.


The alternative is to move the mirrored geometry around to locate it correctly relative to the part's default csys.

That seems harder than redefining the orientation of some drawing views...

pimm15-MoonstoneAuthor
15-Moonstone
February 19, 2015

I've attached a simple part that uses our start part.

I think if anyone were to try the mirror sequence they would find the CSYS mirrors in upside down position and rotated 180 degrees away from the desired orientation.


1-Visitor
February 19, 2015

Sorry Paul, I can't open your file. You are using Creo 3.0? - I'm on 2.0...

Anyway, I think we are going in circles; I don't dispute that your mirrored part comes out in "wrong position" relative to its default CSYS. It is a direct consequence of you trying to mirror about Y-Z plane and Creo will only mirror about the X-Y plane.

pimm15-MoonstoneAuthor
15-Moonstone
February 19, 2015

Paul,

Sorry you can't open this.

I do have a tendency to agree with you that the results show a mirror in only one plane direction even though you select the plane it needs to mirror about.

Creo appears to cheat by giving a visual impression that the needed mirror was accomplished.

This really sucks. Not only do you have to fix the rotation you also have to fix the views that it places to perform the visual cheat.

Having another much more inexpensive CAD software that applies a correct mirror in about 10 seconds really makes you hate Creo's ineptness.

1-Visitor
March 27, 2015

A mirror is a mirror geometrically speaking. However if you are concerned with assembly placement of the mirrored object you can capture this by using this method. You need Advanced Assembly to do this.

1. Create a new part (this will become your mirrored part)

2. Use copy geometry feature to copy surfaces from original side into your new model (use "solid surfaces" selection to grab all solid data)

3. Mirror the copy geometry quilt around your mirror plane of choice

4. Solidify the mirrored quilt.

5. Hide the copy geometry feature.

This is a work around I have been using the last few years.

1-Visitor
November 29, 2016

This is what i like in creo!

If we can do a job whith 5 operations, why should we do it in 1 operation...?

Work arounds, work arrounds, and if somebody fix this and dot. Everibody work faster.

pimm15-MoonstoneAuthor
15-Moonstone
November 29, 2016

Yes, and I actually do the same steps as what Corey does and add steps by doing remove operations.  Maybe it's just me but it worries me to hide something instead of completely removing it.

Patriot_1776
22-Sapphire II
November 29, 2016

I avoid this by mirroring within the part itself, and creating a family table instance of left and right.  This way, I get to choose the mirror plane, and there are ZERO external refs.  I'll post more when I get time.

pimm15-MoonstoneAuthor
15-Moonstone
November 29, 2016

That would certainly be different than what our work flow presently is but that is an intriguing idea Frank.  I'd like to see how you do this.

Patriot_1776
22-Sapphire II
November 29, 2016

1.  Create the datum plane you want to mirror about

2.  Copy "All Solid Surfaces".

3.  Mirror that copy.

4.  Solidify "Cut" to remove the first part.

5.  Solidify "Solid" the mirrored surfs copy to get the other side.

They will automatically update as long as any new features are added BEFORE step 2.  You can differentiate the copy from  the original by placing added features any time AFTER step 3.

It works great and is simple, although if you went wild with differences from the original to the copy the Family Table could get interesting, but.....  So far, I have had no issues with it.