SSブログ
Programing lang. (J) ブログトップ

Javaの書籍 [Programing lang. (J)]

「Altium Designer」では一部にJava Scriptが使えるようです。
Altiumのバージョンの違いで説明文によってはJscriptとなっている場合がありますが
Java準拠らしいです。

少し前に紹介したQRコードを発生するスクリプトがその言語だったので勉強したくなりました。
Pythonの書籍をこの半年-1年ぐらいで13冊ぐらい購入していたのでまた別の言語で購入するのに
気が引けました。

アマゾンで中古書籍で秀和システム定番のシリーズの「世界で一番簡単なJavaのe本」が50円
でした。
送料は300円ですが他の累積ポイント300円で相殺しておきました。
中古書籍は外れの場合もありますがこれは外観も中身も新品に近い状態でした。

記述手法はDelphiとC++の中間のような感じがしています。
Altiumの出来合いのスクリプトを修正するぐらいの作業しか予定がないのでこの内容で十分でした。


nice!(0)  コメント(0) 

ラッツネスト相当の図面 Part.5 [Programing lang. (J)]

こういったテキスト加工はEXCELマクロで処理するよりはPythonの方が向いていそうです。
以前、座標のCSVファイルからガーバーデータを作成した実績があるので
その部分をDRCレポートのテキストファイルにすればいいだけです。

しかし、まだPythonで本格的なテキスト加工はしたことがないのでこれからの宿題です。

Un-Routed Net Constraint: Net Net1002 Between ...X1,Y1座標...X2,Y2座標...
上記文字列から下記の5文字
Net1002,X1,Y1,X2,Y2

またはネット名なしの

X1,Y1,X2,Y2
にすればいいだけです。


nice!(0)  コメント(0) 

ガーバーデータの生成 [Programing lang. (J)]

「ガーバーデータの比較 Part.4」ではEXCELマクロでガーバーデータを作成していました。
https://sophil3.blog.ss-blog.jp/2020-12-10

ガーバーデータを作成するだけでEXCELを起動するのも場違いなので
同じ機能をPythonで処理するプログラムを作成しました。
ただ、CSVファイル名と配置、生成フォルダはプログラムで規定しています。

CSVの1行目は下記です。(二つのガーバーデータ比較時の相違点の座標)
44.26100, 56.47214

pythonの変換部分はこちらです。(fはファイル名です。)
f.write("X" + str(int(round(float(row [0]),1)*1000)) + "Y" + str(int(round(float(row[1]),1)*1000))+"D03*")

前列を浮動小数点型にしてRound関数で小数第1位で丸めて1000倍し、それを整数型にした後で文字列型に
同様に後列も処理し、それぞれXとYと末尾のD03*を足しています。

変換した上記座標に対応したガーバーデータはこちらです。
X44300Y56500D03*


nice!(0)  コメント(0) 

Tkinterの関連書籍 [Programing lang. (J)]

PythonでGUIのメニューフォームを作成したい場合は「Tkinter」を利用したりします。
しかし、いい書籍が見つかりません。
インターネット上の細切れの情報からだと変数名が違っているので一環して処理できません。
そこで下記のサイトが便利です。

http://51changxue.com/wp-content/uploads/2018/04/pythonguiprogrammingcookbook.pdf

閲覧だけではなく、ダウンロードが可能です。

別のGUIライブラリである「kivy」はこちらからダウンロード可能ですが、このライブラリはまだ
使用したことがありません。

https://buildmedia.readthedocs.org/media/pdf/kivy/latest/kivy.pdf


nice!(0)  コメント(0) 

Pythonのメニューフォーム [Programing lang. (J)]

PDF編集してしまうとアプリケーション部分が欠落することがあります。
それのアプリの項目を追加するという、下記の記事の追加です。

「PDF書類のプロパティ」
https://sophil3.blog.ss-blog.jp/2020-11-26

複数のアプリから選択する必要があるのでプログラムを編集するのでは間に合わず
チェックボタンから選択する必要があります。
定番の「tkinter」ですがVBなどのメニューに似せて作成しました。
しかし、作成方法はVBなどのドラッグではなくて座標を指定したりするので面倒でした。
アプリは個別ではなくて連続して記載しています。

Python_Menu5.png

続きを読む


nice!(0)  コメント(0) 

PDF書類の編集 [Programing lang. (J)]

以前にも記事で触れましたがダウンロードしたデバイスのPDF書類ですが色々な情報が混在していて
後から見ると勘違いする場合があります。
そこで必要なページだけに編集しています。(編集ミスも逆に怖い場合もあります。)

元になるPDF書類は編集可能なものに限りますがそれをPypdf2で処理しています。
(鍵付きはNGなので事前に解除してください。)

Acrobatでも編集可能ですが削除ミスがあるので元ファイルをコピーしてそれからページを
削除して保存します。
しかし、必要なページは数ページなので、必要なページだけを指定して抽出する方が便利です。

続きを読む


nice!(0)  コメント(0) 

Python関連の書籍 [Programing lang. (J)]

言語自体は比較的簡単なのですが、実際に利用するような勉強の仕方で悩みます。
その中でこちらの「PythonでExcel、メール、Webを自動化する本」が初心者には有用です。

具体的には、準備編のライブラリのインストール方法、EXCEL資料の操作の仕方、他のライブラリの
説明などです。
但し、VBAが理解できているぐらいのレベルが必要です。

Pythonは、色々なことができますがまず何をしたいかで購入する書籍が大幅に違ってきます。
私自身も外れの書籍が何冊かありました。

nice!(0)  コメント(0) 

EXCELのPDFでの保存 [Programing lang. (J)]

EXCELで作成したシートはアクロバットまたは「Microsoft Print to PDF」でPDF化して
いました。
しかし、VBAで処理する場合をチェックしていたら*.PDFで保存する選択肢が元々存在していました。
「ExportAsFixdFormat」があるのならPDF化もできるのにと思っていた矢先でした。

EXCELはマクロ作成以外は殆ど使用しないので、まだまだ知らないことが多いです。
ちなみに「ExportAsFixdFormat」はVBAでプログラミングする予定もありますが
それよりはPythonから使用した方が面白そうです。

pythonを使用してEXCELでの処理を楽にするという書籍を見かけ、2冊も購入したので
勉強中です。
テキスト加工はAWK、秀丸エディタ以外に、慣れるとPythonの方が楽かもしれません。


nice!(0)  コメント(0) 

PDF Extract [Programing lang. (J)]

PDF化された回路図などからテキストを抽出する下記のサイトは「PDF Extract」という技術で
作成されています。
https://www.pdf-online.com/osa/extract.aspx

そのサイトはこちらです。
https://www.pdf-tools.trustss.co.jp/expovv.html

コマンドライン(Shell)のタイプの試供版を試してみました。
DOS窓で動作させます。
テキストの座標の精度はオンラインのものよりも良好です。
保存するテキストファイル名も指定可能です。
ただ、見積もり価格は10万円以上でした。


nice!(0)  コメント(0) 

RPAのすすめ [Programing lang. (J)]

ホワイトカラーのEXCELなどの業務をより効率化するものが「RPAツール」です。
VBAもその一つといってもいいでしょう。
ただ、「RPAツール」は高速処理できるようです。
EXCELだけでなくWEBアプリケーションからデータを収集するなどの作業もある場合は
RPAツール」の方が有利です。

基板設計関連でVBA処理する作業も各種のマクロを作成済みなので次の段階として
RPAツール」を検討しています。

今後、Pythonで自作する予定です。
こちらの書籍を参考にしています。
https://www.nikkeibp.co.jp/atclpubmkt/book/19/P95930/


nice!(0)  コメント(0) 

プログラミングの楽しさ [Programing lang. (J)]

EXCELマクロやAltiumのDelphiスクリプトを作成するのは慣れないとかなり面倒です。
しかし、いざ完成すると早く実際のパターン設計で使いたくて堪らなくなります。

例えると、気に入った洋服を購入したら、早く着て披露したくて堪らなくなってしまい、結局
部屋で着てしまうのと一緒だと感じます。

これまでに設計した資料でスクリプトなどを動作させても、それはバグ取りにはなりますが
現場での利用ではないのでテンションは少し下がります。
難しいかまたは面倒な機種で動作させて上手くいくと、プログラミング時の苦労が報われ
また、トライしたくなります。これの繰り返しのように思います。

こういった考え方は改善作業でもあるのでサラリーマン的な作業に慣れている方には
理解しにくいかもしれません。


nice!(0)  コメント(0) 

e本シリーズのPython [Programing lang. (J)]

e本シリーズはVBAからお世話になり関連書籍は何冊か購入しています。

これはではこのシリーズに「Python」は無かった筈ですが書店で「Python*e本」を
見つけたので購入しました。

「Python」でこれまでも何かをしたいわけでもなかったのでインターネットで
関連情報を見つけて読んでいたぐらいです。
断片的に勉強していたのですがこの本をさらっと眺めた限りでは、他のシリーズと一緒で
非常にわかりやすい記述でした。

nice!(0)  コメント(0) 

Pythonの勉強 [Programing lang. (J)]

Rubyの勉強をしている途中ですがもうPythonに浮気をしています。

GoogleではC++、Python、Java以外の言語を使う場合は特別に許可が必要らしく
YouTubeやInstagram、Dropbox等といったジャンルでも使われています。

他の言語に比べて構文がシンプルで誰がコードを書いても同じ書き方になりやすく他の人が書いた
ものも読み易いようで、公式ドキュメント、標準ライブラリもかなり充実しています。
特に興味のある機械学習、人工知能分野、計算系の研究に適したライブラリが多いというのは
嬉しいです。

Python2系と3系があって互換性がない変更が入れられているのが注意点らしいです。



nice!(0)  コメント(0) 

Perl言語入門 [Programing lang. (J)]

秀丸エディタのマクロ関連書籍を読んでいて、ふとPerl言語が気になって定価の約1/3だったので
中古書籍を取り寄せました。

「AWK」から急に「Ruby」の勉強に入ったのでその前に「Perl」を覚えるのもいいのではないかという
考えが前からずっとあったからです。
また、この本には「正規表現」についても深く触れていたということもあります。

プログラマーなら色々な言語を知っているのは当然なのでしょうが、そういうジャンルの仕事では
ないので単なるユーティリティを作りたいだけの人間にはハードルが高いです。

ざっと読んだ限りは「Perl」は秀丸エディタのマクロと「Delphi」の中間ぐらいの内容のように
思えました。

今さらPerlでCGIを作りたい訳ではないので単なる参考書として読もうと思います。


nice!(0)  コメント(0) 

電気関連の中古書籍 [Programing lang. (J)]

電気やパソコン関連の書籍も進歩が激しいので少し経つとすぐに書籍が入手できなくなります。
これまでに「Delphi」関連書籍では中古書籍に頼らざるを得ませんでした。

アマゾンではこのジャンルに関しては定価の3倍程度が相場のようですが、しかしそれほど
高額なのに3冊の中で使える内容は1冊ぐらいでした。

「秀丸エディタ」のマクロをインターネットの情報だけで考えるのには無理があったので
秀丸マクロ ポケットリファレンス」を注文しました。

すでに手元に届いていますが、B6程度のポケットサイズなので見やすいのですが
やはりその小型さから購入価格との差を余計に感じてしまいました。

プログラムに慣れていればある程度は類推もできるのでしょうが、初心者なので仕方ないです。
プログラマー35歳定年説があるようですが、定年間近からプログラムを始めたものには
辛い説ですね。


nice!(0)  コメント(0) 

Ruby関連書籍 [Programing lang. (J)]

これまでにRubyの書籍を5冊以上購入しましたが、その中でよかったものを記載しておきます。
番号はその読む順序です。
1.は一番わかりやすくて初心者向けです。

1.「たった2日でできるRuby

2.「たのしいRuby

3.「Ruby逆引きハンドブック

続きを読む


nice!(0)  コメント(0) 

Rubyの勉強 [Programing lang. (J)]

EXCELマクロやDelphiスクリプトでもできないことがあります。
それを解消するためにRubyの勉強をしています。

例えば、ネットリストでネット名が-abcなどという場合です。
-5Vであれば問題はないのですが-abcではハイフンがマイナスと解釈されてアルファベットの
引き算をさせることになり、EXCELのマクロでは読み込み途中でエラーとなります。

テキストエディタで事前に置換する必要がありますがやや面倒です。
定型な置換なのでテキスト加工ツールの方が有利でしょう。

続きを読む


nice!(0)  コメント(0) 

RUBY、XML [Programing lang. (J)]

Rubyに関しては大雑把に言えばAWKとVBAの中間ぐらいの言語のように感じています。
Pythonについても調べてみましたが自分としてはRubyの方が好きです。
EXCELのマクロで思い当たるものは大体作り終えました。
Rubyでつくるスクリプトが面白そうですが「Altium Designe」rに利用できるか不明です。

クエリーの関係でXMLについても調べてみました。
Xクエリーに関してはアルティウムのクエリーとは全然違います。

続きを読む


nice!(0)  コメント(0) 

テキスト加工ソフトウェア [Programing lang. (J)]

CADなどの業務をしているとテキストエディターではできない加工もあるので
別のソフトウェアが必要になります。

今まで、そういう場合はAWKに頼っていましたし、それで十分でした。
これ以外に「Perl」というものもありますが使ったことはありません。
他に「Ruby」という国産のものもあります。

特に何かスクリプトを作りたい訳ではないのですが、勉強の為に「Ruby」について
書籍にて勉強を開始しました。

続きを読む


nice!(0)  コメント(0) 

秀和システムのe本シリーズ [Programing lang. (J)]

アマゾンのこちらを見てもわかるように秀和システムのこのシリーズは読みやすい
ものが多いです。
この中で下記のものを購入して基板設計関連のスキルアップに使っています。
ExcelVBAのe本

SQLのe本

続きを読む


nice!(0)  コメント(0) 
Programing lang. (J) ブログトップ