Page 1 of 1

Move/Copy Body oddity

Posted: Wed May 25, 2022 10:16 am
by josh
Some weirdness today...
I downloaded a parasolid model of a vendor part. Imported to .sldprt (none of that 3DInterconnnect crap).
I didn't like how it was positioned in space relative to the primary planes, so I selected all the bodies and did a move/copy body feature to reposition, using the "Constraints" option. I added a couple of distance type mates between faces and the primary planes. The bodies appeared to move as expected.
Then, after I hit the checkmark to complete the feature, they jumped back to where they were before.
The feature was still in the tree, no errors or anything, but the bodies were still in their original position.
Then I suppressed the feature... The bodies moved to the position I actually wanted them to be in!
I unsuppressed the feature... The bodies returned to the original position when I opened the parasolid.
Deleted the feature. Bodies moved back to the position that I wanted.
Saved and closed the file. Opened it again. Bodies still in the new position.
Weird.

Re: Move/Copy Body oddity

Posted: Wed May 25, 2022 10:24 am
by mike miller
:shock: Solidworks finally decided to implement Synchronous.

Re: Move/Copy Body oddity

Posted: Mon May 30, 2022 2:28 am
by Lucas
That's our Solidwonks 8-)

Re: Move/Copy Body oddity

Posted: Mon May 30, 2022 8:34 am
by AlexLachance
Imported features do not have any "constraints" to them from what I've noticed. If you use the move/copy body command on it and move it and then delete the feature, the body will remain in the new position the command had defined, even though the command is now deleted, because the body had no reference point to send back to the origin.

What you experienced sounds pretty similar to what I described, except you're getting it somewhat reversed, so I'd say this is most likely a "template gotcha syndrome"

Have a great week Josh!

Re: Move/Copy Body oddity

Posted: Mon May 30, 2022 2:19 pm
by berg_lauritz
AlexLachance wrote: Mon May 30, 2022 8:34 am Imported features do not have any "constraints" to them from what I've noticed. If you use the move/copy body command on it and move it and then delete the feature, the body will remain in the new position the command had defined, even though the command is now deleted, because the body had no reference point to send back to the origin.

What you experienced sounds pretty similar to what I described, except you're getting it somewhat reversed, so I'd say this is most likely a "template gotcha syndrome"

Have a great week Josh!
josh wrote: Wed May 25, 2022 10:16 am What you experienced sounds pretty similar to what I described, except you're getting it somewhat reversed, so I'd say this is most likely a "template gotcha syndrome"

Have a great week Josh!
You two... You have no clue how much of a headache you just solved for me.... Thanks!

Edit:
We regularly get imported parts/assemblies from a different CAD program. So they are step files. We convert them to SW files & have to mate them, place them etc.
Feature recognition works wonders for us and greatly reduces the amount of redundant things we do but it has one flaw - it takes the origin from the part with it and sometimes the 'front view' is angled. There was no easy way to solve this problem but to re-draw everything manually. It was also a pain to move sketches all the time.
Rotating features was a huge pain too (dependencies from features).
Now we can first place the imported geometry and THEN do the import. This is SO GOOD! >< oa =) tu UU

I wish I could give you a special like @josh !

Re: Move/Copy Body oddity

Posted: Tue May 31, 2022 10:28 am
by Tom G
This reminds me of a minor hiccup in my own imports and move body reorientation process (2018 SP5).

I import a new ball valve from STEP file (for example). It has a straight through axis (some cylindrical faces), and a vertical stem axis (cylindrical stem face). I place these concentric on the X and Y axes, respectively. It sounds simple. When I assign the second constraint, the vertical, it orients in the undesired direction. I flip its alignment, and it shows how I want it to look. I confirm and accept the move, and it then reverses the vertical. I edit the constraint, flip it again to show in preview the wrong direction, and accept. Now it stays in the correct direction.

I've gotten used to it, and expect to reevaluate the 2nd constraint regularly.

Re: Move/Copy Body oddity

Posted: Tue May 31, 2022 10:46 am
by AlexLachance
Tom G wrote: Tue May 31, 2022 10:28 am This reminds me of a minor hiccup in my own imports and move body reorientation process (2018 SP5).

I import a new ball valve from STEP file (for example). It has a straight through axis (some cylindrical faces), and a vertical stem axis (cylindrical stem face). I place these concentric on the X and Y axes, respectively. It sounds simple. When I assign the second constraint, the vertical, it orients in the undesired direction. I flip its alignment, and it shows how I want it to look. I confirm and accept the move, and it then reverses the vertical. I edit the constraint, flip it again to show in preview the wrong direction, and accept. Now it stays in the correct direction.

I've gotten used to it, and expect to reevaluate the 2nd constraint regularly.
Just gotta love these little oddities of SolidWorks :lol:

Re: Move/Copy Body oddity

Posted: Tue May 31, 2022 1:30 pm
by zxys001
This behavior really burnt me years ago and I know it has improved. But, what I've done to calm the burn is, select the moved part at it's final position and export as a parasolid, and reimport.

Re: Move/Copy Body oddity

Posted: Tue May 31, 2022 1:35 pm
by mike miller
If SWX is this bad at simply repositioning imported geometry, how in the world can it reliably modify it?

Re: Move/Copy Body oddity

Posted: Tue May 31, 2022 2:40 pm
by AlexLachance
mike miller wrote: Tue May 31, 2022 1:35 pm If SWX is this bad at simply repositioning imported geometry, how in the world can it reliably modify it?
I can't really explain it, but I believe that's how mesh data works, and I'm not even sure I got the right term there.

Think of mesh data like a 2"x2" square in a sketch, the sketch being the model environment. If the square isn't coincident to it's origin, then it's not fully constrained even though it is fully dimensioned. So, if you move it with a dimension, by say 2 inches, and delete the dimension, the square will remain there.

Same thing happens with a body in your model environment.

Re: Move/Copy Body oddity

Posted: Wed Jun 01, 2022 1:42 pm
by berg_lauritz
I tried this on 20 parts not & I can not on a regular basis reproduce this. It seems to work many times - but then it does not work anymore. Any ideas?

Re: Move/Copy Body oddity

Posted: Wed Jun 01, 2022 1:58 pm
by AlexLachance
berg_lauritz wrote: Wed Jun 01, 2022 1:42 pm I tried this on 20 parts not & I can not on a regular basis reproduce this. It seems to work many times - but then it does not work anymore. Any ideas?
Hrm, not really. It seems pretty consistent on our end on 2019 SP5.

Re: Move/Copy Body oddity

Posted: Fri Jun 03, 2022 2:24 pm
by berg_lauritz
This macro makes a proper workflow possible for us.
But it will loose all references to the faces!

Re: Move/Copy Body oddity

Posted: Wed Sep 14, 2022 10:53 pm
by ryan-feeley
Just had this "feature" of move/copy body bite me today with SWX2020, so I thought I'd keep this thread alive.

It appears that the constraints solver of move/copy body is just sort of weak, and if it fails to find a solution, it will just leave the body in the as-imported position.

In my case, I had a weirdly shaped part that I was locating using constraints between vertices and 3 sketch points that I'd created in-context in an assembly that also used the inserted part. While three non-colinear points does lock down all 6 degrees-of-freedom, you can imagine that if the insert->part solver works sort of sequentially and first applies two of the point-to-vertex constraints which puts the imported body in a position where it must do some wild rotation to satisfy the 3rd constraint, the solver search could fail to find the solution.

This idea from zxys001 seems like the right approach. Even if you have some live parametrics that are updating the position of the inserted part, if it loads as close to the final position as possible, I expect you'll have a better time with this feature.
zxys001 wrote: Tue May 31, 2022 1:30 pm This behavior really burnt me years ago and I know it has improved. But, what I've done to calm the burn is, select the moved part at it's final position and export as a parasolid, and reimport.

Re: Move/Copy Body oddity

Posted: Thu Sep 15, 2022 8:03 am
by mattpeneguy
ryan-feeley wrote: Wed Sep 14, 2022 10:53 pm Just had this "feature" of move/copy body bite me today with SWX2020, so I thought I'd keep this thread alive.

It appears that the constraints solver of move/copy body is just sort of weak, and if it fails to find a solution, it will just leave the body in the as-imported position.

In my case, I had a weirdly shaped part that I was locating using constraints between vertices and 3 sketch points that I'd created in-context in an assembly that also used the inserted part. While three non-colinear points does lock down all 6 degrees-of-freedom, you can imagine that if the insert->part solver works sort of sequentially and first applies two of the point-to-vertex constraints which puts the imported body in a position where it must do some wild rotation to satisfy the 3rd constraint, the solver search could fail to find the solution.

This idea from zxys001 seems like the right approach. Even if you have some live parametrics that are updating the position of the inserted part, if it loads as close to the final position as possible, I expect you'll have a better time with this feature.
Linking external references to sketch entities has burnt me before. In general I avoid them. I have converted to using planes, which seem more stable. I'm not sure about vertices.

Re: Move/Copy Body oddity

Posted: Thu Sep 15, 2022 8:26 am
by mp3-250
We banned move/copy body except for copy in place (without translations or rotations) used for boolean operations.
The rest is unreliable. I must underline it is not a problem with the parasolid engine (I worked most of my careen with nx that uses a lot of parametric/unparametric associative/unassociative commands) and ever had the strange problems I see with SW.

Re: Move/Copy Body oddity

Posted: Thu Sep 15, 2022 8:32 am
by SPerman
I don't understand why the constraint menu for move/copy body isn't the same as the one used in assemblies.

Re: Move/Copy Body oddity

Posted: Thu Sep 15, 2022 8:32 am
by mp3-250
To repotition imported geometry, we made mandatory:
1. make a CSYS with the correct orientation and origin on the part
2. export in parasolid according with the new CSYS
3. Re import the parasolid

It depends on the part/industry, but for plastic parts my advice is to import the data, fix all the errors, use some direct modelling feature (every time you use those commands they make an hidden copy of the whole model) and periodically export and re import the parasolid to prevent the file size from ballooning.

Otherwise save some money, buy NX and enjoy your job a bit more.

Re: Move/Copy Body oddity

Posted: Thu Sep 15, 2022 12:42 pm
by Arthur NY
mp3-250 wrote: Thu Sep 15, 2022 8:26 am We banned move/copy body except for copy in place (without translations or rotations) used for boolean operations.
The rest is unreliable. I must underline it is not a problem with the parasolid engine (I worked most of my careen with nx that uses a lot of parametric/unparametric associative/unassociative commands) and ever had the strange problems I see with SW.
Actually there are some difference in the version of the kernel that Siemens has when it is licensing it out to other vendors. It's not a direct 1:1 in other words. While it can be it means that the vendor has to pay $$$ for the other versions.

Think of it as like having Solidworks 2015 vs 2022, yes they're both Solidworks but there's functionality that is in the 2022 version that isn't in the 2015 version and if your company doesn't want to pay the $$ to upgrade then you won't get that functionality. Plus I'm sure Siemens isn't trying to give away all of the goodies that is in NX and Solidedge.

This is also another reason why DDS is trying to ram 3DXP down everyone's throat!!! So that they can eventually stop paying Siemens for every seat of Solidworks that is sold. At least that is what it feels like.....

Re: Move/Copy Body oddity

Posted: Thu Sep 15, 2022 1:57 pm
by len_1962
mp3-250 wrote: Thu Sep 15, 2022 8:32 am To repotition imported geometry, we made mandatory:
1. make a CSYS with the correct orientation and origin on the part
2. export in parasolid according with the new CSYS
3. Re import the parasolid

It depends on the part/industry, but for plastic parts my advice is to import the data, fix all the errors, use some direct modelling feature (every time you use those commands they make an hidden copy of the whole model) and periodically export and re import the parasolid to prevent the file size from ballooning.

Otherwise save some money, buy NX and enjoy your job a bit more.
I was going to say the same thing but you beat me to the punchline 8-)

Re: Move/Copy Body oddity

Posted: Thu Sep 15, 2022 2:10 pm
by SPerman
I really wish I could justify the expense of NX.

Re: Move/Copy Body oddity

Posted: Thu Sep 15, 2022 2:44 pm
by RichGergely
I deal with loads of import files and just avoid where possible using constraints and instead use defined sketches/points/planes/rotations to move the part to new orientation/positions.

Re: Move/Copy Body oddity

Posted: Thu Sep 15, 2022 3:14 pm
by berg_lauritz
len_1962 wrote: Thu Sep 15, 2022 1:57 pm I was going to say the same thing but you beat me to the punchline 8-)
Please, try out the link to the macro I posted above!

It's not perfect (sometimes duplicates bodies after you used the combine feature which you then can delete) but it does the same thing for you without having to save & reimport everything.

Re: Move/Copy Body oddity

Posted: Thu Sep 15, 2022 3:47 pm
by RichGergely
mp3-250 wrote: Thu Sep 15, 2022 8:32 am To repotition imported geometry, we made mandatory:
1. make a CSYS with the correct orientation and origin on the part
2. export in parasolid according with the new CSYS
3. Re import the parasolid

It depends on the part/industry, but for plastic parts my advice is to import the data, fix all the errors, use some direct modelling feature (every time you use those commands they make an hidden copy of the whole model) and periodically export and re import the parasolid to prevent the file size from ballooning.

Otherwise save some money, buy NX and enjoy your job a bit more.
That would be fine if the plastic part you were using 'just' needs repairing.

Unfortunately 9 times out of 10 I end up doing modifications to the part design and sometimes massive amounts. It needs fully traceability of what was done and possibly changed again after client approval.

You know all that resurfacing you did, we like it but need a few modifications.
Oh what a shame the history is gone. What would have took 15 mins is now going to take me a day.

Re: Move/Copy Body oddity

Posted: Mon Sep 19, 2022 9:31 am
by len_1962
RichGergely wrote: Thu Sep 15, 2022 3:47 pm That would be fine if the plastic part you were using 'just' needs repairing.

Unfortunately 9 times out of 10 I end up doing modifications to the part design and sometimes massive amounts. It needs fully traceability of what was done and possibly changed again after client approval.

You know all that resurfacing you did, we like it but need a few modifications.
Oh what a shame the history is gone. What would have took 15 mins is now going to take me a day.
You still have the original with the history so you modify that, yes you'll have to go about all the other saves again but you can get there, not a days worth, unless the mods are massive.

Re: Move/Copy Body oddity

Posted: Sun Sep 25, 2022 5:38 am
by mp3-250
len_1962 wrote: Mon Sep 19, 2022 9:31 am You still have the original with the history so you modify that, yes you'll have to go about all the other saves again but you can get there, not a days worth, unless the mods are massive.
I can relate very well with your remark (I designed injection molds with NX in the past, lot of plastic parts with hundreds of direct modelling features to fix them), and I understand that it is not always possible the approach I suggested, but SOLIDWORKS sometimes decides to "implode" and the only way I found to save the day was export to Parasolid and re-import with a blank history.
SOLIDWORKS has a lot of problems and I think is not worth the saved money in palce of an higher level CAD for those kind of jobs. The level of workaround and instability I saw in SW is unthinkable in NX, which costs three times SW but it is worth way more than that in terms of saved time, headaches etc IMHO.