Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I find it quite surprising that you're a self-proclaimed greenhorn, but very opinionated about what apps people should be using.


Whatever this is supposed to be criticizing exactly, is misplaced and doesn't matter, because they are right about the limitations of openscad and the real world problems that result from those limitations.

You will discover these problems while still green, and their report is corroborated by anyone else who has used openscad.

You could try it yourself and discover that what they said is true.

If you've tried to use openscad to model more than a cube, then you have run in to the limitations. If you have gone on to spend years building models in openscad, then you know even more limitations and problems than you did while "green".

Even people like myself who use openscad for as much as they can because they love being able to describe an open source model in about 1k of human readable, editable, parametric, gittable text instead of several megs of xml or binary, even we will say that this is all simply true. the more experienced you are, the more you know how true it is.

I will still call myself green because I will simply call myself green about almost everything as simple facet of my character, regardless how many years or how much work I've done with something.

Should such people not advise others on what they have learned? Do self-proclaimed experts largely give better advice than experts, or even mere practitioners, who don't like to self-aggrandize?

Regardless, in this case their statements were all sound. As someone who has spent a lot of time figuring out methods to get things done that a new user would not know yet, I have no notes on this greenorns opinions.


It is a reasonable point. I am a greenhorn in the sense that I've been learning CAD for my own somewhat complex, multi-part projects for three years. And I am not an industrial designer. Or a mathematician! (I am opinionated.)

The point for me is that, as a relative novice, I have got past some really important hurdles recently. So I can explain the benefits of getting past them to people who maybe don't know they are there.

I started off using OpenSCAD because it convinced me I'd be able to make something, quite quickly. My first two or three things were OpenSCAD things. It introduces you to stuff that isn't immediately obvious: the more complex booleans like difference of simple primitives, extrudes, lofts, sweeps, revolves. Great! I made things, I printed them, it was transformative.

(There's also quite a good thread library -- Adrian Schlatter's threadlib -- that I do want to say is very helpful and I learned a lot from.)

But it will likely hold back your development as a CAD user for even modestly complex things. Because you will never get access to the fundamentals of your objects -- the faces, vertexes and edges. Putting aside BOSL and the like, it leaves you stuck with a lot of increasingly complex maths, when if you could use the generated geometry you would not have to be. You would have much simpler operations relative to faces and edges.

This is why I said it would be worth spending at least some time with these tools. So you know what is out there.


This is not true anymore with PythonSCAD. There is a mesh() function which can yield the points and triangles from any Object. The User is free to modify these points and faces and finally create a new solid from it "polyhedron" You could use this to skew your model in a fancy way by altering the point coordinates but it might be more difficult to alter on the triangles.


By "faces" I don't mean triangles. I mean the true geometry of the object.

Say for example a single six-sided die: six faces, twelve edges.

But this would be twelve mesh triangles, right? None of which individually represent a face -- and six of the mesh edges are not edges in the true geometry.

A rounded six-sided die might have 26 faces (including the curved edges, rounded corners). 48 edges between them. etc. But the number of mesh triangles and edges will vary according to the precision.

bRep kernels can give you the geometry information, not just the mesh information.

https://en.wikipedia.org/wiki/Boundary_representation


Triangles quite low level internal data. mesh could output also 4 point polygons on occasion. of course we can add an parameter to mesh to let pythonscad combine the faces as mush as possible(sub-faces are coplanar) and you would actually get 6 squares for a dice), even polygon would accept faces with n points as input.

however, openscad does not have an internal B-REP kernel and you would have to rewrite the program to change that.


What if I tend to import STLs from thing verse and modify them?

IIRC STLs are triangular meshes. Would bRep programs like build123d able to "convert" them to "true geometric objects"?

I would presume the answer is no.


Conversely, what if I want to import STEP files and modify them?

You can make an almost perfect analogy with raster and vector image formats. They both have their niches; however: it's trivial to rasterize a vector drawing, but it's a ton of work to vectorize an raster image well.

So, all things being equal, it makes sense to start your designs at the 'high ground'.


> Conversely, what if I want to import STEP files and modify them?

Right. OpenSCAD can import and mesh STEP files. But the process throws away the true geometry.

I agree that the raster/vector analogy is strong!


bRep apps can handle and work with meshes (though it's probably not the most efficient way to work with them) but no, generally speaking extracting the real geometry requires redrawing them. You can get a long way by decimating meshes and using various tools but you're going to end up breaking the result down and partly redrawing.

Plasticity (the sorta-CAD-sorta-modeller app) has seemingly just added some logic to the recent version to help with extracting the true geometry from meshes. I want to like Plasticity but it's not enough CAD for me right now.


It dismays me to see you still downvoted for asking me the question I should be asked so have an upvote!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: