• [R] Smartwatch Screens

    kelvinA06/22/2022 at 11:17 0 comments

    So I decided to scan the Android smartwatch market to see if I can replace my aging Zeblaze Thor Pro and I thought that it would also be a good time to see what kind of variance there is in smartwatch screens these days. 

    UI Sketch

    For starters, it seems I forgot to write a log about the UI design I started on the train from the Birmingham, UK TCT show.

    So the arrows show things like design progression. I'm thinking of a thick line that has a smooth bend when hitting the corners. As seen in this log, there would be a press and a press+hold function of the buttons. Then I thought about how a new user would think when they just started the app for the first time and added a swipe gesture to open a tooltip with a 5 second timeout.

    Then I started thinking about the look of the area behind the buttons. Should it be acrylic like Windows 10/11, black bars or maybe even something like the edge of the windows in the train I was in:The Black Dots on Car Windows Are There for a Reason | Reader's DigestAfter that, I started thinking about some example nodes so that I could create a UI for it. There would be a lock button next to entries like "Diameter" which will set a dimension constraint without having to add seperate nodes.

    I also thought of a desktop UI feature where the user could toggle what constraints to apply whilst something like a line was being dragged. For example, you want to keep the vertical constraint of the line you're currently dragging, but aren't aligned with the midpoint of the horizontal line below. The user should be able to press 2 on the keyboard to say to the software "I want to keep the vertical constraint, but also apply a midpoint constraint to the endpoint I'm currently dragging.".

    Read more »

  • [A] Project renamed to enSweepen

    kelvinA06/18/2022 at 11:38 0 comments

    [A] = Announcement

    I've decided to go though with the name change.

  • [T] Fusion 360 Used Modelling Features

    kelvinA06/16/2022 at 17:59 0 comments

    I've compiled a list of features, in order of importance, required in another program to be able to port over my Fusion 360 designs. Some features have been grouped together and there are some additional features I wish Fusion had sprinked about. The grouped together features aren't in any particular order.

    • Parameters / functions
    • Components
    • Sketches
      • Constraints
        • Coincident
        • Equal
        • Midpoint
        • Horz/vert
        • Tangent
        • Symmetry
        • Planar
        • Colinear
        • Parallel
        • Perpendicular
        • Lock
      • Dimension Tool
      • Profiles
      • Project / include
      • Redefine sketch plane
      • Offset
      • Text
      • Extend / trim
      • Polygon
      • Helix
    • 3D / 2D Patterns
      • Circular
      • Rectangular
      • On path
    • Joints
      • Rigid
      • As-built
      • Slider
      • Revolve
      • Rigid body 
    • Extrude To
      • Revolve
      • Loft
      • Sweep 
    • Chamfer / fillet
      • Variable
      • Different angle
      • Different lengths
    • Mirror
    • Combination
    • Defeature
    • Align
    • Patch / thicken
    • Scale
    • Shell
    • Version history
    • Name features
    • Groups
    • Timeline
    • Split body/face
    • Measure distances
    • Planes
      • Midplane
      • Tangent
    • Appearance
    • Selecting through faces
      • Section view
    • Procedural move/rotate faces
      • Draft
      • Push-pull
    • Threads
      • Modelled / textured
    • Sheet Metal
    • Emboss/cut onto curve
    • Import/export
      • .step
      • .dxf
      • .svg
      • Image canvas
      • 3MF/STL

    Whilst the list of features is long, it does make the problem feel a measurable amount more feasible to achieve.

     Looking at the development of Fornjot (video below), it seems that the timescale would be quite long to get to a desirable stage, thus I should continue modelling in Fusion 360 while I slowly work on this project on the side. I still think gd0096 would still be useful as a tool to plan designs before modelling it in CAD if it wasn't connected to a geometric kernel.

  • [T] Kernel Choice: Fornjot over OCCT?

    kelvinA06/10/2022 at 18:47 0 comments

    Maybe OCCT's gotten better in the past few months/years, but I've heard that FreeCAD's been kind of rocky with bugs because of it. It's also decades old, which is a double edged sword from my point of view; while feature rich, it may be difficult to add new features, understand old ones or implement Quality Of Life (QOL) enhancements, as seen in FreeCAD. I've also heard that OCCT also takes a considerable amount of time to learn.

    Fornjot is the new kernel on the block, has similar goals to this project and seems to get a considerable amount of progress done each week. It could also help both projects progress, as explained in this blog post.

    I've still got a lot of work to do before I even need to start interfacing with a geometric kernel, so there is the option of delaying the decision until I get to that point.

  • [T] Name Idea: enSweepen

    kelvinA06/10/2022 at 18:33 0 comments

    Reasons why I thought of this:

    • Sounds smoother to say than "sketch", especially the phrase "enSweepen me!" over "enSketchen me!".
    • Seems more consistent of a name than "loft" when looking at it with the rest of the SecSavr ecosystem.
    • Sweep is one of the main 4 body creation tools, and one that usually requires more than one sketch in other CAD programs, showcasing the multi-plane sketch workflow of this project.
    • Timeline / file cleanliness and housekeeping is a priority.
    • Sounds refined because it is similar in sound to "ensuite".
    • Timelines could possibly look like a 2D sweep operation, maybe?

  • [T] Branding

    kelvinA05/30/2022 at 08:12 0 comments

    Some branding ideas to further explore the idea of "enLoften" over "enSketchen".

  • [A - T] Branding and potentially shelving

    kelvinA05/28/2022 at 16:29 0 comments

    So, after compiling all the research I've gathered over the past few days, my compute returns a low probability that I'd get more than even get a denominator-double-digit fraction of this project complete in the time I'd want it delivered. It seems more to be a kind of project that is worked on at a slow but consistent pace, since there is so much stuff that would have to be learnt. 

    Obviously, shelved != scrapped; it's more like "frozen". I'll still be keeping my eyes on anything that could push this project forward though.

    I thought I should at least add some branding, and the square project image wasn't as great as I imagined.

    And now I'm staring at "Sketch" and it looks kind of... prickly? Coarse, maybe? Additionally, CAD Sketcher now exists. enLoften might be my backup name as it sounds calmer and more refined, even though I don't usually use the loft tool all that much. Perhaps that could be a reason to look into making the Loft tool easier to set up than in current CAD packages.

  • [R] Geometric Modelling Kernel

    kelvinA05/27/2022 at 10:55 0 comments

    From what I can understand, the Geometric Modelling Kernel, commonly shortened to the CAD Kernel, is the part of software actually responsible for creating the mathematical representation of the part. In FreeCAD, I heard a few problems were attributed to OCCT, and Fornjot seemed to be making their own, so I set out to research further into potential kernels over the past 3 days. 

  • [T] Starting to plan a concept workflow

    kelvinA05/24/2022 at 13:29 0 comments

    Published: 15:34, Tues 24th May

    Yesterday, I saw these two videos:

    I thought it was intriguing and recreated it in Fusion360, and then thought about how I would do it in enSketchen only with the hardest device being targetted: the full-Android smartwatch. These watches are on China for between £30 and £160 depending on features and popularity, and I've used them as my main cellular Android device for years. I still much prefer square/rectangular ones to circular ones as I can get more done on them, but I'll explore to see if an interface can be made for both. 

    Designing for a smartwatch screen both helps to highlight how many clicks somebody on a PC or phone might need to take to produce a part, as well as having a workable user interface for split screen on phone and a really small window on PC.

    Smartwatch

    The idea is to have 4 digital buttons in the corners for an experience similar to Casio digital watches. These buttons can be held to activate a second function. Using draw.io, this is what I've got so far:

    1. We start by clicking "new document".
    2. The user's start template is loaded in. In this case, it's creating a Sketch Node with the initial Plane Node set to XZ and a Project Node follows afterwards that projects [ 0, 0, 0].
      1. The user can easily select "XZ" to open up a dropdown that shows the other 2 plane options.
      2. All nodes are placed in like a "master grid" to keep everything automatically tidy and easily navigatable.
    3. At this moment, the user is in a sketch and the 4 side buttons are to exit the Sketch Node, add geometry (like lines and circles), go to a view mode where the user can see the current status of the sketch and add a constraint, all in their respective positions.
      1. If you press and hold, the grey text part of the table applies.
      2. I'll probably set Other Page to the top left and have "Exit Node" be a press+hold, because the user needs to be able to do other things like create another plane in the sketch node.
      3. "Other Page" loops though all the pages, similar to a digital watch.
    4. The user then clicks to go into the construction geometry menu and then a circle, which places a Circle Node after the Project Node. Defaults are a 1mm diameter circle at the centre of the user's view. Since they haven't moved around in the sketch view yet, this center is [0, 0].
    5. The user then clicks the "Center Point" input, "Add Constraint" and "Coincident". A list of valid things to coincident are sorted in a list by how close they are, meaning that if the user doesn't see it/know which object they want, they can exit the menu and move the object closer and then come back to see if its higher up on the list.
    6. So now there's a coincident node added and then the user clicks the "Diameter" input, hold for maybe 0.5s and then can slide their finger left and right to increase or decrease the value. At the same time, the circle is visible with a sketch grid (sparcely numbered) so that the user gets visual feedback on how big or small the circle is.

    Normal Lines

    Additionally, like planes, I would like lines to have a normal line, meaning that dimensions are usually signed. Think of it similar to dimensioning an offset in Fusion 360 where a positive dimension is one side and a negative dimension is the other side. The behaviour can be changed on a per line basis. I want to implement this feature in hopes of getting a fully constrained, no other solutions sketch. 

    I'm sure users of Fusion 360 have experienced when a dimension, line or arc has swapped sides. There are many cases were a fully constrained sketch could still have 2 or 3 solutions depending on location of the sketch elements.

    This approach also allows to do the following:

    • Imagine 2 concentric circles of different sizes. 
    • Now if you click on the circumference of the larger of the two, and then the smaller, create a dimension.
    • Enter 1mm as the dimension.
    • The smaller of the 2 will now have a diameter that is 2mm larger than what was previously...
    Read more »

  • [T] Project and feature plans

    kelvinA05/23/2022 at 18:31 0 comments

    So I'm looking around other projects [see Research Links at bottom], and if I'm actually going to write this software, I want to go from 0 to over the "basic modelling software ceiling" in features as fast as possible. Features that most all CAD software, big and small, would be able to do. Think things like doing a difference (Combine Cut for those who use Fusion 360) between a cube as the main body and a sphere as the cutting tool. If the project doesn't get further than this hypothetical ceiling and ends up being abandoned, there's almost no return on investment for me since I could've used those features from day 0.

    What I need to focus on are all the features that would allow me to actually port over my Fusion 360 designs. With the perspective of looking at the project as if it wasn't mine, I'm currently writing a list of features sorted and rated from 1 - 5, 1 being "That's a nice to have feature that exists/doesn't exist in Fusion" and "Dead on arrival. What other options are out there?". A 1 feature would be some node based workflow for NURBS (The Fusion 360 workflow isn't history based so I never really used it) wheras a 5 would be the ability to use components. 2 and above are features I've actually used or wanted, like a history based Move Faces command. 

    Research Links

    https://github.com/topics/cad

    https://github.com/Irev-Dev/curated-code-cad