OpenSCAD
プログラミングで3Dオブジェクトを作れる環境。
3Dプリンター用のモデルの作成に使われる。
> 
宣言的な記法が好き。記法が簡略化されたSVGを書いている気持ちで立体が書ける

プレビューレンダリングが不正確
面が完全に重なる図形の差分が変な表示になる
ちゃんとレンダリングすれば問題は解消するが、とても処理が重たい
OpenSCADで作られたそこそこ大きめのプロダクト
こんな感じなんだ

ドットインストールにあるのか!

homebrewでインストールしてmacOS 12.1で開こうとしたらそのままでは開けなかった
特殊な記法が面白い

どこの物体かわかるようにする( #
)
一連の処理を適用させない( *
)
半透明にする( %
)
注目点以外を描画しない( !
)
入り組んでくると該当箇所がすぐにはわからなくなりそうだけど、そんなことないのかな?

なりますね、最新版だと3D Viewをクリックすると該当行を教えてくれる機能がありますが、複雑な演算をした結果の図形だとなかなかうまくいかないですね
なるほど〜。これを使いたいユースケースってどんな時なんでしょう?

複雑でないものを作るとき
自分の練度の問題で、複雑なものを作っている人はいます

やればできるんですね

どうしても宣言的に書きたい(?)
宣言的とは言わずとも、ソースコードで書きたい、gitで管理したい、というのはかなり大きい

バージョン管理をGitとかでできるのはよさそうですね

コードで書くといいことって何でしょう?

一部が使いまわしやすい
moduleがいくつもある
条件分岐や繰り返し処理が簡潔に(コードとしては普通に)かけるっぽい
コードの恩恵を受けている作り方だった
繰り返し処理が多い
パラメトリックにしたい
変数名を考えるのにいつも苦労する(英語の語彙不足もある)

ライブラリーとかないのかな

上に書いてある苦手なフィレットとかそういうのができる関数みたいな
ライブラリは色々ありますね、デファクトスタンダードみたいなのはあるのかな?

GPLのものが多いので、製品には使いたくない人がいるかも
公式ページにライブラリへのリンクがあった
あまり複雑なものを作ったことがなかったのでどれも試したことがない
