Welcome to the Onshape forum! Ask questions and join in the discussions about everything Onshape.

First time visiting? Here are some places to start:
  1. Looking for a certain topic? Check out the categories filter or use Search (upper right).
  2. Need support? Ask a question to our Community Support category.
  3. Please submit support tickets for bugs but you can request improvements in the Product Feedback category.
  4. Be respectful, on topic and if you see a problem, Flag it.

If you would like to contact our Community Manager personally, feel free to send a private message or an email.


Mirror of Bridging Curve with other features causes bug

S1monS1mon Member Posts: 2,359 PRO
I've found a bug with mirroring of a Bridging curve. If you include other features in the mirror, the bridge curve can pick the wrong end of a reference entity to use. In the example below (link to public doc), Mirror 1 includes sketch 2 (on the top plane), and the upper end of the curve picks the wrong reference. In Mirror 2, I just picked the curve, and it mirrors correctly. This is not too hard to work around, if you know what to avoid, but it would be nice if this didn't happen.


  • Options
    S1monS1mon Member Posts: 2,359 PRO
    I'm not sure if this is a Bridging Curve bug, or a mirror bug. I've added some more cases which show that Mirroring a Bridging curve with an unrelated sketch is no problem, but mirroring with the tangent line at the center is even weirder:

  • Options
    Toshimichi_OdaToshimichi_Oda OS Professional Posts: 53 PRO
    Edit 'Bridging curve1' to add a vertex of the sketch line, the position and direction is fixed.
    If you want to mirror the same as the shape of curve, use "Part mirror" instead of "Feature mirror" in 'Mirror 1'.

    I think it is a bug that 'Linear pattern' and 'Circular pattern' have different behaviour.

  • Options
    S1monS1mon Member Posts: 2,359 PRO

    Interesting idea, but it doesn't fix the problem - just creates new, unwanted behavior. I've added a branch to the document where I followed the suggestion, and it does different "creative" things:

  • Options
    Toshimichi_OdaToshimichi_Oda OS Professional Posts: 53 PRO

         operation  curve   first-end   second-end
    (1) 'Mirror 1'  mirror  not-mirror  mirror
    (2) 'Mirror 2'  mirror  not-mirror  not-mirror // the same as (3)'Mirror3'
    (4) 'Mirror 4'  mirror   mirror     not-mirror

    In (2),(3)
      When both of first/second ends is not mirrored, do not regenerate. (the same shape)

    In (1),(4)
      When One or two ends are mirrored, regenerate.
      in version 'Main',
        only edge is specified as first/second side of curve.
        nearer vertex is used.
      in version 'Add vertex to tangent references',
        both of edge and vertext are specified as first/second side of curve.
        copied or not-copy vertex is used.

    It seems for me this behavior has no problem.

  • Options
    S1monS1mon Member Posts: 2,359 PRO

    I'm not sure I understand. In general, if I mirror something it should look like a mirror image of the original. In both branches there are cases where the mirror command produces something that is unexpected and not desired.

    It's definitely possible to work around this bug by not including the referenced sketches, but it's common practice to model a bunch of stuff, and then mirror multiple entities at once. I figured out how to work around this, and I expect other advanced users could as well, but it wasted time, and it's not what I would expect for a professional commercial CAD package.

    There are still weird feature mirroring bugs in Solidworks (and probably still in Creo), so Onshape is in good company, but I've been dealing with these kinds of issues my whole career. When I first started in Pro/E 6.0, if you had an assembly drawing with the same part used twice, but one was turned around 180 degrees from the other, one part's hidden lines would be completely wrong. I don't understand why these bugs are always there. Product testing needs to have a library of features which use all the most complex options and references, and then mirror a bunch at the same time. Instead it seems like someone tests the most simple case, sees that it works, and calls it good. Testing needs to be more exhaustive.
  • Options
    Toshimichi_OdaToshimichi_Oda OS Professional Posts: 53 PRO
    I do not understand what model you want to make.

    If you make a copy as the same shape, you should select 'Part mirror'.

    When you select 'feature mirror', you will want to make a different shape by regenerating.

    Is the way how to regenerate a feature different from what you want ?

    SolidWorks also make patterns and mirrors in its rule and I think there are no bugs.
    I think the rule of Onshape is more excellent than one of SolidWorks,
    because Onshape is flexible to treat many kinds of features.

  • Options
    S1monS1mon Member Posts: 2,359 PRO

    You're correct, "Part Mirror" works for Bridging curves, but not for sketches as far as I can tell.

    So back to the basic issue, if I want to mirror a bunch of stuff in one command, I currently can't reliably do this with sketches and bridging curves at the same time. 

    Either the "feature" mirror needs to be fixed for Bridging curve, or "part" mirror needs to allow mirroring of sketches which doesn't involve re-solving the constraints (incorrectly).

    When Onshape finally adds a 3D sketcher, they will need to address mirroring in a robust and reliable way. While I recognize that internally sketches and curves (e.g. Bridge, Helix, Projected, etc)  are treated differently, to the user they are similar things which can be used as building blocks for surface geometry in similar ways. It's time to start to fix some of these issues.
  • Options
    Toshimichi_OdaToshimichi_Oda OS Professional Posts: 53 PRO
    I see!

    You want to copy mirrors both of a Bridging curve and a sketch line in one feature.

    1) make to one composite curve from a Bridging curve and a sketch line.
     Composite curve feature is similar to composite part, it can make a group.
     Mirror feature can operate composite curve in 'Part mirror' mode.

     The original Bridging curve and the sketch remain.
     Delete Part feature can delete curve, but not a sketch.
     (using Feature Script can do it)

    2) use mirror feature with 'Feature mirror' mode.
     This is above discussion.

     You must copy mirrors of 'sketch 1' 'sketch 2' and 'Bridging curve 1'.
     You can make some sketches hidden if need.

    3) other ways.
      'Project curve' feature can make a similar curve without mirror feature.
      '3D fit spline' feature can make a similar curve without mirror feature.

      To make a solid by extrude make a similar edge curve.
      This is in the same way as 'Project curve' feature.
      Even if the solid has no sense, it achieve a role like a bag to group edges(lines and curves).
      I like this way because like a bag can be moved, transformed, delete, shown/hidden all in one.
      Features to operate solid are more than features to operate sketch or curve.

    To back to mirror,
    mirror feature cannot copy sketch in 'Part mirror' mode.

    Now much of mirror feature is written in Feature Script.
    FS can make a new custom feature. A feature has a way

     (a) to select elements of sketches,

    annotation { "Name" : "Sketch curves", "Filter" : EntityType.EDGE && SketchObject.YES }
    definition.curves is Query;

     (b) to select as features (including sketch feature, but permit others)
         ('Feature mirror' mode)

      definition.sketch is FeatureList;

     (c) to select area of sketches and so on (for example extrude),

     but has no way

     (d) to select a sketch as a group of elements.

    FS can make a copy of feature ('Feature mirror' mode),
    but FS can not make a copy of sketch element with type ellipse or spline,
    because there is no way to get information of elements of the type.

    About this, you @S1mon say.

    About 3D sketch,
    because Onshape can be flexible to use mate-connector or coordinateSystem, I think it is more suitable for Onshape to operate with 'composite curve','bridging curve' and so on without no constrain coordinate,  than 3d-sketch like one of SolidWorks which operates under control of WORLD_COORD_SYSTEM,

    If anything, I have three requests to Oshape feature.
      1. 'Mirror' feature can treat sketch in 'Part mirror' mode.
      2. 'Delete Part' can delete sketch.
      3. 'Composite curve' can have a option to delete source curves.

  • Options
    S1monS1mon Member Posts: 2,359 PRO

    I'm not sure I understand why you want to "delete part" on a sketch. It makes sense to me to delete parts or surfaces that were just used for construction so that they never accidentally get used somewhere else by mistake (mass properties, exporting, etc), but sketches can be hidden and have basically no further impact on the model. They can make it tricky to select what you want if everything is shown, and a composite curve has been created from the sketches.
  • Options
    Toshimichi_OdaToshimichi_Oda OS Professional Posts: 53 PRO
    Sketch and part are the same in regard to :
    (1) deleted think can not be selected.
    (2) Hidden thing can be selected after make it shown, but can be selected as a feature in feature list.

    So the same in the following :
    (3) When not used, the thing should be hidden to prevent mistake.
    (4) If not used forever, I want to delete it.
    (5) Two or more than same things are not needed for selecting.

    The different in the following :

    (6) For sketch to be shown, I click in feature list.
    while for part, I click in part list.
    For to hidden, I can click additionally in graphic area.

    Feature list is easy to find thing before/after accessing thing.
    Part list is easy to find thing from all the same kind things and
    all things are easy to be made to shown/hidden at once.

  • Options
    paul_chastellpaul_chastell Onshape Employees Posts: 124
    Hi @S1mon, This looks like it could well be a bug, certainly it doesn't look like the behavior I would expect. I will check whether support have written a bug already based on this post. If not I'll ask them to do so. Thanks for reporting it.
    Paul Chastell
    TVP, Onshape R&D
  • Options
    paul_chastellpaul_chastell Onshape Employees Posts: 124
    I would add that our support is quick and helpful and, for something like this, contacting them from the document in question in Onshape is the best way to get such an issue logged and reproduced.
    Paul Chastell
    TVP, Onshape R&D
  • Options
    S1monS1mon Member Posts: 2,359 PRO
    Thanks, I'm learning to contact support right away. I did end up submitting this last week.

    The ticket is https://onshape.zendesk.com/hc/en-us/requests/262381

Sign In or Register to comment.