Unsatisfied constraint issue

fredericklim
edited January 2018 in 3D Modeling

In this model I wonder why the Tangent_4 constraint is not satisfied.

Comments

  • Louis_Verdonck
    edited January 2018

    The reason why the fourth tangent constraint is not satisfied is that the model becomes overconstrained. I suppose you want to create a fully parametrized link and then control the dimensions through parameters. Instead of adding parameters to the 3D solid, I'd propose to add constraints to its 2D source entities. See drawing in attachment: the closed polyline composed of 4 arcs can be modified using 3 parameters: 2 diameters and a distance. The swept circle has a diameter constraint. Please notice that the profile entity in the sweep command is aligned with the path entity automatically. Make sure the DELOBJ system variable is 0 to preserve the source entities. You can now create as many links as you want by sweeping the circle along the closed polyline.

  • 2D parameters can by modified in the Mechanical Browser panel.

  • fredericklim
    edited January 2018

    Thanks for the suggestion, but that will involve extra step to make the model.

    I tried to add the _dmTangent3d to one of the model, this time I only add one _dmTangent3d, but got Unsatisfied constraint detected, I wonder why it is still over constrained with only one constraint?

    [Edit]
    It is strange that I can add four _dmTangent3d to the other model the dwg. What is the different between the two 3D models?

  • Roy Klein Gebbinck
    edited January 2018

    I believe this model shows up some limitations in the BricsCAD 3D constraints engine. IMO the model is accurate and the applied constraints should not conflict.

    Here are three tests with the dwg in the original post (I have not looked at the 2nd dwg) that prove my point:

    Test A:

    1. Remove all constraints except the Tangent_4 constraint.
    2. Result: Model still unsatisfied.

    Test B:

    1. Reopen the original dwg.
    2. Move the solid so that the center of the smaller torus element on the left is on the WCS origin.
    3. Result: Satisfied.
    4. Note: the model in its original position was close to the origin, so this is not a case where 'huge' coordinates have been fixed.

    Test C:

    1. Reopen the original dwg.
    2. Move the solid so that the center of the smaller torus element on the right is on the WCS origin.
    3. Result: Unsatisfied. But now the Tangent_3 constraint is marked as the culprit.

    Maybe the current implementation of the 3D constraints engine simply cannot handle torus faces very well?

  • fredericklim
    edited January 2018

    I got satisfied tangent constraint in step 2, but when applying _dmRadius3d to the torus face, changing radius will get Unsatisfied constraint of those _dmRadius3d constraints.

  • fredericklim
    edited January 2018

    I got the solution from support, using coincident constraints between circular edges and solid faces instead of tangent constraint.

    But it depends on how to make the solid. Here are the two different results. Left one will broke when changing the RotationRadius, right one working but require more step to sweep individual arcs.

  • Roy Klein Gebbinck
    edited January 2018

    @fredericklim:
    The advice from support defies logic. Applying a coincident constraint between a face and one of its own edges is bizarre. It seems like a workaround that relies on a hidden, quirky feature of the 3D constraints engine.
    Your two models show that curved faces have directional properties that can have an impact on how 3D constraints are solved. I suspect that if you reverse the polyline before sweeping, other parts of the model will show the undesirable behavior (the loop intersecting itself).

    BTW:
    For the model on the right only 4, instead of 8, of these coincident constraints are required.

  • Roy Klein Gebbinck
    edited January 2018

    ... Trying to understand this 'hidden' coincident behavior I have created a small test. The model is an elliptical cylinder with circular end faces. Applying a _DmCoincident3d constraint between the fixed circular bottom edge and the curved face turns the solid in what at first sight appears to be a true cylinder, but in fact is not. The end faces now have spline edges and the constraint 'breaks' the model.

This discussion has been closed.