C#ATIA

↑タイトル詐欺 主にFusion360API 偶にCATIA V5 VBA(絶賛ネタ切れ中)

ツールパスバッチ処理 時間測定2

こちらの続きです。
ツールパスバッチ処理 時間測定 - C#ATIA

”処理が高速になったよ” と言う事で、PowerMill2020と2019のツールパスの
計算時間の違いを測定する為に、以前の物を変更しました。

//pm2019 macro
//Toolpath_Batch_Time.mac ver0.0.2
//using downmenu.inc
//選択してのツールパスの計算・バッチ処理時間の測定
//---------------------------------------------------------------------------------------------------
//ver0.0.1-完成
//ver0.0.2-1本づつ測定に変更
//---------------------------------------------------------------------------------------------------

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) 
	
	//確認
	$msg = join($paths, crlf ) + crlf 
	$msg = $msg + 'の計算し時間を測定します 宜しいですか?'
	
	bool yn  = 0
	$yn = QUERY $msg
	if not $yn {
		macro abort
	}
	
	//計算
	call ExecCalc($paths) 
	
	//終了
	message info  'Done'	
}

function ExecCalc(string list paths) {
	int all = size($paths)
	int cnt = 0
	string t = ''
	
	call ShowInfobox('*** ツールパス計算 ***') 
	foreach path in $paths {
		call Sw_Start()
		
		$cnt = $cnt + 1
		call PushInfobox($path + ' : 計算中(' + cnt + '/' + all + ')')
		call Msgoff()
		ACTIVATE TOOLPATH  $path
		TOOLPATH $path CALCULATE
		call Msgon()
		call Sw_GetTime($t) 
		call PushInfobox('--time:' + $t + crlf)
	}
}

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

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

function ShowInfobox(string msg) {
	INFOBOX NEW $msg
	INFOBOX STYLE "NORMAL"
}

function PushInfobox(string msg) {
	INFOBOX APPEND  $msg
}

//測定スタート
function Sw_Start() {
	CLOCK RESET QUIT
	CLOCK ON QUIT	
}

//時間表示
function Sw_GetTime(output string out) {
	string $TraceFilePath = macro_path(false) + "\clock.txt"
	string list txts = {}
	ECHO OFF DCPDEBUG UNTRACE COMMAND ACCEPT
	TRACEFILE OPEN $TraceFilePath
	CLOCK OFF QUIT
	CLOCK PRINT QUIT
	TRACEFILE CLOSE
	ECHO ON DCPDEBUG TRACE COMMAND ACCEPT
	
	FILE OPEN $TraceFilePath FOR READ AS Input
	FILE READ $txts FROM Input
	FILE CLOSE Input
	DELETE FILE $TraceFilePath

	$out = $txts[0]
}

include downmenu.inc

テストするモデルは、業務で使用したもののため割愛。

・vh - 急傾斜/低傾斜仕上げ
・re_vh - 削り残しバウンダリ + 急傾斜/低傾斜仕上げ
・re - コーナー仕上げ

まずは、「ホルダープロファイル計算」なしです。
f:id:kandennti:20190530153604p:plain

PMill2019
f:id:kandennti:20190530152014p:plain

PMill2020
f:id:kandennti:20190530152035p:plain

確かに20~40%ぐらい速くなっています。


続いて、「ホルダープロファイル計算」ありです。
フォーラムの何処かに、このチェックを入れていると2019の方が速い
と言う書き込みを見かけたので、試してみます。
(個人的には使用している機能です)

PMill2019
f:id:kandennti:20190530154111p:plain

PMill2020
f:id:kandennti:20190530153656p:plain

ん?2020の方が速いじゃない。 UpDateが出たら移行しよう。