Showing results for 
Search instead for 
Did you mean: 
Showing results for 
Search instead for 
Did you mean: 

Creating Degrees of Freedom in Weighted Link


Creating Degrees of Freedom in Weighted Link


In this simulation I have a large box that is simplified to a point at its center of gravity (blue point in image above). The box is tied down to the floor using the 4 vertical locating pins and 4 horizontal pins going through the 2 pin block parts. I am trying to model the stresses in the pins and pin blocks, thus I need to transfer the inertial load of the point mass to these surfaces but only in the directions that make sense for the pin connections. How might I do this?

This thread is inactive and closed by the PTC Community Management Team. If you would like to provide a reply and re-open this thread, please notify the moderator and reference the thread. You may also use "Start a topic" button to ask a new question. Please be sure to include what version of the PTC product you are using so another community member knowledgeable about your version may be able to assist.

Hi Justin,

I would try using an Advanced Spring at each pin connection. Create two points with a small separation, probably easiest if they're aligned along the pin axis. Connect one point to the pin surface with a weighted link, connect the two points with the spring and connect the 'other' points to the box CG with (I think) a Rigid Link.

If I remember correctly the default is for the Y-axis of the spring to be defined along the direction between points, so if you give the spring a fairly high stiffness in X and Z displacement, and zero in Y displacement and all three rotations, that should be a good starting point. (If you think the pins will react tilt loads then you might want to also try making the tilt stiffnesses fairly large.) Given that it's essentially the same connection at each point, you should be able to define a single Spring Property and use it for each connection.

For stiffness values, choose something that's just high enough to keep the displacements insignificant. If your reacted load was 1000 N then you might say that you can accept 0.01 mm displacement without worrying, so you'd use 1000÷0.01 = 1e5 N/mm. Going too stiff can hurt convergence.


Thanks this seems like an approach that could work. However, in attempting this solution I discovered that I can connect two weighted links to a single point and define degrees of freedom in those weighted links. I figured I would give this a shot first.

I made a point along the axis of each pin and created weighted links from the pin surfaces to the points. While defining these weighted links I chose to constrain the degree of freedom along the axis of the pins. I then connected those points to the mass with one weighted link with all degrees of freedom enabled. The model ran and completed. Do you see any reason for this to misrepresent what I intended? Capture1.PNG

Can you post more information on how you set up your weighted-links? As I understand your model, I would have expected you to get a collinear error due to how you defined your weighted-links.

The weighted link that is highlighted green in my previous post is connecting the hole surface (independent side) to a point on its axis and a small distance in front of it (dependent side). Under degrees of freedom for the independent side I have checked, Ty & Tz, unchecked Tx.

The other weighted link is connecting that point to another point with a mass assigned to it. All degrees of freedom are checked for that link.

I also thought I should have gotten an error because I could have sworn I tried this and it didnt work. Let me know what you think, I'm going to run a few tests to see if its doing what I want it to.



Can you post your model files? What you're doing (again, at least as I understand it) should not run. We'llcall the weighted-link that is between the mass point and the point in front of an on axis with the hole, "weighted-link_a". The way you've defined "weighted-link_a" is collinear and should be flagged with an error. If you replaced "weighted-link_a" with a rigid link, then you should be able to run it.

I think this sounds reasonable... In fact, my method is more appropriate to constraining a part to ground whereas you're trying to anchor a mass to the part.

If I understand correctly you've connected the dependent node of one WL (independent attached to the pin surface) to an independent node of a second WL (dependent node attached to the mass) - kind of a 'tree' structure of WLs! I don't think this is collinear as there's only one point involved at each location, and each WL has dependent attachments distributed in space.

I hadn't realised you could release DOFs within a WL, but I'm guessing this is a Creo enhancement and sounds useful.

As you say, run some tests and satisfy yourself that the model is doing what you'd expect... let us know!

Alright I summed the reaction forces on this simulation and it didnt check out. The reaction forces came out to be exactly half of the total force on the system. So my model is not in static equilibrium... interesting. I'm not sure what is going on. I'm going to find out if its OK for me to post my model files.


This might be a bug. I remember on a couple of other occations where I'd get 0 reaction loads in a model with gravity, some mass points, and weighted-links. Re-defining the links seemed to solve the issue. However, we can't rule out that it might be related to how you've defined your links; it's hard to say without digging through the model.

"If I understand correctly you've connected the dependent node of one WL (independent attached to the pin surface) to an independent node of a second WL (dependent node attached to the mass) - kind of a 'tree' structure of WLs! "

This shouldn't work, at least on a single chain. The independent side of the weighted-link needs to be tied to three non-collinear points (i.e. all three of these points cannot be on the same line). My guess is that he has the dependent side of the weighted-link tied to the mass point, and the independent side tied to five (or at least three) different points.

"I don't think this is collinear as there's only one point involved at each location, and each WL has dependent attachments distributed in space."

A weighted-link between one dependent point and one independent point is collinear, since a line can always go through two points; any additional points added to the independent side will also be collinear if they are on this line. Also, there can only be one dependent point; the independent side of the weighted-link can be multiple points/edges/surfaces


It seems you have a solid grasp on weighted links, do you have a suggestion for a solution?


This is from the Simulate Help File...

"You can create a rigid link from one or more curves or surfaces on your model to a free point that is not otherwise associated with the model geometry. Use a rigid link from a surface to a free point with a constraint, for example, to model a pin support. If you create a rigid link from one edge, to a free point, and then to a second edge, the two edges will move together when you apply a load."

The Simulate Help File that you've quoted is describing a kinematic coupling, which could work for you. However, keep in mind that a rigid link is infinitely stiff. If you use a rigid link to connect a mass point to other elements, you're assuming that the object represented as a mass point is infinitely stiff (which may or may not be a good assumption). Furthermore, any points/edges/surfaces the a rigid link connects to becomes infinitely stiff.

The suggestion Jonathan made (using spring elements) is better than using rigid links, and allows you to control the DOF of the system by adjusting the stiffness matrix associated with the spring element. You can also do this with beam elements and releasing the proper DOFs in the beam element dialog box. The spring element method is a little more involved, but it provide you with a little more control. One suggestion I would make is to not (at least at the start) set any index of the springs stiffness matrix to 0, but instead to something like 1e-6 N/m so that you don't introduce any rigid body element motion into your model. You can adjust them to 0 once you have everything working correctly, so that if you introduce any rigid body motion, it will be easy to fix.

I also want to point out that a true pin connection is a non-linear problem, as it results in a bearing load. When you use springs/beams and links, you are typically applying them over the entire surface of a hole; this means that the "top" of the hole's surface is carrying some of the load when it won't. You can better results be defining a volume region over the area of the hole surface which would carry the load in the physical system, and them apply your link over that sub-region.

I'm working to solve the problem with the springs. Currently my reaction forces are not adding up to give me static equilibrium so I'm troubleshooting.

It makes sense that a bearing load would be a more accurate solution. Could you describe in further detail how I would use a bearing load? From what I understand I can apply a bearing load to a surface in the form of a component/vector/etc but how would I apply the distributed load from the point mass?



Shaun, I think the reason the model runs as-is is that the 'top' WL has the mass at the dependent node, and a number of independent nodes, arranged in space such that they are not co-linear. Each of the independent nodes is attached to the dependent node of a further WL, which in turn has its independent connections to a 3D (hence not co-linear) surface... therefore each WL is sufficiently constrained.

Justin, be careful with bearing loads. At the last count they only worked properly on holes (if you try them on a shaft they apply a tensile load to half the surface in the analysis, even though the preview looks correct!); and I think they only work with specified numerical load definitions, not as part of a constraint system.

Once you've got the system more-or-less behaving itself, you need to think very carefully and clearly about exactly where you want to calculate the stress and make sure that the model is set up to be representative in that area.