OpenSCAD has amazing community though and part libraries celebrates human ingenuity despite tool restrictions.
[1]: https://build123d.readthedocs.io/en/latest/_images/ttt-23-t-...
101–110 of 191 posts
OpenSCAD has amazing community though and part libraries celebrates human ingenuity despite tool restrictions.
[1]: https://build123d.readthedocs.io/en/latest/_images/ttt-23-t-...
Earlier quoted context omitted.
I poked around with CadQuery and Build123D. The learning curve required a paradigm shifted in abstraction. That was too much. I just want OpenSCAD simplicity, but with modern programming language syntax. I ended up settling with PythonScad. I was able to hit the ground running and leverage what I already know about python within a day. It's new, but the author is extremely active and collaborative on github ( https:/…
> The learning curve required a paradigm shifted in abstraction. This is true! And I think that brute-force simplicity of OpenSCAD is the appeal. I am still ultimately a CAD greenhorn but it got me started, and I don't blame you. But I guess the point I am getting to is, that paradigm shift is where you really want to be. It's certainly where I think most competent programmers who want to really build in 3D should wa…
> Because it unlocks the ability to reason about the shapes you're creating, within the code that creates them. You can for example place a feature in the centre of a face of an object you just created, without having to recalculate the location of the centre of the face or the normal etc.
I can definitely see the appeal of this; would it be possible to refit such capability back into OpenSCAD's model (even if it meant breaking some backwards compatibility)? Like, you're not just executing imperative "drawing" operations, but the models you've created become available as first-class objects to be further referenced & poked at?
If you want to do code-CAD for anything substantial and you haven't yet developed a significant dependency on OpenSCAD, do your brain a favour and spend at least some time with CadQuery, Build123D or (if you prefer JS to Python) Replicad. As impressive as NopSCADlib and BOSL2 are (and OMG they are, when you consider what they have to work with!) , OpenSCAD is a one-way, declarative CSG environment that essentially on…
> OpenSCAD is a one-way, declarative CSG environment that essentially only outputs mesh formats This is why such a basic-seeming thing as “how do i get the bounding box for this CSG frankenobject I’ve created?” comes up again and again on stackoverflow etc. it’s apparently not possible without some hacks. I’ll take a look at the alternatives you mentioned, thanks.
If you want to do code-CAD for anything substantial and you haven't yet developed a significant dependency on OpenSCAD, do your brain a favour and spend at least some time with CadQuery, Build123D or (if you prefer JS to Python) Replicad. As impressive as NopSCADlib and BOSL2 are (and OMG they are, when you consider what they have to work with!) , OpenSCAD is a one-way, declarative CSG environment that essentially on…
I poked around with CadQuery and Build123D. The learning curve required a paradigm shifted in abstraction. That was too much. I just want OpenSCAD simplicity, but with modern programming language syntax. I ended up settling with PythonScad. I was able to hit the ground running and leverage what I already know about python within a day. It's new, but the author is extremely active and collaborative on github ( https:/…
Earlier quoted context omitted.
> OpenSCAD is a one-way, declarative CSG environment that essentially only outputs mesh formats This is why such a basic-seeming thing as “how do i get the bounding box for this CSG frankenobject I’ve created?” comes up again and again on stackoverflow etc. it’s apparently not possible without some hacks. I’ll take a look at the alternatives you mentioned, thanks.
I’d recommend taking a look at SolidWorks. For hobbyist use, it’s $50 / year or $15 for a month. You will save yourself so much time and headaches and develop a skill that could be useful for your resume.
BUT
for these reduced price options, it's the educational version, and the files are watermarked, and the license precludes commercial use.
That said, if your goal is to learn a CAD program and get a job --- in an industry/region which uses Solidworks_ (for some reason, CAD usage seems to be specific to either certain industries or regions, though SW is almost certainly the most widespread), that is definitely the way to go, along with a Community College course/degree and/or a training certificate:
If you want to do code-CAD for anything substantial and you haven't yet developed a significant dependency on OpenSCAD, do your brain a favour and spend at least some time with CadQuery, Build123D or (if you prefer JS to Python) Replicad. As impressive as NopSCADlib and BOSL2 are (and OMG they are, when you consider what they have to work with!) , OpenSCAD is a one-way, declarative CSG environment that essentially on…
> OpenSCAD is a one-way, declarative CSG environment that essentially only outputs mesh formats This is why such a basic-seeming thing as “how do i get the bounding box for this CSG frankenobject I’ve created?” comes up again and again on stackoverflow etc. it’s apparently not possible without some hacks. I’ll take a look at the alternatives you mentioned, thanks.
Earlier quoted context omitted.
Thankfully I have been able to do what I want to do without learning the complexity that comes with Build123d etc. Perhaps someday, but I havent had the need to get there thus far. Also: Encapsulation etc was achievable with Python, which is something I already know. PythonSCAD checked all the boxes for me without the learning curve.
Another option in this space is using python to directly generate openscad code, which is a fun exercise to sort of quickly visualize simple recursive algorithms in a 3d world and play with tilings, space filling curves, etc. of course building what amounts to a transpiler will be fun for some, or a distraction, depending on how focused you want to be on the 3d part. But openscad is a cool and minimal instruction set…
https://web.archive.org/web/20211123185332/https://wiki.shap...
I really hope that OpenPythonSCAD becomes standard and that it can harness all that energy and creativity --- in particular note that it is now possible to upload a design for sharing using it.
I don't say it's impossible but I believe it's quite near to impossible for most of OpenSCAD users to model this relatively simple drawing[1]. It's a breeze in CAD with constraint solver. Also it's viable in code-first systems with access to shape coordinates (build123d) using only construction geometry and projections. OpenSCAD requires hard trigonometry and math skills to pull it out. OpenSCAD has amazing community…
$fn=100;
difference(){
union(){
cylinder(d=55,h=60);
translate([125,0,0])
cylinder(d=30,h=32);
linear_extrude(11)
polygon([[0,25],[125,15],[125,-15],[0,-25]]);
translate([0,5.5,0])
rotate([90,0,0])
linear_extrude(11)
polygon([[0,50],[125,40],[125,0],[0,0]]);
}
cylinder(d=35,h=70);
translate([125,0,0])
cylinder(d=20,h=40);
translate([110,8,98])
rotate([90,0,0])
cylinder(r=66,h=20);
}Earlier quoted context omitted.
> The learning curve required a paradigm shifted in abstraction. This is true! And I think that brute-force simplicity of OpenSCAD is the appeal. I am still ultimately a CAD greenhorn but it got me started, and I don't blame you. But I guess the point I am getting to is, that paradigm shift is where you really want to be. It's certainly where I think most competent programmers who want to really build in 3D should wa…
As someone who's dabbled a little bit with OpenSCAD, SolidWorks, etc: > Because it unlocks the ability to reason about the shapes you're creating, within the code that creates them. You can for example place a feature in the centre of a face of an object you just created, without having to recalculate the location of the centre of the face or the normal etc. I can definitely see the appeal of this; would it be possib…
This is where my understanding gets weak, but I think the answer in a practical sense is no. Not with the way that kernel works. It could be somewhat modelled on top, but then you have a layer around the kernel doing essentially the whole task of a bRep kernel.
Earlier quoted context omitted.
The great thing about OpenSCAD is that it makes creating models which may be described mathematically/programmatically easy. The awful thing about OpenSCAD is that what one can create in it is strongly bounded by one's facility with and fluency in mathematics. I'm curious how the new Python-enabled (I really hope it gets added in to the program itself) will affect this.
The awful thing is that you can only export triangles, so you can't make any true curves. If it was capable to true circles it would do everything I have ever needed to make.
[0] Some will import them now but convert them to triangles, cura can use a plugin to convert those triangles back to G2-G3 arcs or circles.
[1] at least by default, marlin has optional support for arcs that can be enabled at compile time.