Your pipe thread is not going to be round with the methods above. As you know pipe threads are taperd so when you program just a standard circle move with a z move your thread depending on size could be out of round between .0004 and .0015. If this is ok then go for it. Just my two cents.