NCVCサポート掲示板(仮)

SDKマニュアル

4 コメント
views
0 フォロー

大変お世話になっております。
SendNCDのソースファイルをVisualStudio 2022 でビルドする事が出来ました。SendNCD.dll ファイルが出来ました。これをNCVCに組み込むには、
SDKマニュアルを参照するのだと思うのですが、これは一般的なもので
しょうか? どこを参照すれば良いかお教え願えないでしょうか?

FY
作成: 2023/11/16 (木) 16:51:08
通報 ...
1
まがら 2023/11/17 (金) 13:40:41 修正

こんにちは.

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に組み込むには」の答えは以上になります.

何がしたくて

アドインソフトの作成にトライしたく思い

なのか,もう少し具体的に書いていただいた方が,的確なアドバイスができると思いますよ.
単純にプログラミングの勉強でもぜんぜんいいんですけど,目標を明確にする方が上達も早いと思います.

2

お世話になります。
お教え、またアドバイスいただきありがとうございます。
実は、NCコードのシュミレーションを作成したく思っております。
NCVCでのシュミレーションもあるのですが、出来れば自社にあります工作機械
にフィットした(その機械ごとの特有なモードに対応する)シュミレーションを
作成できたらなあ、と思っております。それを実現するには、それらのモード内容の中身も知らないとだめだとも思ういますが。この様なシュミレーションの
アドインを作成できればと思っております。実現は不可能に近いのかもしれませんが? 少しやって見たいです。
FY

3
まがら 2023/11/20 (月) 09:50:53 >> 2

こんにちは.

出来れば自社にあります工作機械にフィットした

たとえばオークマさんのCNCとかこれまでもちょこちょこ要望はありましたが,こちらで確認できない(現物がない)のでお断りしていた次第です.まさかアドインを作ろうという猛者が現れるとは😄
理論的には可能だと思いますが,相当のスキルがないと現実的には難しいと思いますよ.

そもそもアドインの発想は,まだNCVCのソースがクローズのときに生まれたもの.
いまはオープンになっているので,機能拡張したければ中身を直接いぢれます.
ただしこれも 82,000行超のC++ソースコードを追えるスキルがあってのことですけどね.
(的さえ絞れれば82,000行全体を見なくてもよいですが)

それよりもまずは『変換スクリプトからチャレンジしてみる』というのはいかがですか?
問題は『NCVCが対応していないGコードをシミュレーションしたい』ということだと思うので,それを変換するだけなら PerlやPythonなどで簡単に組めると思いますよ.
まだ具体的なことがわからないので,勝手なことを言っているだけですけど.

(その機械ごとの特有なモードに対応する)シュミレーションを作成できたらなあ

ポイントはここ.詳細お待ちしております.

4

アドバイス、ありがとうございます。
おしゃる通りだと思いました。特殊なGコードを展開するプログラムの作成
から、やって見ようと思います。それにはスクリプト言語Pythonを使用して
みようと思います。いつになるか分かりませんが、何か成果が出ましたら
書き込みさせてください。