I sometimes try to model real-life objects in the computer. Be it for 3D printing a replacement part, or making a plan of my apartment. One problem I have is that I don't measure perfectly, and these small errors add up. Once I'm around the apartment, several sub millimeter errors might add up to some centimeters. Also, I make assumptions that are not true, like an angle is exactly 90 degrees.

I am looking for a program

  • from the fields of vector drawing, modeling, CAD,
  • that allows me to give each part of the model not only a dimension, but also an uncertainty, like "1m +- 2 cm"
  • and then performs an optimization procedure ("fit") and tries to reconcile the measurements within their uncertainties. For example, it notices that one wall with a large uncertainty should be just a little bit longer and the whole model fits.

Coming from science, this is the most obvious idea to me, so I am surprized I couldn't find anything like it - even in the higher price CAD segement. Personally, I am most familiar with tools like Inkscape and Sketchup, but would be willing to learn something else. Any ideas?

  • 2
    This is just not how engineers and architects work. The problem is the answer may be indeterminate. There could be an infinite number of solutions. You may find something similar with reverse engineering software which takes scans of a physical object and attempts to produce a solid model.
    – Eric S
    Dec 12, 2017 at 14:59
  • @EricShain: If you know the revelant apps and are sure something like this doesn't exist then write an answer, and I'll accept it after a while - a negative answer is still an answer. It just seems to me such an obvious feature that I'm surprised there's supposed to be no implementation.
    – jdm
    Dec 12, 2017 at 19:06
  • I don’t know all software so I hesitate to say what doesn’t exist.
    – Eric S
    Dec 12, 2017 at 21:07
  • I'm Engineer electrical/mechanical designer. I think there's a misconception in your thoughts. What you call "uncertainty" is what we call "tolerance" in engineering. If the part, let's say, a screw, doesn't fit in my tolerance it's necessary to find one that fits or redo my design to accommodate this new tolerance. That's why you will not find a CAD software that incorporates "uncertainty". You need to consider this in your design. It's a design fault, not a software fault. Dec 13, 2017 at 14:04
  • @FabioSilva I'm not designing something new, I'm trying to measure something existing. Uncertainties are not tolerances. When physicists design an experiment, we do it with tolerances, like you said. But then we go back, and measure what we actually built! The measurements might not add up like they should. But some were done with a micrometer screw, and some with a yardstick. The yardstick has a larger uncertainty - we read 100 cm, but it could as well be 100.01 cm. There are techniques to take all these imperfect measurements together and calculate the most likely true dimensions.
    – jdm
    Dec 13, 2017 at 14:49

3 Answers 3


Most people don't like "uncertainty" in drawings, so measures are taken to guaranty an accurate model rather than one that was "fit" by some arbitrary rules, that is probably why such software is uncommon, or you are having a hard time finding one.

You could try looking into a parametric modeling software like the experimental SolveSpace where you can define constraints to several parts though I don't think it will fully satisfy your needs, since I don't think there is a concept of tolerances.

  • Thanks for your answer! Regarding the uncertainties: I'm not looking for something that lets you draw a "sloppy" model and then fudges it, on the contrary. If you make a very very precise measurement, say with a laser tool or a micrometer screw, your still have an uncertainty due to the limitations of the device (and other factors). The idea is to acknowledge this unavoidable uncertainties. Then, there are mathematical tools (e.g. least squares) to calculate from these measurements the most likely "true" values.
    – jdm
    Dec 13, 2017 at 6:44
  • 1
    Welcome. Being an architect I have done a few surveys and drawing from those measurements. I'd say we generally accept a certain degree of imprecision and just assume most walls are at a 90 deg angle even if they aren't exactly so. So any "fitting" is usually done manually to guarantee an orthogonal drawing that is easier to work with, rather than automatically to some mathematical algorithm Dec 13, 2017 at 11:43

How much have you used SketchUp?

You can use it for small parts for 3D printing and large-scale projects for rooms. People use it for all sorts of things from architecture to game design to creating replacement parts for things for 3D printing. It is very versatile.

You won't get the tolerances you are hoping for. But, It is true 3D. You will be able to easily move around a 3D object that you built and see where you need to adjust things as you make finer/better measurements.

Another option is to go to Thingaverse.com and search for replacement parts that are similar to ones you might need. Ask the people who created them about how they went through the process of creating them and what software they used. And, you might find a replacement part already designed that you can just print out on a 3D printer (or use a printing service to do so).


@JDM: I too am in the architectural design world, like @Duarte Farrajota Ramos, and specifically I specialise in 3D modeling and BIM based parametric design workflows.

The major reason that a least square or best fit optimization wouldn't work in our field boils down to the frequent difference between what is drawn, modeled or specified and what ends up being actually constructed.

Though we all try to account for reasonable levels of uncertainty and measurement tolerances in our initial designs, there are huge random exigencies factors once construction begins.

Whether it's multiple design areas (e.g. architectural, structural, mechanical, plumbing) not quite coordinating their designs so that there are conflicts, or actual trades in the field either not following drawings or having to adjust due to existing conditions being not quite as assumed, or measured, or depicted by survey, or even a general contractor pressuring a client to substitute building elements or entire systems from those specified to another, cheaper alternative, there are often all kinds of mismatches between as-designed dimensions and as constructed measurements.

As a result, if we were to assign a logic-based approach to coping with dimensional uncertainty, it would be most likely to fail, rather than to succeed, as the only way it would be able to correctly account for all the various factors would be for someone to both quantify these AND to input them into such a system; at the moment that system is called a designer, or an architect.

Additionally, given that you're looking at existing conditions, you must bear in mind that all such building systems shift and change over time, and depending upon the materials used, often in radically noncontiguous ways - so your wall-to-wall corner angles are most likely not 90°, nor the wall-to-floor angles, and in most cases very few of your floors are actually horizontal, nor in fact are they likely to be truly planar.

From the design perspective, the correct answer is to produce individual elements whose production dimensions slightly exceed the expected conditions, and which combine into an adjustable system rather than a monolithic assembly which is dimensionally fixed, and then when installing said system (or replacing existing elements) you note where the dimensions say V.I.F. (Verify In Field) and where necessary, cut elements to measure.

Heck, depending upon the construction system used in your apartment, and the climate, humidity and season where you are, even if your dimensions were PERFECT when initially measured, they might subsequently be significantly off some months later when you were ready to install your new elements.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.