What prog to marry a CAD model to a photo?

Hi,
does anyone know of any affordable prog that will marry up a CAD model to a perspective picture ?

I have trialled FormZ and sketchup so far,

FormZ comes close, but I cant tell if the mismatches are my model at fault or the prog. The model is accurate and the photo is 70 yrs old but well taken. It surfaces parts that didnt have surfaces, and gives strange effects, struggling a bit still. Export is dwg and thats got issues. Green blobs as opposed to crosshairs for snapping.

Sketchup lacks finesse, and is EXTREMELY SLOW, as if PC has lost all memory, and requires linear edges to be matched, not practical.

Rhino PerspectiveMatch fails abysmally, twists and distorts, fails on exact same task where these two do at least match up model to photo,. inability to move model whilst selecting points makes it useless.

Steve

Hi Steve,
I’ve reconstructed a few cars based on historical photos and provided the info to build it - all with pure Rhino. But I don’t understand what you are trying to do or what your problems are.

  • Jess
3 Likes

Hi Jess,
you are doing what I am doing.
I already have part of the vehicle to refer to and measure up and have created an accurate model of it, Rhino does not manage to match it to any photos of it, not even close, it goes totally wild. I am using the correct procedure.

My problems are also the command itself. :-
as soon as I zoom in on the model to place my point having first placed it in the background Image ( and I wish there was a way of using some keyboard key held down to magnify the image as I try and place my point), I get a 1 appear, so far so good, I then place my next point in background image then pan model to be able to place point at the correct spot, and it says please start again.

No panning or zooming is allowed.It breaks the spell ! with FormZ one can pan and zoom whilst placing points, then even add more points if first ‘solve’ doesnt go as planned. Again though I get about 80% fit. Save the view, as per Rhino, enables rematching. Do a save file and that stops ability to add any more points as they all vanish, view still there.

So to overcome Rhino pan/zoom I now place points on the model, try and remember where these correspond to on the photo, then turn on osnap just for points and get round the need to zoom, dare not even pan, hold back all instincts of 3D viewing !

As such if it was to match, to then plot something from the photo onto the model is the next challenge.
Save view is vital so as to reset the match, no ability to zoom in on what is a hi res photo to draw something on it and relate that to the model, as photo is not zoomable.

The main problem though is it just doesnt match the photo. I have a number of photos so it cant be just that one has been cropped etc over time. The other problem is often the vehicle isnt the main subject of the photo, I dare not crop it though.

I wish one also had the ability to indicate a linear feature in the photo and in the model as extra guidance for the prog to do its matching.

I shall have to try for a few more photos, but its failing on the hires big ones I have, the ones I need to use.

Steve

Hi Steve,
I got good results using PerspectiveMatch. When I got funky results it was generally because I used too many reference points. With around 6 to 8 points, carefully placed, I had excellent results.

Hi Marc,
how do you get around the inability to use normal 3D space viewing ? the inability to even zoom in on the model to place a reference point ?

I have also used just 6 points, didnt seem to make a difference, initially it semi matched my model to a photo, but then adding more detail I had the model going really twisted when it had better reference points to match to, especially in the area I needed it to be accurate on.

When I get 5 mins I shall try yet again, I just hate the fact that any slight pan or zoom and its game over.

Placing points where I need them , i then have to try and position the model so I can see the photo as one cannot even move the model to get to the photo !

Steve

Try setting up two perspective viewports? Use one as the ‘fixed frame’ that shows the view that you want to end up with. Once set, don’t touch that view - just use it to view the results of the adjustments you make in the other viewport(s). Save the ‘fixed frame’ viewport with its own name, so that if you happen to accidentally move the view for some reason, you can get back to exactly the same viewpoint. You’ll also need to play with lens length to get a decent perspective match.

Setting up view matching of this type is very much like looking at one of Vermeer’s ‘tricks’. At anything other than the specific viewpoint, it just looks…well, wrong.

Hi Steve,

Well, the _PerspectiveMatch command could be improved by allowing to magnify the image and to navigate the model for picking the points! Maybe this could (or should) be done in two separate viewports or with a PictureFrame instead of a Wallpaper?

Of course if the photo comes with some sort of distortion then it is not possible to match it “exactly” to any Rhino view or geometry.

If the photo is perfect, but the geometry is not exactly the same (which usually is the case while reverse-engineering) then there is also no way to match it perfectly. Usually I use _PerspectiveMatch just for the rough alignment. I’ll get better results tweaking the camera manually with the following workflow:

Set the image as a Wallpaper in Perspective viewport.

Make a new _FloatingViewport based on Perspective view.

Adjust the size of the floating viewport with -_ViewportProperties.
Make sure it fits on your screen and is proportional to the size of your wallpaper image.
(For the attached file I used: width in pixels: 1360, height in pixels: 1020)

_PerspectiveMatch the Wallpaper and Geometry like described in Rhino Help.
(use Windows screen magnifier if you find it useful, snap-able geometry also helps)

Turn on the _Camera to see the points in other viewports. Make sure the target is approximately on the center plane of the object.

Fine-tune the matching (anything is allowed, 3Dconnexion, nudging the camera points…) until you are happy with the result.

Place a _PictureFrame with the wallpaper image on the camera target plane using the camera points.

Scale the PictureFrame from Camera origin to be behind the objects.

Now you can navigate this Viewport but only with the Right Mouse Button while pressing CTR + Alt (-> _RotateCamera) or CTR + Alt + Shift (-> _ZoomLens) and keep the image matching to the geometry.
Restore with NamedView: PerspectiveMatch if you get lost.

If the image is distorted then you can rebuild the PictureFrame with a higher point count and change the _Weight of the points (or move them if necessary) to compensate the distortion.

Check out the attached file. Hope it helps!
Linentester.3dm (12.3 MB)

Jess

3 Likes

Hi All,

Unfortunately the questioner did not reply to my answer which I find pretty rude.

However, anyone interested in photogrammetry might check out the file which I’ve attached to my previous posting. Sorry for the file size, that’s the embedded picture.

Jess

1 Like

For a birthday card, I made a juggler photo (unknown credit) juggle Pass Labs amplifiers.

From this photo…

I removed the sticks in PhotoShop…

And made some 3D amplifiers in Rhino with extruded heatsinks…

I exported them keeping only the self shadows…

A little color matching, and some simulated shadows, and wallah…

…someone juggling 132lb / 50Kilo amplifiers

:smile: that is really funny

Hi Jess,

I have just seen this thread, as its back at top of stack, I havent got my system setup to let me know if someone replies without looking in on hotmail and I dont frequent hotmail much, I try to look in on forum regularly but its not always possible.

Last thing I am is rude though, just busy., 10 days is not a long time though, I sometimes dont get to look in for longer than that.

I will work through your suggestion as soon as I get 5 mins, as I need to somehow improve PerspectiveMatch if its going to be of any use. I hope it also overcomes the issue of any zoom or pan and the command is broken.

Steve