Need Custom Extension Written to Import CRM data into Layout Autotext


#1

We are a solar installation company and use SketchUp & Layout to create about 500 permit and construction drawing packages each year. With the 2016 release now supporting Layout APIs, I was wondering if it would be possible to write a custom program that allowed us to import data directly from our Customer Relationship Software into our layout drawings.

Our layout drawing template has around 30 Auto-Text fields with information such as customer name, address, APN number as well as information about the solar system being installed.

The software we use to track customer data, design systems, create proposals and track projects is called SolarNexus. I’m not a programmer, but I know SolarNexus has an HTTP-based API. Also, all project data can be exported in an XML file. More information can be found here:

https://solarnexus.zendesk.com/hc/en-us/articles/200653573-SolarNexus-API-Documentation

Is this something that can be done? How large an effort is this? Can anyone suggest a programmer that can help us with our project?


#2

FYI:

The new C LayOut API is not a “live application” API. It cannot yet “talk” to a open document in LayOut.

It is for other applications (including SketchUp,) to either create a new, open new from template, or open an existing, .layout file. Then setup some things, such as viewports into actual SketchUp .skp file(s), or assist in export / import of the file into some other application’s native file format.

The C LayOut API is brand spankin’ new, and has a lot of .layout file features that have not yet been exposed. Ie, it is a WIP (work in progress.)

BUT…

Since the data needed is in XML, and .layout files are also XML (they just do not have an .xml extension,) … really any good programming language that can copy a xml template file, open it, and insert xml tags, then save the file, … would be fine. It could be a language that is compiled into a command line exe utility, or maybe even a .NET applet with a GUI interface.
Even a system Ruby script, or a SketchUp Ruby extension could do this without needing to be compiled.

But, one caveat with direct XML manipulation. The programmer must be good with XML, and fully understand the .layout file XML hierarchy, as malformed .layout files have been known to crash LayOut. This is where using C and the LayOut C API is a benefit, (if the functions you need are exposed,) because the API knows the file format.

The online documentation is here:
http://extensions.sketchup.com/developer_center/layout_c_api/layout/index.html