Constraining polylines or blocks

 I have a very simple profile of a man, and I commonly re-pose him for an illustration.  

He is made of simple polylines, except for the head, which is a block.  Each segment of the body has an arc, which is used as the center of rotation.  I have attached the file.

I was hoping to modify him to have each center of rotation maintained.  However, when I tried it, I found that rather than rotate the other polyline, it stretch it to keep the ends centered.

So, I tried making a block for each body part, but then I found that you cannot constrain blocks.

Any suggestions?

-Joe

Comments

  •  I will add that I just tried to constrain the polylines to themselves, but in addition to taking a great number of constraints, it does not behave the way I should.  It ma be that I am just not successfully constraining the segments to each other, but it seems that it is very easy to create a set of constraints that don't behave properly.

    -Joe
  • Hello Joe,

    I think 2d-constraints are meant to constrain sketches, that can be turned into 3d-parts, which can then be linked with 3d-constraints to limit their movement - they were just not intended to serve 2d-animation.
    But I completely agree: the inability to constrain blocks is a big (and IMO unnecessary) limitation. Maybe you should open a SR for that?
    I also do not understand why 2d and 3d constraints have to differ so much - e.g. to fix the polyline segments to each other (so that the whole entity follows the concentric constraint), you could use _dmRigidSet3d if it was ACIS-geometry, but since it is not, you would need to set up numerous 2d-constraints to achieve the same, which is pointless.
    I thought it might be an option to turn the polylines into regions (which are 2d ACIS geometry), but it turned out that they are recognized neither by 2d nor by 3d constraints...

    My personal opinion after (admittedly) playing around a short time with constraints is that they are not a viable end-user technology in most cases. However, if such constraints were handled automatically by 3rd-party software, they could serve as a powerful base technology - have a look for example at microvellum's fluid designer, which is built using blender. I just don't know if there is an attractive API for such things available in BricsCAD right now.
  •  I have tried hard to find a use for 2D constraints, but they really have not proven to be viable in most cases. I have successfully made parametric doors. But even the cases where they work well, the task of creating the constraints is so cumbersome, I am quite hesitant to use them.

    I realize that some of the issue may be that they must make the constraint system compatible with what AutoCAD does. I don't have AutoCAD, so I don't actually know if BricsCAD fully implements the constraint capabilities that AutoCAD has.

    But, even if the above is true, BricsCAD could add some features that make creating the constraints a lot easier.  This would be things like adding a command to automatically constrain things like parallel or perpendicular lines, and coincident points at the end of lines.

    -Joe
  • If you want to '2D constrain' a block reference you can try the BKG_PathArray application. Using the XXXXX option with the number of segments set to 1 and the nested block at start (or end) point option checked, you can 'attach' a single block reference to a constrained line. The reference will not only stay attached to the desired point but, if specified, will also rotate with the direction of the line.

    So you could create a constrained stick figure out of lines. And 'attach' blocks to each line. You will need a line and block for each body part so it would still involve some work but it would be doable.
This discussion has been closed.