5 ms·
This looks very similar to OpenSCAD. If it's being actively developed I'll have to take a look at it! Though, I really wish people would do something like this
by elcritch 6y ago
This looks very similar to OpenSCAD. If it's being actively developed I'll have to take a look at it!
Though, I really wish people would do something like this built on Julia (or perhaps even Nim). There's nothing too magical IMHO in what I can see of AngelScript or OpenSCAD script that couldn't be done with macro transformations. Then you'd get a real language with better documentation, semantics, etc and could integrate with a larger echo system.
I'd love to have an ecosytem in Julia where you could build 3D models, then plug them into a FEM model feeding the results into a deep neural net.
- elcritch 6y agoP.S. unfortunately this doesn't appear to support STEP files either. Maybe they'll be able to add it someday.
- imtringued 6y agoI'm not sure how useful this is to you but there is an OpenSCAD workbench for FreeCAD. [0] In theory you should be able to export STEP files via FreeCAD. [0] https://wiki.freecadweb.org/OpenSCAD_Module https://wiki.freecadweb.org/OpenSCAD_Module
- ecopoesis 6y agoWhile technically that works the resulting STEP files aren’t anymore useful than an STL. You can’t send them to a CNC machine.
- WillAdams 6y agoCan't one use the Path Workbench in FreeCAD once an OpenSCAD file is imported? For STLs there are a number of 3D CAM tools: MeshCAM, pyCAM, FreeMill, or importing the file into Autodesk Fusion 360 and using its CAM tools. List of other options at: https://wiki.shapeoko.com/index.php/CAM#3D_2 https://wiki.shapeoko.com/index.php/CAM#3D_2 and https://wiki.shapeoko.com/index.php/Commercial_Software#3D_CAM https://wiki.shapeoko.com/index.php/Commercial_Software#3D_C...
- colomon 6y agoLooking at their overview, this is Constructive Solid Geometry rather than B-rep (Boundary Representation) solid geometry. STEP does hypothetically support CSG, but B-rep STEP files are vastly more common in my experience.
- ecopoesis 6y agoThis bit me when I was building a custom keyboard. I really love OpenSCAD but these mesh-based tools can produce files usable by CNC machines. I eventually found CadQuery (https://github.com/CadQuery/cadquery https://github.com/CadQuery/cadquery) which can create non-mesh STEP files. It’s a lot rougher then OpenSCAD but usable.
- generalizations 6y agoI think the GUI would be the hard part there. The paid / professional tools have a lot of functions that improve the process of constructing models and viewing them. A clean backend would be nice, but the user experience is what would need to be solved.
- elcritch 6y agoGood point. The professor who taught my course on FEM said most of the commercial tools had FEM models not much more complex than the ones you'd make in a graduate FEM course. The real money was the GUI (and market share). One thing I've been waiting in Julia is a nice GUI toolset, but they all seem to be broken or incomplete. Julia's static compile ability is also lacking currently. My take is that there's an opening in the market for a good CAD program based on an open source modeling engine. Sell the GUI for money (or an enterprise polished version), but make the core engine and modeling open source and with a good API. It'd be a small market slice (e.g. grad students, small startups), but perhaps it could gain mindshare over time.
- imtringued 6y agoIsn't the market for CAD software pretty much saturated? Most users learn one of the few established CAD programs during college or on the job and never learn anything else. There is still an opportunity for a good opensource CAD program but only because the existing ones such as FreeCAD need an overhaul. Forking FreeCAD and fixing the glaring flaws would be significantly less work. The FreeCAD project is stagnating. There is an issue about someone wanting a visualization of the internal coordination system of a datum plane. That visualization already exists in other parts of FreeCAD but when you go through the forum posts you see that one of the users is blocking this absolutely microscopic change because of mathematical purity. Mathematically speaking planes don't have an orientation and therefore this feature would not make logical sense and you should use a local coordinate system if you want to change the orientation, including visualization. Except FreeCAD implements a datum plane with an internal local coordinate system. This results to weird things like sketches being rotated by 90°. There is no way to know in which direction your sketch has been rotated without the requested visualization so even if you wanted you can't just reattach your sketch in the correct orientation. You first have to mark the "up" direction by drawing an arrow in the sketch and then orienting the sketch with the help of that arrow. There is no need to talk about mathematical purity when the software has already broken it and makes the user suffer as a result.
- contingencies 6y agoI would love Blender to have an editing pane for text-based CSG definitions. Text-based CSG definitions are faster, clearer and easier than all these GUI tools. They are also diffable, scriptable and regexable.
- contingencies 6y agoHrrm, seems you can already do this via povray. http://www.povray.org/ http://www.povray.org/
- JakeStone 6y agoI haven't used pov-ray in about 5 years, though I used to use it heavily, and at least back then, it didn't allow the export of the objects you render in a 3d format. It's a ray tracer designed to create scenes via objects modified via CSG. I'm actually pleased to hear about this, since I find my patience with most 3d programs is very short, and I really have a need currently for being able to create 3d objects using CSG that I can work with hopefully for a game I'm making.
- contingencies 6y agohttp://wiki.povray.org/content/HowTo:Use_POV-Ray_with_Blender http://wiki.povray.org/content/HowTo:Use_POV-Ray_with_Blende...
- cacb 6y agoThis is very true and some of the reasons why I designed AngelCAD the way it is. As you say they are diffable and well suited for tracking in source control systems like git for example. Nothing wrong with GUI CAD tools, but there are many of them already and some of them are huge and difficult to learn IMHO. Those who want a traditional GUI CAD tool should probably try something different, but AngelCAD is really not that hard to learn. I wanted scripting with a strongly typed object oriented language, and I could not find one. So I created AngelCAD.
- cacb 6y agoExtensions for FEM modelling is something I would like to see with AngelCAD. That would be cool. I don't know Julia but you can build a front end to the AngelCAD boolean engine and by-pass AngelScript if you so prefer. Flexibility is a key idea.
- eggy 6y agoI work in engineering using CAD everyday, and I have a toy project idea I am developing using LISA FEA software, FreeCAD's dll, Blender rendering, and C/Python(Hylang) code to make it all work. The idea is to input the maximum working envelope of your geometry, input a load and placement(s) and have the system evolve a workable and aesthetic design to meet the need. I had this idea a long time ago based on my study of neural networks and genetic programming from the 80s, but the tech wasn't there yet. Take a look at what Autodesk has been researching in generative design [1]. FreeCAD has a python API and so does Blender. There are lots of hooks to each with exporters/importers. I particularly liked this Blender/Hy fun demo [2]. [1] https://www.autodesk.com/solutions/generative-design https://www.autodesk.com/solutions/generative-design [2] https://mccormick.cx/news/entries/live-coding-blender-with-hy https://mccormick.cx/news/entries/live-coding-blender-with-h...
- leoedin 6y agoI did a course on topological optimization at university which covered pretty much this concept. We used some software from a company called Altair. Essentially you defined some physical constraints and it generated the optimal 3D bracket. The software was seriously clunky, but it has a lot of potential. https://www.altair.com/topology-optimization/ https://www.altair.com/topology-optimization/