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.
Olda
Madaeon
Greg Zumwalt