transposed vectors - XYZ of transformed object
0.42311313 0.90112227 0.09462523
0.15066759 -0.17295294 0.97333784
0.89346212 -0.39757506 -0.20894858
vectors of 3dmatrix - uniform scale (X=1.0 Y=1.0 Z=1.0)
0.42311313 0.15066759 0.89346212
0.90112227 -0.17295294 -0.39757506
0.09462523 0.97333784 -0.20894858
Similar method applied on your 3dmatrix :
3dmatrix
0.42311313 0.90112227 0.09462523
0.07533379 -0.08647647 0.48666892
0.44673106 -0.19878753 -0.10447429
transposed vectors - XYZ
0.42311313 0.07533379 0.44673106
0.90112227 -0.08647647 -0.19878753
0.09462523 0.48666892 -0.10447429
But, because these X,Y,Z are not orthogonal (see my newly attached *.dwg), you probably didn't post data for 3dmatrix, but for X,Y,Z vectors; so
X:Y:Z = 1.0:0.5:0.5
vectors of - XYZ of transformed object
0.42311313 0.90112227 0.09462523
0.07533379 -0.08647647 0.48666892
0.44673106 -0.19878753 -0.10447429
so transposed 3dmatrix should be :
0.42311313 0.07533379 0.44673106
0.90112227 -0.08647647 -0.19878753
0.09462523 0.48666892 -0.10447429
But because matrix is non-uniformly scaled transformation, this also doesn't work :
(defun c:t ( / obj 3dmatrix )
(vl-load-com)
(setq obj (vlax-ename->vla-object (car (entsel "\nSelect object for transformation"))))
(vla-transformby obj
(vlax-tmatrix (setq 3dmatrix
(list '(0.42311313 0.07533379 0.44673106 0.0) '(0.90112227 -0.08647647 -0.19878753 0.0) '(0.09462523 0.48666892 -0.10447429 0.0) '(0.0 0.0 0.0 1.0)))
)
)
(prompt "\nTransformation matrix applied to selected object : ")(princ "\n")(princ 3dmatrix)
(princ)
)
M.R.
I hope I explained well...