21 Replies Latest reply on Jan 2, 2017 8:54 PM by Dave Bear

    Can someone help me resolve this issue........

    Dave Bear

      Hi all,

      I was kindly given this link :-

      http://www.javelin-tech.com/blog/2015/10/animate-spring-motion-with-solidworks/#.WC8RDyRavXU

      by Kelvin Lamport, (Thanks Kelvin!), but I'm having a few issues achieving the desired outcome. For starters, in the video, the top cap gets raised and then the path line gets extended and made coincident with that cap. I am unable to do that due to the fact that my top cap (so to speak) has a central hole inline with where the path line would meet and therefore no relation can be made. The top of my spring needs to sit flat on the underside of the top face of the valve retainer. When I have tried ways around this, I have ended up with a broken spring which now leaves me with two solid bodies (see Jpeg image).

       

      I have attached the parts and assembly. Could people please have a play around and see if they can get this to work successfully for me or advise me on a work around.

       

      Kind regards,

       

      Dave.

        • Re: Can someone help me resolve this issue........
          Thomas Voetmann

          You have to make an external reference to the valve retainer in order to control the length of the vertical line in the spring. To avoid the hole in the spring just fully constrain the sketch (sketch3) used by Cut-Extrude1. Constrain the bottom horizontal line to the top of the vertical line.

          See attached.

            • Re: Can someone help me resolve this issue........
              Dave Bear

              Thank you very much Thomas,

              If you have the time, could you please expand a little more on making an external reference to the valve retainer please. I see that what you have done works, but I would like to understand it clearly.

               

              Regards, Dave

                • Re: Can someone help me resolve this issue........
                  Thomas Voetmann

                  First of all - this happens in the assembly file.

                  I locate the path sketch defining the length of the spring,

                  and select "Edit sketch". The feature tree within this part then becomes blue to indicate that I am in "Edit Component" mode, and the in the graphics area the sketch is editable.

                  Then I Ctrl.+select the top point of the line and the edge to which I want the spring to end and select Coincident. Just as I would if they were entities in the same part.

                  After exiting the sketch you will notice an arrow ( -> ) next to the sketch - and sweep feature. That means you have created an external reference. Shortly described as: Some geometry that relies on geometry in an other (external) file.

                  Exit "Edit Component" and you are done with the spring length issue. Now the endpoint of the path will follow the retainer wherever this might be. At least so when the assembly is updated.

                  To resolve the Cut issue I would open the part for clarification and fully define the sketch by making a midpoint relation between the lower horizontal line and the very point we defined previously, and dimension the rest to something random but large enough.

                   

                  Hope this clarifies things.

                    • Re: Can someone help me resolve this issue........
                      Dave Bear

                      Thanks Thomas for taking the time to set out and explain that so clearly. I have a far better understanding of what needed to be done now. I appreciate your efforts.

                       

                      Best regards,

                      Dave.

                      • Re: Can someone help me resolve this issue........
                        Dave Bear

                        Hi once again Thomas,

                        I was wondering if you may know the answer to the next part of my problem concerning this assembly?

                        I have mated 24 of these valve springs into one cylinder head (V12, twin valve).

                        Each spring assembly was mated to the cylinder head with only 2 mates, 1 coincident mate from the bottom face of the spring bottom shim to the cylinder head valve housing face and 1 concentric mate from the OD of the spring bottom shim to the valve house OD on the cylinder head. ALL of the respective valve spring assemblies we have created have been made 'flexible' in each of the properties boxes of the cylinder head assembly.

                        The problem is that the valve retainer of our spring assembly we've made moves but the springs won't follow after rebuild (In the Cylinder Head Assembly). If I check the assembly you helped me create on it's own however, it still works fine!

                        Could the spring assembly have lost a relation when inserted into another assembly? If you (or I) were to find a solution, could the same thing happen when the completed Cylinder Head Assembly is inserted into the final Engine Assembly?

                         

                        Any ideas?

                         

                        Regards Dave,

                          • Re: Can someone help me resolve this issue........
                            Thomas Voetmann

                            You have an ambitious project on your hands.

                             

                            Regarding the "forest" of springs. A part (the spring) can only have one geometry at one single time unless using configurations. This means that one and only one retainer controls the length of the spring and the other follows.

                            It is possible to control relations in configurations but it is cumbersome and sometimes not stable so I will not recommend it unless you absolutely need correct BOM.

                            I think I would make 24 separate spring parts and put them in 24 configurations of the valve spring assembly. Each constrained to the retainer. Then make sure each valve spring assembly in you Cylinder Head has a unique configuration. I am not sure this will work as I don't have time to test right now. If it doesn't work try to make separate valve spring assemblies with different spring parts for each valve.

                            Some might disagree but this is how I would go.

                             

                            It is very likely you will experience problems with your final Engine Assembly. Nested flexible subassemblies seldom works well. Sometimes they do, but mostly not. Expect to move all the valve spring assemblies to the top level to make the movement work. I know it screws up the logic in the assembly structure and the BOMs, but I don't think you can have both. Though logically it should be possible.

                             

                            EDIT: I tried anyway. I could not get configurations of the same spring to work - yet. And multiple spring parts only seems to work when I move the relation one assembly level up. See attached.

                              • Re: Can someone help me resolve this issue........
                                Dave Bear

                                Hello Thomas,

                                Thank you for looking at this problem and for taking the time to experiment with it.

                                I like what you did with your example!

                                With the realisation that my V12 engine obviously has two cylinder heads this gives me a total of 48 valve springs to contend with. I'm actually just wondering if I should forget the idea all together, or, just copy and save 48 of the same valve springs we've created and let them behave independently. What concerns me mostly now is the number of mates versus configurations if that makes sense?

                                 

                                Although it might sound naive to blow-out my parts list so much, do you foresee any problems in doing as you mentioned and copying 48 of the valve springs we know that work, saving them (individually numbered), and then using them 24 per cylinder head in that manner? This would avoid the need for any configurations and such yes?

                                 

                                Kindest regards,

                                Dave.

                                • Re: Can someone help me resolve this issue........
                                  Dave Bear

                                  Hello Thomas,

                                  So after creating 12 totally individual spring assemblies I found that they didn't refresh after rebuild either. I played around with them and no matter what I tried I couldn't get anything to work. So, after wasting all day Saturday on this I went back to basics and just took the initial spring we created and placed it into one of the cylinder heads by itself. I was surprised to find that even on it's own it doesn't react as it should after rebuild. The spring assembly itself (as a file) works fine, but when placed into another assembly (the cylinder head) it doesn't want to co-operate. I've attached the cylinder head with one lone spring in it if you have time to take a look. Perhaps I corrupted the Valve spring assembly somehow.................

                                   

                                  Best regards,

                                   

                                  Dave.

                                    • Re: Can someone help me resolve this issue........
                                      Thomas Voetmann

                                      Hello and happy new year Dave Bear

                                       

                                      Now I am back in business and can post in the forum.

                                      I tried to warn you about how flexible sub-assemblies might behave, and you are trapped in this.

                                       

                                      If you right click at the top-level assembly (in the feature tree) and select Show Update Holders you can see where and when external references are updated. And updates in flexible sub-assemblies are NOT updated though it is not shown anywhere. It kind of makes sense as a flexible sub-assembly can have different positions simultaneously, and its parts can not. This was not possible some 10 years ago but I don't remember how it was updated.

                                      Your solution might be to "move" the Update Holders to the top level assembly - or the highest rigid sub-assembly.

                                      You can do this by dissolving the flexible sub-assembly and recreate the sketch relation as for some reason it still seems to connect to the original sub-assembly. This operation will definitely mess up your BOM and your feature tree will be cluttered.

                                      Another approach is to make an intermediate help sketch in the assembly. The reason for this is exactly to move the Update Holders to the top level. It makes the logic less transparent and sometimes need two or more updates to work.

                                      Take a look and feel free to ask again.

                                      Hope I am not too late to help you.

                                  • Re: Can someone help me resolve this issue........
                                    Ryan McVay

                                    Dave Bear I'm not totally sure how you would go about this in SW but I can share how I'd do it in NX. Maybe what I outline might spur some ideas in the SW community. NX has the ability to have deformable parts in the assembly without the need to create the "shape" inside a configuration. The part file has a deformable "feature" and the assembly controls the deformation information (there is a decent YouTube video on this showing NX7.5). We also have the ability to create a measurement expression/variable in the assembly. You could go about this a couple different ways:

                                    1. Create and use the deformable part function (newer method)

                                    2. Create measurement features and use those to drive expressions down inside a part family table (old school)

                                    3. Actually create the spring body inside the assembly using the measurement to drive a helix curve. The spring components would be added without geometry so that your BOM is correct. (really old school)

                                      • Re: Can someone help me resolve this issue........
                                        Dave Bear

                                        Hi Ryan,

                                        Thanks for the input.

                                        I've heard of NX but never had any exposure to it and still getting my head around SW2016 to be honest.

                                        I'm really relying on the experts here at the moment to guide me down the right path. I've already tried a few different dynamic springs and such only to find that they either suck too many resources or simply don't work in conjuction with other aspects. It's just a matter now of getting the current spring assembly that Thomas has kindly helped me with to work as 48 independent units in the final build. But thank you.

                                         

                                        Dave.