Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations waross on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

flexible sub assembly in design copied product hidden constraints?

Status
Not open for further replies.

gadkinsj

Mechanical
Mar 31, 2010
74
First of all let me start by saying I'm a newer user of Catia. I am using Catia V5 r19 and have a perplexing issue that I don't understand the root of.

I have a product of approx 60 parts with 3 flexible sub assemblies that I have defined in 3 different ways. (experimenting with best practices) The parts are all constrained to each other and I do not have a central skeleton driving the system.

First is a Ball screw. The ball screw is a model from the internet that I have linked a parameter from the assembly called "ball screw height" that I have defined in my product to drive the assembly. This works as I expect it to. When I change this parameter in my product the position of the ball nut moves, and all parts attached to this move with it. When I change the position parameters of the ball screw it will go where I tell it to.

I have a cable cylinder which I have modeled from scratch. In the real world there is a tab that is bolted to a "whatever" that is displaced by the actuation of the cylinder. I have this driven by a rule as follows

if `Start_Pos` <5in
set `Constraints\Offset.9\Offset.9\Offset` =5in
if `Start_Pos` > 5in and `Start_Pos` < 42in
set `Constraints\Offset.9\Offset.9\Offset` =`Start_Pos`
if `Start_Pos` >42in
set`Constraints\Offset.9\Offset.9\Offset` =42in

"Start pos" is a linked parameter to my assembly and it drives the position of a XY table that is attached to this cylinder. The cylinder moves properly and the XY table moves when I change this parameter as expected.

The cylinder mechanism works fine, but when I try to change the constraints defining where my cylinder is in my product, the cylinder refused to move. I have deleted all constraints for the cylinder position, but when I tried to move it, it would just snap back to its original position. Whenever I tried to create a constraint back to the assembly where I wanted it there would be a conflict. And if I removed constraints for the frame it would snap the frame to the cylinder as if the cylinder were fixed. But there are no constraints listed when I search for constraints for that part.

The third flexible part is even more interesting. It is a simple turn-buckle. I have it defined in a sub assembly where the connecting ends of the turnbuckle are coincident with points at the ends of a sketch and the length between is defined by a measure I did in my assembly between the holes where it will be bolted.
It changes length as expected, where if I make a change to the frame between the turnbuckle, the length will decrease and the angle (since its at an angle in the assembly) comes in correctly. But It will not budge from its original assembly plane.

To better explain. It connects 2 points that are lets say (X=0,Y=5),(X=8,Y=0). It will change to (X=0,Y=4),(X=7,Y=0) and the length and angle in the assembly will be correct. But it will not snap in the Z direction. I have removed all constraints except for the driven dimension and it acts as if it is locked to the XY plane. If I try to constrain it as an offset constraint using planes it will give me an error. But if I unlock the assembly it will snap to the position of the turnbuckle.

Thanks if you've read this entire thing and thanks again if you have some insight.



 
Replies continue below

Recommended for you

Since there are no responses thus far, I'll weigh in - first off, lots of information given but almost too much to process without some sort of visual aid. If providing the source files is not possible, can you show some pictures?

What's the exact relationship between Start_Pos, the XY table, and the cylinder? As I read it, Start_pos defines Offset.9 which controls the position of the XY table alone. Since the cylinder is constrained to the XY table, it also moves? If not, then what do you mean by 'the cylinder moves properly'? If so, then what are the constraints on the cylinder - only constrained to the XY table, or constrained in all 6 DOF's? What are the results of a right click > component > component degrees of freedom?

As for the third one, same thing applies - I don't fully understand how you have it constrained. Since you made the sub assembly flexible, have you also constrained the two ends of the turnbuckle to the threaded rod? And that's a good point - when you make a sub-assembly into a flexible sub-assembly, you should fully constrain all the subcomponents otherwise you get weird behavior, similar to what your describing. Can you confirm that all the sub components of both the cable cylinder and the turnbuckle are fully constrained (when the top-level assembly is active, not the sub assembly)?

Kevin Irrer
Northville, MI USA
 
Kirrer,

Sorry no visual aids available at this time.

The cable cylinder flexible product is comprised of 2 parts. The actual cylinder and cable I have as 1 solid dumb model, and a tab of metal with a bolt hole through it that would attach mechanically to whatever you are trying to drive. This is modeled as a seperate item in the flexible assembly. The start-pos Constraint is an offset that defines the position of the tab with respect to a plane on the cable cylinder. The rule is there so that the position can't extend beyond actual mechanical limits.

In my Product,the Cylinder is constrained by aligning 2 bolt holes to a framework and having a face contact to the framework. When I change the parameter Start_pos, the cylinder tab moves, and actuates a steel plate that is bolted to linear bearings and slides on rails. Start_pos has a function link to a parameter that was created in my overall product.

When I say it works as expected, When the parameter is changed in my product, the tab in the model of the flexible part changes its position and every thing that is "bolted" to that tab also changes position, including the table, the bearings that slide on rails, etc etc. So the model works as intended from that prospective. When I check degrees of freedom of the parts that are in the "main" product, I get zero.

The glitch, is when I make a change to the dimensions of the "frame" so that the flexible assembly(cable cylinder) has to change its position in space in my model. The model update fails because it is overconstrained, and the cylinder refuses to budge from its position in space.

When I delete all constraints that define the position of the cylinder in my model, I check my degrees of freedom and it says six. Every other part of the Product moves to its proper location, But no matter what I do the cable cylinder will not move from that original position. When I try to add any constraints that will move it from that position it fails regeneration because it is overconstrained. If I move it with my compass, both translations and rotations, it will snap back to the original position on an update. It acts exactly like it is a Fixed part in every way but there is no constraint that would make it fixed.

If I insert another instance of this part in the model it gives me no troubles.

I think that all the information that defines it as a flexible assembly is a red-herring. Everything in the context of it being a flexible assembly seems to work fine, and the only important piece of information is that it is a flexible assembly.


 
Well it sounds like you've got a bone to pick with Dassault then - that problem seems strange indeed and I have no idea why it wouldn't let you completely reconstrain the part after modifying the frame - you're already beyond my experience in troubleshooting. If you discover what the problem was, please let me know as I'm now eager to find out. Good luck!

Kevin Irrer
Northville, MI USA
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor