C#ATIA

↑タイトル詐欺 主にCATIA V5 の VBA

未計算ツールパスをまとめてバッチ処理する

何となく方向性が定まらないのですが、これは使って行きそうなので
公開しておきます。

こちらの自作プルダウンリストのライブラリを利用し、選択された未計算ツールパスを
バッチ処理させるマクロです。 その為こちらが必要です。
"group" フォルダは犠牲にした、プルダウンリストライブラリ - C#ATIA

//pm2017 macro
//ツールパスバッチ ver0.0.2
//using downmenu.inc

function main() {
	//未計算ツールパス取得
	string filter = 'Computed == 0 and Batch == 1'
	string list paths =  extract(filter(folder('toolpath'), filter), 'name') 
	if is_empty(paths)  {
		message wran  '未計算ツールパスが見つかりませんでした'
		macro abort
	}		
	//ユーザー選択
	string msg = '計算するツールパスを選択してください'
	call Exec_DownMenu($paths, $msg, 1, $paths) 
	
	//バッチタイプ選択
	bool cal_type = 0
	$cal_type = QUERY 'バックグランド処理で行いますか?'

	//バッチ処理
	call Msgoff()
	call Sw_Start()
	foreach path in $paths {
		if $cal_type {
			TOOLPATH $path QUEUE
		} else {
			ACTIVATE TOOLPATH  $path
			TOOLPATH $path CALCULATE
		}
	}
	call Msgon()
	call Sw_GetTime()
	//終了
	message info  'Done'	
}

function Msgoff() {
	graphics lock
	dialogs message off
	dialogs error off
}

function Msgon() {
	graphics unlock
	dialogs message on
	dialogs error on
}

function Sw_Start() {
	CLOCK RESET QUIT
	CLOCK ON QUIT	
}

function Sw_GetTime() {
	CLOCK OFF QUIT
	CLOCK PRINT QUIT
}

include downmenu.inc

開発時に利用したかった為、実行時間をコマンドエコーに表示させていますが
特に悪さをするわけでない為、そのままにしておきます。

実際に実行した感じはこちらです。

動画時間の都合上、1個づつしか試していませんが、
実際は複数選択可能です。

バックグランド処理が遅いので、選択してしては無かったのですが
利用したいときも有ったので選択可能にしてみました。



あぁそうだ、このマクロとは無関係なお話です。
何時も、AutodeskさんのScreencastを利用して動画を作っている
のですが、Screencastはアクティブなソフトのみをキャプチャしてくれます。
操作性が落ちるのですが、出来るだけウィンドウを小さくして
記録した方が、何の操作を行っているのか? が、わかりやすいため
そのようにしています。(他の方もそうして欲しい・・・)

実は、以前YoutubeでCATIAのTips動画を100本ぐらいUpしていた方が
そのようにしており、非常に見やすかったのでそのように
心掛けています。(それらの動画はもう無いです)