Here is a workaround,
You may need to adapt the Python code to meet your requirements.

import clr
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *
# Import ToDSType(bool) extension method
clr.AddReference("RevitNodes")
import Revit
clr.ImportExtensions(Revit.Elements)
clr.ImportExtensions(Revit.GeometryConversion)
# Import DocumentManager and TransactionManager
clr.AddReference("RevitServices")
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
# Import RevitAPI
clr.AddReference("RevitAPI")
import Autodesk
from Autodesk.Revit.DB import *
doc = DocumentManager.Instance.CurrentDBDocument
def set_SectionBox(view3d, ds_bbx):
margin = XYZ(0.05, 0.05, 0.05)
# convert bbx
tf_view = view3d.CropBox.Transform
cs = ds_bbx.ContextCoordinateSystem
tf = Transform.Identity
tf.BasisX = cs.XAxis.ToXyz()
tf.BasisY = cs.YAxis.ToXyz()
tf.BasisZ = XYZ.BasisZ #coord_system.ZAxis.ToXyz()
tf.Origin = cs.Origin.ToXyz()
ptmax_before_cs = ds_bbx.MaxPoint.Transform(cs.Inverse())
ptmin_before_cs = ds_bbx.MinPoint.Transform(cs.Inverse())
newbox = BoundingBoxXYZ()
newbox.Max = ptmax_before_cs.ToXyz().Add(margin)
newbox.Min = ptmin_before_cs.ToXyz().Subtract(margin)
newbox.Transform = tf
view3d.SetSectionBox(newbox)
views = UnwrapElement(IN[0])
ds_bboxes = IN[1]
TransactionManager.Instance.EnsureInTransaction(doc)
if isinstance(IN[0], list):
if isinstance(IN[1], list): OUT = [set_SectionBox(x, y) for x, y in zip(views, ds_bboxes)]
else: OUT = [set_SectionBox(x, ds_bboxes) for x in views]
else:
if isinstance(IN[1], list): OUT = set_SectionBox(views, ds_bboxes[0])
else: OUT = set_SectionBox(views, ds_bboxes)
TransactionManager.Instance.TransactionTaskDone()
OUT = views