holes on a cylinder/pipe

Probably overlooking something here but how do you work with holes on a cylinder or pipe? Can't figure out how to snap to them, dimension/measure or move them. Creating them is easy enough but moving/changing size is beyond me. Using V15 Platinum so maybe it just doesn't have it. Maybe V16? Thanks ahead for any comments. 

Comments

  • There seem to be some limitations here.

    Moving:
    In V15 and V16 I am able to _dmMove a hole cross drilled through a cylinder. But the movement is restricted to the direction of the center line of the cylinder. If I attempt to move the hole in another direction the cylinder moves as well. The movement can be controlled by a _dmDistance3d constraint.

    Resizing:
    The hole can be resized using a _dmRadius3d constraint.

    Snapping:
    You may need to create a dummy cylinder constrained to the hole with _dmCoincident3d.
  • Roy is correct (as always).
    But if you just want to move the hole, you could revert to good old SOLIDEDIT: the Face / Move option works as expected.
  • Tim,
    It would be interesting to see an example. I'm pretty sure dmMove as good as "good old SOLIDEDIT: the Face / Move option"
  • <

    div>Now I see the problem. It looks like some internal restriction. We'll investigate the reason.

    Please, watch a small demo video for better understanding of how we see the user workflow.
    https://youtu.be/d0fe_Mzsxy8
    One of the main things on the way to a successful "move" is the UCS position (in most cases the mouse cursor moves in XY coordinate plane). That's why I changed to the Front view at the beginning of the video.

    Component_1.dwg

  • @ Ilya:
    The key difference in your example is the position of the hole. It is initially off-center (DUCS=ON but you are using the Shift button). If you move the hole so that is centered you will find that the movement becomes restricted.

    Some other remarks:
    1.
    I don't think there should be any reason the change the UCS. With ORTHO=ON you can easily move an object along any of the 3 axis.
    2.
    If I move the 'dummy' cylinder nested in the hole, the new position of the hole is not displayed in real time. Is there some setting involved?
    3.
    If the cylindrical face of the hole intersects one of the faces of the main cylinder, resulting in an open channel, the hole cannot be moved back.
  • Hello Roy,
    as to your third point:
    as far as I understand, this is a limitation inherent to brep-modeling - if an operation leads to a changed topology, it cannot simply be reverted.

    This can be particularly nasty when working with parametric constraints: if you set a parameter to a certain value, this might lead to faces getting eliminated, and if you then reset the parameter to its former value, it will likely result in completely different geometry.

    I just cannot see what could be done about this without introducing some kind of csg / history approach...
  •  @Roy,
    Yes, exactly. The axes intersection (hole-cylinder) restricts the movement. This case was reported to the development team.
    1. Off course you can move cursor along any of the 3 axis with ORTHO=ON, but not in XY plane (or maybe I do not know something ...).
    2. If you use dmMove it should display in real time.
    3. Yes. The reason is the topology changes. The way to "heal" the model - is to dmDelete the hole.
  • @ Knut:
    If the parametric model is an assembly you can reload the file to fix the issue you mention.

    @ Ilya:
    2. Yes, I was using the normal _MOVE command instead of dmMove.
This discussion has been closed.