Wish: Fix these several major flaws of "Pipe"

Flaw #1: The “Pipe” command creates unwanted extra control points while making a pipe from a simple straight line consisting just 2 control points. Rather than building a straight, simple pipe, Rhino will output an overly-complicated pipe with double the amount of control points that are not needed 99% of the time. I often use “Pipe” to build car tubular frames and waste a lot of time to remove the unwanted control points.

Flaw #2: Another issue with “Pipe” is that extracting an isocurve or splitting the pipe by an isocurve always uses the wrong direction by default (“Direction=U”), because more often than not the intention is to do that with a profile isocurve instead (“Direction=V”).

Probably both of those issues (lack of Degree 1 pipe and splitting by or producing isocurve in the wrong direction) could benefit from custom macros to overcome the imperfections of the “Pipe” tool. Does anybody have suggestions how the macros should look like? :slight_smile:

I tried ! _Pipe _Pause _Cap=_None _Multipause _SelNone _SelLast _ChangeDegree and it works up until that last step where I can’t figure out how to automate the process of making the pipe Degree 1 in the U direction and skip changing the V direction. The keyboard input for those steps is “1, Enter, Enter”, however, adding “_1 _Enter _Enter” at the end of my macro does not help. :slight_smile:

EDIT: I made a macro that is capable of making proper pipe with Degree 1 in the U direction. Not sure if it’s possible to make it shorter, though. The ! _HistoryPurge command at the end is added, because my History recording is active all the time. An alternative is to use “_NoEcho” at the becinning of the macro. However, one huge disadvantage of both macros is that I’m no longer able to keep the History for the pipe in case that I want to modify the shape or position of the input line.
! _Pipe _Pause _Cap=_None _Multipause _SelNone _SelLast _ChangeDegree _NewUDegree 1 _Enter _SelLast ! _HistoryPurge

Is there a way to produce a pipe with Degree 1 in the U direction without braking its History recording?

1 Like

This worked.

The main issue is that the History of the pipe gets broken upon building it that way. I’m trying to figure out if there is a way to make Degree 1 History-enabled pipe while using a simple straight line with Degree 1 as an input. Unfortunately, Rhino does not respect the actual degree and control point count of the input line and converts the pipe to Degree 3 instead.

Rebuilding the curve first also does not help unfortunately.

I thought you’re building pipes from curves but read your post again so it’s just lines…

Flaw #3: Creating a pipe along a true arc with the same start and end diameter results into a highly inaccurate, overly-dense surface that does not respect the input geometry. It’s virtually impossible to build a proper pipe around a true arc that way, it always has a variable radius.

The only workaround is to use “Revolve” with preliminary set axis or custom CPlane (especially if building it in a specific orientation other than the active CPlane) and existing circle or surface edge of another pipe as an input. Only then the resulting pipe will have a true constant radius and simple geometry that matches the requirements for a proper pipe. Unfortunately, the current “Pipe” tool in Rhino is not smart enough to make accurate geometry around true arcs.

The example below shows the huge disadvantage of using “Pipe” to create a pipe along a perfect true arc. The lower pipe was made via “Revolve” instead:

This also reminds me that the “Revolve” command could highly benefit from having an extra option in the Command line called “AxisFromArc” which will let the user pick a true arc or a circle and use its axis as a revolve axis. Currently, the command prompt looks like this:
Start of revolve axis:

It should look like this, where the “AxisFromArc” portion is clickable and awaits the user to pick an arc or a circle. If the user fails to do so, he or she could click on another option instead:
Start of revolve axis (AxisFromArc):

Here is a custom macro that extracts the axis of true arcs and circles:

  • Axis from arcs and circles
    ! _CPlane _Object _Pause _ProjectOsnap _Toggle Enter _Pause _Line _Vertical 0 _BothSides _Pause _Pause _Cplane _Undo _ProjectOsnap _Toggle Enter

Also, the default setting to pick a revolve axis is totally unusable in the Perspective view, even if a custom CPlane is set. That’s because in Perspective view the revolve axis is extremely unnatural (along the X-axis or Y-axis), so nearly every time the user is forced to press Enter to switch to Z-axis. Nobody uses the default X-axis or Y-axis in Perspective view. It should do the same as the ! _Rotate command and use the Z-axis by default while in Perspective view.

1 Like

wow these are some extrremely nasty “bugs”. And its not even a new tool. :rage:

1 Like

Flaw #4: “Pipe” will not let the user specify the position of the seam. That could be fixed by adding a Command line option to manually pick the location of the seam before finishing the command.

While the ! _SrfSeam command exists, it does ugly things with the pipe geometry depending on the relocation of the seam. It no longer preserves the original intent to use 8 control points to form the circle shape of the pipe. Example: