Help Understanding Components and Dependencies

Help Understanding Components and Dependencies

ben.ruppel
Contributor Contributor
3,234 Views
12 Replies
Message 1 of 13

Help Understanding Components and Dependencies

ben.ruppel
Contributor
Contributor

I went into my first Fusion project without understanding components.  I have experience with other software and I looked up "Fusion 360 assemblies" but came away with the wrong understanding.  I simply planned to create a set of files that derived from other files.

 

I created three files for an electronics box:

1) model of a pcb

2) 1st half of box base

3) 2nd half of box base

Then I went to create a 4) lid and but learned about components.

Item 2) has 1) as a derived body.

Item 3) has 1) and 2) as derived bodies.

 

At the end of the day I'll want 4) to reference 1) 2) and 3).

 

2) references 1), and 3) references 1) and 2). 

I would like to maintain the links but I would also like to switch to components for the learning experience. 

 

I have gone into 1) 2) and 3), right-clicked on my constructed bodies, and selected "create components from bodies".

 

I have created a new master file and tried to insert the other files (components hopefully) using "insert > insert derive"

 

Unfortunately I am getting an error since 3) has a link to 2).

 

I appreciate any advice on how to move forward while maintaining my dependencies (so if I change my 1) the other parts will update).  This might seem like an unnecessary challenge that I can work around, but I think that it would be educational to try to do this.  

 

Thank you!

 

0 Likes
3,235 Views
12 Replies
Replies (12)
Message 2 of 13

g-andresen
Consultant
Consultant

Hi,

If you share your design or a corresponding derived example, one could go into this in more detail.
So please share the Design.

günther

0 Likes
Message 3 of 13

ben.ruppel
Contributor
Contributor

Hello, I appreciate you working with me.

 

Learning how to copy and share my data has opened a huge can of worms.  I can't seem to copy my files to another project or folder without losing the file history.  The problem is gone when the file history is erased, so I can't use it to demo my problem!

 

Ugh, give me a few and I'll create a new project with example files. 

 

I wish words could be enough.  

0 Likes
Message 4 of 13

g-andresen
Consultant
Consultant

Hi,

try this:

sharing data.png

günther

0 Likes
Message 5 of 13

ben.ruppel
Contributor
Contributor

Phew, ok that has been an exercise.  I started a simple project from scratch and I can not reproduce the behavior I was wondering about. 

I noticed several variables, such as, when I derive from a file, which part of the tree in the browser have I selected?

 

I also found from research that right-clicking on a design from the project resource browser (the big left side pane), and clicking on "insert into current design" might be the best way to combine component files anyway.

 

I don't know if there is a real difference.  I'm still stuck on lots of other small issues.

 

Thank you for taking the time to hear me out.  I will try to share my files just for kicks, there should be a sticky somewhere about how to share for the forums but I can't find one.  I'm confounded.

0 Likes
Message 6 of 13

ben.ruppel
Contributor
Contributor

Hello, thanks I did not see your post before I composed my recent one.  

I was hoping I could share the entire folder, since my question has to do with dependencies.  Here are links to 4 files.  I can't reproduce the problem with my samples, so it's all an exercise 😕

 

https://a360.co/2UWUkJw

https://a360.co/2Juieaf

https://a360.co/2w1gu4W

https://a360.co/3bD4Vju

 

0 Likes
Message 7 of 13

davebYYPCU
Consultant
Consultant

Have you heard of Rule No. 1?

your original idea can work in Fusion, if you have a good grounding in Fusion to make it work, 

certainly harder than it has to be.

 

Your statement of Make components from bodies, is the red flag, that you may not have Rule No. 1 down pat yet.

Having viewed the 4 files in the A360 viewer, I have no idea of the design from them.

 

What about a new file, insert the PCB Component

Make 3 new empty components.

Model each of those three components, around the PCB, in the one file?

 

Might help.....

 

0 Likes
Message 8 of 13

ben.ruppel
Contributor
Contributor
Not helpful. No duh I’m new. No duh I hadn’t seen rule number 1. I said
as much in my post.

Guess I need a spanking from the help forum right?

How about: if rule 1 exists, make rule 1 happen by default? Make it
opt-out instead of opt in?

Then try being helpful and pay attention to the post.

I’ve gotta deal with the plague I don’t need to deal with you.
0 Likes
Message 9 of 13

ben.ruppel
Contributor
Contributor

Edit: Ok sorry, I read you response on a mobile device and it was hard to put together the bigger picture of the nature of your response.  Lots of frustrations are piling up; it took a lot of energy to make that example only to find out it isn't helpful.  Then I ran into "joints" behavior and I'm fuming about fusion at the moment.

 

I apologize for my response.

Message 10 of 13

jeff_strater
Community Manager
Community Manager

This will be insufficient, but hopefully will spawn some more questions that we call can answer and help you to learn more about Fusion modeling techniques.

 

If I understand your underlying questions, they all involve these topics:

  • bodies vs components - when to use each concept, what the differences are, etc
  • maintaining relationships from one component to another
  • internal vs external components
  • Derived Component
  • Edit in Place (you did not ask about this, but it is new, and powerful)
  • etc...

The first thing to understand is the difference between bodies and components.  This is admittedly not simple for someone new to CAD.  It's a bit of an arbitrary and strange concept if you have never dealt with CAD before.  Here is a help topic on the subject:  Bodies and Components   But, here is an "executive summary":

  • both Bodies and Components are containers.  They contain different stuff, and have different properties/operations
  • a Body contains only geometry.  There are different kinds of bodies (Solid, Surface, Mesh, T-Spline), but all share the same basic properties:  They just contain geometry.
  • a Component is also a container, but it contains a lot more stuff:
    • Bodies (geometry)
    • Sketches
    • Work Geometry
    • canvases
    • other components (this is important later)
    • probably a lot more stuff I am forgetting
  • One of the main attributes of a Component is:  It can be instanced.  Instancing is a strange concept at first.  An instance of a component makes that component appear more than once in your design (think of using the same bolt 10 times in a design).  The power of instancing is that all those things that a Component can own (Bodies, etc) are shared between all instances of that component.  If you take that bolt and put a hole in it, all instances of that bolt will have the same hole.  The only difference between one instance and another is its position in the design.  This is what lets you be able to move an instance around inside of a design and not affect the other instances.
  • You may have heard the terms "Part" and "Assembly" in other CAD tools.  These terms are more readily understandable to non CAD people - everyone knows what a part is and that an assembly is a collection of parts.  In other CAD tools, they make a hard distinction between a part and an assembly.  Fusion, however, has a much more flexible definition, which is why the term "Component" is used.  A Component can be a part, or an assembly, or both (this is weird, but has its uses), and can easily switch between states.  A component with just geometry is, really, a part.  A component with other components inside of it can be considered an assembly
  • Components are usually related to other components using a Joint.  A Joint is just that - a relationship between two components.  It determines both the relative position of the two components, and also, optionally, describes the motion of the components relative to each other.  A Revolute Joint describes a hinge-like motion, for instance.

R.U.L.E #1.  This is a concept developed by one of our Expert Elite customers @TrippyLighting .  It is meant to describe a good practice, especially for beginners, of making sure that a component is self-contained (it owns all the sketches, workplanes, and geometry that makes up the component).  It is described here: fusion-360-r-u-l-e-1-and-2 .  Definitely good practice to follow until you get good at this.

 

Internal Components vs External Components.  Another important concept.  A design can be entirely composed of components, all defined in the same file (we are not supposed to say "file" here, but everyone knows that at the end of the day, stuff is stored in files...).  This is a powerful concept, especially for creating relationships between components.  It is also quite convenient, since you do not have to create a separate design for each component, and deal with managing those designs in the data panel, etc.  Just use the New Component command to create a new, internal component, add a sketch, add some features, etc.  But the real convenience with internal components is:  You can easily just refer to geometry in other components.  For instance, if you are creating a box with a lid, you can create the box as a component, then create a new component for the lid, and sketch on the top face of that box, and immediately include geometry from that box to use to help you define the lid's geometry.  If the box changes size, the lid will automatically change size to go with it.

 

External components (which it sounds like you are using) are also available.   You can put each Component into a separate design (file), and combine them into another using the Insert Into Active Design command from the data panel (the data management panel on the left).  External components are good if you want to share working on your design with others (each can work on a separate component without stepping on toes).  The downside is that the box/lid associativity I described above is harder in external components (with a new way described below that will help a lot).  

 

Associativity in External Components.  Using External components, as I think you have discovered, is a pain if you need info from another component (think of designing the box lid without the box).  You have to do things like make sure that the dimensions are the same, remember to change them in both places, etc.  As I think you've also discovered, one tool that can help is Derive.  In the case of the box lid, you can Derive the box into the external box lid component, and use that geometry to create the lid.  This is messy, though, because the box will be in your design twice - once in the box component, and once in the lid component.  But, it can get you that associativity.

 

When to use Internal vs External components:  If you need to share the design work with others, External Component is the only way to do so without a lot of coordination and the risk of one person stomping on the others' changes.  Another reason is design size.  Internal components are great until your design gets too big.  Then the design timeline becomes unwieldy, and the model is slow to compute, slow to load/save, etc.  But, for smaller designs, like the one you are working on, if you are working by yourself, I would never create an External Component.

 

Edit in Place.  OK, saved the best for last.  You know all the problems I described above with dependencies between External Components?  There is a very cool feature just released (described in the what's new?  for March) called Edit in Place.  Here is a forum thread devoted to this: EIP feedback .  Basically, it lets you edit an External Component in the context of a parent design.  You can reference other Components, etc.  The box lid workflow becomes much simpler.  This is still in preview state, and you can turn it on here if you want to experiment:

EIP preview option.png

 

Hope this has been somewhat helpful to your understanding.  Follow up questions are welcome.  There are lots of details not covered here...

 


Jeff Strater
Engineering Director
Message 11 of 13

TrippyLighting
Consultant
Consultant

Holy mackerel @jeff_strater Do you have Pulitzer Prize aspirations? I’ve saved this thread to my favorites for future reverence.


EESignature

Message 12 of 13

jeff_strater
Community Manager
Community Manager

never leaving the house is having an effect...


Jeff Strater
Engineering Director
Message 13 of 13

davebYYPCU
Consultant
Consultant

I realise I am too brief, at times.