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.

CAD Battle #1 - January 2026 (Best of the Worst Competition)

2»

Comments

  • ry_gbry_gb Member, csevp, pcbaevp Posts: 155 PRO

    +1 @TooTallToby to get in here. As per the rules, no Ivan exploits!

    Ramon Yip | glassboard.com

  • EvanReeseEvanReese Member, Mentor Posts: 2,759 PRO
    edited January 8

    Someone needs to model the whole thing with a custom feature that has no UI and only makes this exact part. (with math, not imports obvs)

    Evan Reese
    The Onsherpa | Reach peak Onshape productivity
    www.theonsherpa.com
  • Derek_Van_Allen_BDDerek_Van_Allen_BD Member Posts: 589 PRO

    Technically, that feature has zero opBoolean usage whatsoever. What it does is smuggle illegal sheet metal geometry into the 2d flat pattern view from the 3d view and skips all the manufacturing checks of the normal engine. Subtractive operations on planar surfaces only.

    Don't tell the devs.

  • Derek_Van_Allen_BDDerek_Van_Allen_BD Member Posts: 589 PRO

    So I should have mentioned in the initial post, but my method for checking for same-ness of the initial input part is to run a matching bodies query with Query Variable Plus, which has more robust geometry evaluation than pure mass properties evaluation.

  • jelte_steur_infojelte_steur_info Member Posts: 634 PRO

    @Derek_Van_Allen_BD: got those forbidden Booleans taken care of. it was painful in one instance, just as you intended!

  • bryan_lagrangebryan_lagrange Member, User Group Leader Posts: 959 ✭✭✭✭✭

    @Derek_Van_Allen_BD The shaped is complete and ready to ship to the winner of CAD battle #1

    IMG_4121.jpeg
    Bryan Lagrange
    Twitter: @BryanLAGdesign

  • Derek_Van_Allen_BDDerek_Van_Allen_BD Member Posts: 589 PRO

    Just crossed the halfway point in this competition, strong submissions so far but still plenty of time for people to cook up some cursed feature trees and plenty of room for improvement (regression?) over what people have done up to this point if you're bold enough.

    If you're reading this and have yet to make a submission, here is some (unfortunately) real-world inspiration. Below is a list of things I have seen in actual production models that you could apply:

    • Remove all constraints and dimensions from your sketches. Make that sketch as strong as the finest tissue paper.
    • Don't use the top plane or the front plane as your primary reference, start drawing your part's base using the right plane. The objectively wrong plane for most situations.
    • Avoid any sketch reuse whatsoever. Tie as many operations as you can to the same starting place and same sketch regions but draw a new identical sketch every single time.
    • Riddle the feature tree with broken features and references and instead of fixing them, just patch them up with more features and references.
    • Use the branching and merging functionality of Onshape as though you didn't know the rollback bar exists. Really make me need to master time travel and parallel universes to understand your document structure.
    • Rename every single feature to the most incomprehensible mess you possibly can. Make it a cryptic puzzle for anyone but you to look at.

    Keep up the terrible work everyone!

  • EvanReeseEvanReese Member, Mentor Posts: 2,759 PRO
    edited January 17

    Just did a way worse one using routing curve as the only curve creation tool and ruled surface as the only geometry creation tool, and transform as the only patterning tool. No, sketches or solids used (until Enclose). I also opted to leave a ton of missing references and failed features. Makes the feature list look like I'm less up tight.

    https://cad.onshape.com/documents/70f550586b27aa6e3bf80866/w/87953cc4b98976f216b607f2/e/011e4a19f70e52f35af11f7a

    Evan Reese
    The Onsherpa | Reach peak Onshape productivity
    www.theonsherpa.com
  • martin_kopplowmartin_kopplow Member Posts: 1,158 PRO

    @Derek_Van_Allen_BD wrote: "

    • Riddle the feature tree with broken features and references and instead of fixing them, just patch them up with more features and references.

    "

    Hey, make no jokes on that! That is not funny. Yesterday, I received a phone call from someone in my town asking me to come over and help, because "My model has exploded and now everyting is gone!" The guy is on Fusion. I drove over to his place and had a look. What you proposed is exactly what he did: Patching one issue with yet anoter issue and yet a few more on top. To add to the mess, he obviously switched history on and off at irregular intervals as he went on and also deleted individual features deliberately. I didn't know that was even possible. The whole model was in fact completely destroyed, and he made no versions to go back to, only saved some STEP exports as "backups" locally, of course including all the damage in different combinations, and he worked for days in a single session.

    So, this is to say: Reality strikes back, and as it stands now, he is my inofficial winner of the Best of the worst Competition (Northern German League). It'll be hard and painful to top that! ;0)

  • martin_kopplowmartin_kopplow Member Posts: 1,158 PRO
    edited January 18

    Okay, inspired by what I saw yesterday, here's my entry:

    https://cad.onshape.com/documents/a2c036d694ddf06c748a1cbb/w/f4f105d026f325bf616e8833/e/0ea9b9d430f224fd2b2081bb?renderMode=0&uiState=696cf9426370003b337fb085

    I did in fact use some features, but tried to do it in the least meaningful manner, and never in a straight and targeted way or hardly for what they were meant to be used. I used booleans for things that could have been done 'cheaper' in many other ways, for example when creating a pin by booling away a slab from another slab that had a hole in it, only to use the pin obtained to create more holes by more booleans. And if a sketch may appear fully defined, I did not do it on purpose and it's pure coincidence. I made round things out of slab primitives. I also used an awful lot of transforms and deleted a lot of stuff. Also, I used a special Sawblade Feature to split solids at different angles. As a designer, you gotta take tinto account what tools they do have in the shop, don't you?

    grafik.png
  • Derek_Van_Allen_BDDerek_Van_Allen_BD Member Posts: 589 PRO

    @martin_kopplow all of the crimes in that list are real things that I've seen people on my team do. Though I suppose I am guilty of giving them advice along the lines of "You see all that yellow in the feature tree? You know what yellow means? That the model built successfully, send it" so I can't hold it against all of them. Except the one that based the core of their whole catalog standard on the backside of the right plane and forced me to redraw the whole dang cabinet line from scratch. That one I'll never let go.

    I am tempted to relax the rules a little to allow this submission because there's an elegance in execution on display here that I think ought to be appreciated. I mean look at this:

    image.png

    Marvelous.

  • Derek_Van_Allen_BDDerek_Van_Allen_BD Member Posts: 589 PRO

    @EvanReese you deviated a little bit away from the front pocket geometry with that squared face instead of following the curve of the main clamp part like the reference doc, but aside from that this is a fantastic sketchless example. I'm glad we got at least one Routing Curve example in here, there was a moment in the development of some of my curve utilities scripts that I thought about using Routing Curve's fillet capabilities to draw 3d curve arcs since there's no native function for that. Was gonna overdraw some lines and remove the straight bits much like your example does. In the end I couldn't get that to work in a continuous chain so my arc utilities just draws temporary sketch planes and then removes the construction objects to get the pathing to work.

    It's interesting that the ruled surfaces for the circular bits evaluate as B spline surfaces instead of cylindrical surfaces even though the top and bottom edges evaluate as circular arcs and it's got a well defined extrusion direction.

    image.png

    This explains why I couldn't use a ruled surface operation for my sheet metal tab and slot feature and why the boolean kept failing on the circular tabs. I never realized they didn't come out truly circular. I'll have to keep this in mind next time I'm scripting with it. That does mean that this probably won't pass the Matching Bodies query in the end because the surface definitions aren't the same, but you'd probably pass the mass properties evaluation used by the CAD Challenges app to grade submissions with this part once that pocket gets fixed.

  • EvanReeseEvanReese Member, Mentor Posts: 2,759 PRO

    @martin_kopplow Your model is viscerally repugnant. In all my years I have never witnessed such an odious feature tree. It is truly horrendous.

    image.png
    Evan Reese
    The Onsherpa | Reach peak Onshape productivity
    www.theonsherpa.com
  • EvanReeseEvanReese Member, Mentor Posts: 2,759 PRO

    @Derek_Van_Allen_BD I thought that was an interesting learning too. As for the model not matching, you're not going to believe this, but there was a feature error in the model that prevented it from being perfect. It's perfect now.

    Evan Reese
    The Onsherpa | Reach peak Onshape productivity
    www.theonsherpa.com
Sign In or Register to comment.