Close
0%
0%

3D Wireframe Generator from Blueprint Images

The program converts several orthographic blueprint views into a basic 3D wireframe model.

Public Chat
Similar projects worth following
https://drive.google.com/file/d/1hgXfla8v9CVsim-3mI5Hb_a8LPM8lGjL/view?usp=drive_link 3D Wireframe Generator from Blueprint Images The program converts several orthographic blueprint views into a basic 3D wireframe model. The input consists of separately prepared images: * top view; * left or right side view; * front view; * rear view; * optionally, a second side view. The user marks matching points in the individual views. The program calculates their 3D coordinates, allows the points to be connected with edges, and displays the result in a rotatable 3D preview. The generated wireframe can be exported as a 3D DXF file.

How the conversion works

Each corresponding point uses the same number in every image.

For example, a corner of the cab can be marked as point 4 in the side, top, and front views. The program uses these observations to calculate its X, Y, and Z coordinates.

Two suitable perpendicular views are usually enough to reconstruct a point. Additional views can be used to check and refine the result.

The reconstructed points can be connected manually with edges. With a sufficient number of points, the wireframe can represent not only the overall dimensions, but also the shape of the roof, windows, wheel arches, bonnet, and other parts of the model.

Image input

The program works directly with PNG and JPG files.

Light backgrounds can be ignored. Wide or blurred blueprint lines can be thinned and converted into a highlighted centreline.

This makes it possible to work with small or low-quality scans without first redrawing them as SVG files.

Each view can be zoomed, panned, and enlarged independently.

Included demo

The project includes a demonstration version with a saved example and a blueprint of a truck split into separate views.

Some rules and program elements are currently configured specifically for this example and have not yet been generalised for arbitrary blueprints.

When the included images are used, the conversion should work without any additional preparation. The saved project already contains several marked points that demonstrate:

  • display of the same point in multiple views;
  • alignment of the shared axes;
  • reconstruction of a point in 3D space;
  • rendering of the result in the 3D preview.

Additional points can be created by marking the same location in the corresponding images and then connecting the reconstructed points into a 3D wireframe.

Current features

The program currently supports:

  • loading multiple PNG or JPG views;
  • hiding light image backgrounds;
  • thinning blueprint lines to their centreline;
  • zooming and panning individual images;
  • marking corresponding points;
  • alignment of shared axes between views;
  • detection of reversed view directions;
  • live calculation of 3D coordinates;
  • manual creation of edges between points;
  • a rotatable 3D preview;
  • saving and loading project files;
  • exporting the 3D wireframe as a 3D DXF file.

Further development

The next step is to generalise the rules that are currently partly tailored to the included test blueprint.

The goal is to allow a new project to be created from any suitable set of orthographic images, define their orientation and scale, and use the same reconstruction process without hard-coded points or a predefined shape.

Further planned features include:

  • calibration using a known real-world dimension;
  • display of alignment differences between individual views;
  • named groups of points and edges;
  • simplification of features that are too small for the target model scale;
  • manually confirmed generation of basic surfaces between edges.

BlueprintProjector-Hackaday-2026-08-13-Windows.zip

newer version with layer cuts

x-zip-compressed - 12.60 MB - 08/13/2026 at 10:42

Download

quick-test.rar

x-compressed - 10.51 MB - 08/04/2026 at 20:25

Download

  • Experimental Build and Current Workflow

    Oldaa day ago 0 comments

    The project has reached a point where it makes sense to freeze the current version, prepare an export build, and leave it alone for a while.

    The original goal was simple: verify whether several orthographic blueprint views could be turned into a usable 3D wireframe by manually matching corresponding points. That worked, and the workflow gradually became much more practical around that basic idea.

    The program can now load a top view, side views, and optionally front or rear views. Reconstruction remains intentionally human-guided. The user decides which points in different views actually correspond to each other, while the program handles axis alignment, projection, and calculation of the resulting X/Y/Z coordinates.

    A major improvement is the blueprint preparation step. The source PNG or JPG no longer has to remain just a passive image underneath the points. The program can remove a light background, reduce the drawing to thin centerlines, and split the result into selectable line segments. Unwanted parts can then be suppressed manually, so things such as mirrors, handles, wipers, dimensions, or other distracting details can be removed from the working drawing.

    This creates a much cleaner reconstructed blueprint on which points can be placed more accurately than on the original scanned image.

    The reconstruction workflow is also no longer limited to matching individual points. A section panel allows work with horizontal layers. A point can be selected in the side view, projected into the top view, and the user only needs to complete the missing coordinate. This makes it possible to build body profiles progressively at different heights.

    Symmetry tools were also added. A manually created half or quarter of the model can be mirrored across longitudinal or transverse symmetry planes. Points that lie directly on the symmetry plane remain shared as the common seam between both sides.

    Reconstructed points can be connected into real 3D edges. A separate 3D view displays points, edges, section planes, symmetry planes, and an experimental surface triangulation preview. The goal is still not a fully automatic black-box reconstruction. The user remains in control of which geometry is actually created.

    After entering one known real-world dimension, the complete model can be recalculated to the required scale. Confirmed 3D edges can then be exported as ASCII 3D DXF for further work in a CAD or 3D modeling application.

    The current workflow is roughly:

    PNG/JPG blueprint → drawing cleanup → removal of unwanted lines → matching points or working with sections → symmetry → 3D points and edges → scale calibration → DXF export.

    Several possible directions for further development have appeared during testing. One of them is matching entire cleaned lines between different views instead of manually matching individual points. The program could then generate points automatically along corresponding curves. It is not yet clear whether this would be more practical in real modeling work than the current combination of points, sections, and symmetry.

    For now, the current version will be released as an experimental build.

    The main question behind the project has already been answered: this reconstruction method works and can turn an ordinary blueprint into a useful starting point for a 3D model.

    Further development is now less about whether reconstruction is possible, and more about finding which way of entering geometry is the fastest and least annoying in actual use.

View project log

  • 1
    Build Instructions

    1. Download and extract the demo

    Download the attached demo archive and extract all files into one folder.

    Keep the included folder structure unchanged. The saved project uses the supplied blueprint images.

    2. Start the application

    Run the included application executable.

    The current demo is intended for Windows.

    3. Open the example project

    Open the included .bpproj file.

    The project contains a truck blueprint split into separate orthographic views and several predefined matching points.

    Some parts of the current version are still configured specifically for this example.

    4. Check the existing points

    Select one of the predefined point numbers.

    The same point will be visible in the views where it has already been marked. If enough perpendicular observations are available, its reconstructed position will also appear in the 3D preview.

    The views can be zoomed and panned independently.

    5. Add another matching point

    Choose an unused point number and mark the same physical location in at least two suitable perpendicular views.

    For example:

    • mark a cab corner in the side view;
    • mark the same corner in the top view;
    • optionally add the corresponding position in the front or rear view.

    The reconstructed point should appear immediately in the 3D preview.

    6. Connect reconstructed points

    Create edges between selected reconstructed points.

    The 3D preview updates as the wireframe is extended. Duplicate and zero-length edges are rejected.

    7. Export the result

    Export the confirmed 3D edges as a DXF file.

    The exported file contains real three-dimensional line entities and can be opened in software supporting 3D DXF geometry.

    Current limitation

    The included truck project is the supported demonstration case.

    The alignment and reconstruction rules still need to be generalised before arbitrary blueprint sets can be imported without project-specific configuration.

View all instructions

Enjoy this project?

Share

Discussions

Olda wrote 14 hours ago point

I think there is just a small misunderstanding about what the program actually uses when it comes to the two views.

These are not arbitrary photographs, but orthographic views with known axes. For example, the side view provides X/Z coordinates and the top view provides X/Y. If I mark the same point in both views, the program has X, Y and Z, so the 3D position is fully determined.

For vehicles I usually work with a top view, a front or rear view, and one or two side views. Symmetric parts can also be mirrored, so in practice there is usually no shortage of views.

The second part of your comment is actually very close to the direction I would like to explore next. Instead of manually marking every single point, it would make sense to use one reliably identified point as an anchor and then follow the corresponding lines in the different views. The program could then at least propose additional points automatically.

Before that, though, I want to finish another part first: cleaning up PNG blueprints and converting the raster drawing into usable digital linework. The program can already thin lines down to centerlines, split them into segments, and remove unwanted parts. Until that part is reliable enough, automatic line following would only be a more sophisticated way of following garbage.

  Are you sure? yes | no

koalabi wrote a day ago point

Nice idea. Great project. Still, having done coputational geometry (a long time ago), I'm skeptical that "Two suitable perpendicular views are usually enough to reconstruct a point." Mathematically (and also practically), this is in general not true. You need 3 distinct views featuring a given point to be able to compute its 3D coordinates. 2 orthogonal views only define a straight line in 3D space (more precisely, one that is parallel to one of the reference axes), not a point yet.

One nice extension of the project would be, from a given, well-identified point, to following lines in the drawings to determine (or at least propose) additional points. That could be nice!

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates