kintel has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
aiyion1 has quit [Remote host closed the connection]
aiyion1 has joined #openscad
<JordanBrown[m]>
kintel: Alas, no, very little experience with VS. As teepee mentioned, I do my OpenSCAD work with MSYS2. Why MSYS2? Because that’s what somebody said was the current way to do it…
LordOfBikes has quit [Ping timeout: 255 seconds]
Lagopus has joined #openscad
LordOfBikes has joined #openscad
<JordanBrown[m]>
Also, I'm familiar with the whole vi/make development cycle - I'm not so comfortable with IDEs.
J2372353391 has joined #openscad
J23723533 has quit [Ping timeout: 260 seconds]
ur5us_ has quit [Ping timeout: 248 seconds]
<InPhase>
kintel: I do most of my work Windows development with Qt Creator with its mingw option.
<InPhase>
Although I've definitely considered switching over to an msys2-based approach. It's a tough choice. IDEs thrive on Windows because it is just not that good of an interface.
<InPhase>
Although I suppose msys2 also has a Qt Creator package. I never really thought of flipping it around and trying it that way.
<JordanBrown[m]>
InPhase: The major reason that I use MSYS2 is that it was what was documented. Perhaps you could write up instructions for using Qt Creator? I think I tried it once from inside MSYS2, and it didn’t quite work, but if it works from other environments then it might be a good choice.
<InPhase>
JordanBrown[m]: Oh, I've never actually tried it on OpenSCAD. I don't do Windows at home. People have to pay me for me to accept suffering.
<InPhase>
JordanBrown[m]: Presumably though you'd just open the cmake file and run with it. Although you'd have to grab some dependencies the annoying way, which is one of the things msys2 seems to have gotten good at solving.
use-value has quit [Remote host closed the connection]
use-value has joined #openscad
vsellier has quit [Read error: Connection reset by peer]
<kintel>
Re windows stuff: I think I managed to frankenstein together a remove VS Code setup; running VS Code on my Mac and remote into a Windows 11 msys2 session. Haven't tried OpenSCAD yet; I'm still working on a new offscreen rendering setup
kintel has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
guso78 has joined #openscad
GNUmoon2 has quit [Remote host closed the connection]
GNUmoon2 has joined #openscad
califax has quit [Ping timeout: 255 seconds]
TheAssassin has quit [Remote host closed the connection]
<lf94>
Seems the author has just made a basic "combine verts together into faces" thing
* teepee
does not like the "not working on linux" part
<lf94>
I didnt look past the tutorial
<lf94>
let me guess, mac only?
<lf94>
if it's windows only that's definitely lol
guso78 has joined #openscad
<teepee>
bottom of the "Overview" page
guso78 has quit [Client Quit]
<InPhase>
It can be quite disruptive to skip out on Linux support early in an open source project.
<InPhase>
All those passing developer eyes from people that use and like Linux glance, and then move on, before it ever gets off the ground, even if it might have been easy to have Linux support.
<InPhase>
When you're fighting for critical mass, losing a good half or more of potential developers up front can be problematic.
<InPhase>
lf94: My first OpenSCAD project was the threading library. Although I went through an entire discarded version before I got to the first version I released.
<lf94>
I'm still proud of my thread sDF
<InPhase>
I don't exactly remember how long it took, but I think I got to the release point within the first week.
<InPhase>
Then I went back and improved it further for one more release.
<InPhase>
But it really all depends on what the starting background is, and how heavily one leans into that for a particular choice. I targetted something I understood pretty well. :)
<lf94>
> laptop is closed > friend who's working in the kitchen is in a meeting
<lf94>
ill show you after
<lf94>
was trying to rsync the file over
<lf94>
Yeah, the backgrounds really help
<teepee>
ah, 3d printed rocket going up tomorrow
<lf94>
I feel each year I'm getting significantly better at everything I do
<lf94>
feels good
<teepee>
and what's the libfive news ?
<lf94>
I didnt touch it; I was busy fixing up shipping box and 3d printing
<lf94>
and trying to fix my philips light strip that I fucked up good
<lf94>
(stepped on them, snapped a soldered part)
<lf94>
"fixing up shipping box" -> shipping-box.js I mean :p
<lf94>
I want to add bounding box tracking and maybe relative positioning
<lf94>
to the wrapper
<lf94>
libfive + openscad kinda spooked me the other day, but im still going to try
<Scopeuk>
teepee I though the rocket was today?
<teepee>
oh, did I scroll down to yesterdays news :)
<lf94>
My biggest demotivator is doing this work, it works, but not done well (shitty C++), and then everything fizzles
<lf94>
I really value my time these days
<lf94>
(as everyone else does :)
<lf94>
just thinking out loud
<lf94>
but yeah, it's not a waste to at least say "we tried".
<InPhase>
lf94: It's about a different asymptotic scaling with types of design complexity, so it would have to work really terribly to not have value.
<lf94>
great to hear B)
<InPhase>
lf94: Even if it's 2 or 3 times slower than running in the scheme front-end of libfive, that'll still be a great benefit.
<InPhase>
And multiples like that could be a future project to resolve.
<InPhase>
The nice thing about the Oracle approach is that as long as you handle non-float returns properly (the only error case), then it either works or doesn't work. And if it works it will do any sdf. And then as long as the performance isn't hundreds or thosuands of times slower, it will be valuable, and it's hard to imagine it being that slow.
<lf94>
yep
<lf94>
Ive written in tens of languages, but never C++, I think this is another concern
<InPhase>
And if it's not the best approach, that's still a baseline.
<lf94>
Each time I see C++ it's the most overwhelming thing I witness
<InPhase>
The functions to implement from the abstract base class are: set, evalInterval, evalPoint, checkAmbiguous, evalDerivs, and evalFeatures. Of those all sound pretty straightforward, except that I don't know what evalFeatures means in libfive language.
<InPhase>
Although there is one reference implementation for evalFeatures available in transformed_oracle.cpp, which probably provides some guidance on what that's supposed to do.
guso78 has joined #openscad
YesMan has quit [Quit: Client closed]
guso78 has quit [Quit: Client closed]
<lf94>
🫡
use-value has quit [Remote host closed the connection]
<lf94>
(without this extra code, the threads would be very sharp edged :)
guso78 has joined #openscad
Lagopus has quit [Remote host closed the connection]
<guso78>
Does IT Work without sdf_mesh primitive?
Lagopus has joined #openscad
<InPhase>
lf94: Definitely compact.
<guso78>
Line5 is the only Line with geomtrical information.does IT make Sense to make the Other Lines implicit?
<InPhase>
guso78: I think that's written in the Curve language. It's not an OpenSCAD proposal.
<guso78>
Ahh i know curv
<InPhase>
Except by the analogy that we would be able to do similar with lf94's proposed work.
<juri_>
hmm. maybe i should read this convo. ;)
<InPhase>
But whatever you do, don't tell juri_.
<juri_>
InPhase: I'll out inovate you all eventually. you are living in the past! :P
<InPhase>
That's okay, that's where all the best nostalgia is stored.
<guso78>
Maybe Juri is Doug incognito, who Knows ....
<juri_>
fair. i've watched a lot of youtube, and felt guilty for recycling the cool 'retro' tech i see.
<juri_>
guso78: I'm the author of implicitcad. tho, i'm doing a bad job lately, because i'm writing a slicer instead.
<InPhase>
juri_: In summary, lf94 is aspiring to integrate the libfive library to bundle an sdf_mesh feature into OpenSCAD, so we can blend the two approaches.
kintel has joined #openscad
<juri_>
interesting. why not just put implicitcad in instead?
<juri_>
oh wait. licensing.
<guso78>
Did Not want to offend anyBody, Just in . Case ...
* juri_
nods.
<juri_>
guso78: i'm impossible to offend, worry not. i'm the 'little sister' project, to openscad. i can't even be arsed to distribute binaries, much less a gui.
<InPhase>
juri_: Does implicitcad have an arbitrary sdf feature?
<juri_>
probably in the haskell binding.
<InPhase>
Or first-class functions?
<guso78>
In Phase, i got
<juri_>
it does functions haskell style in the haskell binding. give it a function, and a bounding box, call the right functions (4 or five of em), and get an STL.
<InPhase>
juri_: I know it has far superior twisting and scaling features, which actually takes care of like 80% of what one might like to do with such a thing.
<lf94>
It's written in JavaScript
<lf94>
With libfive
<guso78>
In Phase,BTW i have a Working Algorithm in place which can solve self intersections. Once i cleaned Up the Code, i will Test IT on my Offset
kintel has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<juri_>
implicitcad is a library, masquerading as a program. you'll find the library very approachable, all pure, and the code required to make a command line / web UI to be quite small.
<InPhase>
guso78: Excellent. :)
<juri_>
i actually re-use the SCAD engine in my slicer.
<juri_>
my intent is to re-write the 100 or so lines that are the slicer driving stuff in SCAD.
<juri_>
because the rest is just one big library.
<juri_>
oh, we added a torroid primitive, and elipsoids. no, i don't know why people want these things. :)
<InPhase>
Is there a rotate_extrude?
<InPhase>
I have grown to really appreciate the flexibility of rotate_extrude for everything one might want from a toroidal structure, but more generally.
Guest82 has joined #openscad
Guest82 has quit [Write error: Broken pipe]
<juri_>
yep.
<juri_>
with a LOT of options.
<InPhase>
Now all we need to do is run one of those Haskell to C++ transpilers on it.
<juri_>
nah, just do what all of the cool kids do, and write a cheap knockoff in python. this has happened at least three times, that i know of.
* teepee
hands juri_ a 0
<InPhase>
We're busy attempting the Embrace, Extend, Extinguish strategy with embedded Python.
* juri_
divides by it.
<teepee>
I think you need to attach that to your 3 :)
<juri_>
teepee: yeah. ;)
<teepee>
that is me fighting some work stuff based on angular with a python backend for database access :D
<teepee>
oh, talking languages....
<teepee>
guso78: having the obj import would be great, but is there a chance to make it more c++-ish?
<guso78>
Haha i suspected that you dont Like the c Style 😁
<teepee>
while openscad probably does not have a *huge* user base it's big enough for people to file CVEs
<guso78>
I dont have much experience with c++, only object oriented programming
<teepee>
maybe with twitter breaking apart it's not that annoying anymore, but still not exactly fun
<teepee>
oh, no need for OOP
ebyerly has joined #openscad
<guso78>
Skeleton is die, only Few function Need Other names
<guso78>
Is done
<teepee>
std::string line; and std::getline(f, line); might be plenty enough
<teepee>
similar to what the STL import does
<guso78>
Teepee when inheriting absractnode, openscad is full Of.oop😃
<teepee>
which is not the perfect example either but at least not much (or no?) pointer dances
<teepee>
there's some places where OO is probably ok, but in my experience it's more often abused then needed
<teepee>
well, specifically inheritance
teepee_ has joined #openscad
teepee has quit [Ping timeout: 255 seconds]
teepee_ is now known as teepee
guso78 has quit [Ping timeout: 260 seconds]
<Scopeuk>
Generally with c++ your main gain comes from handing memory management over to the standard library and use reference instead of pointers where you can. Obviously there is a huge boat load of feature you can bolt on and this is strictly my opinion
<Scopeuk>
Ok unless you have a good reason otherwise should be used to control visibility
Lagopus has quit [Ping timeout: 248 seconds]
<linext>
i put in some usage stats into 3dcustomizer.net
<linext>
every render gets sent as JSON and an image when the rendering finishes
<linext>
hopefully it will allow me to figure out how users are trying to use it