Skip to content

Extruding a surface from the cap face of a solid consumes the cap face #12146

@bcorey

Description

@bcorey

Describe the bug

if you extrude a solid, then extrude the top cap face of that solid as a surface, the original cap face is gone and you can see the interiors of two surfaces. It seems unintentional because the surfaces are distinct objects: there exists a dividing line where the cap face once stood.

Steps to Reproduce

  1. create the pill sketch from the KCL book
  2. extrude solid
  3. select top face and extrude surface
  4. observe that the cap face for the original solid has vanished
  5. observe that you have two "stacked" surfaces with a bottom cap face
  6. observe that there exists a dividing line on the sides where the cap face once sat perpendicularly

Expected Behavior

A solid object should exist with a separate surface object sat on top.
Or, if there were an option to extrude & merge at once, an error should be produced when trying to merge a surface with a solid and the extrude should fail.
Or, if the solid is converted into a surface and merged with the new surface extrude, we should have continuous side faces not bisected by the position of the missing cap face of the solid.

Screenshots and Recordings

Image Image

Desktop OS

macos

Browser

No response

Version

v1.3.1

Additional Context

@settings(defaultLengthUnit = mm, kclVersion = 2.0)

pill = sketch(on = XY) {
  line1 = line(start = [var -4.18mm, var 5.88mm], end = [var 1.34mm, var 5.85mm])
  line2 = line(start = [var 1.32mm, var 4.12mm], end = [var -4.19mm, var 4.15mm])
  arc1 = arc(start = [var -4.18mm, var 5.88mm], end = [var -4.19mm, var 4.15mm], center = [var -4.18mm, var 5.01mm])
  arc2 = arc(start = [var 1.32mm, var 4.12mm], end = [var 1.34mm, var 5.85mm], center = [var 1.33mm, var 4.99mm])
  coincident([arc1.start, line1.start])
  coincident([line1.end, arc2.end])
  coincident([arc2.start, line2.start])
  coincident([line2.end, arc1.end])
  parallel([line1, line2])
  equalLength([line1, line2])
  equalRadius([arc2, arc1])
  tangent([line1, arc1])
  tangent([line1, arc2])
}
hidden001 = hide(pill)
region001 = region(point = [-1.4423756mm, 5.8636542mm], sketch = pill)
extrude001 = extrude(region001, length = 6, tagEnd = $capEnd001)
extrude002 = extrude(capEnd001, length = 5, bodyType = SURFACE)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No fields configured for Bug.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions