Is it useful to an axonometric cavalier?

May find that using an axonometric cavalier to present objects?

Ciao Vittorio,

I have periodic requests for this from my students, yes…


Hey, what do you recommend to get accurate isometrics- and axonometric-views ?

I change the the perspective viewport to ‘parallel projection,’ but then it’s tricky to hit an exact 30°/60° axon or 45° isometric view. Any suggestions?

A “quick and dirty” workaround would be, to make a copy of the object you like to show and rotate it exactly 30/60/45°, so you can stay in your normal top/front viewport.

I use the function rs.XformChangeBasis2 in Python script for deform the object

Here’s an example of what I am after. It’s a few simple settings, but it does take a few steps to get it looking right. I can share my settings if anyone is interested.

There is the command

_IsoMetric for 45 deg angles.

Maybe it can be extended with 30deg increment angles

I always used to place camera&target along predefined "vectors"aka line segments that correspond to the needed angle in an parallel view and then zoom selected onto the objects I want to show.

you can build your own little “view cube” … with bells and whistles where you have a visual reference of your different vectors.

May I shamelessly plug a plug-in (plug a plug-in, get it? :smile:) that I wrote a couple years back? <-- wrong

1 Like

@menno, I got a Page not found error from that link.
A search on Food4Rhino shows this one:

FWIW, also see these threads on the topic:

oops, thx for the correction!

Is there also something for this one?

@Mikko once made a formula for this projection, more than 10 years ago.

degrad = 0.01745329251994
raddeg = 57.29577951308

a = 7
b = 42

'Then using Mikko's notation (note:sqrt is the squareroot function)
TanA = Tan(a * degrad)
TanB = Tan(b * degrad)

alfa = Atn(Sqr(TanA / TanB))
beta = ArcSin(Sqr(TanA * TanB))

'Now plug these results into Mikko's formula for camera position
p1 = Sin(alfa) * 1000
p2 = -Cos(alfa) * 1000
p3 = Tan(beta) * 1000

'The result for the values you gave (7-41) is .3518,-.93607,.34567. However,
'this won't give you very accurate results since rhino rounds off the values to
'two decimal places. So what I suggest is that you multiply the xyz values by
'1000. so that the values you place in the camera position field would be

Debug.Print p1, p2, p3

tp1$ = Format$(p1, "0.00")
tp1$ = Replace(tp1, ",", ".")

tp2$ = Format$(p2, "0.00")
tp2$ = Replace(tp2, ",", ".")

tp3$ = Format$(p3, "0.00")
tp3$ = Replace(tp3, ",", ".")

x$ = tp1$ & "," & tp2$ & "," & tp3$
Text3 = x$

All$ = "PlaceCameraTarget " & x$ & vbCrLf
All$ = All$ & "0,0,0" & Chr$(13) & vbCrLf

Clipboard.SetText All$

Wow. I never saw that! Amazing & thank you.