大変お世話になっております。
SendNCDのソースファイルをVisualStudio 2022 でビルドする事が出来ました。SendNCD.dll ファイルが出来ました。これをNCVCに組み込むには、
SDKマニュアルを参照するのだと思うのですが、これは一般的なもので
しょうか? どこを参照すれば良いかお教え願えないでしょうか?
通報 ...
大変お世話になっております。
SendNCDのソースファイルをVisualStudio 2022 でビルドする事が出来ました。SendNCD.dll ファイルが出来ました。これをNCVCに組み込むには、
SDKマニュアルを参照するのだと思うのですが、これは一般的なもので
しょうか? どこを参照すれば良いかお教え願えないでしょうか?
こんにちは.
マニュアルはありません.ご質問があれば都度答えるスタイルを想定しておりましたが,それはあくまでも『DLLプログラミングの知識を有すること』を前提としています.
失礼ながら「NCVCに組み込むには」のワードから『必要な知識はこれから』と推察されます.
(間違っていたらごめんなさい)
前回もそういう風に感じたので,プログラミング的なハナシは一切しませんでした.
(tsp159.csvもSolveTSPの中にありましたね.すっかり忘れていました^^;)
だからダメではないですよ.誤解のないように.
むしろそのチャレンジ精神を高く評価したいと思います.ありがとうございます.
著書:いまからはじめるNC工作 第2版 p.229~の要点を一部掲載します.
・DLL(Dynamic Link Library:動的リンクライブラリ)とは,実行時にリンクされるもの
(対義語が Static Library:静的ライブラリ,ビルド時にリンクされるもの)
・NCVCアドインはDLL形式で提供され,本体の機能を内部から拡張できる仕組みを提供
・NCVC起動時,NCVC.EXE(NCVCの実行ファイル)と同じフォルダの *.DLL を検索し,NCVC_Initialize()関数のアドレスを取得.取得できなければNCVCアドインではないと判断.本体ソース NCVC.cpp の CNCVCApp::NCVCAddinInit() を参照.
・取得できればその関数を呼ぶ.アドイン側はその関数で所定の値を設定すれば,必要な時に本体から呼ばれる.SendNCDだとSendNCD.cppの194行目参照.
とりあえず「NCVCに組み込むには」の答えは以上になります.
何がしたくて
なのか,もう少し具体的に書いていただいた方が,的確なアドバイスができると思いますよ.
単純にプログラミングの勉強でもぜんぜんいいんですけど,目標を明確にする方が上達も早いと思います.
お世話になります。
お教え、またアドバイスいただきありがとうございます。
実は、NCコードのシュミレーションを作成したく思っております。
NCVCでのシュミレーションもあるのですが、出来れば自社にあります工作機械
にフィットした(その機械ごとの特有なモードに対応する)シュミレーションを
作成できたらなあ、と思っております。それを実現するには、それらのモード内容の中身も知らないとだめだとも思ういますが。この様なシュミレーションの
アドインを作成できればと思っております。実現は不可能に近いのかもしれませんが? 少しやって見たいです。
FY
こんにちは.
たとえばオークマさんのCNCとかこれまでもちょこちょこ要望はありましたが,こちらで確認できない(現物がない)のでお断りしていた次第です.まさかアドインを作ろうという猛者が現れるとは😄
理論的には可能だと思いますが,相当のスキルがないと現実的には難しいと思いますよ.
そもそもアドインの発想は,まだNCVCのソースがクローズのときに生まれたもの.
いまはオープンになっているので,機能拡張したければ中身を直接いぢれます.
ただしこれも 82,000行超のC++ソースコードを追えるスキルがあってのことですけどね.
(的さえ絞れれば82,000行全体を見なくてもよいですが)
それよりもまずは『変換スクリプトからチャレンジしてみる』というのはいかがですか?
問題は『NCVCが対応していないGコードをシミュレーションしたい』ということだと思うので,それを変換するだけなら PerlやPythonなどで簡単に組めると思いますよ.
まだ具体的なことがわからないので,勝手なことを言っているだけですけど.
ポイントはここ.詳細お待ちしております.
アドバイス、ありがとうございます。
おしゃる通りだと思いました。特殊なGコードを展開するプログラムの作成
から、やって見ようと思います。それにはスクリプト言語Pythonを使用して
みようと思います。いつになるか分かりませんが、何か成果が出ましたら
書き込みさせてください。