3 ms·
From its "Advantages of Code-CAD" page:[0] > There are other disadvantages to Code-CAD, of course. Making a sketch and applying some constraints can be very ea
by app4soft 4y ago
From its "Advantages of Code-CAD" page:[0]
> There are other disadvantages to Code-CAD, of course. Making a sketch and applying some constraints can be very easy with a nice GUI, while having to type it all out would be very tedious.
> For that reason, I think the ideal CAD program would use a hybrid approach: Being code-first for all the reasons presented above, but letting you edit that code through graphical tools, where it makes sense. I'm not aware of any system that works like that, at least to the extent that is possible in principle. I believe that creating such a system would be a worthwhile effort.
As for 2D CAD apps, such feature already exists since 1980s when AutoLISP created for AutoCAD (opensource apps with similar scripting: QCAD, LibreCAD).
As for 3D CAD apps, and especially opensource, FreeCAD has ability to generate shapes or sketches with script and it would be possible to edit resulted geometry manually with GUI tools.
[0] https://www.fornjot.app/blog/code-cad-advantages/ https://www.fornjot.app/blog/code-cad-advantages/
- hobofan 4y agoAs far as I understand, neither of the examples you mention allow for proper bi-directional editing. > FreeCAD has ability to generate shapes or sketches with script and it would be possible to edit resulted geometry manually with GUI tools. That sounds like the "normal" flow, where the first GUI editing action is destructive (= requires you to "emit" the parameterized geometry). I think what is alluded to there, is something more akin to a visual Markdown editor, or newer visual React editors like Utopia[0], which are a departure from the old generation of WYSIWYG editors like Dreamweaver, where an edition action in either the code or the visual mode wreaked havoc on the state of the other mode. [0]: https://utopia.app/ https://utopia.app/
- app4soft 4y ago> As far as I understand, neither of the examples you mention allow for proper bi-directional editing. See "Modify" commands in LibreCAD.[0] [0] https://wiki.librecad.org/index.php?title=Commands_and_tools_-_using_the_command_line#Modify https://wiki.librecad.org/index.php?title=Commands_and_tools...
- virtualritz 4y agoLibreCAD is 2D.
- app4soft 4y agoI said that. Reread my comment above.[0] [0] https://news.ycombinator.com/item?id=35071317#35073677 https://news.ycombinator.com/item?id=35071317#35073677
- virtualritz 4y agoConsider that if you do not like or miss something from the available OSS solutions that are or could be made scriptable (FreeCAD or others, e.g. SolveSpace), you need to touch source. FreeCAD & SolveSpace are C++. After 30+ years of that language and four years of Rust I won't touch the former with a ten foot pole unless it's an extraordinarily well paid gig. I wouldn't be suprised if the author of fornjot had similar feelings if they ever considered that approach. fornjot is a hobby project. So the fact that they start from scratch and may take years is not a deterrent. Rather its part of the appeal, I would assume. ;)
- hannobraun 4y ago(I'm the author of Fornjot.) > I wouldn't be suprised if the author of fornjot had similar feelings if they ever considered that approach. Yeah, I don't think I have it in me to work on a non-trivial project in C++ :) (Not saying that's the wrong thing to do, in general. I'm not the one to do it, is all.) > fornjot is a hobby project. This is not correct! Fornjot started as a hobby, but it has been my main focus since the start of 2022. I rely on my sponsors to support that work. Since around March/April 2022 I've been earning enough from sponsorships to cover my costs. > So the fact that they start from scratch and may take years is not a deterrent. Rather its part of the appeal, I would assume. ;) It's true that Fornjot is enormously ambitious. But I also think lots of people (chiefly those from the professional CAD world) are kind of missing the point on what it would take for the project to be successful. OpenSCAD exists and has a user base. Roughly matching its feature set and incrementally improving from there, could already make Fornjot useful to a lot of people. I certainly don't plan to stop there, but I'm just saying, there's an incremental path here. It's not just "100 man-years for an industrial-grade CAD kernel or bust".