Cloud Software Techniques

Decorative Panels using Variables in Onshape

Recently, I noticed some decorative wood panelling and thought it would be an interesting exercise to create them, or something similar, as a 3D model using Onshape. The technique I’m going to use could be equally applied when creating fretwork or trellis.


I’ll take advantage of the symmetry in the design to simplify the geometry that I need to create and use the recently introduced “Variables” feature in Onshape as parameters to control the overall size and allow different designs to be easily created.

My design consists primarily of intersecting circular arcs which will be extruded to create a flat panel. A basic shape will be created and use the “Linear Pattern” feature to create the panel. Due to the symmetry in the basic shape, I only need to create a quarter which can then be mirrored to produce the basic shape.

Use the Variable command from the toolbar


to create variables for:

Diameter – the overall size of the basic shape, initially set to 100mm.



Thickness – the thickness of lines used in the shape, set to 2mm.


Variables are created as features and referenced by #name, in this case #Diameter and #Thickness. The value entered for the variable can use expressions, such as #Radius = #Diameter/2 but it remains unclear how extensive these can be (experiment for yourself).

Create a sketch, I’ve used the “Top” plane and will use the top right quadrant (origin at bottom left) to define the geometry.

Create horizontal and vertical construction lines and dimension their distance from the origin specifying the variable #Dimension as the value for the dimension. The dimension will be displayed showing the value of the variable.


Dimensions defined using variables will be displayed showing the result of the expression. Click on the dimension to view/modify the value of the variable.

Proceed to create the remain geometry. Adding dimensions as necessary to ensure that the sketch is fully constrained.




Extrude the sketch to create a solid


Mirror the part to create half the shape.


Mirror the part to create the basic shape ready for patterning


For the panel create 2 additional variables

#Horizontal – the number of basic shapes to pattern in the “x”-direction set to 2.

#Vertical – the number of basics shape to pattern in the “y”-direction set to 2.

and use the Linear Pattern tool to create the final pattern.


Change the panel by sinply modifying the variables to create different results


Modify the sketch to create more complex patterns



Here’s the finished Panel matching (or at least close to) the original image



Variables are a useful addition to the functionality available in Onshape and could have been implemented to form the basis for a future fully featured macro programming language which may be made available for users. They can be used to simplify the process for non CAD literate users when modifications are required to the model.




FreeCAD is a free open-source parametric 3D CAD system and can be used by anyone to create 3D models.

The current version of FreeCAD (0.15) was released on April 8, 2015 and runs on Microsoft Windows, Mac OS X and Debian based Linux systems.

It has been developed since 2001 and uses Open CASCADE[1] as it’s geometric modelling kernel.

To install the program, download the relevant package for your machine and follow the installation instructions.

Then go to the getting started page for a quick introduction to the available tools.

There are a number of workbenches available for you to use. They are designed to present the tools you are likely to use when modelling for various particular purposes. You can also customise any of the workbenches to suit your own particular needs.


  • Use the PartDesign workbench for creating mechanical models or any small scale object.
  • For working in 2D use the Draft or Sketcher workbench.
  • The Arch workbench is the one to use for Architectural models
  • Designing ships? then use the Ship workbench
  • etc.

Here’s an approach for creating a simple model,

  • Start the program
  • Select the Part Design workbench
  • Create Sketch
  • Create some Geometry

  • Close the sketch
  • Select “pad” command
  • Specify the length required


  • Select a face of the model
  • Create Sketch
  • Create some geometry
  • Close the sketch


  • Select the “create pocket” command
  • Specify the length
  • Close the dialog


  • Select a face
  • Select the make fillet” command
  • Specify the fillet radius
  • Close the dialog


There are lots of features available in FreeCAD, one that caught my eye is the FEM (Finite Element Analysis) module. This module supports the linear analysis of isotropic (uniform in all directions) material and the calculation of resulting stress (v.-Mises) and displacement. This module uses the Calculix[2] free, open-source Finite Element Analysis application.


Another interesting module is the Robot workbench although I haven’t tried this one out (yet)

FreeCAD also offers an alternative approach to driving FreeCAD using the in-built scripting language. Python[3] is used as the scripting language and this allows you to enter modelling commands directly into the python console window.

FreeCAD source code is also available[4] and can be downloaded if you need it.


  1. Open Cascade In 1993, Matra Datavision first created a software development platform for developing CAD applications called CAS.CADE – Computer Aided Software for Computer Aided Design and Engineering. Matra Datavision have a long history in CAD software dating back to the 1980’s and are perhaps best known for a CAD system called Euclid. In 1999 they published CAS.CADE as open-source software known as Open CASCADE and later, in 2004, it was renamed Open CASCADE Technology. Read more about the history of Open Cascade Technology at
  2. Calculix Find out more about Calculix at:
  3. Python Read more about python in Wikipedia
    or on the python web-site at
  4. Compiling the source code Detailed instructions for compiling the source code are available from the FreeCAD website.
Cloud Software



Onshape recently emerged from stealth mode and is now available in a Beta Version.

It’s a 3D CAD cloud-native application which runs in a web browser or on a mobile device using a device specific application. (Currently available for iPhones and iPads).

Created by a team of veterans from SolidWorks and other top professionals from the data center, security and mobile industries led by Jon Hirschtick.

The system requires a browser that supports WebGL and runs on most types of computers and operating systems. The officially supported browsers are Chrome, Firefox and Safari. It also needs an internet connection to work – there isn’t a version which runs in an off-line mode.

There is no software to install and updates occur seamlessly to ensure that all users are always on the latest version.

I’ve been using it for a couple of weeks and find it easy to use.

Here’s my first attempt, using sketches


to create models (bodies) and assemblies.


One of the benefits of using cloud-native applications is the ability to limit or minimise the chance of losing data while you are working. The stored data is constantly updated as you are working on it so that hard disk crashes, machine glitches, power cuts or the odd cup of coffee spilt over your laptop should no longer mean that you’ve lost your work.

Another important feature is the ability to share documents and collaborate in real-time with other users during the model creation process.

Onshape offers a Free subscription plan $0/month or a Professional subscription plan available for $100/month (or the equivalent in your local currency).

The free plan provides 5GB storage space and you are limited to 5 active “Private” Documents at any one time. You can create an unlimited number of “private” documents but only 5 of these can be active at any one time. In addition, you can create an unlimited number of active “public” documents.

The professional plan provides 100GB storage space and an unlimited number of active documents.

A document is a multi-part container which can be used to keep all information related to a project in the same place. You can build and assemble parts in the same document. The document can contain 1 or more Part Studios (parts) Assemblies, CAD data from other systems, non CAD data files, PDFs, Images etc.

There are numerous features available in this initial Beta phase of the product.

Highlights include

  • Part Studios
  • Assemblies
  • History, Versioning
  • Imported Geometry
  • Direct Editing
  • Data Management
  • Sharing and Collaboration
  • Seamless Updates
  • On-line Help
  • Tutorials

For further details I advise you to read more at the Onshape website or better yet try it out for yourself by requesting an invite to join in at:

Cloud Software


The traditional approach for designing a 3D representation of a real physical object is to use a CAD product on a desktop or laptop PC. Until recently, this was the best platform to use because of the resource requirements of the CAD product in particular, memory requirements, processing power and graphics needs.

WebGL and HTML 5 are just 2 of the components that have enabled a growing number of start-up companies to try and provide a CAD (Computer Aided Design) program in a web-browser. The front-end of the product can be built and run locally in the web browser, with the expected processing, memory usage and possibly some graphics capability provided via the “cloud”. I hope to discuss in a later article, how such a product can be architected, but in the meantime, lets take a look at Tinkercad.

Tinkercad is a web-based 3D modeler which was originally targeted towards the growing market of enthusiasts interested in using low cost 3D printers. These users are seeking something different from the traditional CAD system – something that is quick, easy to use (I’m not looking for an exciting “experience” I just want to get the job done) and most importantly not difficult to learn!


The user interface consists of 3 basic steps:

  1. Place a shape in your workspace. A shape can either “add” or “remove” material and you can work with pre-existing shapes or create your own.
  2. Shapes can be moved, rotated and adjusted to your exact requirements.
  3. Group together a set of shapes to build more complex shapes to create detailed models.

and there you have it. From the simple to the more complex:


The application runs in a web-browser and to get started, simply visit the website at

Register for  an account and get building.

Other interesting points worth a mention are:

Tinkercad provides an interface for the user to create shapes using JavaScript programs.

The writer can define parameters which are made available to the user. Parameter values are used to adjust the dimensions of the defined 3D shape.

The geometry kernel, is a major par of any CAD system and Tinkercad uses a custom in-house built kernel called Gen6. This has been designed to run in a cluster of servers (in the cloud) utilizing potentially thousands of CPU cores, that allows computations that may take minutes or hours using other geometry kernels to execute in fractions of a second. Learn more at:

Then, Tinkercad recently announced (in March) that they were closing down.

They stated their intention to concentrate on a new project called Airstone – an interactive simulation environment (powered by a supercomputer) providing real-time 3D design and physics simulations for product designers and engineers.

A couple of months later (May) Autodesk stepped in and acquired Tinkercad

Autodesk has purchased all the core technology necessary to operate Tinkercad, so its good news for users of the system.

Cloud Software

Supercomputing and CAD in the Cloud


Cloud Computing presents an opportunity to exploit massively parallel and expandable computing resources providing supercomputing facilities for a fraction of the cost of traditional hardware. One of the significant benefits of supercomputing, of course, is it’s ability to reduce the amount of time necessary to process large data sets, or to perform other compute intensive tasks.

Although in the past, this may have been little more than a dream, today it can be seen to be a reality.

In the Pharmaceutical industry, where researchers can spend years testing for solutions to fight a variety of different diseases, the analysis of molecules can be completed in a fraction of the time needed to test in labs, but requires a massive amount of compute power. For an example of this in action, see details of a 50,000-core utility supercomputer provisioned using Amazon Web Services “Cycle Computing Ramps Global 50,000-Core Cluster for Schrodinger Molecular Research” at:

In this example, Schrödinger’s researchers completed over 4,480 days of work, nearing 12.5 years of computations in a few hours, with cost under $4,900 per hour at peak requiring no upfront capital.

Details of services provided by Cycle computing can be found at

and Schrödinger at:

Computer Aided Design (CAD)

Supercomputing in the Cloud can also be applied to other applications too, one of these being Computer Aided Design (CAD) applications.

In the majority of cases, however, the software may need to be developed from scratch to ensure that the implementation of the necessary algorithms exploit parallelisation in order to take advantage of the distributed computing environment available in the cloud. This is where small start-up companies may succeed over traditional CAD software, often written many years ago, that did not exploit the use of multi-core processors and other multi processing solutions. In earlier days, I explored using the Transputer

and the Occam programming language, to develop a graphics engine, for a CAD application, that used several CPUs to solve tasks in parallel. This was never adopted or taken further and in later years, of course, hardware development moved to provide multi-core processing. Software development lagged behind and today we have software applications which fail to exploit parallelisation.

Although a lot of discussion surrounding CAD in the Cloud seems to centre around the collaborative nature of the cloud and security of data, there also opportunities to exploit the available compute power.

Some areas in a CAD system which could take advantage of increased computing power include, but are not limited to:

  • 2D and 3D Constraint Solving
  • Analysis and Simulation
  • Rendering
  • Manufacturing

Some examples of current Cloud based CAD applications, which may be exploiting the capability of distributed processing in the Cloud  include

Tinkercad – using the distributed Gen6 Geometry kernel running on the Tinkercad server cluster

3D Modelling application

Cloud Invent

Interactive Photoreal 3D rendering in the cloud