The following code demostrates how to the matrix from model space referenced by a viewport to the layout where the viewport resides.
//we need to apply the the view's transform to have it look the same
// in paper space (the paper space view is always orthogonal)
AcGeMatrix3d mat = AcGeMatrix3d::worldToPlane(AcGePlane(viewTarget, viewDirection));
//apply any view twist
mat = AcGeMatrix3d::rotation(twistAngle, AcGeVector3d::kZAxis) * mat;
// Get the center of the view in WCS coords
AcGePoint3d viewCenter3d(viewCenter.x, viewCenter.y, 0);
mat = AcGeMatrix3d::scaling(scale, viewCenter3d) * mat;
// Origin displacement from model to paper
AcGeVector3d offset(centerPoint.x - viewCenter3d.x, centerPoint.y - viewCenter3d.y, 0);
mat = AcGeMatrix3d::translation(offset) * mat;