diff --git a/src/scene/model/loft_command_model.rs b/src/scene/model/loft_command_model.rs index 9577096a8..7d1394374 100644 --- a/src/scene/model/loft_command_model.rs +++ b/src/scene/model/loft_command_model.rs @@ -9,7 +9,9 @@ use super::sweep_model::embedded_path; pub(crate) fn embedded_section(entity: &EntityType) -> Option { match entity { - EntityType::Region(region) => Some(EmbeddedEntity::Region(region.clone())), + // A region as the curve round it, as the reference records it. + EntityType::Region(region) => Some(super::sweep_model::region_boundary_entity(entity) + .map_or_else(|| EmbeddedEntity::Region(region.clone()), |(curve, _)| curve)), EntityType::Point(point) => Some(EmbeddedEntity::Point(point.clone())), _ => embedded_path(entity), }