投稿

1月, 2011の投稿を表示しています

VS Codeでvenvがうまく動作しなくなった話

結論 venvをあきらめて、Pipenvを導入すればなぜか解決した。 経緯 Pythonの開発環境にVS Codeを使っていましたが、ある日突然、venvで作った環境が見えなくなりました。 PowerShellからは切り替えができるので、venv自体は正しく動いているようでした。 PythonとVS Codeをクリーンインストールしても状況は変わりませんでした[1]。 Pipenvの使い方 最近はPipenvというものがあるらしいので、それを導入することとしました[2][3]。 pip install pipenv 以下のように環境変数を設定することで、プロジェクトのフォルダ直下に仮想環境を構築してくれます。 PIPENV_VENV_IN_PROJECT=true VS Code上にフォルダを作成し、その直下で仮想環境を作成します。 コマンドはVS Code上のPowerShellで行いました。 例えば以下のようになります。パスやPythonのバージョンはご自身の環境に合わせてください。 *pythonの後に半角スペースがあるのでうっかり詰めないでください。 *venvファイルが作成されるという情報もありますが、私の場合はPipfileのみ作られました。 PS PS C:\Users\User Name\Documents\CODE\Python\Test> pipenv install --python 3.8 VS Code上でF1キーを押して、「reload」を検索して実行します。 これで左下のPythonのバージョンセレクトから環境選択できるはずです。 仮想環境から抜けるときは以下のコマンドを使います。 deactivate 参考文献 [1] sota0726 「VScodeを完全にアンインストールする方法(windows10)「拡張機能のホストが予期せずに終了しました。」を改善するために」閲覧日:2020/09/13 https://www.atmarkit.co.jp/ait/articles/1810/12/news026.html [2] KRiver1 「pyenv、pyenv-virtualenv、venv、Anaconda、Pipenv。私はPipenvを使う。」閲覧日:2020/09/13 h

アルミの曲げがうまくいかない 背景編

イメージ
 こんにちは。 センター試験 まで後数日。 受験生の皆さんがんばってください!  さて、今日の話題はアルミの曲げ加工のお話です。 私はアルミ板金加工を主体にロボットや作品を作るので、アルミの曲げ精度はかなり重要な要素となります。 特にヒューマノイドは競技用のものも作っているので、モーションの再現性や、安定性のために、精度の高いパーツを安定して生産する必要があります。 ここ最近は設計などに割く時間が短縮できるようになってきたため、腰を据えてこういう地味な検証ができるようになりました。  曲げで問題となるのが、CADと実際の加工における誤差です。 曲げない部分は形状にもよりますが、1/100 mm程度に収まっていると思います。 しかし曲げ部はひどいときには、曲げ一回につき、0.5 mm程度は狂います。 この主な原因は何なのか。それがテーマです。 写真は寸法が悪く使えなかった、かわいそうなパーツです。 まず曲げ加工のときのプロセスを確認します。  1.CADで設計。DXF出力  2.CAMでNCコードに変換  3.CNCで穴空け→ライン入れ→外形加工  4.ベンダーにて、ラインに刃をあわせ、目算で塑性加工  5.定板上でブロックを使い垂直確認(90度曲げの場合) というプロセスで行っています。 このプロセス内で問題となりそうな点を挙げていきます。  1.CADの板金設定があっているのか。  2.ラインが一様に入っているのか(ラインの入れ方や深さ)。  3.ベンダーの刃とラインが本当にはまっているのか。  4.一定の方法で曲げているのか。 この4点に着目して実験していきたいと思います。

DXFへの変換バグ

イメージ
 あけましておめでとうございます。 今年もこのブログをよろしくお願いいたします。  というわけで、年明け最初の話題はDXFへの変換バグの話題です。 私の学校では HAKU で加工を行う際に、 1.SolidWorksにてモデリング 2.二次元図面に落として、DXFに変換 3. JMM-TOOL を使ってNCコードに変換 4. Mach-3 を使ってHAKUを制御 という手順で加工をおこなっています。 しかし、JMM-TOOLにDXFを入力した際におかしな現象がおきました。 上図ように、ピンクの円で囲んだ部分のパスが、おかしいことになっています。 パスが繋がらず、変な軌跡を描いています。 この溝の幅は2mmで、2mmのスクエアエンドミルで加工する設定にしています。 エンドミル系を小さくしても改善しなかったことと、下図のように同様の形状(溝周辺の寸法は一緒です)をした別のパーツはちゃんと読めているので、JMM-TOOLに原因があるわけではないようです。 そこで、SolidWorksでDXFにする段階にバグがあると考え調べました。 するとスリットの部分が直線にもかかわらず、複数の線で構成されていることがわかりました。 上図は、その線のそれぞれの端点をずらして、線を長くして見やすくしたものです。 直線の中に円弧が含まれていることがわかります。 線を直線一本だけに変更して、再度DXFに変換して読み込ませたところ正常に読めました。 原因はSolidWorksにあったようです。 発生する原因や根本的な対処法はわかりませんが、このようなことが起こったときにはDXFを疑ってください。 使用ソフトウェアのバージョン SolidWorks2009 JMM-TOOL ver0.9