C#ATIA

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

バウンダリのまとめて変更する

以前、工具のコンテキストメニューから交換可能なツールパスを
リストアップし、複数の任意のツールパスの工具を変更出来るように
するマクロを作りました。
工具コンテキストメニューから工具変更2 - C#ATIA
想像以上に効率が良く、頻繁に使用しています。

最近になり、バウンダリの作り方のコツがわかってきた(日々勉強)
のですが、ツールパスにバウンダリを割り当てるのが面倒に
なってきました。 そこで工具変更に類似したバウンダリ変更マクロ
を作成しました。

//pm2020 macro
//ReplaceBoundary.mac ver0.0.1
//バウンダリ変更
//---------------------------------------------------------------------------------------------------
//<?xml version="1.0" ?>
//<menupage>
//   <button label="バウンダリ変更" command='MACRO Boundary\ReplaceBoundary.mac "%s"'/>
//</menupage>
//---------------------------------------------------------------------------------------------------
//ver0.0.1-完成
//---------------------------------------------------------------------------------------------------

function main(string boundaryname) {

	//交換可能リスト	計算済み・同一バウンダリ除外
	string filter = 'Computed == 0 and Batch == 1'
	$filter = $filter + 'and boundary.name != "' + boundaryname +'"'
	string list paths =  extract(filter(folder('toolpath'), filter), 'name') 
	
	if is_empty($paths) {
		message error  '変更可能なツールパスがありません!!'
		return
	}
	
	//ユーザー確認
	string msg = '[' + $boundaryname + ']' + 'にバウンダリを変更するツールパスを選択してください'
	call Exec_DownMenu($paths, $msg, 1, $paths)
	
	//工具交換
	call Replace_Boundary($boundaryname, $paths)
	
	//終了
	message info  'Done'
}

//バウンダリ変更
function Replace_Boundary(string bou, string list Lst) {
	foreach path in $Lst {
		ACTIVATE TOOLPATH $path
		ACTIVATE BOUNDARY $bou
		EDIT TOOLPATH $path REAPPLYFROMGUI
	}
}

include downmenu.inc

やっぱり、PowerMillはバウンダリの作り方・使い方で腕の差が出る!!