12 Replies Latest reply on May 4, 2018 3:11 PM by Mike Thompson

    Preserving In-Place mates when creating a sub-assembly?

    Mike Thompson

      I am at the sixth month point in a conversion from Inventor in SW. I'm running 2018 in Windows 10.

       

      I frequently design by creating an envelope to represent my available space or general limitations. I'll start with a new assembly, then create a new part within to create the envelope. As my design progresses, I create new parts, typically placing the first sketch on a plane of the envelope and mating my sketch geometry to parts of the envelope, either with mates or dimensions or both. A lot of instances involve geometry converted from the envelope. I try to relate as much as possible to the envelope vs. part-to-part, so if my parameters change, I can simply modify my envelope and allow my parts to update. This was a common method for me in Inventor.

       

      Up to this point, I have no issues performing the design work in SW. Where I'm running into difficulties, however, is when my design winds down and I start to determine which parts need to be grouped into sub-assemblies. I have tried pre-selecting the parts desired and RMB to select create new sub-assy. I have also tried to insert a new sub-assy and then drag the desired components into it in the tree. I have probably tried a few other things that escape me right now, based on my level of frustration.

       

      It seems no matter how I tackle this portion, I'm get a list of errors and shattered assemblies or missing parts. I had one part today that warned me the geometry, which consisted of two lines that were converted from the envelope edges, was now invalid. It was the first sketch in the part and nothing would fix the lines, so the entire part was unrecoverable.

       

      The most basic errors I am seeing revolve around the In-Place mates that were generated as these parts were created, based on my envelope. I also tend to lose a lot of mates in the sketches, i.e. my coincident points, collinear lines, dimensions to an edge on the envelope, etc.

       

      Also, if I try to bring in a second copy of one of these parts or assemblies and mate it into position I'm having difficulties. If you have ASSY<1> and you bring in ASSY<2> and try to mate it to the first instance, it ALWAYS moves the first instance off of the envelope to align to the newly placed instance. Both parts then break and often disappear.

       

      I swear I have to missing something simple. Any advice would be greatly appreciated!

       

      Attachments: Capture 1 shows a new sub-assy I created, comprised of two instances of Part 1. Notice the signs, indicating it is not fully defined/mated.

       

      Capture 2 shows the tree and what the part is.

       

      Capture 3 is the part/tree prior to creating the new sub-assy. Notice how everything is happy and no minus signs...

       

      Message was edited by: Mike Thompson Corrected a typo.

       

      Message was edited by: Mike Thompson Added file of my model.

        • Re: Preserving In-Place mates when creating a sub-assembly?
          Glenn Schroeder

          Mike Thompson wrote:

           

          Also, if I try to bring in a second copy of one of these parts or assemblies and mate it into position I'm having difficulties. If you have ASSY<1> and you bring in ASSY<2> and try to mate it to the first instance, it ALWAYS moves the first instance off of the envelope to align to the newly placed instance. Both parts then break and often disappear.

           

           

           

          I don't use the workflow you described, so I can't help with most of it, but I think I can with that part.  If you create a Part in the Assembly, and define it's dimensions and position by referencing another Part  (your envelope), I'm not surprised that you get errors when you try to insert another instance.  Unless I'm mistaken, both instances are trying to reference the envelope, which of course causes problems since they're in different positions in the Assembly.

           

          For these cases you might have better luck by inserting the subsequent instances with a Pattern or Mirror.

          • Re: Preserving In-Place mates when creating a sub-assembly?
            Rubén Rodolfo Balderrama

            Attach your files, maybe I will fix it for you...

            • Re: Preserving In-Place mates when creating a sub-assembly?
              Mike Thompson

              All,

               

              Here is an example. I'd like to create a sub-assembly of these parts shown. Some are internal parts, one is filed external. It doesn't seem to matter if I file the internal parts separately first, or which method I use to create the sub; I lose all of my original InPlace mates to my envelope and all of my relations to it every time. I know I have to be missing something simple, like a click-box or including the envelope in the subs, or something.

               

              Any help would be greatly appreciated. Please let me know if the model works okay.

               

              Thanks!

              • Re: Preserving In-Place mates when creating a sub-assembly?
                Mike Thompson

                Bump to top. Still no takers? Is what I'm trying to do that out of the norm?

                  • Re: Preserving In-Place mates when creating a sub-assembly?
                    Rob Edwards

                    Mike Thompson wrote:

                     

                    Bump to top. Still no takers? Is what I'm trying to do that out of the norm?

                    Hi Mike

                     

                    I've read your question a couple of times and have been interested in the replies.  I have basically had the same questions going round and round for a while now.

                     

                    I tried downloading your files but you are a future version    So I'll share the approach I've fallen into for comment.

                     

                    In this example of a Hinge Assembly, I have a mixture of standard parts and in context parts.

                     

                    The contexts are drawn from two other assemblies that themselves must contain the parts in the defining assembly.

                    ie the hinge goes on the door the pin goes in the frame but they must interact with each other.

                     

                    My Solution is to make the Hinge Defining Assembly an envelope itself.

                    These parts so created are then inserted and mated and mirrored where I need them.

                    Sounds like a disaster waiting to happen, but it seems to work.

                    I'm unsure how this helps with your workflow... If I create something very closely in an envelope I expect it has to stay there, so I just make it an envelope itself and leave it be.

                    I used 2 envelopes in this model

                      • Re: Preserving In-Place mates when creating a sub-assembly?
                        Mike Thompson

                        Thanks, Rob. Forgive me if I'm confused.

                         

                        Are you saying to generate my internal parts, save them externally, turn them into envelopes, then re-insert them, as required, place them into proper sub-assemblies, mate them, pattern them, etc?

                         

                        I feel like I'm missing something. Can my assembly contain one copy that is an envelope and others that are not? That seems like it would tear a hole in time and space.

                          • Re: Preserving In-Place mates when creating a sub-assembly?
                            Rob Edwards

                            Sorry Mike, my language lets me down when trying to explain it

                            So I dropped the assembly into treehouse

                            The hinge assembly is inserted and made virtual.

                            It is mated to model geometry and several incontext references are added (Planes).

                            The hinge assembly has virtual parts that align with the internal planes.

                            The hinge proper is mated inplace.  It is a joined part.

                             

                            This is then saved in an external file and used in my other assemblies.

                             

                            The doors works on a similar principle, but uses configurations.

                            So I can insert them and mate them how I want

                             

                            I like envelopes a lot, I don't know how I'd work without them

                      • Re: Preserving In-Place mates when creating a sub-assembly?
                        Paul Risley

                        One thing that could help you here is defining a part as your master instead of your assembly. There are lots of post on here about master parts. But the gist is this: your master part has all of the relative controls you are describing as your "envelope" in your assembly. How this works is you can take and make a copy of your master part in your top level assembly as many times as you need to to move into your sub assemblies. AS long as you are conscious about which master part is in which assembly it will help with your situation.

                         

                        The real problem you are running into is moving tree structure post design process.(In context design then re-defining assembly structure is a big no-no).

                         

                        With the master part being the definition of all critical geometry you simply put a copy of it into a new sub assembly, you will have to redefine any in context things to this in your new sub assembly but it would be a fairly straightforward recovery. John Stoltzfus is pretty much the go to guy around here for this kind of stuff, he has actually been kind enough to post a PDF of how his company processes their projects using the skeleton sketch/ master part method.

                          • Re: Preserving In-Place mates when creating a sub-assembly?
                            Mike Thompson

                            I think the main problem is a memory issue (not computer-related), due to not using this technique for close to a year in either software! This forum could use a face-palm emoji.

                             

                            Your response triggered my memory. The way I used to do this in Inventor was to make my envelope a stand-alone part. Each part I created from it was a derived part, based on the envelope. Once each part is done, you simply hide the envelope. You can then mate them all into an assembly with simple flush, flush, flush mates. At that point, if you want to move the structure around, SW shouldn't care or lose it's brains.

                             

                            I will confirm and close this when I get some time.

                             

                            Thanks!

                          • Re: Preserving In-Place mates when creating a sub-assembly?
                            Mike Thompson

                            This is corny, but I will answer correctly myself, based on the memory poke I got from Paul and hopefully may help someone else.

                             

                            My last post is correct. You save your envelope as a part. You start your next part and the first operation is to insert a Part, which will be your envelope.

                             

                            You would not want to select break link to original part! Leave "Solid Bodies" selected. Click the OK to place your Envelope at the origin!

                             

                            Base your geometry on the envelope via sketches and mates to create your new part. Turn off visibility on your envelope. Save your part.

                             

                            Start an assembly. As you create your new parts, insert them into your assembly. A simple flush, flush, flush mate for each will put it right where you want it. You can now create sub-assemblies and move the parts, add standard parts, create patterns, etc.

                             

                            Been too long since I did it in Inventor and my first SolidWorks gig did not afford me the opportunity to use this method so my mind was rusty!

                             

                            Thanks all, for your time and consideration; you all played a part in steering me back to reality!

                             

                            Example:

                             

                             

                            I have also attached the assembly to help anyone that wants to see how it works.