いささん版チューブ2 前回は1折パターンだったので今回は2折パターン

こんな感じ。スケッチアップ7 又は 8 を動かしておいた状態で、[GSU7出力] をして、スムージングした状態。

こんな感じ。
最初は、パスになる線だけを出力していたんだけども、スケッチアップ7/8 で選択しようとすると、線がつながってない、とか言われて、PipeAlongPath が動かせなかった。あらためて、スケッチアップって、精度 粗いのね、とか思ってしまう。なので仕方なしに、円をスイープさせて 出力してます。
Script!3D はシェアウェアで、レジストしていない場合は面出力させていないので、レジストされていない方は確認出来ないと思いますけれども。
// s-line2これを Script!3D に貼り付けて実行。すると・・・
//
#VAR
R = 50 ;*管半径
ST_X = 0 ;*開始位置X
ST_Y = 100 ;*開始位置Y
ST_Z = 100 ;*開始位置Z
L1 = 5000 ;*長さ1
A1 = 0 ;*回転角1
D1 = 1000 ;*間隔1
R1 = 5000 ;*丸め1
L2 = 5000 ;*長さ2
A2 = 90 ;*回転角2
D2 = 1000 ;*間隔2
R2 = 5000 ;*丸め2
L3 = 5000 ;*長さ3
i
w1
w2
w3
w4
wx
wl
#DRAW
#IF (R1 <= Abs(D1/2))
BEEP
MESSAGE "入力エラー","間隔1を小さくするか丸め1を大きくして下さい","",0,0
#EXIT
#END
#IF (R2 <= Abs(D2/2))
BEEP
MESSAGE "入力エラー","間隔2を小さくするか丸め2を大きくして下さい","",0,0
#EXIT
#END
LAYER 0
PEN 1
MATRIXL ST_X,ST_Y,ST_Z
#IF (A1 <> 0.0)
CAL w1 = A1/180.0*PI
RLXMATR w1
#END
CAL wx = Sqrt(R1*R1 - (R1-Abs(D1/2))*(R1-Abs(D1/2)))
CAL w1 = L1 - wx
CAL w2 = 0.0
LINE2D i,0,0, w1,w2
CAL w1 = L1 - wx
CAL w2 = R1
CAL w3 = 1.5*PI
CAL w4 = 1.5*PI + ATan(wx/(R1-Abs(D1/2)))
ARC2D i,SetCorSep, w1,w2,R1,w3,w4
CAL w1 = L1 + wx
CAL w2 = D1 - R1
CAL w3 = 0.5*PI
CAL w4 = 0.5*PI + ATan(wx/(R1-Abs(D1/2)))
ARC2D i,SetCorSep, w1,w2,R1,w3,w4
CAL w1 = L1 + wx
CAL w2 = D1
MATRIXL w1,w2,0.0
CAL wl = L2 - wx
// ---
#IF (A2 <> 0.0)
CAL w1 = A2/180.0*PI
RLXMATR w1
#END
CAL wx = Sqrt(R2*R2 - (R2-Abs(D2/2))*(R2-Abs(D2/2)))
CAL w1 = wl - wx
CAL w2 = 0.0
LINE2D i,0,0, w1,w2
CAL w1 = wl - wx
CAL w2 = R2
CAL w3 = 1.5*PI
CAL w4 = 1.5*PI + ATan(wx/(R2-Abs(D2/2)))
ARC2D i,SetCorSep, w1,w2,R2,w3,w4
CAL w1 = wl + wx
CAL w2 = D2 - R2
CAL w3 = 0.5*PI
CAL w4 = 0.5*PI + ATan(wx/(R2-Abs(D2/2)))
ARC2D i,SetCorSep, w1,w2,R2,w3,w4
CAL w1 = wl + wx
CAL w2 = D2
MATRIXL w1,w2,0.0
CAL wl = L3 - wx
CAL w1 = wl
CAL w2 = 0.0
LINE2D i,0,0, w1,w2
// 〜〜〜〜〜これよりスイープを行って円管を作成〜〜〜〜〜
INIMATR
RLSEL1 i,-1,-1,0, ST_X,ST_Y,ST_Z, 0.001, 1,1,999,999 // 連続線検索&作図&選択
RENCLR // 連続線データ・クリア
RENSET // 選択図形→連続線セット
// 断面を作成
MATRIXL ST_X,ST_Y,ST_Z
CAL w1 = -90/180*PI
ROYMATR w1
PEN 3
CIRCLE2D i,SetArcSep, 0,0,R
CAL w1 = ST_X
CAL w2 = ST_Y + R
CAL w3 = ST_Z
RLSEL1 i,-1,-1,0, w1,w2,w3, 0.001, 1,1,999,3 // 線色3を選択
// スイープ開始
R_SWEPS 0,-1,-1, 1,1
// 線を消します
ALLSEL i,1,1,999,999 // 選択
S_DELE

こんな感じ。スケッチアップ7 又は 8 を動かしておいた状態で、[GSU7出力] をして、スムージングした状態。

こんな感じ。
最初は、パスになる線だけを出力していたんだけども、スケッチアップ7/8 で選択しようとすると、線がつながってない、とか言われて、PipeAlongPath が動かせなかった。あらためて、スケッチアップって、精度 粗いのね、とか思ってしまう。なので仕方なしに、円をスイープさせて 出力してます。
Script!3D はシェアウェアで、レジストしていない場合は面出力させていないので、レジストされていない方は確認出来ないと思いますけれども。