前回の続き。
3次Bスプラインで6点を取りたい場合は、こんな感じ。
// Bスプライン曲線
#VAR
 x1 = 0  ;*x1
 y1 = 0  ;*y1
 z1 = 30  ;*z1
 x2 = 100  ;*x2
 y2 = 0  ;*y2
 z2 = 0  ;*z2
 x3 = 50  ;*x3
 y3 = 100  ;*y3
 z3 = 20  ;*z3
 x4 = 100  ;*x4
 y4 = 10  ;*y4
 z4 = 30  ;*z4
 x4 = 30  ;*x4
 y4 = 10  ;*y4
 z4 = 30  ;*z4
 x5 = 70  ;*x5
 y5 = 60  ;*y5
 z5 = 80  ;*z5
 x6 = 20  ;*x6
 y6 = 100  ;*y6
 z6 = 20  ;*z6
col1 = 1  ;*線色1
 i

#DRAW
PEN col1
3BSPL3DS i,SetCrvSep,1,x1,y1,z1, x2,y2,z2, x3,y3,z3, x4,y4,z4
3BSPL3DS i,SetCrvSep,0,x2,y2,z2, x3,y3,z3, x4,y4,z4, x5,y5,z5
3BSPL3DS i,SetCrvSep,2,x3,y3,z3, x4,y4,z4, x5,y5,z5, x6,y6,z6
これを実行すると
20110722c
という具合。
この曲線をパスとして、円をスイープするとします。
// Bスプライン曲線
#VAR
 x1 = 0  ;*x1
 y1 = 0  ;*y1
 z1 = 30  ;*z1
 x2 = 100  ;*x2
 y2 = 0  ;*y2
 z2 = 0  ;*z2
 x3 = 50  ;*x3
 y3 = 100  ;*y3
 z3 = 20  ;*z3
 x4 = 100  ;*x4
 y4 = 10  ;*y4
 z4 = 30  ;*z4
 x4 = 30  ;*x4
 y4 = 10  ;*y4
 z4 = 30  ;*z4
 x5 = 70  ;*x5
 y5 = 60  ;*y5
 z5 = 80  ;*z5
 x6 = 20  ;*x6
 y6 = 100  ;*y6
 z6 = 20  ;*z6
col1 = 1  ;*線色1
col2 = 2  ;*線色2
 i
 w1
 w2
 w3
 R = 10   ;*半径

#DRAW
PEN col1
3BSPL3DS i,SetCrvSep,1,x1,y1,z1, x2,y2,z2, x3,y3,z3, x4,y4,z4
3BSPL3DS i,SetCrvSep,0,x2,y2,z2, x3,y3,z3, x4,y4,z4, x5,y5,z5
3BSPL3DS i,SetCrvSep,2,x3,y3,z3, x4,y4,z4, x5,y5,z5, x6,y6,z6

 INIMATR
 RLSEL1 i,-1,-1,0, x1,y1,z1, 0.001, 1,1,999,999 // 連続線検索&作図&選択
 RENCLR  // 連続線データ・クリア
 RENSET  // 選択図形→連続線セット
 // 断面を作成
 MATRIXL x1,y1,z1
 CAL w1 = -90/180*PI
 ROYMATR w1
 PEN col2
 CIRCLE2D i,SetArcSep, 0,0,R
 CAL w1 = x1
 CAL w2 = y1 + R
 CAL w3 = z1
 RLSEL1 i,-1,-1,0, w1,w2,w3, 0.001, 1,1,999,col2
 // スイープ開始
 R_SWEPS 0,-1,-1, 1,1
 // 線を消します
 ALLSEL i,1,1,999,999  // 選択
 S_DELE
これを実行すると
20110722d
こんな感じ。
YZ平面に円を描いてスイープしているので、最初はX軸方向へスイープさせないと断面の円が楕円っぽくなってしまいますけれども。

で、これをスケッチアップへ送信。
20110722e
スケッチアップ8ではインポートするとコンポーネント化?されているようなので、その中へ編集状態にして、断面の円を消して、ソフトニングした結果がこれ。
20110722f
こんな感じ。

まぁ、GUIじゃないので使いにくいから、使えない、と判断されるでしょうけれども、とりあえず、こんな感じ。