<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Tips &amp;amp; Tricks in PowerMill Forum</title>
    <link>https://forums.autodesk.com/t5/powermill-forum/tips-amp-tricks/m-p/8002929#M32243</link>
    <description>&lt;P&gt;Good Morning,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Could the exported stockmodel file be directed to a specific/different folder? Could there be a choice for the user at the time of export?&lt;/P&gt;</description>
    <pubDate>Tue, 15 May 2018 12:51:27 GMT</pubDate>
    <dc:creator>Beta_Librae</dc:creator>
    <dc:date>2018-05-15T12:51:27Z</dc:date>
    <item>
      <title>Tips &amp; Tricks</title>
      <link>https://forums.autodesk.com/t5/powermill-forum/tips-amp-tricks/m-p/6519558#M32179</link>
      <description>&lt;P&gt;Hi all!&lt;/P&gt;&lt;P&gt;I thought it would be a good idea to post some tips and tricks for certain actions. Some of you will know them, other don't.&lt;BR /&gt;Please post&amp;nbsp;as much tips &amp;amp; tricks as you want. Here are mine:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;Since it is not possible to export the stockmodel as a dmt file, I save the viewmill state as dmt and use that as a block.&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;If you need a selection of your model and want to save this selection, use this macro:&lt;BR /&gt;&lt;BR /&gt;CREATE LEVEL ; MODELCOMPSET
EDIT LEVEL # ACQUIRE SELECTED&lt;/PRE&gt;&lt;P&gt;Greetings,&lt;/P&gt;&lt;P&gt;Glenn&lt;/P&gt;</description>
      <pubDate>Wed, 24 Aug 2016 11:14:48 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/powermill-forum/tips-amp-tricks/m-p/6519558#M32179</guid>
      <dc:creator>GlennM.MCAM</dc:creator>
      <dc:date>2016-08-24T11:14:48Z</dc:date>
    </item>
    <item>
      <title>Re: Tips &amp; Tricks</title>
      <link>https://forums.autodesk.com/t5/powermill-forum/tips-amp-tricks/m-p/6519598#M32180</link>
      <description>&lt;PRE&gt;//save stockmodel as STL, load as 3d block
STRING stkmd = ""
IF NOT ENTITY_EXISTS('stockmodel','') {
	IF size(FOLDER('stockmodel')) == 0 {
		MESSAGE INFO "There is no stockmodel in the project.."
		MACRO ABORT
	} ELSEIF size(FOLDER('stockmodel')) == 1 {
		$stkmd = (FOLDER('model')[0]).Name
		ACTIVATE STOCKMODEL $stkmd
	} ELSE {
		//there are more stockmodels
		$stkmd = INPUT ENTITY STOCKMODEL "Select stockmodel:"
		ACTIVATE STOCKMODEL $stkmd
	}
} ELSE {
	$stkmd = $ENTITY('stockmodel','').Name
}
STRING stlfile = project_pathname(0) + "_" + $stkmd + ".stl"
EXPORT STOCKMODEL_SHADING ; $stlfile
EDIT BLOCK COORDINATE WORLD
EDIT BLOCKTYPE TRIANGLES
GET BLOCK $stlfile
BLOCK ACCEPT
UNDRAW StockModel $stkmd&lt;/PRE&gt;</description>
      <pubDate>Wed, 24 Aug 2016 11:28:46 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/powermill-forum/tips-amp-tricks/m-p/6519598#M32180</guid>
      <dc:creator>kukelyk</dc:creator>
      <dc:date>2016-08-24T11:28:46Z</dc:date>
    </item>
    <item>
      <title>Re: Tips &amp; Tricks</title>
      <link>https://forums.autodesk.com/t5/powermill-forum/tips-amp-tricks/m-p/6519641#M32181</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/3959841"&gt;@kukelyk&lt;/a&gt; wrote:&lt;BR /&gt;&lt;PRE&gt;//save stockmodel as STL, load as 3d block
STRING stkmd = ""
IF NOT ENTITY_EXISTS('stockmodel','') {
	IF size(FOLDER('stockmodel')) == 0 {
		MESSAGE INFO "There is no stockmodel in the project.."
		MACRO ABORT
	} ELSEIF size(FOLDER('stockmodel')) == 1 {
		$stkmd = (FOLDER('model')[0]).Name
		ACTIVATE STOCKMODEL $stkmd
	} ELSE {
		//there are more stockmodels
		$stkmd = INPUT ENTITY STOCKMODEL "Select stockmodel:"
		ACTIVATE STOCKMODEL $stkmd
	}
} ELSE {
	$stkmd = $ENTITY('stockmodel','').Name
}
STRING stlfile = project_pathname(0) + "_" + $stkmd + ".stl"
EXPORT STOCKMODEL_SHADING ; $stlfile
EDIT BLOCK COORDINATE WORLD
EDIT BLOCKTYPE TRIANGLES
GET BLOCK $stlfile
BLOCK ACCEPT
UNDRAW StockModel $stkmd&lt;/PRE&gt;&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;Triangulation of the stockmodel takes a very long time. The model I am working with now will take an hour to triangulate&amp;nbsp;&lt;img id="smileysad" class="emoticon emoticon-smileysad" src="https://forums.autodesk.com/i/smilies/16x16_smiley-sad.png" alt="Smiley Sad" title="Smiley Sad" /&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 24 Aug 2016 11:39:41 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/powermill-forum/tips-amp-tricks/m-p/6519641#M32181</guid>
      <dc:creator>GlennM.MCAM</dc:creator>
      <dc:date>2016-08-24T11:39:41Z</dc:date>
    </item>
    <item>
      <title>Re: Tips &amp; Tricks</title>
      <link>https://forums.autodesk.com/t5/powermill-forum/tips-amp-tricks/m-p/6519685#M32182</link>
      <description>&lt;P&gt;Viewmill simulation takes more time, I think..&lt;/P&gt;</description>
      <pubDate>Wed, 24 Aug 2016 12:00:57 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/powermill-forum/tips-amp-tricks/m-p/6519685#M32182</guid>
      <dc:creator>kukelyk</dc:creator>
      <dc:date>2016-08-24T12:00:57Z</dc:date>
    </item>
    <item>
      <title>Re: Tips &amp; Tricks</title>
      <link>https://forums.autodesk.com/t5/powermill-forum/tips-amp-tricks/m-p/6519798#M32183</link>
      <description>&lt;P&gt;I hope this topic gets a lot&amp;nbsp; more replies than the old forum page especially from delcam/autodesk&amp;nbsp;staff&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here's my 2 cents... trimming macro that lets you create, edit, transform more than 1 trimming boundary. A lot&amp;nbsp;more powerful than the current default one&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;CREATE BOUNDARY ; SKETCH 
EDIT BOUNDARY ; CURVEEDITOR START
CURVEEDITOR MODE LINE_MULTI&lt;/PRE&gt;&lt;P&gt;then another one to decide to keep inside or outside&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;CURVEEDITOR FINISH ACCEPT

BOOL $side = 0
$side = query "Do you want to Keep Inside?"


EDIT TOOLPATH LIMIT BOUNDARY
EDIT TOOLPATH LIMIT BOUNDARYNAME ;
EDIT TOOLPATH LIMIT BOUNDPLANEOPTIONS VIEW_PLANE
EDIT TOOLPATH LIMIT DELETE N
IF $side {
  EDIT TOOLPATH LIMIT KEEP INNER
} ELSE {
  EDIT TOOLPATH LIMIT KEEP OUTER
}
PROCESS TPLIMIT
DELETE BOUNDARY ;

&lt;/PRE&gt;&lt;P&gt;Wish there was a way to have both macros run as one but as far as I know there isn't&lt;/P&gt;</description>
      <pubDate>Wed, 24 Aug 2016 12:44:36 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/powermill-forum/tips-amp-tricks/m-p/6519798#M32183</guid>
      <dc:creator>iamcdn79</dc:creator>
      <dc:date>2016-08-24T12:44:36Z</dc:date>
    </item>
    <item>
      <title>Re: Tips &amp; Tricks</title>
      <link>https://forums.autodesk.com/t5/powermill-forum/tips-amp-tricks/m-p/6521725#M32184</link>
      <description>&lt;PRE&gt;//Create plane from block, on the height of a selected point
REAL Z= 9898
$EdgeBreakWidth = $Z
WHILE $Z == 9898 {
	MODE OBTAIN ZHEIGHT 'EdgeBreakWidth'
	$Z = $EdgeBreakWidth
}
MODE CANCEL
CREATE PLANE ; $Z&lt;/PRE&gt;</description>
      <pubDate>Thu, 25 Aug 2016 06:36:07 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/powermill-forum/tips-amp-tricks/m-p/6521725#M32184</guid>
      <dc:creator>kukelyk</dc:creator>
      <dc:date>2016-08-25T06:36:07Z</dc:date>
    </item>
    <item>
      <title>Re: Tips &amp; Tricks</title>
      <link>https://forums.autodesk.com/t5/powermill-forum/tips-amp-tricks/m-p/6521993#M32185</link>
      <description>&lt;P&gt;Update all the blocks, according to their types:&lt;/P&gt;&lt;PRE&gt;// Macro pour mettre a jout les bruts
// Close the logfile if it was left open from a previous macro
DIALOGS MESSAGE OFF
FILE CLOSE logfile
DIALOGS MESSAGE ON

// Deletes the old results
DELETE FILE C:\temp\brut.txt
STRING logfile = "C:\temp\brut.txt"
// Open (Overwrite) the file specified by the user
FILE OPEN $logfile FOR WRITE AS logfile
STRING $head = 'Resume de la macro'
FILE WRITE $head TO logfile
$head = ' '
FILE WRITE $head TO logfile

STRING $brut = ''
STRING $path = ''
STRING $Rep = ''
STRING $data = ''
STRING $upd = ''
STRING $oldpath=''
STRING $oldrep=''
BOOL $frontiere = 0
REAL $max = 99999.999
REAL $min = -99999.999

EDIT PREFERENCE SELRAISEFORM NO
DEACTIVATE TOOLPATH

FOREACH ent IN folder("TOOLPATH") {
	ACTIVATE TOOLPATH $ent
	If $Toolpath.Block.Type == "triangles" {
		If $brut == '' {
			$brut = FILESELECT "Selectionner le nouveau brut" "*.dmt; *.prt.*"
			$path = "'" + $brut + "'"
		}
		If $Rep == '' {
			$Rep = INPUT ENTITY WORKPLANE "Selectionner le plan de travail du brut"
		}
		$oldpath=$toolpath.Block.FileName
		$oldrep=$toolpath.Block.NamedWorkplane.Name
		//If $oldpath!= $path {
			If $Statistics.CuttingMoves.Lengths.Linear != 0 {
				INVALIDATE TOOLPATH $ent
				YES
			}
			EDIT TPPAGE SWBlock
			EDIT BLOCKTYPE TRIANGLES
			EDIT BLOCK COORDINATE NAMED
			EDIT BLOCK NAMEDWORKPLANE $Rep
			$ent.Block.FileName = $brut
			GET BLOCK $brut
			BLOCK ACCEPT
			EDIT BLOCK NAMEDWORKPLANE $Rep
			DRAW BLOCK
			EDIT BLOCK UPDATEFORM
			EDIT TOOLPATH $ent REAPPLYFROMGUI
			YES
			$data = ($toolpath.name + ', Type : ' + $toolpath.Block.Type + ', Repere : ' + $Rep + ', Fichier : ' + $path)
			FILE WRITE $data TO logfile
			$data = ('')
			FILE WRITE	$data TO logfile
			//} else {
			//$data = ($toolpath.name + ', Type : ' + $toolpath.Block.Type + ', Repere : ' + $Rep + ', Fichier : ' + $path)
			//FILE WRITE $data TO logfile
			//$data = ('')
			//FILE WRITE	$data TO logfile
		//}
	}
	If $Toolpath.Block.Type == "box" {
		IF entity_exists(Boundary) {
			BOOL $frontiere = 1
			If $Statistics.CuttingMoves.Lengths.Linear != 0 {
				INVALIDATE TOOLPATH $ent
				YES
			}
			EDIT TPPAGE SWBlock
			EDIT BLOCKTYPE BOX
			EDIT BLOCK NAMEDWORKPLANE $toolpath.workplane.name
			EDIT BLOCK LIMITTYPE BOUNDARY
			EDIT BLOCK RESET
			EDIT BLOCK ZMIN UNLOCK
			EDIT BLOCK ZMAX UNLOCK
			$max = ($ZRange.Maximum.Value + 1.0)
			$min = ($ZRange.Minimum.Value - 1)
			EDIT BLOCK ZMIN $min
			EDIT BLOCK ZMAX $max
			EDIT BLOCK ZMIN LOCK
			EDIT BLOCK ZMAX LOCK
			EDIT BLOCK RESET
			EDIT BLOCK UPDATEFORM
			EDIT TOOLPATH $ent REAPPLYFROMGUI
			STRING $data = ($toolpath.name + ', Type : ' + $toolpath.Block.Type + ', Frontiere : ' + $Boundary.Name + ', Zmax ' + $max  + ', Zmin ' + $min)
			FILE WRITE $data TO logfile
			$data = ('')
			FILE WRITE $data TO logfile
		} Else {
		STRING $data = ($toolpath.name + ', Type : ' + $toolpath.Block.Type + ', PAS DE FRONTIERE !!! -&amp;gt; PAS TRAITE !!!')
		FILE WRITE $data TO logfile
		$data = ('')
		FILE WRITE	$data TO logfile
		}
	}
	If $Toolpath.Block.Type == "cylinder" {
		IF entity_exists(Boundary) {
			BOOL $frontiere = 1
			If $Statistics.CuttingMoves.Lengths.Linear != 0 {
				INVALIDATE TOOLPATH $ent
				YES
			}
			EDIT TPPAGE SWBlock
			EDIT BLOCKTYPE CYLINDER
			EDIT BLOCK NAMEDWORKPLANE $toolpath.workplane.name
			EDIT BLOCK LIMITTYPE BOUNDARY
			EDIT BLOCK RESET
			EDIT BLOCK ZMIN UNLOCK
			EDIT BLOCK ZMAX UNLOCK
			$max = ($ZRange.Maximum.Value + 1.0)
			$min = ($ZRange.Minimum.Value - 1)
			EDIT BLOCK ZMIN $min
			EDIT BLOCK ZMAX $max
			EDIT BLOCK ZMIN LOCK
			EDIT BLOCK ZMAX LOCK
			EDIT BLOCK RESET
			EDIT BLOCK UPDATEFORM
			EDIT TOOLPATH $ent REAPPLYFROMGUI
			STRING $data = ($toolpath.name + ', Type : ' + $toolpath.Block.Type + ', Frontiere : ' + $Boundary.Name + ', Zmax ' + $max  + ', Zmin ' + $min)
			FILE WRITE $data TO logfile
			$data = ('')
			FILE WRITE $data TO logfile
		} Else {
		STRING $data = ($toolpath.name + ', Type : ' + $toolpath.Block.Type + ', PAS DE FRONTIERE !!! -&amp;gt; PAS TRAITE !!!')
		FILE WRITE $data TO logfile
		$data = ('')
		FILE WRITE	$data TO logfile
		}	
	}
	If $Toolpath.Block.Type == "boundary" {
		IF entity_exists(Boundary) {
			BOOL $frontiere = 1
			If $Statistics.CuttingMoves.Lengths.Linear != 0 {
				INVALIDATE TOOLPATH $ent
				YES
			}
EDIT TPPAGE SWBlock
	EDIT BLOCKTYPE BOUNDARY
	EDIT BLOCK NAMEDWORKPLANE $toolpath.workplane.name
	EDIT BLOCK LIMITTYPE BOUNDARY
	EDIT BLOCK RESET
	EDIT BLOCK ZMIN UNLOCK
	EDIT BLOCK ZMAX UNLOCK
	REAL $max = ($ZRange.Maximum.Value + 1.0)
	REAL $min = ($ZRange.Minimum.Value - 1)
	EDIT BLOCK ZMIN $min
	EDIT BLOCK ZMAX $max
	EDIT BLOCK ZMIN LOCK
	EDIT BLOCK ZMAX LOCK
	EDIT BLOCK RESET
	EDIT BLOCK UPDATEFORM
	EDIT TOOLPATH $ent REAPPLYFROMGUI
	
	EDIT TPPAGE SWBlock
	EDIT BLOCKTYPE BOUNDARY
	EDIT BLOCK NAMEDWORKPLANE $toolpath.workplane.name
	EDIT BLOCK LIMITTYPE BOUNDARY
	EDIT BLOCK RESET
	EDIT BLOCK ZMIN UNLOCK
	EDIT BLOCK ZMAX UNLOCK
	$max = ($ZRange.Maximum.Value + 1.0)
	$min = ($ZRange.Minimum.Value - 1)
	EDIT BLOCK ZMIN $min
	EDIT BLOCK ZMAX $max
	EDIT BLOCK ZMIN LOCK
	EDIT BLOCK ZMAX LOCK
	EDIT BLOCK RESET
	EDIT BLOCK UPDATEFORM
	EDIT TOOLPATH $ent REAPPLYFROMGUI
			STRING $data = ($toolpath.name + ', Type : ' + $toolpath.Block.Type + ', Frontiere : ' + $Boundary.Name + ', Zmax ' + $max  + ', Zmin ' + $min)
			FILE WRITE $data TO logfile
			$data = ('')
			FILE WRITE $data TO logfile
		} Else {
		STRING $data = ($toolpath.name + ', Type : ' + $toolpath.Block.Type + ', PAS DE FRONTIERE !!! -&amp;gt; PAS TRAITE !!!')
		FILE WRITE $data TO logfile
		$data = ('')
		FILE WRITE	$data TO logfile
		}		
	}
	If $Toolpath.Block.Type == "picture" {
		STRING $data = ($toolpath.name + ', Type : ' + $toolpath.Block.Type + ', TYPE IMAGE -&amp;gt; PAS TRAITE !!!')
		FILE WRITE $data TO logfile
		$data = ('')
		FILE WRITE	$data TO logfile
	}
	DEACTIVATE TOOLPATH
	DEACTIVATE BOUNDARY
}

EDIT PREFERENCE SELRAISEFORM YES

FILE CLOSE logfile
OLE FILEACTION 'open' $logfile&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Olivier&lt;/P&gt;</description>
      <pubDate>Thu, 25 Aug 2016 09:24:00 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/powermill-forum/tips-amp-tricks/m-p/6521993#M32185</guid>
      <dc:creator>NanchenO</dc:creator>
      <dc:date>2016-08-25T09:24:00Z</dc:date>
    </item>
    <item>
      <title>Re: Tips &amp; Tricks</title>
      <link>https://forums.autodesk.com/t5/powermill-forum/tips-amp-tricks/m-p/6522050#M32186</link>
      <description>&lt;P&gt;What is the goal of the update? Especially if Your toolpaths will be deleted?&lt;/P&gt;</description>
      <pubDate>Thu, 25 Aug 2016 10:04:24 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/powermill-forum/tips-amp-tricks/m-p/6522050#M32186</guid>
      <dc:creator>kukelyk</dc:creator>
      <dc:date>2016-08-25T10:04:24Z</dc:date>
    </item>
    <item>
      <title>Re: Tips &amp; Tricks</title>
      <link>https://forums.autodesk.com/t5/powermill-forum/tips-amp-tricks/m-p/6522374#M32187</link>
      <description>&lt;P&gt;Since our parts are similar, but never exactly the same, we copy a project under&amp;nbsp;a new name, delete the model, correct the boundaries, curves, patterns... and the blocks. Then we just have to calculate the toolpathes and check them.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;That is the goal of this macro.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Olivier&lt;/P&gt;</description>
      <pubDate>Thu, 25 Aug 2016 12:54:45 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/powermill-forum/tips-amp-tricks/m-p/6522374#M32187</guid>
      <dc:creator>NanchenO</dc:creator>
      <dc:date>2016-08-25T12:54:45Z</dc:date>
    </item>
    <item>
      <title>Re: Tips &amp; Tricks</title>
      <link>https://forums.autodesk.com/t5/powermill-forum/tips-amp-tricks/m-p/6522578#M32188</link>
      <description>&lt;P&gt;To avoid getting the message that the second point doesn't lie on the same plane w&lt;SPAN&gt;hen creating a rectangle boundary&lt;/SPAN&gt;, hold down the ctrl key&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Capture.PNG" style="width: 600px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/266902i9F6520E82F3AF4CF/image-size/large?v=v2&amp;amp;px=999" role="button" title="Capture.PNG" alt="Capture.PNG" /&gt;&lt;/span&gt;﻿&lt;/P&gt;</description>
      <pubDate>Thu, 25 Aug 2016 14:10:16 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/powermill-forum/tips-amp-tricks/m-p/6522578#M32188</guid>
      <dc:creator>iamcdn79</dc:creator>
      <dc:date>2016-08-25T14:10:16Z</dc:date>
    </item>
    <item>
      <title>Re: Tips &amp; Tricks</title>
      <link>https://forums.autodesk.com/t5/powermill-forum/tips-amp-tricks/m-p/6522807#M32189</link>
      <description>&lt;P&gt;To go directly to the bottom of your explorer tree hit the "End" button on your keyboard&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;To go to the top hit "Home"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;To go incrementally&amp;nbsp;up or down hit "Page Up" or "Page Down"&lt;/P&gt;</description>
      <pubDate>Thu, 25 Aug 2016 15:22:08 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/powermill-forum/tips-amp-tricks/m-p/6522807#M32189</guid>
      <dc:creator>iamcdn79</dc:creator>
      <dc:date>2016-08-25T15:22:08Z</dc:date>
    </item>
    <item>
      <title>Re: Tips &amp; Tricks</title>
      <link>https://forums.autodesk.com/t5/powermill-forum/tips-amp-tricks/m-p/6542283#M32190</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;last friday I managed to toggle the drawing of the tool with 1 key (In my case this is F8 but you can choose whatever you want).&lt;/P&gt;&lt;P&gt;This is what I've done: I have 3 macro's. Each macro has it's own function: draw tool, draw tool shaded and undraw tool.&lt;/P&gt;&lt;P&gt;At the end of each macro, the keyshortcut is changed to the next macro (= next tool draw)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;To get this working save the 3 macro's below (change the path to the correct location!) and then you need to manualy run 1 of the 3 macro's in the navigation menu&amp;nbsp;in order to get the F8 key assigned . After this you just press F8 and it toggles the drawing of the tool.&lt;/P&gt;&lt;P&gt;No toolpaths need to be active.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;These are the 3 macro's:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Draw tool, no shade (ToolDraw.mac)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;//DRAW TOOL
UNDRAW SHADEDTOOLS
DRAW TOOL $Toolpath.Tool

//DELETE PREVIOUS ASSIGNMENT
FORM CUSTOMKEYBOARD
CUSTOMKEYBOARD SELECT MACRO "L:\...\ToolDraw.mac"
CUSTOMKEYBOARD DELETE SELECTED

//SET SHORTCUT F8 TO DRAW TOOL SHADED
CUSTOMKEYBOARD ADD MACRO
CUSTOMKEYBOARD MACRO FILEOPEN
"L:\...\ToolDrawShaded.mac"
CUSTOMKEYBOARD SHORTCUT "0x77" //shortcut: F8
CUSTOMKEYBOARD ASSOCIATE
FORM ACCEPT CUSTOMKEYBOARD&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Draw tool, shaded (ToolDrawShaded.mac)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;//DRAW TOOL SHADED
DRAW SHADEDTOOLS


//DELETE PREVIOUS ASSIGNMENT
FORM CUSTOMKEYBOARD
CUSTOMKEYBOARD SELECT MACRO "L:\...\ToolDrawShaded.mac"
CUSTOMKEYBOARD DELETE SELECTED

//SET SHORTCUT F8 TO UNDRAW TOOL
CUSTOMKEYBOARD ADD MACRO
CUSTOMKEYBOARD MACRO FILEOPEN
"L:\...\ToolUndraw.mac"
CUSTOMKEYBOARD SHORTCUT "0x77" //shortcut: F8
CUSTOMKEYBOARD ASSOCIATE
FORM ACCEPT CUSTOMKEYBOARD&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Undraw tool (ToolUndraw.mac)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;//UNDRAW TOOL
UNDRAW TOOL ALL


//DELETE PREVIOUS ASSIGNMENT
FORM CUSTOMKEYBOARD
CUSTOMKEYBOARD SELECT MACRO "L:\...\ToolUndraw.mac"
CUSTOMKEYBOARD DELETE SELECTED

//SET SHORTCUT F8 TO DRAW TOOL
CUSTOMKEYBOARD ADD MACRO
CUSTOMKEYBOARD MACRO FILEOPEN
"L:\...\ToolDraw.mac"
CUSTOMKEYBOARD SHORTCUT "0x77" //shortcut: F8
CUSTOMKEYBOARD ASSOCIATE
FORM ACCEPT CUSTOMKEYBOARD&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 05 Sep 2016 09:35:49 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/powermill-forum/tips-amp-tricks/m-p/6542283#M32190</guid>
      <dc:creator>GlennM.MCAM</dc:creator>
      <dc:date>2016-09-05T09:35:49Z</dc:date>
    </item>
    <item>
      <title>Re: Tips &amp; Tricks</title>
      <link>https://forums.autodesk.com/t5/powermill-forum/tips-amp-tricks/m-p/6542309#M32191</link>
      <description>&lt;P&gt;Great job.&lt;/P&gt;&lt;P&gt;These will be a bit faster if You&amp;nbsp;modify like this:&lt;/P&gt;&lt;PRE&gt;//DRAW TOOL
UNDRAW SHADEDTOOLS
DRAW TOOL $Toolpath.Tool

//DELETE PREVIOUS ASSIGNMENT
//FORM CUSTOMKEYBOARD //unnecessary code..
CUSTOMKEYBOARD SELECT MACRO "L:\...\ToolDraw.mac"
CUSTOMKEYBOARD DELETE SELECTED

//SET SHORTCUT F8 TO DRAW TOOL SHADED
CUSTOMKEYBOARD ADD MACRO
CUSTOMKEYBOARD MACRO "L:\...\ToolDrawShaded.mac" // //FILEOPEN unnecessary..

CUSTOMKEYBOARD SHORTCUT "0x77" //shortcut: F8
CUSTOMKEYBOARD ASSOCIATE
//FORM ACCEPT CUSTOMKEYBOARD //unnecessary code..&lt;/PRE&gt;&lt;PRE&gt;&amp;nbsp;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 05 Sep 2016 09:53:40 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/powermill-forum/tips-amp-tricks/m-p/6542309#M32191</guid>
      <dc:creator>kukelyk</dc:creator>
      <dc:date>2016-09-05T09:53:40Z</dc:date>
    </item>
    <item>
      <title>Re: Tips &amp; Tricks</title>
      <link>https://forums.autodesk.com/t5/powermill-forum/tips-amp-tricks/m-p/6981095#M32192</link>
      <description>&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Capture.PNG" style="width: 705px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/338919iC60B290C652A71CC/image-size/large?v=v2&amp;amp;px=999" role="button" title="Capture.PNG" alt="Capture.PNG" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The selection tools 'select concave radii' selects all the red rads, to be able to select the green rads create a workplane&amp;nbsp;that is rotated 180 in the Z to the model, make it active and pick&amp;nbsp;&lt;SPAN&gt;'select concave radii'&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 29 Mar 2017 12:29:49 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/powermill-forum/tips-amp-tricks/m-p/6981095#M32192</guid>
      <dc:creator>iamcdn79</dc:creator>
      <dc:date>2017-03-29T12:29:49Z</dc:date>
    </item>
    <item>
      <title>Re: Tips &amp; Tricks</title>
      <link>https://forums.autodesk.com/t5/powermill-forum/tips-amp-tricks/m-p/6985122#M32193</link>
      <description>&lt;P&gt;to del Bad Surfaces&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;UNDRAW LEVEL ALL
DRAW LEVEL "Bad Surfaces"
EDIT LEVEL "Bad Surfaces" SELECT ALL
DELETE MODEL SELECTED
DELETE LEVEL "Bad Surfaces"
DRAW LEVEL ALL&lt;/PRE&gt;</description>
      <pubDate>Thu, 30 Mar 2017 16:34:13 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/powermill-forum/tips-amp-tricks/m-p/6985122#M32193</guid>
      <dc:creator>gosmann.andreas</dc:creator>
      <dc:date>2017-03-30T16:34:13Z</dc:date>
    </item>
    <item>
      <title>Re: Tips &amp; Tricks</title>
      <link>https://forums.autodesk.com/t5/powermill-forum/tips-amp-tricks/m-p/6986765#M32194</link>
      <description>&lt;P&gt;Oohhhh, I'm going to use that.&lt;/P&gt;</description>
      <pubDate>Fri, 31 Mar 2017 09:28:52 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/powermill-forum/tips-amp-tricks/m-p/6986765#M32194</guid>
      <dc:creator>danmic7JH66</dc:creator>
      <dc:date>2017-03-31T09:28:52Z</dc:date>
    </item>
    <item>
      <title>Re: Tips &amp; Tricks</title>
      <link>https://forums.autodesk.com/t5/powermill-forum/tips-amp-tricks/m-p/6986827#M32195</link>
      <description>&lt;P&gt;I export models that I've colored and fixed through powermill so I added this macro to a keyboard shortcut&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;// TURNS DIALOGS OFF

　

DIALOGS MESSAGE OFF

GRAPHICS LOCK

　

// DE-SELECTS ALL MODELS TO ENSURE YOU ARE EXPORTING THE ENTIRE // PART

　

EDIT MODEL ALL DESELECT ALL

　

// ASKS IF YOU MADE SURE THE LEVELS ARE CORRECT

　

string yesnoprompt = "DID YOU DELETE ALL OTHER MODELS, MAKE SURE THE LEVELS ARE CORRECT AND COPY THE MODEL NAME"

bool carryon = 0

$carryon = query $yesnoprompt

IF ($carryon == 1) {

　

// DELETES EMPTY LEVELS AND WORKPLANES

　

DELETE LEVEL EMPTY

DELETE WORKPLANE ALL

　

// TURNS DIALOGS ON

　

DIALOGS MESSAGE ON

GRAPHICS UNLOCK

　

// EXPORTS MODEL

　

EXPORT MODEL ALL FILESAVE

}&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Using this macro saves me a lot of headaches for a couple reasons. If you have a surface selected powermill will only export out that specific surface. This macro ensures that doesn't happen.&lt;/P&gt;&lt;P&gt;Workplanes also export out on your model and this deletes them before it exports.&lt;/P&gt;&lt;P&gt;I also added a helpful yes no prompt to make sure that I followed my own process properly.&lt;/P&gt;</description>
      <pubDate>Fri, 31 Mar 2017 10:11:38 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/powermill-forum/tips-amp-tricks/m-p/6986827#M32195</guid>
      <dc:creator>danmic7JH66</dc:creator>
      <dc:date>2017-03-31T10:11:38Z</dc:date>
    </item>
    <item>
      <title>Re: Tips &amp; Tricks</title>
      <link>https://forums.autodesk.com/t5/powermill-forum/tips-amp-tricks/m-p/6986973#M32196</link>
      <description>&lt;P&gt;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/4344066"&gt;@danmic7JH66&lt;/a&gt;&amp;nbsp;I have a variant on your macro. This one exports the model as a ddz file (to use in PowerInspect for example). If 2 or more models are present in the "Models" tree, you get a prompt to ask which one you want to export. It saves the file with the same name that is in the "Models" tree (if model is named "cad-model123" than it will be exported as&amp;nbsp;&lt;SPAN&gt;"cad-model123.ddz". Planes are ignored.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;STRING LIST models = {}
FOREACH md IN FOLDER('model') {
     IF position($md.name, "Planes") == -1 {
          INT k = add_last($models, $md.name)
     }
}
STRING output_model = ''
IF size($models) == 1 {
     $output_model = $models[0]
} ELSE {
     $output_model = INPUT ENTITY MODEL "Choose model"
}
STRING ddz_filename = dirname(project_pathname(0), '/') +'/' +  $output_model + ".ddz"
EXPORT MODEL $output_model  $ddz_filename
MESSAGE INFO "Model Exported"&lt;/PRE&gt;</description>
      <pubDate>Fri, 31 Mar 2017 11:56:11 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/powermill-forum/tips-amp-tricks/m-p/6986973#M32196</guid>
      <dc:creator>GlennM.MCAM</dc:creator>
      <dc:date>2017-03-31T11:56:11Z</dc:date>
    </item>
    <item>
      <title>Re: Tips &amp; Tricks</title>
      <link>https://forums.autodesk.com/t5/powermill-forum/tips-amp-tricks/m-p/6993773#M32197</link>
      <description>&lt;P&gt;I'll have to take a look at this when I get a few minutes! thanks!&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/3977965"&gt;@GlennM.MCAM&lt;/a&gt; wrote:&lt;BR /&gt;&lt;P&gt;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/4344066"&gt;@danmic7JH66&lt;/a&gt;&amp;nbsp;I have a variant on your macro. This one exports the model as a ddz file (to use in PowerInspect for example). If 2 or more models are present in the "Models" tree, you get a prompt to ask which one you want to export. It saves the file with the same name that is in the "Models" tree (if model is named "cad-model123" than it will be exported as&amp;nbsp;&lt;SPAN&gt;"cad-model123.ddz". Planes are ignored.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;STRING LIST models = {}
FOREACH md IN FOLDER('model') {
     IF position($md.name, "Planes") == -1 {
          INT k = add_last($models, $md.name)
     }
}
STRING output_model = ''
IF size($models) == 1 {
     $output_model = $models[0]
} ELSE {
     $output_model = INPUT ENTITY MODEL "Choose model"
}
STRING ddz_filename = dirname(project_pathname(0), '/') +'/' +  $output_model + ".ddz"
EXPORT MODEL $output_model  $ddz_filename
MESSAGE INFO "Model Exported"&lt;/PRE&gt;&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 04 Apr 2017 09:02:08 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/powermill-forum/tips-amp-tricks/m-p/6993773#M32197</guid>
      <dc:creator>danmic7JH66</dc:creator>
      <dc:date>2017-04-04T09:02:08Z</dc:date>
    </item>
    <item>
      <title>Re: Tips &amp; Tricks</title>
      <link>https://forums.autodesk.com/t5/powermill-forum/tips-amp-tricks/m-p/6993794#M32198</link>
      <description>&lt;P&gt;Since I do all the data prep for my department, I like to define surfaces to chamfer for the guys.&amp;nbsp; The problem is it takes too long for me to trace a curve out in powershape and add it to a level (for macro selection) so I came up with this.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;// TURNS DIALOG OFF
// DIALOGS MESSAGE OFF

FOREACH $pal IN folder('model') {

if position ($pal.name,"CAM") &amp;gt;= 0 {
 
FOREACH $mod IN folder('model') {
  STRING Lname = lcase($mod.name)
  if position ($lname,"cam") &amp;gt;= 0 {
 
    STRING path = pathname(mod)
    STRING base = basename(path)

STRING CHAMFERNAME = INPUT "NAME YOUR CHAMFER"

DELETE LEVEL EMPTY
CREATE PATTERN ;
EDIT PATTERN ; INSERT MODEL
EDIT PATTERN ; CURVEEDITOR START
MACRO PAUSE "VERIFY/EDIT CHAMFER SEGMENTS"
CURVEEDITOR FINISH ACCEPT
EDIT MODEL ALL DESELECT ALL
EDIT PATTERN ; CLIPBOARD COPY
CREATE MODEL CLIPBOARD
DELETE PATTERN ALL
CREATE LEVEL ; LEVEL
ACTIVATE LEVEL "1"
RENAME LEVEL "1" $CHAMFERNAME
EDIT LEVEL $CHAMFERNAME ACQUIRE SELECTED
EDIT MODEL "1" CLIPBOARD COPY
EDIT MODEL $BASE CLIPBOARD PASTE
DELETE MODEL "1"
EDIT LEVEL "Wireframes" SELECT ALL
EDIT LEVEL $CHAMFERNAME ACQUIRE SELECTED
DELETE LEVEL EMPTY

// TURNS DIALOG ON
// DIALOGS MESSAGE ON&lt;/PRE&gt;&lt;P&gt;What it does is creates a pattern off&amp;nbsp;a selected surface, asks you to name the chamfer (for the level), pauses to edit the pattern however is needed in curve editor, converts the pattern to a model, copies the model, pastes it into the workpiece, and finally deletes the pattern model.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;By doing this the programmers are able to see how I want things chamfered and I can macro it out.&amp;nbsp; Not sure how useful it'll be to anybody else but works fantastic for me.&lt;/P&gt;</description>
      <pubDate>Tue, 04 Apr 2017 09:14:23 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/powermill-forum/tips-amp-tricks/m-p/6993794#M32198</guid>
      <dc:creator>danmic7JH66</dc:creator>
      <dc:date>2017-04-04T09:14:23Z</dc:date>
    </item>
  </channel>
</rss>

