A new version of DesignScript on Autodesk Labs

In case you missed it, last week Scott Sheppard announced the availability of a new version of DesignScript on Autodesk Labs.

This release unveils DesignScript Studio which brings a visual programming environment to the DesignScript language. People who are familiar with Rhino Grasshopper or SoftImage's ICE will be aware of the benefits of working with a graphical tool for mapping associations and flows of data. I personally prefer working directly in code, myself, but there are certainly times when this kind of tool can help unravel complexity.

The other primary feature is a new lightweight OpenGL-based script execution tool that allows people without AutoCAD installed to work with DesignScript.

I'd talked at some length with Robert Aish and Luke Church on my recent(ish) trip to Singapore, so I was looking forward to hearing more about โ€“ and kicking the tyres of โ€“ this particular release.

DesignScript Studio

DesignScript Studio with disclaimer

The eventual goal for DesignScript Studio is that you'll be able to generate graphical views of existing DesignScript files, so that's (of course) the first thing I tried. The tool (as you can see above ๐Ÿ™‚ had kindly warned me not to expect too much, and โ€“ sure enough โ€“ it turns out this piece is something that isn't yet working.

Here's some more information I received from Luke that should help set expectations appropriately for this release:

Basically, the plan is to be able to do a free and flexible interchange between nodes and scripts and direct manipulation and have all of them available all the time. We're getting there ๐Ÿ˜‰

Here's where we're at right now:

  • Graph nodes can usefully co-exist with associative code
  • Graph nodes can be turned into text nodes with the action point -> source code
  • Existing associative code can be loaded into the library and dropped onto the canvas

Right now, some stuff isn't quite ready but is coming:

  • Associative code being auto-loaded into nodes in the graph (they can be added in, but they don't auto-display as nodes)
  • Fixes related to associative code working properly in the graph

Based on this, I'd reiterate what Luke has said in Scott's post: "It's early days for the technology, that's why we're releasing it here - to get more feedback and continue improving DesignScript."

Now that said, if you want to start creating a graph from scratch, things start to get interesting quickly. I recommend taking a look at the online help, which provides step-by-step instructions on making use of the DesignScript Studio UI to create your first graph. Here's one Luke made earlier, which helped me get going quickly.

When you open the .bin file in the editor, you'll see the graph it contains:

DesignScript Studio with a nice graph created

I really like the per-node, graphical previews (which can be hidden or switched to text view, if you prefer).

You'll also see the new OpenGL-based Lite viewer previewing the execution results:

The preview of the DSS graph

To turn sections of the graph into code, select the area of interest and you'll see an action appear at the top right of the selection. In this case I've selected the whole graph:

Converting our nodes to code

Clicking that action displays the code representation of the selected subset of the DesignScript graph:

The resultant DesignScript code

It shouldn't be too hard to imagine a world where DesignScript Studio will allow you to move quickly between code and graphical views of sections (or the entirety) of your DesignScript app. While we're not there yet, we'd love to get your feedback on the capabilities that are there today.

 

DesignScript Editor (Lite)

When you launch this new, standalone version of the DesignScript editor, the first thing you'll notice is that the app looks a whole lot like the palette you'd see inside AutoCAD:

DesignScript Editor - Lite

The difference being once you open and execute a script โ€“ such as the one I showed here, albeit with minor adjustments to the input parameters โ€“ the geometric results get displayed in a separate window, much as we saw above with DesignScript Studio:

The Lite viewer in action

This particular script creates a huge number of circles. It's actually pretty fun to see the Lite viewer display the results progressively as the execution unfolds. While readers of this largely AutoCAD-focused blog will generally not be interested in running DesignScript in a standalone environment, there may well be the odd use-case for which you might find it useful.

Primes in the Lite viewer

That's it for this very quick tour of the new capabilities in DesignScript. Luke tells me an update is coming relatively soon, so I'll report back again once I've had more time to work with these new features.

[I'm heading off on holiday tonight, but have queued up some posts on other topics for next week. Please be aware that I may not respond to comments as promptly as I might otherwise, though.]

  1. Its interesting that civil engineers have always had to use a parametric system for roads and pipes, namely that of PI's in plan, and PVI's for profile, yet Autodesk itself reverted to "part based" design for pipe networks and feature lines in C3D. I'm not sure how often this kind of thing happens, but I see a lot of "rediscovery" going on at autodesk. Shall I wajor AutoLisp will someday be touted as the most powerful scripting language of any CAD program? I've already seen this trend when windows went from .ini files for settings, to databases, now its turning back to text files for settings more and more.
    I watched a couple of the videos on the lab site. I thought the design script code looked more confusing than regular c#. I do wish I could figure out a system to have beginners lay out a flowchart, then fill in code and have the flowchart somehow reflect it. It would be a todo list for a program.

  2. Kean Walmsley Avatar

    Well, maybe.

    Maybe it's worth looking at trends from a programming language perspective: back in the day, most application providers rolled their own language. We adopted XLISP because it was free and fitted in 64K of memory. Then came a trend towards industry-standard languages to allow programmers from other domains to more easily engage on projects and better integrate external software (etc.). Now some people (I'm thinking particularly about Finance, but it has also happened in other industries) are looking at Design Specific Languages (DSLs) that help provide "separation of concerns", so industry specialists don't need to care about acquiring general-purposed programming skills.

    Whether or not you consider DesignScript a DSL isn't really the point, but it has its purpose. Robert and Luke will (at some point - they're very busy) provide a few posts that position the language more clearly for this blog's readership.

    Cheers,

    Kean

  3. Is there really enough people out there for something like DesignScript who say "I can learn DS, but have no time for C#"? I would think the only ones that can handle the coding are those already good at coding.
    The node graph is very interesting, I wonder if there is something like that for c#.

  4. This is targeted at quite a different population (many of whom are not even using AutoCAD, right now), so I wouldn't expect the normal assumptions to hold.

    At some point I'll receive content from Robert and Luke that I'll share on this blog to help position the technology more clearly.

    Kean

  5. Will the stand alone DS version allow you to import the results into AutoCAD 2012? Currently DS only works for 2013 and above.

  6. Good question... I don't believe the standalone app can create anything like a DWG file (the thing you're meant to carry across into AutoCAD is the script itself, not the results).

    So I'm guessing you're sadly out of luck, there. The DWG output from DS in AutoCAD 2013/2014 can (of course) be used back in AutoCAD 2012.

    Kean

  7. I suggest that the ability to export a DWG or DXF file from the stand alone DS would be a great addition that would potentially broaden the user base to those (myself included) with older versions of AutoCAD.

    It could also make DS CAD agnostic since most CAD software out there will import DWG or at least DXF.

    This would make DS like the stand alone Bentley GenerativeComponents and would also separate DS from Rhino Grasshopper which currently requires Rhino 5 to run it.

Leave a Reply to James Maeding Cancel reply

Your email address will not be published. Required fields are marked *