コマンドラインからモデルを生成するために、Ubuntu Linux で openscad コマンドを使用しています。-D パラメータを使用して openscad コマンドを実行し、変数の値をオーバーライドすることに成功しました。
$ openscad -o output.stl -D 'param1="name1"' -D 'param2="name2"' openscad-script.scad
編集: -D パラメータを渡す方法に注意してください。Openscadのドキュメントに従って、一重引用符と二重引用符の両方を使用する必要があります。
しかし、シェル スクリプトから同じコマンドを生成して実行すると、openscad はエラーで失敗します。
$ ./myscript.sh value1 value2
エラー: 行XXのパーサー エラー: 構文エラー ファイル 'openscad-script.scad' を解析できません!
XX =ファイルの最後の行。
これがbashスクリプトです
#!/bin/bash
# run openscad command
param1="-D 'param1=\"$1\"'"
param2="-D 'param2=\"$2\"'"
echo "openscad -o $1-$2.stl $param1 $param2 openscad-script.scad"
openscad -o $1-$2.stl $param1 $param2 openscad-script.scad
これは非常に単純に見えますが、openscad がコマンドの実行に失敗する理由をまだ理解できません。
ご協力いただきありがとうございます、
編集:私はそれを機能させる方法を見つけましたが、最善ではないかもしれません
#!/bin/bash
# run openscad command
param1="-D 'param1=\"$1\"'"
param2="-D 'param2=\"$2\"'"
command = "openscad -o $1-$2.stl $param1 $param2 openscad-script.scad"
eval $command