読者です 読者をやめる 読者になる 読者になる

C#ATIA

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

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

PowerMillは、ツールパス・バウンダリの計算はGUIが操作出来なくなる
以来からあるバッチ処理と、バックグランドで行うバッチ処理の二つの
方法があるのですが、何となく体感的にバックグランドの処理が
遅いように感じてます。

同一処理での時間測定を異なるバッチ処理方法で測定したかったの
ですが、バックグランド処理の時間測定方法がわからず・・・。
(知っている方教えて頂けると助かります)

Windowsに標準で入っているパフォーマンスモニターでCPUの負荷を確認して
みると・・・ バックグランドは1.5~2倍ぐらいの処理時間がかかってます。



又、以前見つけた(マニュアルにも記載有り)グラフィックスのロックですが、
どれ程の効果があるものか試す為、こんなマクロを作ってみました。

function main() {
	DIALOGS MESSAGE OFF
	DIALOGS ERROR OFF
	ECHO OFF DCPDEBUG UNTRACE COMMAND ACCEPT
	
	call ResetToolpath()
	graphics unlock
	print = "-- basic batch graphics_unlock --"
	call Sw_Start()
	BATCH PROCESS
	call Sw_GetTime()
	
	call ResetToolpath()
	graphics lock
	print = "-- basic batch graphics_lock --"
	call Sw_Start()
	BATCH PROCESS
	call Sw_GetTime()
	graphics unlock
	
	DIALOGS MESSAGE ON
	DIALOGS ERROR ON
	ECHO ON DCPDEBUG TRACE COMMAND ACCEPT	
}

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

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

function ResetToolpath() {
	INVALIDATE TOOLPATH ALL
	Yes
	INVALIDATE BOUNDARY ALL
	Yes
}

既存のプロジェクトのツールパス・バウンダリを全て無効化し、
再度全てをバッチ処理させるだけのものです。

結果は・・・殆ど変わらないw