Albert and I go back a looong way. I first met Albert in 1996 (I think), when I was in the “Developer Consulting Group” (a former incarnation of “Developer Technical Services” – or DevTech – the technical arm of the ADN team). I was presenting at the first Eastern European developer conference we’d held, in Brno in the Czech Republic. I was presenting on AutoCAD’s APIs with a particular focus on ARX (before it was known as ObjectARX), and there was one extremely sharp guy – Albert, of course – in the audience asking very pointed questions. He was still at university in Hungary, at the time, and was sharing his experience of implementing a robotics-related project inside AutoCAD using ARX. We shared more than a few drinks after the event, and I was delighted when Albert eventually ended up joining the ADN team in San Rafael. Albert later transitioned into the AutoCAD Engineering team, and the rest is history (and trust me when I say that the AutoCAD product is far better for it).
The beauty of limiting the implementation to make use of these few functions is that it becomes much more easy to translate across to other platforms – the layer itself is portable and having fewer connection points will reduce the amount of native development needed on each platform. At least that’s our expectation. That doesn’t mean, of course, that no work is needed to actually fill out the implementation behind these entry/exit points – that is work that clearly needs to happen – but we’re keeping the number of core connection points down to a small number and designing them to be as streamlined as possible, which should also help minimise the impact felt by the IPC marshalling overhead.
This marshalling happens between a native proxy inside AcWebBrowser.exe process and a native stub inside AutoCAD. With – as mentioned earlier – the marshalling of data happening via JSON.
I think that’s probably enough information for today (I wonder if anyone actually made it down this far – please post a comment if you did! :-). I’ll follow up on more information about this new API capability as I discover (or uncover) it.photo credit: cking via photopin cc