2D parametric constraints

ScottS
edited October 2021 in 2D Drafting
  1. Is it possible to apply _GeomConstraint to the origin or WOrld axes the way 3D constraints can be? If no, why not?
  2. Why doesn't _GcFix work on Point entities?

I am trying to make a 2D parametric block with insertion point that is offset a specified variable distance from the midpoint of a line (white, horizontal, in the attached image) and none of the block linework passes through the origin. Currently, I have a line (white, vertical) on Defpoints with fixed constraint to lock it to the block origin/insertion point, but I would rather that Defpoints line weren't there. Tried using a point instead of the Defpoints line, which didn't work and also would not be ideal. Best would be if I could simply use _DcVertical to constrain the midpoint of the white horizontal line to be a certain parametric distance from the origin.

Comments

  • Hi Scott,

    Not sure if I am understanding you correctly, but if you create the horizontal line the desired distance from the origin when you first start creating your drawing, then this distance will remain the same when you insert it into another drawing.

    Which presumably is how all blocks work?

  • That's true, David, but I wasn't clear. I want to parametrize that offset distance.

  • I did wonder if that was what you meant, but as there was no dimensional constraint, I presumed that isn't what you wanted.

    I see that would be more practical.

    I have a similar issue with being able to add dimensions (standard dimensions) to a parametric block and have the dimensions stay attached to the block and update their size as you change the model. You can't seem to attach dimensions to entities and have them change as you alter the dimensional constraints.
    It works when you are creating the block, but when you bring it into another drawing it loses the ability to update.

  • You need some geometry at the origin. This works:

    1. Create a circle at the origin.
    2. Constrain it with _gcfix.
    3. Create a horizontal line.
    4. Constrain it with _gchorizontal.
    5. Add a _gcvertical constraint between the center of the circle and the mid point of the line.
    6. Create a _dcvertical dimension between the center of the circle and an endpoint of the line.