どちらかと言うと、こちらの続き。
siren v0.13 NURBS曲線・Bスプライン曲線 - C#ATIA
githubにUpされていた数値をそのままお借りして再挑戦しました。
#!siren # coding: utf-8 include Siren fName = "/nurbu3" $inPath = ARGV[0] + fName + ".igs" $exPath = ARGV[0] + fName + "-res.igs" $dpPath = ARGV[0] + fName + "_dump.txt" def wDump(i) if i.kind_of?(String) open($dpPath, "a") {|f| f.write "\r\n" + i} end end def Pause() str = gets end wDump("start") ########### degree = 2 wDump(degree.to_s) knots = [0.0, 1.0, 2.0] wDump(knots.to_s) mults = [3, 1, 3] wDump(mults.to_s) poles = [[10, 0, 7], [7, 0, 7], [3, 0, 8], [0, 0, 7]] wDump(poles.to_s) weights = [1.0, 1.2, 1.0, 1.0] wDump(weights.to_s) shp = Siren.bscurve degree, knots, mults, poles, weights, 0.1, 1.2 puts shp.class.name Siren.save_model shp , $exPath ########### wDump("end") puts "done." Pause()
ずっとエラーで、NURBS曲線が作れなかったのですがやっと出来ました。
Reference manualを見ながらやっていたのですが、
shp = Siren.bscurve [degree, knots, mults, poles, weights, 0.1, 1.2]
これ(角括弧付き)ではNGでした。 Rubyの括弧の扱いがわからない・・・。