2D Contraints Challenge: Keeping holes inside a strip

Here is a challenge for those working with 2D Constraints.

I have created a drawing of a rectangular metal strip with a hole at each end. My goal is to constrain the strip in such a manner that the position of the holes, and distance between them, is governed by an unconstrained 'system' line from center to center. The width of the strip should be two times the diameter of the holes. The total length of the strip should be the distance from hole to hole plus two times the diameter.

See 2DContraints_Sample_Strip_01.dwg.

The problem with the drawing is that, although most of the constraints work as expected, the holes do not always stay inside the contour of the strip. If the strip is lengthened by grip stretching the red system line one of the holes will end up outside the strip.

To solve the problem I have added more constraints. But in doing so I have lost the flexibility of the system line.
See: 2DContraints_Sample_Strip_02.dwg.

My question is: Is there any way to ensure that the holes stay inside the strip without constraining the system line?

Comments

  • I *think* it has something to do with how the "Align" dimensional constraint works.  I drew two different versions.  One that can be rotated and one that cannot (it uses "linear" dimensional constraints.

    Incidentally, for anyone wondering, the constraints work back and forth between AutoCAD and BricsCAD. 

    2DContraints_Sample_Strip_03.dwg

  • My question is: Is there any way to ensure that the holes stay inside the strip without constraining the system line? 

    Hello Roy,

    To express that something should be inside/outside a polygon, one should use a point-line distance constraint, not a point-point as you did.
    Look at the attached drawing: I've replaced di1 and di2 with point-line distance constraints, and BricsCAD now can keep the orientation of the central points of the circles w.r.t to the side lines of the rectangle when you stretch the red line.

    Best regards,
    Dmitry

    2DContraints_Sample_Strip_04.dwg

  • Dmitry,

    I tried to download your sample drawing, but can't open. File is 0 bytes. some sort of error with attaching the file to the forum?

    Regards,

    Jason Bourhill

    CAD Concepts
  • I'm trying to attach a file once again using a different browser.

    2DContraints_Sample_Strip_04.dwg

  • This still fails if you drag the line from the d3 end across to the right past d2. Circles end up outside the strip (see attached screen grab). Perhaps there are other constraints that can be added to fix this, but it seems to me having the option of a reference dimension would provide a solution (only driving dimensions are currently possible). Illustrated this with ReferenceDim image attached. The blue dimension line would be a reference dim, indicated by the square brackets. The value of this would be used to drive the overall length of the strip.

    Regards,

    Jason Bourhill

    CAD Concepts
    imaged3-swapped-d2.png
    imageReferenceDim(3).png
  • Thank you, Jason!
    We'll try to improve the behavior of 2D constraints under large stretching in next releases of BricsCAD.
  • ...it seems to me having the option of a reference dimension would provide a solution (only driving dimensions are currently possible). Illustrated this with ReferenceDim image attached. The blue dimension line would be a reference dim, indicated by the square brackets. The value of this would be used to drive the overall length of the strip.

    Regards,

    Jason Bourhill

    CAD Concepts

    I was thinking the same thing about reference/driven dimensional constraints.  I was disappointed to not find them.  There is a spot to make a constraint a reference dimension... but it doesn't work.

    imageCapture.PNG
  • I imagine you can just add a regular dimension for a reference dimenions.  But, then that would have to be on a special layer that you keep off in most situations.

    -Joe
  • Thank you all for taking the time to look at this problem.

    @ Nick:
    Since rotating the strip must be possible, using aligned dimensions is the only option.
    Both your 'Created in BricsCAD' examples can be manipulated in such a manner that one or both holes end up outside the strip. This certainly happens if you use the test that Jason has suggested, but also if you do not change the direction of the system line.
    Your 'Created in ACAD' strip in some situations (after a couple of manipulations) seems to become locked.

    @ Dmitry:
    I must admit that I never really looked at the _DCALIGNED options. Thank you for pointing them out.

    @ Jason:
    Referenced dimension would indeed be very useful.

    @ Joe:
    What Jason means is a dimension that can be referenced by other 2d constraints. In the case of the strip you want to 'tell' the top and bottom edge to be two times the diameter longer than the system line whatever its length.
  •  I definitely agree that BricsCAD has a ways to go before the constraint process is easy to use.  In the past, I have used Inventor, SolidWorks, and ProEngineer, and consider myself quite proficient creating constraints with them. I suspect just a few additions to BricsCAD's constraint process will help the process immensely.  Just the ability to draw rectangle with constraints already in place would be a major help.  Inferred constraints can also be very helpful, and save a great deal of labor. For, example if you draw a horizontal line, with auto-constraints on, it should automatically add a horizontal constraint.

    It would also be appropriate to add add that constraints are a challenge to learn for a new user, regardless of the program. It takes a while to wrap your head around some of the concepts. And, on a complex sketch, keeping the logic of them all in your head can be quite a challenge.

    -Joe

This discussion has been closed.