<JordanBrown[m]>
So explaining that from the inside out...
<JordanBrown[m]>
cube() creates a rectangular solid of the specified size.
<JordanBrown[m]>
translate([x,y,z]) someobject();
<JordanBrown[m]>
moves that object's origin to the specified point.
<JordanBrown[m]>
difference() { a(); b(); }
<JordanBrown[m]>
subtracts b from a.
<Guest53>
i get it
<Guest53>
thank you
<Guest53>
why doesnt this chat allow copy and paste
<JordanBrown[m]>
It is a very very different way of looking at design than a click-and-drag style of tool.
<Guest53>
yep
<Guest53>
it was way unexpected but it fascinates me because you are literally creating libraries with coding
<JordanBrown[m]>
Whether it allows copy and paste depends entirely on your client. I use Matrix, and it allows both text and images - which, I believe, go through to ordinary IRC clients as links.
<JordanBrown[m]>
Yes, you write programs that define your objects.
<Guest53>
i just took a snapshot of the screen so i can transcribe the script you gave me
<Guest53>
but thanks a bunch
<JordanBrown[m]>
no problems.
<JordanBrown[m]>
There is somebody here almost 24x7.
<Guest53>
good night senator
Guest53 has quit [Quit: Client closed]
<JordanBrown[m]>
I'm in California, so I'm one of the last ones up, but the guys in Germany will start coming online in an hour or two.
Junxter has quit [Read error: Connection reset by peer]
Junxter has joined #openscad
<J2234>
moin
Guest6 has joined #openscad
<Guest6>
linext: Sorry, was afk for a while; thanks for the offer, I'd love to try out the ideas from above first and come back with the results. On the latter, what's the preferred way to share .scad files - 3dcustomizer.net?
ur5us has joined #openscad
ur5us_ has joined #openscad
ur5us has quit [Read error: Connection reset by peer]
Guest49 has joined #openscad
ur5us_ has quit [Remote host closed the connection]
<lf94>
Is there a reason to not use something like libfive as an alternative backend?
tsingi has quit [Quit: WeeChat 3.6]
Guest6 has quit [Quit: Client closed]
J2234 has quit [Quit: Client closed]
J2234 has joined #openscad
<InPhase>
lf94: If you can go ahead and whip up the minkowski implementation for libfive, then we'd be a step closer to that option.
<InPhase>
lf94: If you weren't looking to get a PhD in computational geometry this week, then one option I've pondered is some additional OpenSCAD language commands that us work with SDF functions, but then where we convert to mesh before combining with the other existing geometries.
<lf94>
yea, good idea
<InPhase>
These commands would basically be one to do the ray marching or equivalent, plus a set of built-in functions or function literals that we can use for SDF primitives and standardized operations. This would be a serious change to the language, but is at least bite-sized.
<lf94>
I was reading dual contouring is the way to go for rendering sdfs to mesh
<InPhase>
Yeah, that sort of thing is what the "or equivalent" is designed to reserve as an option.
<InPhase>
Anything that keeps edges a little better would probably be preferred. But we'd have to assess. Maybe we could have more than one if there are trade-offs.
<InPhase>
People will of course always want to go both directions, and do the operations in different orders.
<lf94>
Since SDFs / frep are generally best for organics, I think edge accuracy is less of a concern there
<lf94>
Really I want to create organic surfaces to apply to my accurately designed models
<lf94>
The best I can do so far is put them into blender and do some height map stuff
<lf94>
well, and one time curv, but I've given up on it and looking toward libfive these days
epony has quit [Quit: QUIT]
J2234 has quit [Quit: Client closed]
J2234 has joined #openscad
epony has joined #openscad
epony has quit [Ping timeout: 268 seconds]
epony has joined #openscad
dTal_ has joined #openscad
lf94- has joined #openscad
one-star-chef has quit [Ping timeout: 252 seconds]
dTal has quit [Ping timeout: 252 seconds]
clemens3 has quit [Ping timeout: 252 seconds]
marcus has quit [Ping timeout: 252 seconds]
lf94 has quit [Ping timeout: 252 seconds]
crazy_imp has quit [Ping timeout: 252 seconds]
one-star-chef1 has joined #openscad
marcus has joined #openscad
crazy_imp has joined #openscad
crazy_imp has quit [Changing host]
crazy_imp has joined #openscad
clemens3 has joined #openscad
califax has quit [Ping timeout: 255 seconds]
califax has joined #openscad
<linext>
fyi, adding a function called imagemetrics() which supplies the width and height in pixels would be nice to have
califax has quit [Remote host closed the connection]
<JordanBrown[m]>
But the same mechanism will work with "surface" in the middle instead of "import".
<JordanBrown[m]>
Also note: with existing OpenSCAD, you can always use resize() to force it to a particular size.
<linext>
will resize reduce the number of pixels?
<JordanBrown[m]>
no
<linext>
for lithophanes, sometimes fewer pixels is better
<JordanBrown[m]>
Sure, but OpenSCAD isn't an image manipulation tool.
<JordanBrown[m]>
You quite possibly want to do all sorts of image manipulation *before* you feed it to OpenSCAD.
<JordanBrown[m]>
But resize() lets your OpenSCAD program be independent of the number of pixels in your PNG.
<JordanBrown[m]>
The stuff I'm working on will (among many other things) let you make your OpenSCAD program use the PNG dimensions in its calculations, which is more general.
<JordanBrown[m]>
It would be cool to have an import("foo.png") function that would return metadata and an array of pixel values.
califax has quit [Ping timeout: 255 seconds]
crazy_imp has quit [Ping timeout: 256 seconds]
hrberg has quit [Ping timeout: 256 seconds]
hrberg has joined #openscad
califax has joined #openscad
crazy_imp has joined #openscad
J2234 has quit [Quit: Client closed]
J2234 has joined #openscad
Lagopus has quit [Read error: Connection reset by peer]
Lagopus has joined #openscad
<linext>
for my web app, resizing the PNG is an extra step
<linext>
users may not know how to do it
<linext>
sure i could write a script to do it
<linext>
maybe that's the answer
<linext>
detect the dependency upload and ask the user if they want to resize the pixels
califax has quit [Remote host closed the connection]
califax has joined #openscad
<JordanBrown[m]>
Like I said, resampling is only one of the things you might want to do with your PNG. Contrast and brightness are another, though I think those map to scaling and translating the resulting 3D object. But you might also want to change the response curve, and that's an image manipulation thing.
<JordanBrown[m]>
(Idle thought: perhaps surface() should accept a response curve.)
teepee_ has joined #openscad
teepee has quit [Ping timeout: 255 seconds]
teepee_ is now known as teepee
ur5us_ has joined #openscad
one-star-chef1 is now known as one-star-chef
TheAssassin has quit [Remote host closed the connection]
TheAssassin has joined #openscad
snaked has joined #openscad
snaked has quit [Ping timeout: 255 seconds]
califax has quit [Remote host closed the connection]
califax has joined #openscad
<linext>
i wonder if potrace exists as a web assembly
snaked has joined #openscad
Lagopus has quit [Read error: Connection reset by peer]