"Save As STL" not working on duplicate Component.

"Save As STL" not working on duplicate Component.

RogerInHawaii
Collaborator Collaborator
1,722 Views
15 Replies
Message 1 of 16

"Save As STL" not working on duplicate Component.

RogerInHawaii
Collaborator
Collaborator

I've got a Component that constitutes 1/3rd of a section of my model.
Save As STL.jpg

I used the Circular Pattern operation to create an identical copy of the Component 120 degrees around the common axis.


Save As STL 1.jpg
In both the original and the duplicate all the sub-components and bodies are properly positioned.

Save As STL 2.jpg

When I use the "Save As STL" option on the original component it generates the Mesh properly.
Save As STL 3.jpg

But when I use "Save As STL" on the duplicate Component it messes up. All of the bolts and the vertical covers are misplaced by what seems to be an additional 120 degrees around the axis.

Save As STL 4.jpg

I also have an additional Copy of the original Component which I created using a Copy/PasteNEW operation and then made significant modifications to it.
Save As STL 5.jpg
When I go to do a "Save as STL" for that Copy/PastedNEW version is CORRECTLY generates the mesh without any weirdly positioned bolts and covers..

Save As STL 6.jpg
It seems that there's something wrong with copies made using the Circular Pattern tool, in that it goofs up when trying to create the STL mesh. I had also tried deleting that copy that was made by the Circular Pattern tool and simply did a Copy/Paste (not "NEW"). And that copy had the same mesh-making errors.

0 Likes
Accepted solutions (1)
1,723 Views
15 Replies
Replies (15)
Message 2 of 16

RogerInHawaii
Collaborator
Collaborator

I'm attaching a Fusion 360 file containing JUST the single component (1/3rd of the overall section of the model). Maybe someone else can replicate the problem by making a copy either via a Copy/Paste or a Circular Pattern operation, rotating it 120 degrees around the vertical axis, and then trying to do a Save As STL operation, and see if the mesh comes out bad like I've been experiencing.

0 Likes
Message 3 of 16

whittakerdw
Collaborator
Collaborator

I did a circular pattern as well and I didn't seem to have any issue. I have your file with the added circular pattern attached.

One-Third Section - Basic.PNG

0 Likes
Message 4 of 16

RogerInHawaii
Collaborator
Collaborator

Thank you for taking the time to look at the issue and attempting to replicate the problem.

You noted that when you did the Save As STL it did not exhibit the same problem that I had encountered. But take a close look at the image that you posted. While it meshed MOST of the One Third Section, it left out one of the sub-components from the mesh. So, different error but still a problem with not meshing properly.
Save As STL 7.jpg
I also downloaded the file you attached.  [ Thank you for sending it ]. In it, BOTH of the one-third sections are somehow combined into a single Component. It looks like what you did in doing the Circular Pattern was to select the "Body 2" and doing the Circular Pattern on that BODY.

Save As STL 9.jpg

In my case I had selected the overall Component and Circular Patterned on the entire Component, not simply the Body. But in your case, having duplicated the BODY, it might explain why in your mesh it left out some parts. You were only trying to mesh the Body20. 





0 Likes
Message 5 of 16

RogerInHawaii
Collaborator
Collaborator

I also just notice that, on the file you sent back to me, there's a bunch of extraneous misplaced components. Very strange. I looked at the original one-third component that I sent to you and those extraneous bits aren't on it, so it looks like it's a result of your having done the Circular Pattern on the Body instead of the whole component. This just keeps getting weirder.

Save As STL 10.jpg

0 Likes
Message 6 of 16

RogerInHawaii
Collaborator
Collaborator

MORE WEIRDNESS

I just tried STARTING with that attached file and went through the following procedure (so that I'd be assured of getting a Component within the project that I could then attempt to replicate:

1) Download the attached file: One-Third Section - Basic v1
2) In Fusion 360 create a new (empty) project.
3) Save the project, giving it some reasonable name, e.g. "Circular Pattern Problem Test".
4) INSERT the downloaded file "One-Third Section - Basic v1" into the new project.
5) Use the Circular Pattern tool to create a copy of the "One-Third Section - Basic v1"
     Select Pattern Type as Components.
     Select the ENTIRE "One-Third Section - Basic v1" component
     Select the axis.
     Select Type as Angle.
     Select Total Angle as 120 degrees
     Select Quantity as 2.
     OK

It creates a complete duplicate of the One-Third Section

RIGHT-Click on that duplicate and select "Save As STL".

And LO AND BEHOLD, it works just fine. ????

The ERROR that I had encountered, and initially reported, occurred when I have those components WITHIN my (very large) overall model. Separating that single One-Third component out as a totally separate project results in the Circular Pattern and Save As STL WORKING !!!

I am totally confused.

0 Likes
Message 7 of 16

laughingcreek
Mentor
Mentor

I agree this looks buggy.  I suspect part of the issue is the structure of your components, and the fact that the majority of your components aren't locked down with some type of joint.  (although honestly, it seems like it should export what you see on the screen regardless, which is why I think it's buggy)

 

I took your original attachment and added  rigid group to each of the 2 top level assemblies before doing the pattern.  This seems to make the stl export function as expected.  try it out and see if that is the case for you.

 

The other issue is that you have bodies and components residing at the same hierarchy level.  The has been some debate about this practice on this forum, but this is generally considered a bad practice.  Seen a couple of weird happenings that were hard to understand that resulted directly from this practice.  Don't know if that is also at play here.

 

0 Likes
Message 8 of 16

RogerInHawaii
Collaborator
Collaborator

Thank you for taking the time to look at this. I always appreciate the great help that's available on this forum.

Definitely my expectation is that when you select something to "Save As STL" the STL mesh should most definitely match the positions of everything that's selected. And really weird when it doesn't.

But, looking back at one  of the original pics I posted about this, you'll see that a lot of the bolts/washers of the original component are rotationally offset from that component when the Save As STL operation is performed.:

Save As STL 4.jpg

 

HOWEVER, I notice that the left-most bolt/washer in each of those offset semi-circles is missing from the semi-circle. It's actually back where it SHOULD be on the mesh. THOSE particular (left-most) bolt/washers actually have a RIGID JOINT with the main body of the model. The bolts/washers that get weirdly offset in the mesh are Circular-Patterned copies of their respective RIGID-JOINTed bolts/washers.

So, yeah, the Save As STL seems to be happy with objects that are RIGID JOINTed but NOT with objects that are Circular Patterned, even when the first one of the pattern is itself Rigid Joined. 

This sounds like it could use some more testing.

As for "bodies and components residing at the same hierarchy level" , how do you NOT have sub-components of a given component at the same level as that main component's Bodies? When I right-click on a component and then select to add a "New Component" that new Component gets placed at the very same level as the parent Component's Bodies object. How could you do otherwise?

0 Likes
Message 9 of 16

RogerInHawaii
Collaborator
Collaborator

I did some more testing.

I exported, from my overall project, the entire Antenna Canister, consisting of all three of the one-third sections. I then opened up that (just) Antenna Canister in Fusion. I did this to see if maybe the problem was that I was only seeing the errors when working on it within the context of the overall, entire, project.

I then selected the "One-Third Section - Basic:1" Component, which is the first of the three Components that I made. It correctly highlights, in blue, the entire component and all of its sub-components in their correct locations.

Save As STL TEST 1.jpg

 

I then chose to do a "Save As STL" of that.
Save As STL TEST 2.jpg

And the resultant MESH is exactly as I would expect it to be, with all the sub-components in their proper positions.

Save As STL TEST 3.jpg

I CANCELED out of the "Save As STL" and then selected the "One-Third Section - Basic:2" Component. This is the second Component that I had made, and importantly I had made it by doing a Circular Pattern of the original one, making just one extra copy of the first one, offset by 120 degrees.

Save As STL TEST 4.jpg

Again, the entire selected component and its sub-components get properly selected. shown in blue.

 

Save As STL TEST 5.jpg

I then selected to do a "Save As STL" of this secondary One-Third section. And the mesh shows what seems to be a missing part.

Save As STL TEST 6.jpg
But by rotating it around we see  that the "missing" component actually IS part of the mesh but it's displaced another 120 degrees around the axis.
Save As STL TEST 7.jpg


So, BOTTOM LINE. It seems that "Save As STL" does not assure that everything is positioned as it appears in the model.

It does appear that making sure that all sub-components are explicitly JOINT-ed to the main component is necessary. However, from other tests (see prior comments) it appears that it also sometimes fails on components that are duplicated via Circular Pattern, even when the source component for the pattern is itself RIGIDly JOINTed.

 

 

 

 

 

 

 

 

0 Likes
Message 10 of 16

RogerInHawaii
Collaborator
Collaborator

MORE TESTING.
SOME SUCCESS. BUT ....

SERIOUS ERROR with Save As STL


As suggested to me in this thread I applied some Rigid Joints on some of the sub-components, and it worked. It eliminated the spurious rotation of those sub-components. The sub-components that I Rigidly Jointed now no longer get rotated off of the parent component that I'm trying to Save As STL.

For the first test I did two Rigid Joints, one between the main Body and the Parachute Cable Cover, and the other between the main Body and the Parachute Cable Connector. I did those joints on the original one-third section. And when I went ahead to do the Save As STL on the DUPLICATED (via the Circular Pattern tool) one-third section, those two, now-rigidly connected parts, stayed exactly where they should be. There was no spurious rotations.

Save As STL - Copy.jpg

That left all of the bolts and washers, about fifty of them, still improperly totating. I thought, well, fortunately I had organized all those bolts and washers beneath a parent Component, so they're all sub-components. So I tried to do a Rigid Joint between the main Body and that (parent) Bolts and Washers component, figuring that if that parent component is Rigidly Jointed then all the sub-components will follow right along and NOT get spuriously rotated.

But NOPE. It didn't work. When I went to do the Save As STL on the duplicated one-third section all those bolts and washers STILL got rotated off of the main body.

It seems that I have to do a Rigid Joint, INDIVIDUALLY for EACH AND EVERY Bolt and Washer!!!!!

There's something like FIFTY of them on this section of my model. But overall, on the entire model, there are HUNDREDS of bolts/washers that are positioned using the Circular Pattern tool, each such pattern referencing an existing bolt/washer that IS Rigidly Jointed. But it apparently doesn't matter, as the Save As STL function appears to insist that each and every one of them ALSO be individually Rigidly Jointed.

So, there is a SERIOUS ERROR in how Fusion 360 handles the Save As STL function. 


0 Likes
Message 11 of 16

laughingcreek
Mentor
Mentor

So honestly, it's really hard to follow all the various things you've been trying.  So just to simplify things to a starting point for me, Does the file I posted in message 7 work as expect for you when exported as an STL?

0 Likes
Message 12 of 16

laughingcreek
Mentor
Mentor

@RogerInHawaii wrote:


...As for "bodies and components residing at the same hierarchy level" , how do you NOT have sub-components of a given component at the same level as that main component's Bodies? When I right-click on a component and then select to add a "New Component" that new Component gets placed at the very same level as the parent Component's Bodies object. How could you do otherwise?


I NEVER have a body and a component at the same level in the hierarchy.  There is some debate about if this is a good or bad practice, but I've seen it be the source of issues in to many models on this forum to think that it is a good idea.

 

Attached is an extremely oversimplified example of how I would organize an assembly.  Imagine the cylinders are bolts. 

 

Again, I'm not arguing that there isn't an issue with the way STL export is working.  but is seems like good modeling practices seems to avoid it this particular bug.

 

 

 

Message 13 of 16

RogerInHawaii
Collaborator
Collaborator
Accepted solution

Yes, doing a Rigid Group on that Component would indeed get around the problem with the Component that I was having trouble doing the Save As STL operation on.

The approach that I finally took was this: The Component that I was having trouble with was created by using the Circular Pattern operation, and it was that operation that was causing the weird results I was encountering when doing the Save As STL operation. I was NOT encountering the weird results on a different Component (based off of the same original component) but which I created using the Copy/Paste New operation. So I DELETED the one that was made via the Circular Pattern operation and instead created it with another Copy/Paste New operation. Just as with doing a Rigid Group, this change in how I created the second copy eliminates the weirdness with Save As STL.


So, yes, there are at least a couple of approaches that get around the problem.

But the core problem is not resolved by "getting around it". That is clearly an error in how Save As STL works. And it's not really a problem with failing to lock down all the Components, since a component made using Copy/PasteNEW works fine in the Save As STL even though not all components are locked down. Save As STL seems to be picking up the rotation value that was used to originally position the overall Component, back when the Circular Pattern operation was performed, and applying it AGAIN to each of the non-Jointed components before performing the meshing operation on them.

0 Likes
Message 14 of 16

RogerInHawaii
Collaborator
Collaborator

OK, I see what you mean by Components never being at the same level as a Body and how you accomplish it, basically by NOT having a Body  at the parent Component. The approach is not so much of "no components at the same level as a body" but rather of having no Body for the parent Component. Instead, you have a set of Components which together constitute the overall Component. Which also means that you don't really have a "base" component on which (within which, around which...) all of it's sub-components reside. So the parent component in the hierarchy isn't really a parent "component" but rather simply an organizational parent.

I've never (as far as I know) encountered problems with having a genuine parent Component (with its own Bodies) and I'm not familiar with the history of problems others have encountered. But the very fact that a parent Component can in fact have its own Body would seem that that type of hierarchy is assumed to be valid. It's the mental process I've used all along: You start with one Component (with its own body) and you add sub-components under it. The alternative approach seems just rather weird to me, and not how you actually build things.

0 Likes
Message 15 of 16

laughingcreek
Mentor
Mentor

It helps me to not think of it as a "parent component", but rather an "assembly."   As in separate stuff that has been assembled together.  "Assembly" is also what fusion calls it.  The icon even changes. 

 

Fusion does let let put bodies and sketches in the top level of the hierarchy.  This can be pretty handy during the process of creating form.   But saying this infers that it is a valid workflow to have finished parts as bodies residing at the same level as components is dicey.  Fusion lets you do all sorts of stuff, in the name of being flexible, that will get you in trouble.

 

As far as the mental process of how you make things, I understand where you are coming from, even if I have a completely different view.  Many things are made in the way I describe.  A simple example would be a hammer.  It can be made with three components-the head, the handle, and the wedge.  Non of these things are a hammer by themselves.  Doesn't become a hammer till you "assemble" them all together.  Which would you consider to be the parent body that you add other components to?  why should the head be a sub-component to the handle, or vise versus?

0 Likes
Message 16 of 16

RogerInHawaii
Collaborator
Collaborator

Of course,  there are counter-examples. I might start with an existing Component that perfectly well stands on its own but later decide to add other components to it, so a (main) Component/SubComponent approach would make perfect sense.

Both views have perfectly valid uses and it's great that Fusion accommodates both of them.

But if it sometimes results in errors or other problems then maybe it's important to find out WHY it causes problems and correct them so that the problems don't arise, rather than taking the approach of "just avoid having Components at the same hierarchical level as Bodies".

Anyway, this has gotten way off topic from the original issue I encountered and posted about.

But I thank you for your suggestions and advice.

0 Likes