12 Replies Latest reply on Aug 27, 2015 7:24 AM by J. Mather

    Clarifications about constraints please

    Peter Cohen

      Hello, my main assembly is getting complex. I am a bit confused about constraints of a sub-assembly by itself and what happens after it is integrated into another assembly. I seem to get inconsistent results and got things messed up.

       

      Let's consider the following:

       

      Assembly1 (A1) has three components a, b, c

      Assembly2 (A2) has five components d, e, f, g, h

       

       

      In A1, a is connected to b and b is connected to c. a is not connected directly to c.

       

      If I import Assembly1 as sub-assembly to the more complex Assembly2.

          

      1) What happens if I delete the connection between a and b inside Assembly2 and save? Is the connection between a and b supposed to be broken automatically in file Assembly1?

           

      2) What happens if I add a direct connection between a and c inside Assembly2? Will a connection between the two be added automatically in file Assembly1?

           

      3) What happens if inside Assembly2 I highlight Assembly1 and open it. Then, add/delete connections and save. Are these added/deleted connections supposed to be updated automatically in Assembly2?

       

      Thank you.

        • Re: Clarifications about constraints please
          Angela Crawford

          1) Yes, because the mate is in A1, not in A2, so it will remove it from A1 when you delete it.

          2) No.  And you can't add a mate between a and c inside Assembly2 unless Assembly1 is flexible (as opposed to rigid - set this in the component properties window).

          3) Yes, but it the parts will not move around in Assembly2 unless you have Assembly1 as flexible.

            • Re: Clarifications about constraints please
              Peter Cohen

              Thanks. Do you mean if the entire Assemblyl1 is flexible in Assembly2 (done by clicking on the name of Assembly1 in Assembly2 and choose flexible), whatever I do to Assembly1 in Assembly2 will also be updated automatically in Assembly1 file?

               

              I recall a case that I closed a 3D modeled door in Assembly1 and saved. After I included it in Assembly2, opened the door and saved, the door in Assembly1 is still closed when I opened the Assembly1 file. How come?

              • Re: Clarifications about constraints please
                Jamil Snead

                Just to clarify answer 2, I don't think you could add a mate between a and c in Assembly2 even if Assembly1 is flexible, because you can't mate a subassembly to itself. You'd have to mate a ad c to something else in Assembly2.

                  • Re: Clarifications about constraints please
                    Angela Crawford

                    You are correct.  I thought it would allow it if it was flexible, but I just tested it and it will not allow it. 

                    • Re: Clarifications about constraints please
                      Peter Cohen

                      May I ask why I cannot mate sub-assembly to itself? I am not sure if we are talking about the same issue. Do you mean we cannot use mate to mate two components of a sub-assembly after it has been imported to another assembly?

                       

                      I have made a large assembly which consists of other sub-assemblies. Two main issues:

                       

                      1. In Assembly 1, I have a horizontal slider. For simplicity, just consider two vertical blocks (left and right). I imported this assembly to the larger Assembly 2. In Assembly2, I have another vertical block (C). I mated the right vertical block in Assembly 1 to bock C in Assembly2. So, the left vertical block can slide in one dimension (either closer or farer away from block C).  No problem. However, during the test phase, I want to see how various components of the system works by moving the slider left block. Since I want to test how the overall system moves at specific distances between the left and right vertical blocks, I clicked on the left and right vertical blocks and tried to use mate (distance) to set the specific distances. I keep getting an error saying something like relation of mate requires edge of two different assemblies. How can I solve this problem?

                       

                      2. Is it true that if I want to mate two components/parts, they have to be close to each other? If so, how close? I got errors like:

                       

                      - incorrect distance between the two flat surfaces. Real distance is 13.3 but you want 20mm.

                      - incorrect distance between the two flat surfaces. Real distance is 66mm but you want 100mm.

                        • Re: Clarifications about constraints please
                          Jamil Snead

                          1. I am not exactly sure why it won't let you mate 2 parts from the same assembly to each other when it is flexible. One workaround you could try is to create a new plane in the top assembly using the surface of the left block as reference. Then you should be able to create a distance mate between that plane and the right block.

                           

                          2. You shouldn't need the components to be close to each other initially when you create a mate, It should automatically move them into position once you create it. One thing you should just make sure of is that one or both of the parts are free to move in the appropriate direction so that the desired distance can be satisfied.

                    • Re: Clarifications about constraints please
                      Mark Kaiser

                      Try your situations out.  Learn by testing.