<teepee>
those $ variable behave in a very special way, so "normal" variables should be just names without the $
<teepee>
and some people found those examples where everything is using $ and that can cause all sorts of unexpected behavior
cart_ has joined #openscad
<|{ame>
thank you, yes, i though the file was a scope to which they are passed down, but i guess with use, in the same way the module calls are not executed, the special vars are not passed down to inner scopes
<|{ame>
a couple of noob questions I couldn't find in the documentation:
<|{ame>
is there any way to define something like a struct, to simplify parameter passing
<|{ame>
is there any way to pass a module as a "lambda function"
<|{ame>
something like
<|{ame>
module addbottomCube(x){
<|{ame>
translate([0,0,1]) {x();}
<|{ame>
cube();
<|{ame>
}
<J24k8>
there are some experimental ideas about but nothing in the current release - you can use an array to store multiple values but only address them via the index
arebil has quit [Ping timeout: 255 seconds]
|{ame has quit [Quit: Client closed]
|{ame has joined #openscad
<teepee>
pca006132: I'm co-owner of the opencax github repo, so if Sean gives a go organization wise I can give you access. I'll send him a mail
<teepee>
as said before, I would not expect any veto, he usually encurages projects to join
<pca006132>
we have quite a few potential projects
<pca006132>
probably a bit hard for beginners, but I think students with some experience will learn quite a lot from doing performance optimization projects :)
<|{ame>
thank you,I will go with that approach
<|{ame>
another question, is it possible to cache results to a file?
<|{ame>
I have a minkowski sum that takes a lot of time once the resolution is risen to a sufficient level, and I'd like to store the computation to a file
<pca006132>
you probably need to export the result into a mesh
<pca006132>
and did you try manifold? it improves the performance for minkowski sum quite a bit
<teepee>
there was work on a persistent cache, but it's not yet ready for release, so sitting around waiting to get the finishing touches
<pca006132>
btw is the persistent cache using the old triangle soup PolySet?
<pca006132>
I assume it probably needs significant refactoring to preserve manifoldness
teepee_ has joined #openscad
teepee has quit [Ping timeout: 240 seconds]
teepee_ is now known as teepee
<teepee>
pca006132: yeah, it's probably needs quite some updates for the objects to store, IIRC it can do CGAL and PolySets
<teepee>
the old polysets that is
Mo0osA has joined #openscad
<Mo0osA>
hi
Mo0osA has left #openscad [#openscad]
<teepee>
oh kay :)
<|{ame>
I did not try manifold. I will!
|{ame has quit [Quit: Client closed]
mmu_man has joined #openscad
guso78k has joined #openscad
guso78k70 has joined #openscad
<guso78k70>
pca006132, do you know a good paper to explain the minkowski sum algorithm ?
cart_ has quit [Ping timeout: 260 seconds]
guso78k has quit [Quit: Client closed]
<guso78k70>
https://imgur.com/a/YdpVL1r after offseting an openscad default sphere , it looks like - american football ? i''d prefer to geodesic spheres as default ...
J24k8 has quit [Quit: Client closed]
J24k8 has joined #openscad
snaked has quit [Remote host closed the connection]
<teepee>
minkowski is trivial for convex objects
<teepee>
place second object on all vertices of the first one, make hull of that
<teepee>
for first object convex, openscad tries convex decomposition and for each part do the above, union the results
<guso78k70>
teepee, I plan to need convex decomposition for my algorithm soon. is code already included ?
<pca006132>
and I don't think openscad supports 3D offset for now, not sure why your example can produce something
<pca006132>
getting good performance with minkowski sum is tricky, because in some cases you get decompositions that contains so many parts it may be faster to just use the triangles as convex parts
<guso78k70>
for offset i can make sure not to do self intersection by only offsetting convex solids.
<pca006132>
in that case using minkowski sum is trivial
<guso78k70>
i think its very easy to check if an object is convex: each point distance is ABOVE the plane defined by all the other faces
<pca006132>
translate the sphere for each point in your convex solids, and hull them
<guso78k70>
yeahh, but you just changed the problem to how to do hull. i dont know, how to do hull either :')
<pca006132>
manifold provides a hull function
<pca006132>
CGAL also has one, not sure about the performance though
<pca006132>
btw why don't you just use the minkowski sum in openscad?
<pca006132>
no need to reimplement these
<pca006132>
and no limitation on the input being convex
<pca006132>
if not, it just performs convex decomposition
<guso78k70>
dont want to reimplement hull or minkowski,i am just curious how, they work
<guso78k70>
i am just interested in using convex decomposition and i got CGAL lilnk
<pca006132>
there are many ways to implement hull...
<pca006132>
to be honest I don't know the details either
<pca006132>
O(n^2) is trivial
<pca006132>
O(n log n) is not so
teepee_ has joined #openscad
teepee_ has quit [Remote host closed the connection]
teepee_ has joined #openscad
teepee has quit [Ping timeout: 240 seconds]
teepee_ is now known as teepee
cart_ has joined #openscad
Non-ICE has quit [Quit: Screw you guys! I'm going home!]
ferdna has joined #openscad
guso78k70 has quit [Quit: Client closed]
<teepee>
pca006132: sent invite to OpenCAx github org, let me know if any of the other potential mentors need an invite too. that's essentially for maintaining the project suggestions as github issue
mmu_man has quit [Ping timeout: 264 seconds]
<teepee>
pca006132: is there an official project logo? the metallic menger sponge?
<Pringle>
InPhase This maybe a lot to ask but im really interested in the math behind your solutions on the rotate. Are you able to provide that?
guso78k has quit [Ping timeout: 250 seconds]
<pca006132>
teepee: yeah we mainly discuss on github discussion
<teepee>
perfect
<teepee>
I guess we have to find out what Sean meant with not using github issues, but honestly I'm not seeing that happening
<teepee>
it's a huge amount of work for nothing, the issue list is nicely filtered by colored tags, inventing that from scratch seems stupid
<teepee>
we may be able to make the entry page a bit nicer and flashy
<teepee>
the not attracting people is certainly not due to the page, but people just not seeing it in the first place
<teepee>
google does not seem to advertise and our reach is just too limited to reach a huge enough audience
<pca006132>
I think the best way would be a one-page summary + links to github issues
<teepee>
in one year I tried to push that topic to one of the biggest computer magazines here (heise.de / c't) and they totally ignored GSoC
epony has quit [Remote host closed the connection]
<teepee>
if we could extract the issue data into some json that should not be too difficult
<teepee>
I would not want to maintain it twice though
<pca006132>
true, that is painful
<pca006132>
I wonder if GSoC can be counted towards internship requirement, many schools have internship requirements
<teepee>
the gh tool can do that, so that might be enough to just extract things like once a day
<teepee>
officially it's not
<teepee>
so it depends on the school requirements
<teepee>
specifically as there's no internship at google
<pca006132>
true
<pca006132>
I saw this: As far as university credit for doing GSoC that is completely up to the university if they accept GSoC as an internship requirement in their curriculum (many universities do accept is in lieu of an internship).
<teepee>
I assume that's needed so there's no work visa required or whatever rules they have in US for that
<Pringle>
InPhase has been helping a lot, anyone else want to try and help with my code? Heres what I have so far https://bpa.st/5TZA, but Im wanting something a little closer to this. Ive tried a few different ways, but im still very green at openscad :)