I'll let Jim answer your "Block Rotate" question. It's a good approach if you are entering many of these joints.
Generally, to enter a restraint on any vector, follow the X, Y, or Z "Type" with the direction vector. For example, if the pipe From 30 To 40 is entered as DX 1000 DZ 1500, then a restraint at 40 running along the axis of the pipe could have a "Type" of X(1,0,1.5).
_________________________
Dave Diehl