Be careful of terminology here. Macro is commonly referred to as simply automating picks or steps, not actually accessing the underlying api. I'm not saying that there are are no cam systems that use macros in that fashion, I'm just pointing out the functionality differences. Also, when macros are are used to record a series of steps, or clicks it is not uncommon for them to break from version to version whereas api/vb is accessing functions. I have yet to see those break in NX and I'm willing to be that any cam system using api/vb will not break between versions either. That's one of the huge advantages of api/vb automation over a function that merely records steps or clicks.