Love this project! Currently I am a data engineer primarily working on data platform APIs with rust, however in a past life I was an architect using tools like Grasshopper and Autodesk Revit's API both in my training and practice. These tools both led me to pursue software and data more seriously, ultimately transitioning my career. Very exciting to see projects and applications list this!
It's mindblowing that in 1963, Ivan Sutherland's sketchpad pretty well invented the CAD genre, and even had a rudimentary constraint solving system. Given the hardware of that era, it's utterly remarkable. "Nobody told me it was hard." - Ivan Sutherland
Super interesting. I do cad every day, so was really interested to see how others are developing new ways of doing things. I REALLY wish to do cad with less mouse work. I've followed Adam's boss, Jess Frazelle, for a while. Would be really great to get her on this podcast sometime to talk about all her great experiences! Plus people from the Oxide team would be awesome too! Bryan Cantrill and Adam Leventhal, even to talk about DTrace. That would be a great episode!
Interesting stuff. I've been dreaming about stuff like this since at least as long as it's been (a decade or something?) since I first saw Brett Victor's talk on "Inventing on Principle"... maybe longer. I kinda wish it wasn't a commercial cloud product, but... still cool to hear about. Also, hah, amusing to hear a Factorio plug in here. :)
Let's say you have a machine and model it as an assembly with say 1000+ parts. How does one work with the code to modify an integral part and not violate the constraints of a sub assembly, adjacent assembly, or other parts of the hierarchy? SolidEdge, SolidWorks, Catia, F360, heck even FreeCad all have the equivalent of an AST in their hierarchy and it is two way modifiable. I don't see this solution contributing in a machine/product design context.
That still often does not make sense. In the case where people do that they often want grapheme clusters because "characters" as in unicode codepoints don't really mean anything. The other option is to limit yourself to ascii which is a perfectly fine choice for a programming language and Rust's ascii byte strings provide O(1) access.
@@tilakmadichettitheappdeveloper Actually I am not. But I am European. So by limitng myself to ascii there would only be a like a dozen characters and diacritics and symbols that I would miss, if I were to program in my native language. But I program in english anyway. Library functions and programming language keywords are usually in english anyway, so you would constantly be switching langauges if I used identifier names in my native language.
Cadquery is programmed in Python, this is programmed in KCL, Cadquery runs locally, this runs on some cloud GPU servers. Cadquery is free and will be free, the cost of KCL is free currently but noone knows how much their cloud GPU stuff will cost in the future. Cadquery is implemented in Python, this CAD is implemented in Rust. Cadquery has no mouse editing support, KCL has it.
Using the mouse in OpenSCAD as well would be really cool. But I am probably not going to switch to KCL as I cannot have control over the software. Their tools are free now, but they can change their pricing dramatically or shut down their GPU servers and I would be stuck with a dysfunctional app.
@@theevilcottonball right? I heard some of the intro, and thought "ooh, someone's doing the thing I've been dreaming about for years! Maybe I don't have to anymore!", and then it became clear that not only was it non-free (in the GNU/FSF sense), but also cloud-based, and both of those are deal-breakers for me... so, I'll still hope someone else takes it on, but maybe I'll also eventually get to it. :)
Autocad and derivates has had it's own lisp dialect called AutoLISP since 1986. So using code to create models is not that new. Still cool stuff though.
@@DeveloperVoices Please do! Perhaps even do a video about it?? I've been aware of it for years, but never played with it or even seen it, really... but would like to. (Though yeah, would be nice if it had macros, too... sigh.)
Today, i hear: Rust is soviet authority in programing. Didnt yet try compiling anything in it, but already hate it. Memory safety? My memory isnt scare of anything ;) and there is something in the eyes of rust ppl that is not healthy. A shine...
@@Tigregalis I do not think that opinions should be immutable by default. So I always declare my opinons like so: let mut opinion; That way there can only one mutable reference to it, so only one person is allowed to change it at any time, or I can share it with many others but cannot change my opinion.
Love this project! Currently I am a data engineer primarily working on data platform APIs with rust, however in a past life I was an architect using tools like Grasshopper and Autodesk Revit's API both in my training and practice. These tools both led me to pursue software and data more seriously, ultimately transitioning my career. Very exciting to see projects and applications list this!
Legendary AutoCAD sported Lisp as i heard from olders
AutoLISP is still a thing. Man, have I found the limits of that language, albeit a fantastic scripting environment for CAD work :D
Indeed it did! An XLisp variant, to be exact.
It's mindblowing that in 1963, Ivan Sutherland's sketchpad pretty well invented the CAD genre, and even had a rudimentary constraint solving system. Given the hardware of that era, it's utterly remarkable.
"Nobody told me it was hard." - Ivan Sutherland
Super interesting. I do cad every day, so was really interested to see how others are developing new ways of doing things. I REALLY wish to do cad with less mouse work.
I've followed Adam's boss, Jess Frazelle, for a while. Would be really great to get her on this podcast sometime to talk about all her great experiences!
Plus people from the Oxide team would be awesome too! Bryan Cantrill and Adam Leventhal, even to talk about DTrace. That would be a great episode!
Have you thought of doing a podcast with c3 language creator Christoffer Lerno. It's a great language trying to evolve C instead of replacing it.
you mean another c++
@@wassim-akkari better than c++
Not exactly, as I understand c3 is in Zig direction approximately
That would be amazing
I honestly thought this was about Fornjot when I saw the video title.
Interesting stuff. I've been dreaming about stuff like this since at least as long as it's been (a decade or something?) since I first saw Brett Victor's talk on "Inventing on Principle"... maybe longer. I kinda wish it wasn't a commercial cloud product, but... still cool to hear about.
Also, hah, amusing to hear a Factorio plug in here. :)
Let's not kid ourselves. The real reason companies want to run the rendering on their servers is so they can charge you money each time you use it.
❤ Nice
wow, another ambitious project in rust.
Let's say you have a machine and model it as an assembly with say 1000+ parts. How does one work with the code to modify an integral part and not violate the constraints of a sub assembly, adjacent assembly, or other parts of the hierarchy? SolidEdge, SolidWorks, Catia, F360, heck even FreeCad all have the equivalent of an AST in their hierarchy and it is two way modifiable. I don't see this solution contributing in a machine/product design context.
40:35 You split the string into an array of characters if you want to get O(1) n'th access
That still often does not make sense. In the case where people do that they often want grapheme clusters because "characters" as in unicode codepoints don't really mean anything. The other option is to limit yourself to ascii which is a perfectly fine choice for a programming language and Rust's ascii byte strings provide O(1) access.
@@theevilcottonball limit yourself to ASCII characters..... You must be American 😅
@@tilakmadichettitheappdeveloper Actually I am not. But I am European. So by limitng myself to ascii there would only be a like a dozen characters and diacritics and symbols that I would miss, if I were to program in my native language. But I program in english anyway. Library functions and programming language keywords are usually in english anyway, so you would constantly be switching langauges if I used identifier names in my native language.
How different is this from CadQuery?
Cadquery is programmed in Python, this is programmed in KCL, Cadquery runs locally, this runs on some cloud GPU servers. Cadquery is free and will be free, the cost of KCL is free currently but noone knows how much their cloud GPU stuff will cost in the future. Cadquery is implemented in Python, this CAD is implemented in Rust. Cadquery has no mouse editing support, KCL has it.
I use OpenSCAD.
Using the mouse in OpenSCAD as well would be really cool. But I am probably not going to switch to KCL as I cannot have control over the software. Their tools are free now, but they can change their pricing dramatically or shut down their GPU servers and I would be stuck with a dysfunctional app.
@@theevilcottonball right? I heard some of the intro, and thought "ooh, someone's doing the thing I've been dreaming about for years! Maybe I don't have to anymore!", and then it became clear that not only was it non-free (in the GNU/FSF sense), but also cloud-based, and both of those are deal-breakers for me... so, I'll still hope someone else takes it on, but maybe I'll also eventually get to it. :)
Autocad and derivates has had it's own lisp dialect called AutoLISP since 1986. So using code to create models is not that new. Still cool stuff though.
Lazy query here , did autolisp have features like macros .
@@jondor654no it was a stripped down lisp
@@nimbedded2618 Thank you.
OMG, I'd not heard of AutoLISP. That's awesome. 😮
I'll have to research it _and_ add it to the shownotes. Thanks!
@@DeveloperVoices Please do! Perhaps even do a video about it?? I've been aware of it for years, but never played with it or even seen it, really... but would like to.
(Though yeah, would be nice if it had macros, too... sigh.)
🦀
Tsoding did wasm & client-side conputing, too.
th-cam.com/video/V4Pd-aoaAOs/w-d-xo.html
Yo me Tsoding looks like a good candidate for a podcast !?
Some LOGO heritage? ;-)
Today, i hear: Rust is soviet authority in programing. Didnt yet try compiling anything in it, but already hate it. Memory safety? My memory isnt scare of anything ;) and there is something in the eyes of rust ppl that is not healthy. A shine...
"I don't know anything so I must share my borrowed (😉) opinion"
@@AK-vx4dy at least the opinion is immutable (no capacity for growth)
@@Tigregalis I do not think that opinions should be immutable by default. So I always declare my opinons like so:
let mut opinion;
That way there can only one mutable reference to it, so only one person is allowed to change it at any time, or I can share it with many others but cannot change my opinion.