問題タブ [openscad]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
debugging - % と # の間の OpenSCAD での動作の違い
Mac OS 10.15.7 で OpenSCAD 2019.05 を使用し、
失敗します(おなじみの「ジオメトリがありません」エラーが発生することもあれば、減算のない立方体が発生することもあります)。
ただし、% を # に置き換えるだけで、期待どおりの動作が得られます。# と % のセマンティクスを誤解していますか?
(ご想像のとおり、私はこのようにコードを書きませんでした。元のプログラムから CSG 出力を取得し、この例に要約しました。)
string - OpenSCAD で文字列を作成する
OpenSCADでpattern
、'a' で始まり、'c' で終わり、途中に十分な 'b' がある文字列 を作成したいと思います。たとえば、5 の場合は「abbbc」にする必要があります。len(pattern)
units
units
pattern
私がこれまでに持っている最善の解決策は、リスト内包表記です。
これで十分ですが、理想的には、このリストから文字列を作成したいですか? を試しstr(pattern)
ましたが、ブラケット、引用符、コンマで囲まれたリストの文字列表現が得られます。
自然に文字列になるリスト内包表記に代わるものはありますか?
python - この SCAD ファイルで穴のサイズを編集する方法
私は 3D モデリングを始めたばかりで (今日始めたばかりです)、Iron Momo によるこの素晴らしいコードを見つけました (リンク: https://www.thingiverse.com/thing:211020 )。OpenSCAD で編集できます ( https://openscad.org/downloads.html )
私の唯一の問題は、各列の穴を異なるサイズにする必要があることです.1列は16mm、もう1列は13mmです. これは以下のコードで可能ですか?
事前にご提供いただけるご協力に感謝いたします。
openscad - OpenSCAD 変数が蓄積されない
私は OpenSCAD にかなり慣れていないので、理解できない問題に遭遇しました。次のスニペットでは、変数「ofs」は「for」反復の前の値から累積されていません。
私が期待するecho (ofs)
のは次の値です。
- 5 (0 + 5)
- 12 (5 + 7)
- 23 (12 + 11)
- 30 (23 + 17)
私が実際に見ているのは、スロット配列からの値です。
- 5
- 7
- 12
- 23
ループの反復を通じて ofs の値を累積する方法を教えてもらえますか? どんな助けでも大歓迎です。
openscad - OpenScad $Special 変数を「正しく」動作させることができません
$fn が多くの組み込みオブジェクトと操作でファセットの数を制御する方法と同様に、$Precision を使用して動作を変更するオプションが必要なライブラリにいくつかの関数を作成したいと思います。
たとえば、円柱オブジェクトまたは linear_trusion 操作を使用する場合、オブジェクト ファイルのどこにも $fn、$fa、または $fs を指定する必要はありません。ライブラリにはデフォルトがあり、警告やエラーは発生しません。ただし、「$fn=45;」を指定すると 私のオブジェクトファイルの先頭では、変数を使用するすべてのオブジェクトまたは操作は、より低いスコープでオーバーライドするか、パラメーターで明示的にオーバーライドしない限り、デフォルトではなくこの値を使用します。
問題は、これが USER ライブラリでは不可能であるようです。
ライブラリで変数 $Precision を宣言しない (そして値を割り当てる) と、オブジェクト ファイルで値を指定しない限り、ライブラリを使用するとすべてのライブラリ呼び出しで警告がスローされます。
ライブラリで値を指定する場合、すべての関数呼び出しでパラメーターとして明示的にリストする以外に、値をオーバーライドする方法はないようです。そういうのは目的を破ります。オブジェクト ファイル内の他のスコープで値を指定しても、ライブラリ内のデフォルト セットは上書きされません。これは、ライブラリのどこにデフォルトを設定しても、オブジェクト ファイルのどこに "use" または "override assignment" ステートメントを置いても、当てはまるようです。
例として、ライブラリでこのような関数が必要です。
私がそれを使用するとき、回避するために $Precision=... を指定する必要はありません
しかし、オブジェクト ファイルで $Precision を宣言する場合は、$fn がオブジェクトとそれに問い合わせる操作からどのように見えるかと同様に、すべての方法でそれを使用したいと考えています。
3d - スライスされた OpenSCAD モデルには、オブジェクトの内側に面があります
私はいくつかの場所を切り取ってから立方体を持っています. エクスポートされた STL は、面が閉じたベースから構成され、新しいオブジェクトであるかのように続きます。
どうにかして OpenSCAD を 1 つのオブジェクトとして保持するよう説得できますか? それともOpenSCADまでですか?
- https://gitlab.com/-/snippets/2242402 (scad および stl ファイル)
- https://imgur.com/a/rfKlTjR (スライサーで見たもの)
openscad - OpenScad - 押し出しと曲げ投影
10mm 押し出す、30 度曲げる、20mm 押し出すなどの一連の手順に従って、押し出して曲げたいプロジェクションがあります。各押し出しは、前の曲げの結果となる平面に対して垂直でなければなりません。
OpenSCADでそれを行う方法はありますか?