2024年08月17日

TkEasyGUIへの移行

Pythonで簡易的なアプリを作成する際に便利なライブラリとしてPySimpleGUIがあります。ただ、商用ユースでは先日から有償化され、個人ユースであってもライセンス登録が必要です。ライブラリ自体の使い勝手という点で難があるため、PySimpleGUIと互換性があるTkEasyGUIに移行してみました。ただし、互換性があるといっても完全互換ではないため、今までのコードそのままでは動かない場合が多々あります。

今回は自作アプリをTkEasyGUIに移行した際に互換性がなく、コード修正が必要になった箇所について紹介します。自作アプリ内で気づいた範囲のため、その他にも互換性がない箇所があると思いますが、今回分かった範囲で紹介したいと思います。


⓪ライブラリの変更
当然ながらライブラリを変更します。

import TkEasyGUI as sg
#import PySimpleGUI as sg


@テーマ
テーマ名が異なるため、'DarkGreen6'等のテーマは使用できません。
コメントアウトするか、下記のようにデフォルトもしくはwinライクなテーマを設定する必要があります

sg.theme('default')
sg.theme('winnative')

Aupdate
Updateからupdateに修正が必要です

window["-msg-"].Update("Some Message")
window["-msg-"].update("Some Message")

Brefresh
Refreshからrefreshに修正が必要です
window.Refresh()
window.refresh()

Cvalue
テキストボックスのvalueはTkEasyGUIでは定義されていません。
下記のように第一引数に変更する必要があります。
window["-msg-"].(value='OK', text_color='#00F000')
window["-msg-"].('OK',text_color='#00F000')


Dvisible
見ないようにするvisible機能はTkEasyGUIでは定義されていません。
項目自体を削除するか、消したのと同じような処理に修正する必要があります。
visible=false
➡ないので削除する


互換性がないのは仕方ないことですが、ライブラリだけ移行するだけでは下記のように非常に分かりにくいエラーが発生するのみで原因を調べるのに苦労しました。上記のような修正をすることでTkEasyGUIに移行して同等の機能を確認することができました。


return self.tk.call(self._w, 'cget', '-' + key)
~~~~^~~~~
TypeError: can only concatenate str (not "int") to str

この他にも互換性がない部分について分かれば紹介してみたいと思います。
posted by Crescent at 00:00| Comment(0) | TrackBack(0) | ナレッジ | このブログの読者になる | 更新情報をチェックする

2024年05月25日

StepからSVGへの変換

メカ設計に限らず、電気設計でも部品やコネクタ等の3Dデータから2Dデータに変換してイメージ図を作成する機会があると思います。今回はStepファイルを2Dに落とし込む際にベクトルデータのままSVGファイルに変換する方法について紹介したいと思います。

今回はStepファイルからSVGファイルへの変換としてFreeCADを使用します。

@FreeCADを起動し、Stepファイルを開きます

freecad1.jpg


A必要に応じて2Dデータとして落とし込みたい向きにビューを変更します
数字の1~6を押すと向きを簡単に変更できます

freecad2.jpg

B続いて2Dデータに落とし込むために「TechDraw」をクリックします

freecad3.jpg

C「TechDraw」のデフォルトページ挿入のボタンを押します

freecad4.jpg

DStepファイルのオブジェクトをクリックして、ビュー挿入をクリックします

freecad5.jpg

EPageをクリックし、SVGエクスポートボタンを押してSVGファイルを保存します

freecad6.jpg

なお、デフォルトでは図面の枠や背景もSVGファイルとして出力されてしまいます。もし、それらを除く場合は下記のようにtemplateをクリックし、templateを変更します。例えば、「A4_Landscape_blank.svg」に変更すると図面の枠や背景なしで出力することが可能です。

また、3Dプリンタ出力用のSTLファイル等のソリッドになっていないファイルの場合はそのまま「TechDraw」で2D平面に落とし込むことができません。ソリッド変換してから2D平面に落とし込む必要があります。最初にBで「TechDraw」をクリックする前に「Part」をクリックし、「パート」内の「メッシュから形状を作成」をクリックします。その後、生成された形状ファイルをクリックし、「パート」内の「ソリッドに変換」をソリッドに変換してからBの「TechDraw」で2D平面に落とし込んでください。


生成したSVGファイルはInkscape等で編集することが可能です。FreeCADを使った便利な機能等も今後、紹介していきたいと思います。
posted by Crescent at 00:00| Comment(0) | TrackBack(0) | ナレッジ | このブログの読者になる | 更新情報をチェックする

2024年01月06日

LTspice NE555の場所

今年もよろしくお願いします。今回は覚書としてLTspiceでタイマIC、NE555のモデルの場所を紹介します。

Componentを選択後、「Misc」内にNE555があります。


NE555_1.png

Miscをクリックすると下記のリストに切り替わります。

NE555_2.png


以前からモデルが入っているはずなのに場所が分からず、活用できていませんでした。仕方なく、外部ファイルをインポートする方法で対応していましたが、Miscの中にあることが分かり、簡単にシミュレーションすることができました。横断的にモデルを検索、確認できるとより便利ですが・・・
posted by Crescent at 00:00| Comment(0) | TrackBack(0) | ナレッジ | このブログの読者になる | 更新情報をチェックする

2023年07月08日

Elecrow Partner Seller

今回は電子部品販売、PCBやPCBAサービス等を行っている深圳のElecrowの新しいサービス、Elecrow Partner Sellerについて少し紹介したいと思います。

Elecrow Partner Sellerでは自作基板等をElecrowのサイトで販売できるサービスで特にこれまでElecrowのPCBA等を利用している場合はPCBA後にそのままElecrowのサイトで自作の製品を販売することが可能です。日本ではお馴染みのスイッチサイエンスのマーケットプレイスやビットトレードワンのBTOマイプロダクトサービス等がありますが、すぐに海外前提で販売できるElecrow Partner Sellerは非常に魅力的です。

Elecrow Partner Sellerの特徴
・PCBAからそのまま販売できるため、製品を預けるための送料不要
・手数料は売上の5%
・月々の管理費や梱包費は無料
・グローバル前提で販売できる
・Paypal等で手数料を引いた売上を受け取り

他の委託販売同様に製品製造の初期投資は必要です。ただ、手数料が5%と非常に低く、輸送費用や梱包費用、管理費用が不要なのは非常に魅力的です。Elecrow Partner Sellerを始める前にElecrow側と契約書を交わす必要がありますが、そこまで煩雑なものではなく、契約後にElecrow Partner Sellerで売る製品のPCBA依頼、製品の説明や写真の登録等をElecrowのサイトから行います。


国内向けについては委託販売を複数製品で行っていますが、海外向けについては22年6月にスイッチサイエンスの海外販売が終了し、販売できない状況が続いていました。特にDigital MEMS Microphoneについては海外から購入したいという要望が多く、どのように提供するか検討していました。特にコロナ以降、海外郵送が混乱し、SAL便が利用できない等、以前よりも安く海外に電子部品を送ることが難しくなっています。

このような状況下でElecrow Partner Sellerサービスは委託販売の手段の1つとして非常に魅力的だと思い、早速、先日からDigital MEMS Microphoneの販売を開始してみました。海外向けには当ブログ含めて積極的な宣伝をしていないため、まだ販売数は微々たるものですが、今後に期待したいと思います。既に国内で委託販売等をしている方で海外問い合わせが多い製品がある方はぜひ、Elecrow Partner Sellerを選択肢の1つとして検討してみてください。
posted by Crescent at 00:00| Comment(0) | TrackBack(0) | ナレッジ | このブログの読者になる | 更新情報をチェックする

2023年04月22日

Win10セットアップ途中のオフラインアカウント作成方法

今回はWindows10セットアップ時にLANやWi-Fiを接続してしまった場合でも、途中からオフラインアカウントに切り替えて作成する方法を紹介したいと思います。マイクロソフトとしてはMicrosoftアカウントでWindows10を利用して欲しいようで、初期設定でネットワークやWi-Fiを接続した場合、強制的にMicrosoftアカウントでユーザを作成する画面となり、戻ってオフラインアカウント作成画面に戻すことができません。

このような場合に再度、OSをクリーンインストールし直してセットアップし直すという方法がありますが、なかなか時間もかかり、面倒です。また、諦めて、一旦、Microsoftアカウントでユーザを作成して後からオフラインアカウントを作成する方法もありますが、Microsoftアカウントのゴミデータが残るため、避けたいものです。


今回はLANやWi-Fiを接続してしまった場合でも、途中からオフラインアカウントに切り替えて作成する方法を紹介します。

@セットアップ途中(Microsoftアカウント作成画面等)でShift + F10 キーを押します。

Aコマンドプロンプトが表示され、下記のコマンドを打って、接続されたネットワークインターフェース名を確認します。
netsh interface show interface

Admin State State Type Interface Name
-------------------------------------------------------------------------
有効     接続  専用 Wi-Fi
有効     未接続 専用 イーサネット

B接続済のインタフェースを無効化します

 a. Wi-Fiで接続してしまった場合は
   netsh interface set interface "Wi-Fi" disable

 b. LANで接続してしまった場合は
   LANを抜くか下記のコマンドで無効化します
   netsh interface set interface "イーサネット" disable

Cコマンドでシャットダウンさせます。
shutdown -s -t 0

D再度、電源を入れて起動させるとまた、最初のネットワーク確認画面になります。LANやWi-Fi接続を選択せずに「インターネットに接続していません」や「オフライン アカウント」、「制限された設定で続行する」等をクリックして、オフラインアカウント作成に進んでください。


Eセットアップ後には無効化したネットワークを有効化してください。スタートボタンを押して、「cmd」と入力し、コマンドプロンプトを起動させます。コマンドプロンプトで下記を入力することで再度、有効化してください。
netsh interface set interface "Wi-Fi" enable
もしくは
netsh interface set interface "イーサネット" enable


今回はWindows10セットアップ時にLANやWi-Fiを接続してしまった場合でも、途中からオフラインアカウントに切り替えて作成する方法を紹介しました。Windowsはセットアップ途中でスタートボタンやデスクトップが表示できない場合であっても「Shift + F10 キー」でコマンドプロンプトを表示させることが可能です。今回はネットワークの無効化とシャットダウンに利用しましたが、その他には事前にドライバ等のファイルをUSBメモリ等からCドライブにコピーして入れておくことや、Wi-FiやLANのMACアドレスをPCセットアップ前に事前に調べる用途にも使用できます。Windows10セットアップ時に「Shift + F10 キー」でコマンドプロンプト表示は覚えておいて損はないPCのライフハックです。
posted by Crescent at 00:00| Comment(0) | TrackBack(0) | ナレッジ | このブログの読者になる | 更新情報をチェックする