Stretching multiple solids?

Now that I am seeking to do some piping illustrations that make use of solids, I again come up against a feature that I have been hoping for since I used AutoCAD v10, with the AME extension.  I would love to be able to stretch 3d Solids, in the same way that you can stretch mesh objects.

I realize that such a feature cannot be exactly the same, since there are situations with solids that will not work well. For example if you stretch one corner of a cube, the surfaces that touch the corner must be changed by either breaking the plane, or by keeping a single plane, but moving the two other adjacent corners. 

I also realize that the solids editing commands permit individual solids to be edited.  But, in my case, I would like to be able to edit multiple solids at once.  In my piping example, it might be to shift a vertical run, forming a stack of 10 pipes, to one side to clear a new object in the way.  

In this type of stretching for the pipe, it would be the same as using the "move face" feature on each of the pipe vertical segments.  So, perhaps it might be described as a command that permits the user to move all solid faces for multiple solids, where the faces fully inside the selection window.

Is there any way to accomplish what I am seeking? 

-Joe

Comments

  •  I was thinking more about this idea. Such a utility might follow the following logic.
    1. Start Command, and prompt user to draw a window around what he wants to stretch, and then select objects to remove from the selection set.
    2. Prompt for start and end point of the stretch.
    3. Identify solids in the window.
    4. For each solid;   
       A) identify the surfaces that are completely inside the original selection window. 
         
       B) Use the move face command to move those faces by the chosen amount.
    Potential issues;  I wonder what happens to a model when a move causes a face to disappear.  E.g. a chamfer is moved away from the surface, or a hole dragged outside of the solid it was part of.  Does BricsCAD just delete these, or do they somehow remain inside the model and potentially cause problems later?

    -Joe
    1. - I would love to be able to stretch 3d Solids, in the same way that you can stretch mesh objects. -

      Yes, that would really be great but I guess it is so hard to implement that we are not likely to see it sometime soon...
    2.  If the application (LISP or other language interface) can identify the surfaces that are completely inside the original selection window, then it should be fairly easy to program with a simple program.

      I have no idea what sort of information about a solid is exposed to the applications.  Specifically, if it will describe the surface boundries.  I looked 3dSolid up in  the developer reference.  But, I didn't see anything for seeing the specific faces of the solid. And when I look at the methods listed, none seem to relate to the move face command for editing.

      ACIS solids, in general, seem to be a well protected category of data that is just not exposed to the user applications.  I know, at least years ago when I was reading up on IntelliCAD, that the ACIS solids had to be licensed separately (I think from a 3rd party) from the reverse-engineering the DWG format that the IntelliCAD group did.  And, perhaps it is still true that the ACIS solids are kept well protected by its original source.  Of course, this is frustrating to end users that create their models on that technology  and therefore have their work locked into another company's proprietary format.  AutoDesk worked hard to do that with the DWG format, and it is groups like IntelliCAD and Bricsys that has worked to keep the format available to the users. The ACIS data may not have been reverse engineered to the same level as the other DWG data.

      -Joe


    3. Did you try the following in BricsCAD :
      - Start a window selection, then hit the CTRL key once to invoke face selection, then click the second point of the window. You can choose whether to select inclusive or crossing, just like regular window selection.
      Now the faces inside (or crossing) the window are selected, launch DMPUSHPULL or DMMOVE.
    4.  I think you are on to something.  I was unaware that the direct modeling command permitted operations on multiple solids.

      I have my BricsCAD selection options set so that when you start a window, if the 2nd click is to the right of the 1st, it is automatically set for a regular enclosing window.  But, if the 2nd click is to the left of the 1st, it is a crossing window.   So, if I use an enclosing window, it automatically selects only the faces inside the window.  The Cntrl button does not seem to have any effect.

      There are differences between how the two commands function, though they seem to be very similar in the help file's description;

      DmMove - Moves the selected solids, or  faces or edges of a solid using a vector. 
      dmPushPull - adds or removes volume from a solid by moving a face or surface. 

      For stretching the solids, similar to how stretching a mesh might work, the DmMove is not vaible to use on several solids. For some reason, you cannot use the window to select on the faces inside the window. It always selects the entire solid, and then moves the entire solid. But, if I click an individual face for the DmMove command, then I can move it like with the DmPushPull command.

      But, it is the DmMove commadn that we need, so that it will select and move holes. DmPushPulll will not continue if you include a hole in your selection set by drawing a window.  But, it DOES work if you manually click on each face.

      Despite the above limitations, your approach does show that it should be possible to do stretch-like operations on multiple solids if the BricsCAD programmers decided to do so. 

      -Joe
    5. In BricsCAD V15 all you have to do is press the CTRL key once, during window selection, to select faces instead of entire solids.

      So you can select the holes, start DMMOVE and move them. If you move holes outside of their solid, they will just disappear, without causing trouble.
    6. FYI: in V15.2.05  support was added for the value 2 of the PICKAUTO setting, which makes it possible to start a crossing window selection while the cursor is hovering over a face (in a non-wireframe display mode).
      Besides offering support for the Ctrl key to select sub-entities, V15 also offers the new SELECTIONMODES setting which allows easy switching between selecting faces, edges or entire solids.

    This discussion has been closed.