Layout api style set_dimension_units



Hello fellow developers. I’m currently exploring the Layout api and I’m having some troubles which I hope some of you might have encountered already.

I’m having troubles changing the dimension style to fractional inches. I looks like they just keep showing up as decimals.

# p1, p2, p1_3d, p2_3d and layout_su_model are given...
new_dimension =, p2,, 16) # attempt 1
document.add_entity(new_dimension, layout_su_model.layer_instance.definition,, 16) # attempt 2
p1_connection =, p1_3d)
p2_connection =, p2_3d)
new_dimension.connect(p1_connection, p2_connection), 16)  # attempt 3

Anyone tackled this already? I’m confident I must be overlooking something…


Hi @kengey,

Sorry I didn’t see your post earlier!

The #style method actually returns a copy of the entity’s style attributes, rather than a direct reference. What you need to do is save the style to a variable, set the dimension units, then apply that style back to the original entity. It’s unintuitive and non-ideal, but was necessary due to the internal architecture.


new_dimension =, p2,
style =
style.set_dimension_units(Layout::Style::FRACTIONAL_INCHES, 16) = style

Hope that helps,


Thanks Adam,

Kind regards,