Hole Wizard #7543
Replies: 9 comments 34 replies
-
As described by @nickmccleery
Example youtube video from @jamwaffles: https://www.youtube.com/watch?v=ObLRU6Ouyl0 This likely require work from:
|
Beta Was this translation helpful? Give feedback.
-
Alongside the MasterCAM video above, here are a couple of UI examples for inspiration. First from Fusion (pretty clean): And FreeCAD (typically obtuse OSS software UI 😁): The FreeCAD Wiki page has some decent behavioural descriptions but I think whatever we do, we should be involving a MechE (even myself if you want someone who cosplays as one) in the final feature design. |
Beta Was this translation helpful? Give feedback.
-
Redacted: original comment copied from #7633 was moved to the top post as source of truth. |
Beta Was this translation helpful? Give feedback.
-
@adamchalmers Re:
I think this is a great breakdown. Once we agree on this I'll probably create dedicated discussions for Phase 2 and Phase 3. |
Beta Was this translation helpful? Give feedback.
-
This is kind of a new category of things for ZMA - having a distinguished module for things. It's not a very scalable or customisable solution though - it doesn't allow the user to have multiple modules for holes, or holes in a sub-module if we support them in the future, or to have a holes file called something else (perhaps there is a naming convention in their project which doesn't work here). It also doesn't allow easy merging of projects or parts of projects. I'm not sure what exactly a hole is in KCL yet, but assuming it's a function or type, they could be annotated with an attribute, e.g., |
Beta Was this translation helpful? Give feedback.
-
There is a plan for external libraries, but I'm not sure how it should be prioritised. At the moment, I've got it very much a lower priority than the sketch mode changes, so that's probably a 6-12 month timescale. If we want this done sooner for the holes work or otherwise, please let me know! |
Beta Was this translation helpful? Give feedback.
-
Do we ever need the |
Beta Was this translation helpful? Give feedback.
-
This has kind of turned into a future features wishlist so apologies for that, but I thought I'd post this list anyway in case it's useful.
|
Beta Was this translation helpful? Give feedback.
-
Just to add more colour here, mostly on nomenclature: DrillsISO 5419 (this too) refers to the drill tip angle specifically as Fusion's naming system adopts Countersinks, Counterbores, and CounterdrillsI don't think it makes sense for a hole to have a 'top'. Existing CAD/CAM tools adopt the following:
See:
ExtensionHole 'body' also sounds a bit odd to me. I think that should be something like depth, distance, or extension. Existing tools adopt the following:
RecommendationsI think we should modify the way
I have a weak preference for the bottom related parameterisation changing to match the ISO standard, so |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Milestone for issue tracking: https://github.com/KittyCAD/modeling-app/milestone/13
Milestone contributors: @adamchalmers @pierremtb
Mechanical engineers work with holes, and ZDS needs first-class support for them. It's possible to design holes yourself right now from KCL primitives (e.g. revolving a profile, then subtracting it from a solid), but we should provide users with higher-level functions that are easier to use.
Requirements
We will add several new KCL functions to easily create holes. A new UI, the hole wizard, will let point-and-click users fill in the parameters for these functions, and when users press OK in the wizard, it'll update their KCL and insert calls to them.
1. A hole wizard UI element that lets users choose what their hole looks like
holes.kcl
in the top level dir of the project, and the wizard will check for this file and load its holes for users to choose from.2. Hole functions in KCL, which the wizard calls into
See below for details
3. Holes can have three parts, which can all be selected independently:
4. We will provide a library of standard holes
Out of scope
API
The API for this project is just the KCL type signatures. This is what the frontend will need to instantiate, and what the KCL team will implement.
Hole functions
A hole is defined by 3 things:
I'm not sure if these are the right terms, so please feel free to suggest alternative names.
A hole is simply a choice for each of these.
Here's the parameters we will support for countersink and counterbore:
The KCL for these is defined as:
Here are some examples of using this library.
We will also publish a KCL library with choices for these. For example, here's how we would define the
Q
screw from theAcme
standard.This KCL library will be published as a second-party library, i.e. maintained by Zoo but not in the standard library. It'll be available for all users, but this way we can change its details later.
Delivery plan:
holes.kcl
per-project.Beta Was this translation helpful? Give feedback.
All reactions