忍者ブログ
Slic3rの設定についてまとめてます。Slic3rの日本語版が見当たらなかったので、使い方をまとめました。 最近はC#のメモ帳代わりになってます。

Open JSCAD | 初めてのJSCAD 3

スポンサーリンク
初めてのJSCAD 1初めてのJSCAD 2 で簡単に3Dを表示してみましたが、パラメータの入力について触ってみます。

とにかく下のような感じで入力フィールドを宣言します。
function getParameterDefinitions() 
{
  return [
    { name: '_size', type: 'float', initial: 10, caption: "Cube size" },
    { name: '_center', type: 'choice', caption: "Is center position", values: [0, 1], 
      captions: ["No", "Yes"], initial: 0 }];
}


項目は
  • name:変数名
  • type:変数の型
  • initial:初期値
  • caption:入力項目のタイトル
です。typeは
  • float
  • int
  • text
のいずれかになります。

コンボボックスを表示させる場合の項目は
  • name:変数名
  • type:変数の型
  • caption:入力項目のタイトル
  • values:選択肢の値の配列
  • captions:表示する選択肢の項目名の配列
  • initial:初期値
typeは choice になります。
(choice型のときのvaluesの要素の型はtext型になるようです。)

function getParameterDefinitions()の下に次のプログラムを記述します。
function main(params)
{
  var r=params._size;
  var enter=0;
  if(params._center == "0")
  {
    centerValue=r;
  }
 var cube = CSG.cube({ center: [centerValue, centerValue, centerValue], radius: [r,r,r]});
 return cube;
}

main関数にparamsを渡して、

params.name

のような形で使用します。
params._center == "0" が正しいのか、 params._center == 0 とすべきか不明です。
params._center == 0 こうすると、OpenJSCADで読み込んだ際に警告が出ていたので、
params._center == "0" こうして使用しています。

.jscadファイルは次のようになります。
function getParameterDefinitions() 
{
  return [
    { name: '_size', type: 'float', initial: 10, caption: "Cube size" },
    { name: '_center', type: 'choice', caption: "Is center position", values: [0, 1], 
      captions: ["No", "Yes"], initial: 0 }];
}
function main(params)
{
  var r=params._size;
  var enter=0;
  if(params._center == "0")
  {
    centerValue=r;
  }
 var cube = CSG.cube({ center: [centerValue, centerValue, centerValue], radius: [r,r,r]});
 return cube;
}

とにかくこの.jscadファイルにリンクすると
Hello2.jscad


でた。


関連記事