This feature is a good idea and I appreciate the effort in this direction. Getting objects to and from 3DC is something that I think anyone having to do it on a regular basis would like to see automated as much as possible.
I have to say though, I'd much prefer to have an 3DC SDK that allowed me to control 3DC more directly via scripts. Same basic idea, but using a script interface of some sort that my plugin would create as needed for 3DC to process. A basic script interface with just a few commands could provide the applink functionality with room to grow in the future so that other aspects of 3DC could eventually be scripted.
The main benefit of this is that 3DCoat's functionality could evolve without breaking existing scripts or plugins that generate the scripts because new versions of 3DC would simply expose new commands as they were developed which older scripts of course wouldn't be using.
Python is probably a good way to go given it's cross platform capabilities. I've exposed functionality like this in applications before, it's really not too much trouble to hook up Python.
Here are some commands that would be useful (optional arguments in [] ) and I think would be just enough to support applink type functionality:
NewScene
ImportModel file.<obj|lwo>
NewLayer [Layer#] // creates a layer after the specified layer, or on the top of the stack if unspecified.
SelectLayer Layer#
SetLayerName Name [Layer#]
SetLayerBlendMode [Standard|Multiply|Burn|etc] [Layer#]
ImportLayerColor file.png [Layer#]
ImportLayerSpecular file.png [Layer#]
ImportLayerBump file.png [Layer#]
ExportLayerColor [file.png] [Layer#] // Uses cached filename and current layer if params not specified
ExportLayerSpecular [file.png] [Layer#]
ExportLayerBump [file.png] [Layer#]
ExportAllLayers // uses cached filenames
We'd then be able to just create "automate3dcoat.py" which 3DC would process when it detected it. Different plugin authors could then make the import process do as many useful things as they wanted (like Roger's great idea of working with Max's layers) or in my case something more specific to Softimage's way of dealing with texture layers.
Just something to think about perhaps - I don't really expect Andrew to have time for this sort of thing but if he did I would definitely use this.
Thanks for reading