I posted this at the end of my last thread but then thought it might get ignored as the subject looks boring I've finished the bar end macro, though it's a compromise because I didn't have time (or the skill perhaps!) to work out all the points required with trig functions, so my copout solution draws the shape horizontally, then rotates it to the correct angle. The programming might be long winded - maybe other people will advise how to cut the code down - especially where it works out the angle to rotate at the end. Also I'm not sure how the syntax of this language works so some of my coding might look strange - if anyone has any comments about what I've done wrong, I would appreciate it. One thing I don't understand is that despite having a "Select none" statement at the end of the macro, the bezier curve remains selected once the macro completes - why? The only problem I've found so far is on a fairly complex drawing (753 kb). On this one, if I pick the 2 points too quickly, the macro doesn't capture them correctly, so draws the curves incorrectly. If I wait for the hourglass to clear (about a second) before picking the 2nd point, it works OK. I've not found any problems on average sized drawings. I've attached the working macro below and a basic icon for use in the toolbar. It's very simple, you just click a start and end point on the drawing and it draws the shape between the 2 points. Hope it's useful - maybe I could do macros for nuts and bolts next! To use the macro, just copy it into the macro area in program files - on mine it's c:/program files/ptc/Arbotext Isodraw7.0/Program/Macros Then change the file extension to .ism instead of .txt and it should appear on your menu next time you go into Isodraw. If it's useful, you can add it to a toolbar with the icon.