Computer-aided design when it first appeared swept away a mass of drawing boards, scale rulers, compasses, protractors and the highly trained draughtsmen who used them. Gone were the traces of Tippex and eraser marks. CAD became synonymous with neat plotted scale drawings. But I still come back to the question “how much is the computer really aiding me as a designer?”.
In the ’90’s I began work at a company and was momentarily impressed when I saw them using a spreadsheet program for their quotations. Until I realised that the secretary was adding up the numbers on a pocket calculator and typing them in. Nobody there knew that the computer could do sums! For them it was just an infinitely erasable piece of paper. And in a way general-purpose CAD software still seems to be struggling to leave that phase.
For sure we have 3D now and there are many special purpose add-ons to CAD to help with a multitude of design tasks, but very basic real-world concepts are not built in to the software at a deep level.
For example in my world of audio-visual technology we work with connectivity. Equipment joined by cables. The concept of a connection, ubiquitous in our world today, is a perfect instance of what’s still missing from most CAD software.
Too often by the time an add-on product has matured the problem has moved on. What we really need is a fundamental shift.
ideas for people
Design is about creating things that people will use. There’s a lot more involved than just the dimensions of objects. It’s about making things that work. Computer-aided design should help us to try ideas out, see things working, and catch problems before they arise in reality.
Yet even now most of the design process – the actual thinking behind it, is more in the designer’s head than in the CAD model. And the key word here is model. CAD drawings are still a very limited model of the systems they represent. To broaden and deepen the way in which designers work with CAD the software itself needs to evolve into a system modelling tool.
“A picture is worth a thousand words”?
Not in the world of CAD it seems. Just look at it – our drawings are still full of text: text to explain what the lines actually mean. Not exactly visual communication nor even helpful to the human mind. For sure text is needed sometimes but what about colour, texture and shape? Text belongs to the logical one-thing-at-a-time left brain. But it’s that massive integrative power of the visual right brain that lets us understand things at a glance and see the big picture. This is the power of a good drawing.
A few years ago I found myself writing code to grab desk ID texts from office drawings and integrate these into smart desk objects so we could model who was sitting where and how well the design fitted actual human needs. This “non-drawing data” ought to be an integral part the model, not something sprayed on afterwards.
In the construction industry Building Information Modelling (BIM) is finally moving in the right direction. Now at last we can ask the question of a drawing “how many windows are there in this room?” and get a sensible answer. How long has it taken for the CAD system to “know” what a room is and what “in a room” means?
modelling not drawing
Highlighting the issues is the easy part. Knowing what to do about them is another thing altogether. I’m not short of ideas.
We need to move away from drawing primitives like lines, rectangles, arcs and text, and start drawing objects. Yes, these will contain all of the above but they will be functional models of the real-world objects they represent. Their properties won’t be limited to drawing attributes. They will “know” where they are in relation to other objects. Visual properties e.g. size, shape, color etc. will be able to be linked to other properties of other objects even bi-directionally. Imagine being able to drag the height of a rectangle and change the temperature in your model. Or being able to visualise that as a heat map?
We need a class hierarchy of objects that inherit properties from their parent classes. And we need to be able to link class properties with properties of specific objects or external data sources to visualise the effect of changes and engage that right brain.
Objects should be able to consume resources from other objects. So often design problems revolve around figuring out how much or how many we need. Resource usage gives us that in a nutshell.
Creating a model lets us ask questions. Once our right brain has seen and liked what we’ve done, we still need to analyse the design and present the information in a step-by-step manner for implementation. So now we need to treat the drawing as a database.
There’s no need to re-invent the wheel here. SQL should be built-in to all CAD programs. Of course we can add lot’s of nice UI to help users build queries, but that’s the power we need underneath.
How to express the answers? Visually of course! Queries should be able to drive the drawing and give us pictures as well good old traditional tables of text and figures.
complexity and where to put it
There seems to be a law of conservation of complexity. You can move it about, hide it in corners but you can’t get rid of it. And I realise that what I’m proposing is complex. But so is the real world we are trying to model. So the question is where do we put the complexity?
For the purpose of designing a model it’s nice to deal directly with objects and their properties and relations. This keeps complexity distributed over the model and local to the objects.
But any programmer will tell you this is hell to debug. Dependencies all over the place can lead to hours of work trying to track down what’s happening. So we need to find the sweet spot. And I think it’s this:
Although you create and edit locally to objects the actual “code” that executes the model should be stored and run from a central place so you can step through and see what’s happening. This also has advantages for delivery. Quite often you want to give a client a snapshot of how your model looks but not the model itself. So having the intelligence outside is handy.
As the developer of an add-on to Vectorworks, I often feel with connectCAD that I’m struggling to add features that should really be part of the platform. And Vectorworks is one of the better platforms. It already has a lot of advanced features that were in it from the beginning. But linkage and connections are still a tough call.
Expressing frustrations does one good of course. But I also hope that we can move towards a new era of design software where the designer spends less time trying to guess the outcome of decisions and more time in a genuine interaction with a model.