A non-transitory computer-readable medium encoded with executable instructions that, when executed, cause one or more data processing systems to perform a method of modifying a computer aided design (CAD) system model, the method performed on a data processing system, the method comprising:
- receiving a dataset of co-ordinates representing an article in 2-dimensions, or representing an associated article in 3-dimensions;
- receiving 2D constraints for the article and 3D constraints for the associated article to be applied to any changes to the dataset of co-ordinates for the article or the associated article;
- receiving a modification to be applied to either the dataset of the article or to the dataset of the associated article;
- combining the relevant 2D and 3D constraints with the modification to produce a constrained modification for each of the article and associated article;
- solving the constrained modification in 2-dimensions and in 3-dimensions, to determine whether a solution exists in which all constraints are met;
- if the plausibility check is passed, simultaneously applying the constrained modification to each dataset;
- and,
- storing updated datasets for the article and for the associated article;
- or, if the solve fails, reducing the constraints and returning to the solve step, or terminating the process.