24 Replies Latest reply on Nov 22, 2017 11:35 AM by Rodney Martin

    Using base features as mates - how is this wrong?

    Rodney Martin

      Guys, I have to apologize in advance.  I am an unwilling SW user, after being conditioned by 20years with PTC.  I have intimate knoweledge of how Pro/E & Creo function.  It has been a very difficult transition for me.  I still call my learning SW as SW "Intox", not PTC "detox"!  Here is one reason why, and my question.

       

      It is very common method to assemble components together using base datum planes and csys.  It is a VERY stable way of making assemblies, because at that point, geometry is irrelevant and assemblies can never fall apart if you use those as references.  Well... at least in Creo. 

       

      My specific question:

       

      I have a NEW assembly.  I am trying to assemble another assembly into this one, as my first component.  I am trying to align the base csys in the assembly with a base csys in the main component of the other assembly (NOT the base csys of the other assembly... but one of the part's Csys).  So... why is solidworks buggering out and telling me that I cannot do it because there is some relationship issue between components in that other assembly???  Why should it care?

       

      Now for my basic concern...

       

      It is a fundamental belief of mine that you should be able to assemble components into assemblies ALL DAY, and no matter how I do it, how many times I do it, what references I use for assembly, and how many references I use for the assembly should have NO BEARING on the part or assembly of which I am assembling.  Why is solidworks concerned about the internal condition of these parts, and eventually ask me to save them, when my use of them in assemblies have absolutely no reason to change the parts themselves?

       

      I dont know if I explained that well, but I think you get the drift.  Basically. I should not have to revise/checkout/checkin/rerelease a part just for the fact that I used it somewhere in an assembly.  Am I missing something here?   It sure seems that is what it is having me to do. 

       

      Your help is greatly appreciated.

        • Re: Using base features as mates - how is this wrong?
          Alex Burnett

          I'll take a stab at this to see if I can explain why it doesn't always work to mate assemblies with the origin and 3 base planes. The issue is the human factor. I cannot control how someone else models their parts and as much as CAD standards help most areas, there is still room for the designer make artistic or personal choices that work for them.

           

          For example, I think it's nice to have the Front and Right planes as mid-planes within the part and the Top plane as the bottom face or base. Other users keep the front and right plane on the front-most and right-most faces. This causes issue with the assembly if you were to use the right plane or front plane to mate parts together. In many cases, using the base planes, the assembly creator would have to use a distance mate to put things together and make it look right. This causes issue if the parts that have been mated change in size. The assembly creator would have to go in and check clearances to modify the distance mate and make the parts fit as desired again.

           

          The beauty of using faces to mate to other faces of the part is that the assembly changes in real-time with changes that are made to the part. Solidworks does look at the face and it uses the internal Face ID as reference for the mate. If the part file is changed enough, the face with the corresponding Face ID could be a completely different face on the part causing the final assembly to break.

           

          Now, the best method that I have found to work in the most robust way is to create planes/axes in the part file that you know will be used as mating planes. You can re-name the features in the file to make sense for how they will be used as well. This way, the assembly can mate mating planes to other mating planes or axes to other axes without worrying about Face IDs breaking. See the picture below for reference. You will have to get part designers on the same page when it comes to part design intent regarding how these will be mated together in an assembly.

           

          It does help to get everyone on the same page when it comes to managing large assemblies.

           

          I know it's frustrating to go from one software package to another. I really do feel for you because there is a lot of little things to re-learn that add up. This forum is a great resource for these questions so please continue asking questions.

          • Re: Using base features as mates - how is this wrong?
            Glenn Schroeder

            Rodney Martin wrote:

             

            Guys, I have to apologize in advance. I am an unwilling SW user, after being conditioned by 20years with PTC. I have intimate knoweledge of how Pro/E & Creo function. It has been a very difficult transition for me. I still call my learning SW as SW "Intox", not PTC "detox"! Here is one reason why, and my question.

             

            It is very common method to assemble components together using base datum planes and csys. It is a VERY stable way of making assemblies, because at that point, geometry is irrelevant and assemblies can never fall apart if you use those as references. Well... at least in Creo.

             

            My specific question:

             

            I have a NEW assembly. I am trying to assemble another assembly into this one, as my first component.   First, if you want an Assembly of components inside a larger Assembly, I'd suggest creating this smaller Assembly (which is commonly referred to as a sub-assembly, but the file types are the same) as a stand-alone Assembly.  When you get it like you want, save it, and insert it into the larger Assembly.  Maybe you weren't aware that you can insert an Assembly into another Assembly just like you can insert Parts?  I am trying to align the base csys in the assembly with a base csys in the main component of the other assembly (NOT the base csys of the other assembly... but one of the part's Csys).  I'm not familiar with the terminology there, but it sounds like you want the primary planes aligned.  You can insert a component (Part or Assembly) into an Assembly and have it fixed with it's three primary planes aligned with the main planes of the Assembly without the need for applying Mates.  See the second part of #10 at Frequently Asked Forum Questions.  So... why is solidworks buggering out and telling me that I cannot do it because there is some relationship issue between components in that other assembly??? If the above doesn't straighten this out, please post a screenshot of this error message.  Why should it care?

             

            Now for my basic concern...

             

            It is a fundamental belief of mine that you should be able to assemble components into assemblies ALL DAY, and no matter how I do it, how many times I do it, what references I use for assembly, and how many references I use for the assembly should have NO BEARING on the part or assembly of which I am assembling. Why is solidworks concerned about the internal condition of these parts, and eventually ask me to save them, when my use of them in assemblies have absolutely no reason to change the parts themselves?  Again, without a screenshot of the specific error message it's difficult to help.  It sounds like you might be getting a message asking if you want to save a Part even if you haven't made any changes to it.  If this is the case, my advice is to just click Yes and move on with your life.

             

            I dont know if I explained that well, but I think you get the drift. Basically. I should not have to revise/checkout/checkin/rerelease a part just for the fact that I used it somewhere in an assembly. Am I missing something here? It sure seems that is what it is having me to do.

             

            Your help is greatly appreciated.

             

            I hope this helps, and as you have more questions please don't hesitate to ask.  I was fortunate in that I didn't have any previous CAD experience before learning SW, so I didn't have any preconceived ideas about how things should work (not that I haven't developed some after).

            • Re: Using base features as mates - how is this wrong?
              Jim Steinmeyer

              Even though I often prefer to model as Alex does, and for the same reasons, I am going to have to say that your chosen method of using the datums and csys is going to be the method many of the power users here will point to as being the most robust. I am not sure why you are seeing issues with the assemblies not mating. I would suggest that you might want to search the forum for skeleton parts/models or top down modeling practices as it sounds very similar to what you are attempting with the exception that the mates would be made to a top level sketch or datums created in the top level assembly. I am making it a practice to mate more using the datums and have not been seeing the problems you are describing so it should be doable for you, there must be something in the methodology that is different  and causing the problem. If you could share an assembly model where you are having the problem we may be able to determine what is causing the issue. There are some excellent teachers and problem solvers here that should be able to spot the issue relatively quickly.

                    I understand your pain, I unfortunately  left the PTC world about a month after my employer installed Wildfire1 and have many fond memories of the software. The only issue I can remember is having to check in every time the datum planes switched front to back.The best advice I can give is to attempt to not compare how you used to do things with how SW does it because you will just keep fighting it and be frustrated. Hang in there and bring your questions here as there are many people willing to help.

               

              And I see one of those great teachers I referenced has posted while I was typing this.

                • Re: Using base features as mates - how is this wrong?
                  Rodney Martin

                  Yes, I am very familiar with TDM.  I even wrote some of the corporate procedures for my previous company, but with Creo.  However, this is simply how I always assembly my first component.  Whether it is an assembly or part... it makes no difference.  I always favor using the coordinate system.  Well, at least in Creo.  Its the sure-fire way to lock down all dimensions with a single constraint.  However, in this instance...  I'm using a csys inside one of the parts inside the assembly I'm trying to assemble.  This is giving some grief.  The only way I can think that its giving grief is that its doing more than just referencing that coordinate system inside that part. 

                   

                  Using Origin of the new assembly, and origin inside the round flange part.  Trying to set them "coincident"

                  csys1.png

                   

                  Yeilds the following:

                   

                  csys2.png

                   

                  So, this is the first component in the assembly, and the first constraint.  My Creo brain is telling me this is impossible, unless there is something happening inside these components to arrive at this message.  How can I have a conflict, if this is my ONLY constraint at this level??  So, this makes me believe there is a different in fundamentals of assembly constraints that SW is pushing mate information INTO these parts, and these constraints do not just live at the level of the assembly being created (as it is in Creo).  I find it completely unacceptable if I have to checkout sub-components just because I need to put them in another assembly.  Doesnt seem right.  So, I'm looking for two things... How the heck am I supposed to assemble this part into my empty assembly, and I need some consoling on why it should be to my benefit to have to checkout every part if all I am trying to do is use them in an assembly. 

                   

                  Thanks again.

                   

                  Rod

                    • Re: Using base features as mates - how is this wrong?
                      Rodney Martin

                      Here is a better screenshot.  This is the ONLY contraint.  Its not overconstrained.  csys3.png

                      • Re: Using base features as mates - how is this wrong?
                        Alex Burnett

                        Rodney Martin wrote:

                         

                        Using Origin of the new assembly, and origin inside the round flange part. Trying to set them "coincident"

                        If you right click the part in the feature tree with the (f) to the left of the name, select Float. Now you can place this where you would like.

                         

                        Solidworks typically fixes the first component of an assembly in place for whatever reason. I hadn't realized this is what you meant with your initial question. Hope this helps

                        • Re: Using base features as mates - how is this wrong?
                          Paul Risley

                          csys1.png

                          Your assembly is fixed, hence the "f" in front of it. Choose your assembly in the tree and RMB choose to float it and the mate will resolve. Screenshots help find these little things that most people overlook. The first part in any assembly whether it is a part or an assembly will fix to a point. (f) fixed ( - ) is under defined.

                          • Re: Using base features as mates - how is this wrong?
                            Wayman John

                            Rod,

                            As another former Pro/E/Creo user, I can sympathise.

                            I think you are falling foul of the same thing I did when I first made the transition to the dark side Solidworks: The way to 'Default' something into an assembly, like we used to in Pro/E is to click 'Insert Comonent, Select the part you want and Green Tick. Nothing else. Don't stray over to the graphics area and drop it, or you will get that helpful 'f' which is something called a Fix Mate (I think), but doesn't show up in the mates folder.

                            The other thing that will trip you up is that it doesn't matter what you mate to what, or in what order, until, suddenly, it does matter, and your model tree turns into a raging inferno of red and yellow. When that happens, press undo lots of times and hope it fixes it, or else start suppressing Mates until it goes black.

                            In Pro/E, because the order of mates and the sequence of inserting parts was important, I could systematically fault-find a failed assembly and repair it pretty quickly. In Solidworks, it is not so disciplined, so the fault-finding process is not so easy. I was told early on, by a seasoned Solidworks user: 'I just delete the mates and start again when that happens.' The reality is not that bad, but you will have to learn its little ways, and believe me, that will take a while...

                             

                            Cheers,

                             

                             

                            John

                              • Re: Using base features as mates - how is this wrong?
                                Rodney Martin

                                Yes, John.  So true.  I do not like anything "automatic" that does not tell me what it did.  Finding no mates to describe the default origin to origin is not acceptable to me.  I want to see what it is doing.  I have been bitten more than once by SW automatics that did not "automatic" properly to my expectation.

                                 

                                In this case, I did not want the default either.  I wanted to align the base csys of the new assembly with a sub-component csys from the imported assembly.  Thats where it all went awry.

                                 

                                Yes, I learned early on that deleting all mates, and suppressing the subsequent components in a SW assembly is the only way to have any rational debug.  Otherwise... just blastem all!

                                 

                                Thanks sir! (btw, i sooo appreciate the strike-out)

                                • Re: Using base features as mates - how is this wrong?
                                  Dan Pihlaja

                                  The order of mates does matter.   And when Solidworks rebuilds the tree, then it works itself down the tree from the top to the bottom.  This is why you can re-arrange mates in the mates folder by dragging and dropping them.

                                   

                                  Yes, I agree, when the assembly is large, things sometimes happen.  But then, I have seen that in other CAD programs as well.

                                   

                                  And you can "un-fix" the first component by RMB on it and selecting "Float".

                                  Then, (if you want) you can coincident mate the origins together and then 1 axis (or plane).   Or just coincident mate the 3 planes together (part to main assembly).  OR you could do something weird and actually use the functionality built into the software and fix the first component in place.

                                   

                                  You can create reference planes and reference axes and reference points inside each of your parts (that are controlled from the origin of the part) and then use those to actually model the part (that way the planes and axes and points control the geometry of the part), then use those same planes and axes and points to mate to in the assembly tree.

                                  Edit: ( a lot of people actually do this....me included...)

                                   

                                  Stop trying to put a round peg in a square hole and thinking that you can do things exactly the same way you can in other CAD packages.

                                   

                                  Things that aren't the same......are different.   Different algorithms, different starting points, etc....

                            • Re: Using base features as mates - how is this wrong?
                              Josh Brady

                              I don't see any reason why you would be having the difficulty you mention.  Conceptually, what you're trying to do makes sense and should be fine.  I imagine that the issue lies within differences in the user interface and implementation of said concept within the different software.  Is it possible for you to make a brief screen capture video of what you're trying to do so we can help? CamStudio is a free screen recording app.

                              • Re: Using base features as mates - how is this wrong?
                                David Nelson

                                It would be good if you would do a simple model to show what is going on.  Have to as are you trying to do more than 3 mates per Item.

                                • Re: Using base features as mates - how is this wrong?
                                  Chris Saller

                                  Rod,

                                  Have you had any SW training?

                                  • Re: Using base features as mates - how is this wrong?
                                    Paul Risley

                                    To expand on my response to your screenshots, assemblies in Solidworks will always take the first imported part or assembly and "mate" it. Usually origin to origin, but not always. This is covered in most basic assembly training, not knocking you on this just pointing out that there are some things that more experienced people take for granted and overlook.

                                     

                                    What you are trying to achieve is in essence what Solidworks is trying to inherently do on the first part brought into the assembly. I utilize the 3 main planes in assemblies and parts as much as possible for constraining my assemblies as plane to plane mates are more robust and create stronger models.(Less rebuild).

                                     

                                    Once you get past this the approach you are taking should work just fine good luck.

                                      • Re: Using base features as mates - how is this wrong?
                                        Rodney Martin

                                        Yep.  I needed the lower level csys... not the default in this case.  Yes, its a day one basic class issue.  But, most of my questions have been far from day one.

                                         

                                        I will further say that SW prides itself on being "easy".  Perhaps its my preconceived notions with 20 years of PTC experience that makes it harder for me.  However, when it asks for me to break the other mates (per my screenshot above).... it would be my expectation that it would do the "Float" for me.  But, it does not.

                                         

                                        Thanks again.

                                        • Re: Using base features as mates - how is this wrong?
                                          Jim Steinmeyer

                                          To follow what Paul was saying, if you select the first part in the insert window and simply select the green check mark "I think" it will automatically fix that part to the origins. I usually don't put my first part there so I don't remember if that is how to get it to automatically do what you want.

                                        • Re: Using base features as mates - how is this wrong?
                                          M. B.

                                          Why is solidworks concerned about the internal condition of these parts, and eventually ask me to save them, when my use of them in assemblies have absolutely no reason to change the parts themselves?

                                          I asked the same question but never found a solution to stop it. Why does Solidworks force me to Save All?

                                           

                                          Years ago you could work all day in an assembly or drawing, save dozens of times, and never be prompted or forced to Save All - it only saved the file you are working in.  Now, it wants to Save All no matter what. Checkmarks are shown but you can't uncheck them.

                                           

                                          This really screws up my backups.  If I save my assembly or drawing 10 times during the day, some parts get saved 10X also.  This means that SW backups change 10 times and I end up with 10 backup files that are identical.  Then, my cloud backup does the same thing.  More than once SW has allowed corrupt files to be saved 10 times.  So now all 10 SW backup part files can be corrupt along with my cloud backup.

                                           

                                          I would really like to find a setting somewhere that fixes this back to the way it used to be.