califax has quit [Remote host closed the connection]
califax has joined #openscad
<gbruno>
[github] lgarron synchronize pull request #5942 (Add a `name` parameter to `group(&) {}` that is used to name objects in exported `.3mf` files (when using `lazy-union`)) https://github.com/openscad/openscad/pull/5942
califax has quit [Remote host closed the connection]
califax has joined #openscad
JakeSays_ is now known as JakeSays
JakeSays is now known as JakeSaysss
drkow has quit [Ping timeout: 244 seconds]
drfff has joined #openscad
<J25k59>
bambu (makerworld) now allows scad scripts as closed source. So you can use the customizer but not see or download the code
drkow has joined #openscad
drfff has quit [Ping timeout: 260 seconds]
JakeSays has joined #openscad
JakeSaysss has quit [Ping timeout: 248 seconds]
mmu_man has joined #openscad
<guso78>
J25 that means people have to Use paid Print Service?
<J25k59>
no just so you can offer parametric design without showing your code
mmu_man has quit [Ping timeout: 252 seconds]
mmu_man has joined #openscad
TheAssassin has quit [Remote host closed the connection]
califax has quit [Remote host closed the connection]
TheAssassin has joined #openscad
califax has joined #openscad
howiemnt has quit [Ping timeout: 248 seconds]
howiemnt has joined #openscad
snaked has quit [Quit: Leaving]
fling has joined #openscad
mmu_man has quit [Ping timeout: 245 seconds]
mmu_man has joined #openscad
rapha has joined #openscad
<rapha>
hi all
<rapha>
can i take a very irregular 2d shape and put a half-sphere on top of it, which on the x and y axes follows that 2d shape, but on the z axis sort-of linear_extrudes it, just in a half-sphere kind of way?
<pca006132>
J25k59: so they run the design on their servers?
<pca006132>
sounds expensive to me
<J25k59>
no they just hide the tab to view the code
mmu_man has quit [Ping timeout: 260 seconds]
<pca006132>
meh
<pca006132>
that is not a safe way to make things closed source
<pca006132>
and should definitely not advertise as such
<InPhase>
rapha: There's roof, an experimental feature in the nightly. But it's not actually well defined in general what that would mean for a spherical shape.
<InPhase>
rapha: You can however use this library to establish your own specific definition of what that means, and thus achieve it: https://github.com/rcolyer/closepoints
mmu_man has joined #openscad
<InPhase>
rapha: If it's not clear what I mean about not well defined, imagine you have a design with thin bits and thick bits. "Spherical top" would seem to imply the thinner bits are a smaller radius sphere while the thicker bits are a larger radius sphere. But now picture a 2D shape which is very irregular with variations all over between thinner and thicker in ways that don't map to cylindrical sections or
<InPhase>
anything clean. How is an algorithm supposed to infer the intent of a spherical top?
J25k59 has quit [Quit: Client closed]
J25k59 has joined #openscad
<rapha>
hmm, good question ... i was imagining something that determines the mathematical center of the 2d shape, places the half-sphere top-point on top of that, and then walks the shape in layers, making it slimmer with each layer, but more slim where it is wider, and less slim where it is narrower, until x and y are equal, and from there, just complete the half-sphere
<rapha>
that library is crazy, wow
<InPhase>
It's my answer to "Can I ...____?" "Yes, if you really know how to describe what that looks like."
<rapha>
Hmm. I think I could maybe program what I just described in Ruby.
<InPhase>
If you can output lists of points corresponding to layer contours, you can also import those in OpenSCAD.
<rapha>
and stack them on top one another
<rapha>
wait, how about a simpler version ... take the shape, make it 1x1px smaller, stack it on top of the previous. that should be doable inside of openscad alone.
<InPhase>
This can be done.
<J25k59>
InPhase for scadvent some single line golf? for(i=[0:359])hull()for(i=[i,i+1],j=[0,1])translate([[-1,1][j]*5,0])rotate(i*[[0,0,1],[0,1,0]][j])translate([9,0])sphere($fs=.2);
<InPhase>
You can also use a series of roof actions.
<InPhase>
Since J25k59 is here, I'm sure J25k59 would be an expert at making a sequence of intersected scaled roofs that roughly approximate a spherical top of one definition. :)
<InPhase>
But with that, narrower bits would come to a more pointy top.
<InPhase>
J25k59: Hmm, very nice. I did not see that coming from inspection. :)
<rapha>
it looks like J25k59 could even do that in a single line :P
<InPhase>
J25k59: I wanted to save it, but can't even think of what to call it. :)
<J25k59>
how a wise man said - there is no advantage if it is so short that it can't be comprehended.
<J25k59>
inphase seem it is called an anti oloid
<J25k59>
the problem of roof sequences is that the chance is high to hit a "skeleton error"
<J25k59>
also you can't use scale but need to use offset
<J25k59>
.. (sure scale for z to change the roof angle)
* InPhase
nods.
<InPhase>
Hmm, the images for anti-oloid are very pretty. I'm not sure if I've seen this shape before. Or if I did in passing, never knew a name for it.
<InPhase>
It looks like it would be great for a pendant or something.
<InPhase>
Provided one does not fall over while wearing it.
<rapha>
so i guess, no, it's too irregular to be entirely convex
<ali1234>
hmm... so i'm thinking of a different kind of shape property
<rapha>
oh
<rapha>
well, it has "bays", and not just "peninsulas"
<rapha>
best words i can think of
<ali1234>
the property that every point on the boundary is seen by a central point
<ali1234>
i dont know what you call a shape like this
<rapha>
it does have a mathematical center
<rapha>
InPhase, do you have a more precise word for this than "irregular"?
<ali1234>
i guess what you want is the effect of pushing a balloon through a hole shaped like your 2d object
<ali1234>
so minimum surface energy
socrates1298 has quit [Ping timeout: 272 seconds]
sculptor has joined #openscad
<ali1234>
so, imagine you have a hollow cube and you cut a hole in one side, the same shape as your 2d shape
<ali1234>
then you put a balloon inside the cube and start inflating it, until it starts bulging out of the hole
<ali1234>
the part of the balloon that sticks out the whole is the result you want
<ali1234>
this will be the shape with the minimum surface tension, and therefore the minimum surface area
<ali1234>
i think this is the most natural interpretation of the problem
<ali1234>
unfortunately it is rather difficult to simulate
kintel has joined #openscad
<kintel>
Still hoping for a 2025 release :) roof won't be part of that release though; it's too experimental still
mmu_man has joined #openscad
<ali1234>
the irony that this shape is incredibly easy to physical fabricate but extremely hard to cad model
kintel has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<rapha>
ali1234: the things you're saying somehow sound amazing to me. i would have never thought about the balloon. but i guess, yes, that's what'd be the outcome.
<rapha>
ali1234: what i'll probably do is print it as it is right now, and then use a file to grind it down to what i want. it'll be printed in wood pla, so that's a possibility.
<ali1234>
you could DIY it by the balloon method. literally print the box with the hole, put a balloon in it, and then force epoxy resin into the balloon and let gravity make the shape
<rapha>
hmm
<rapha>
not sure about the "forcing" part
<rapha>
that seems as though it would require pressure
<rapha>
and putting and keeping epoxy resin under pressure seems non-trivial
<ali1234>
squirt it in with a syringe and then put a clip on the balloon
<ali1234>
i think the hard part would be preventing the balloon from popping on sharp edges of the hole
<rapha>
there's quite thick balloons
<rapha>
hmm, perhaps it _is_ worth a try
<rapha>
if filing it down aesthetically proves too difficult
<ali1234>
another possibility would be to make the box + balloon, inflate with air, and then pour plaster over it
<ali1234>
then you have a negative mold of the shape
<rapha>
well, i have a rasp disc for my angle grinder, which is the most dangerous tool i own, but also one of the most useful ones :)
<ali1234>
plaster/silicone/whatever
<rapha>
you mean make the box with a hole in the top?
<ali1234>
i tried the blender cloth thing and it works really well. it is a bit of work to set up the initial shape because it has to be uniformly subdivided
<ali1234>
i started with the blend file on the forum
<pca006132>
rapha: manifold's performance improve a lot very quickly
<pca006132>
it will be 30% faster for large meshes comparing to last release a week ago (after the PR is merged, should be tmr or something)
<InPhase>
rapha: Having seen an example of your outline now, one thing you can consider is linear_extrude to a height of y, in small steps (e.g. 0.4) up to the target height, and offset(-sqrt(1-(y/target_height)^2)*negative_offset_value_that_makes_polygon_disappear)
<InPhase>
rapha: If you go by steps of 0.2 it will be even more computationally intensive, but then will have one step per layer if you print with 0.2mm layers.
<InPhase>
Consequently even if this is in principle jagged, and thus has a lot of polygons to describe it, it should print identically to a smooth surface.
<InPhase>
rapha: I have a - and the word negative in that overly long descriptive variable name. What I mean is the final offset should be negative, however you want to write it. But you need to figure out what that offset value is that brings everything to a point by just trying a few until you zero in on what makes your polygon goes away.
<InPhase>
s/goes away/go away/
<ali1234>
InPhase: wouldn't that be equivalent to minkowski with a half-sphere or cone?
<ali1234>
depending on how the offset decays in y
<ali1234>
i suppose very thin parts would end up different
sculptor has quit [Ping timeout: 260 seconds]
bitbasher has joined #openscad
<InPhase>
ali1234: It'll be different.
<InPhase>
And it's impossible to minkowski to round the top without broadening or reshaping the 2D polygon.
<InPhase>
You can negative offset and minkowski back out, but that rounds things.
<InPhase>
In the 2D plane.
peepsalot has quit [Read error: Connection reset by peer]
peepsalot has joined #openscad
mmu_man has quit [Read error: Connection reset by peer]
guso78k has joined #openscad
peepsalot has quit [Quit: Connection reset by peep]
zauberfisch has quit [Ping timeout: 260 seconds]
peepsalot has joined #openscad
zauberfisch has joined #openscad
zauberfisch has quit [Ping timeout: 252 seconds]
zauberfisch has joined #openscad
zauberfisch has quit [Ping timeout: 265 seconds]
zauberfisch has joined #openscad
zauberfisch has quit [Read error: Connection reset by peer]
<bitbasher>
hi hi .. anyone here working on the Windows 11 build ? i have made a bit of progress getting it to build but ..
<bitbasher>
this is what i get
<bitbasher>
-- Detecting CXX compile features - done CMake Warning (dev) at C:/bin/msys64/ucrt64/share/cmake/Modules/GNUInstallDirs.cmake:250 (message): Unable to determine default CMAKE_INSTALL_LIBDIR directory because no target architecture is known. Please enable at least one language before including GNUInstallDirs. Call Stack (most recent call first): CMakeLists.txt:93 (include) This warning is for project developers. Use -Wno-dev
<bitbasher>
is that a problem ? is it a prob i can fix?
<InPhase>
It looks like a shell environment that isn't setup to know about cmake.
<InPhase>
Which shell was it in?
<bitbasher>
?? i have set a few envvars for cmake
<bitbasher>
i am in the Mys shell (UCRT64) following the new Windows build directions in the docs
<bitbasher>
ah .. i am missing that CMAKE_INSTALL dir
<InPhase>
We do in fact include GNUInstallDirs. Are we able to skip that when outside of GNU land?
<bitbasher>
is there a work-around ? it suggests to define a language? or .. i could define the ENVVAR if i knew the folder it should point to
<InPhase>
bitbasher: As a quick test, can you comment out include(GNUInstallDirs) in the CMakeLists.txt?
<InPhase>
bitbasher: I want to know if that leaves remaining problems under Windows because of it being commented out.
<bitbasher>
there is nothing of GNU prefix in the env vars set up by the shell script nor cmake
<bitbasher>
ok .. will try
<InPhase>
bitbasher: We could always wrap that include in an OS-specific guard.
<bitbasher>
is there a way to clean the build dir ? or do i delete it and let cmake start from nothing?
<bitbasher>
cmake --clean does not work :)
<InPhase>
I always delete for absolute completeness.
<bitbasher>
ok
<InPhase>
I script this typically.
<bitbasher>
well that dies fast
<bitbasher>
CMake Error at C:/bin/msys64/ucrt64/share/cmake/Modules/CMakeTestCCompiler.cmake:67 (message): The C compiler "C:/bin/msys64/ucrt64/bin/cc.exe" is not able to compile a simple test program. It fails with the following output: Change Dir: 'C:/bin/msys64/home/Jeff/source/openscad/srcdir/build/CMakeFiles/CMakeScratch/TryCompile-ofsvzs'
<bitbasher>
and goes on to say it cannot find ld
<bitbasher>
humm .. but that might be my anti-virus blocking things .. it reported a.com having a trojan first time i rat the cmake
<bitbasher>
i have disabled the AV ..
<bitbasher>
i broke the C compiler somehow .. i have to get to bed so i will wipe everything and clean start tomorrow
<bitbasher>
i am going to try to send the screen dump of the CMAKE build that went the furthest .. there are several warnings