teepee changed the topic of #openscad to: OpenSCAD - The Programmers Solid 3D CAD Modeller | This channel is logged! | https://openscad.org/advent-calendar-2021/ | Website: http://www.openscad.org/ | FAQ: https://goo.gl/pcT7y3 | Request features / report bugs: https://goo.gl/lj0JRI | Tutorial: https://bit.ly/37P6z0B | Books: https://bit.ly/3xlLcQq | FOSDEM 2020: https://bit.ly/35xZGy6 | Logs: https://bit.ly/32MfbH5
ur5us has joined #openscad
<ccox_> And today we get a coaster.
Jack4557 has joined #openscad
king has joined #openscad
Jack45 has quit [Ping timeout: 256 seconds]
LordOfBikes has quit [Ping timeout: 240 seconds]
LordOfBikes has joined #openscad
<InPhase> ccox_: A-maze-in coaster.
<ccox_> A-maze-ing!
<InPhase> Jack4557: some fo those Conjuctions images are very elegant. It's a nice effect.
king has quit [Quit: Client closed]
<InPhase> The calendar is starting to look very nice when I open all the available doors. :)
<Jack4557> :)
<InPhase> Needs more #scadvent tweets.
<ccox_> (that awkward time before your brain context switches between songs in different languages...)
ndnihil is now known as nihil
nihil is now known as ndnihil
Jack455762 has joined #openscad
Jack4557 has quit [Ping timeout: 256 seconds]
ochafik has joined #openscad
<ccox_> Rendering "Snowballs.scad" with UBSan enabled... takes 36 minutes.
ochafik has quit [Ping timeout: 252 seconds]
<Jack455762> inphase  i have this  anywhere
ur5us has quit [Ping timeout: 240 seconds]
<InPhase> Aye, pretty close.
ferdna has quit [Quit: Leaving]
<Jack455762> code formating is a pain on reddit
<Jack455762> oh we can use libraries .. hm well then
<Jack455762> https://imgur.com/a/loPjh0w  does that count?
<Jack455762> ok lets go with this https://imgur.com/a/xfFNMlt
<InPhase> :)
king has joined #openscad
king has quit [Quit: Client closed]
king has joined #openscad
king has quit [Quit: Client closed]
PovilasCNC has joined #openscad
Jack45576218 has joined #openscad
Jack455762 has quit [Ping timeout: 256 seconds]
lastrodamo has joined #openscad
fling has quit [Quit: ZNC 1.8.2+deb2+b1 - https://znc.in]
fling has joined #openscad
mhroncok has joined #openscad
ochafik has joined #openscad
ochafik has quit [Ping timeout: 256 seconds]
Jack45576218 is now known as Jack
<Jack> well well  seems todays SCADvent  broke curas slicing engine
<Jack> nah  just took 5minutes Ü
SebastianM has joined #openscad
SebastianM has quit [Quit: Bye]
ochafik has joined #openscad
ochafik has quit [Ping timeout: 240 seconds]
ochafik has joined #openscad
ochafik has quit [Ping timeout: 256 seconds]
SebastianM has joined #openscad
SebastianM has quit [Quit: Bye]
SamantazFox has joined #openscad
<InPhase> Jack: Ironically, to slice today's cura has to literally solve a maze.
<Scopeuk> it did look rather infill like
aiyion has quit [Remote host closed the connection]
aiyion has joined #openscad
ochafik has joined #openscad
PovilasCNC has quit [Read error: Connection reset by peer]
SebastianM has joined #openscad
ochafik has quit [Ping timeout: 240 seconds]
Guest71 has joined #openscad
Guest7136 has joined #openscad
<Guest7136> ;D
<Guest7136> =$
Guest7136 has quit [Killed (ozone (No Spam))]
Guest71 has quit [K-Lined]
<Scopeuk> single path infill could have a speed advantage
<dalias> if you care about your benchy being 3:20 rather than 3:45... :-p
<dalias> i'm kinda kidding, but this kind of optimization is mostly useless unless you either (1) want to win extreme speed contests, or (2) have lots of gratuitous slowness in your print settings
<InPhase> For outer surfaces, continuity is very important for stringing reduction.
<InPhase> It doesn't seem to matter how carefully you setup your printer, at some point something will change in the printer or filament and stringing will happen.
SebastianM has quit [Quit: Bye]
ochafik has joined #openscad
ochafik has quit [Ping timeout: 240 seconds]
noonien has quit [Quit: The Lounge - https://thelounge.chat]
noonien has joined #openscad
Jack has quit [Ping timeout: 256 seconds]
noonien has quit [Quit: The Lounge - https://thelounge.chat]
noonien has joined #openscad
SebastianM has joined #openscad
jonasbits has quit [Ping timeout: 268 seconds]
sinned6915 has quit [Quit: Poof goes the quack - The Lounge - https://thelounge.chat]
sinned6915 has joined #openscad
SebastianM has quit [Read error: Connection reset by peer]
SebastianM has joined #openscad
SebastianM has quit [Client Quit]
jonasbits has joined #openscad
sinned6915 has quit [Quit: Poof goes the quack - The Lounge - https://thelounge.chat]
sinned6915 has joined #openscad
sinned6915 has quit [Client Quit]
sinned6915 has joined #openscad
<ali1234> sometimes i add extra structures just so that i have a continuous outline, then i clip them off after
<ali1234> it would be cool if this could be generated by the slicer, like supports but different
<ali1234> here is an example https://i.imgur.com/bGiiRmn.png
<ali1234> without that "sprue" connecting the pillars, material oozes out during travel and then it doesn't prime fast enough to print so they are super weak
<ali1234> connecting them all completely avoids that and i can just cut it off with side cutters
<InPhase> ali1234: You might also benefit from a higher printing temperature to lower the viscosity.
<ali1234> i'm already printing at 210
<InPhase> With PLA?
<ali1234> PLA+
<ali1234> i tried everything to fix the problem but none of it worked
<ali1234> except adding the "sprue"
<InPhase> PLA+ prints a little hotter than PLA.
<InPhase> You could maybe bump that to 220.
<ali1234> maybe... this also only really happens when i print 0.8mm layers
<ali1234> i like the sprue method though, and generally i like to design for easy printing
<InPhase> It could work sensibly at the base. You might have problems higher up that wouldn't work well with that approach though.
<ali1234> the connecting bar doesn't touch the base. it is held up by normal slicer supports
<ali1234> it doesn't matter that those are super weak
<InPhase> Oh. I usually try to print without supports whenever possible.
<ali1234> me too but sometimes they are useful
<ali1234> not my print but the same problem: https://i.imgur.com/HOfANt6.jpg
<ali1234> oh i made this in response to that post: https://imgur.com/a/IEuNQfI
<ali1234> oh yeah now i remember. the "sprue" does touch the base on this print, because it prints upside down and the whole inside "roof" has supports
<ali1234> but yeah usually i try not to rely on supports, although this is my curved case so printing without supports was impractical... at least supports on the outside would have made it really lumpy to hold. on the inside less of a problem
<InPhase> I've had narrow pieces flake out like that in the past, but it was usually solveable with retraction and temperature setting tweaks.
<InPhase> Although there's nothing wrong with using a hard-coded support if it helps. :)
<ali1234> i think it is really powerful
<ali1234> it could even make sense if you are printing multiple of one object
<ali1234> connecting them with a single thick line vs dealing with a load of stringing
<ali1234> that's why i would like to see it in the slicer
<ali1234> i suspect the underlying problem is actually a cura bug because it is so consistent. always the same pillar and nothing seems to improve it or make it worse. even ridiculous settings that make the rest of the print awful, like setting a huge amount of over-extrusion
Jack21 has joined #openscad
Jack21 has quit [Client Quit]
Jack21 has joined #openscad
<InPhase> Well the downside of it is that you've committed yourself to having a ridge line on the outside of the print. You'll never get it to completely go away.
<ali1234> only one bump
<ali1234> i guess it would be vertically the height of the print
<jdccdevel> InPhase: You mentioned that you maintain a library that supports threading? I'd like to check it out, can you post a link?
<ali1234> i assume that would be https://github.com/rcolyer/threads-scad
mhroncok has quit [Quit: Leaving.]
<InPhase> That's the one.
<InPhase> Even if it someday goes out of usefulness, I will retain a soft spot in my heart for that library. It was my first OpenSCAD design. (Improved a bit from the first version of it.)
<jdccdevel> Thanks!
SebastianM has joined #openscad
<Jack21> ali1234  you can  try a 0.2 nozzle that would minimize stringing (also print with 3 pereimeter as cura then wipes the nozzle there)
<InPhase> Does it wipe with 3 but not 2?
<Jack21> jdccdevel - just made a trapezoidal threads extension
<Jack21> inPhase not sure with 2 but sure that one isn't working
SebastianM has quit [Quit: Bye]
<gbruno> [github] t-paul pushed 1 modifications (Declare Windows7 as minimum version.). https://github.com/openscad/openscad/commit/0a8683ba3d4fcb7db43c6b8b2cea40c9284ab5bb
<InPhase> Jack21: I typically use 3 for my 50% and 100% infill prints, but 2 for my 25% infill prints. I never thought about a stringing difference.
<Jack21> ok just checked cura is wiping over all perimeter so .. 1 (no wipe) 2 (wipe a bit) 3 (wipe over one perimeter)  .. not sure how much difference is between 2 and 3
<Jack21> inPhase cura is not wiping over more than 2 (if you define more then 3 perimeter)  with 2walls it is wiping over an imaginary 3rd wall
<InPhase> Ok.
<InPhase> I might try bumping that sometime if I get high stringing on a low infill print.
<Jack21> seems reddit 3D-printing  is not happy about scadvent postings ..  getting 40% downvotes for the last posts
<InPhase> Probably team Fusion 360 users.
<Jack21> and frustrated as they have no idea how to make this with fusion360 - Ü
<InPhase> :)
<Jack21> btw got some user prints (makes) for the SCADvent designs  .. still thinking about some user participation for next years
<ccox_> Offering a place to post makes would be good... but could be abused and would need moderation.
lastrodamo has quit [Quit: Leaving]
<teepee> offering where?
<ccox_> Could offer instagram or twitter tags and a link (still open to abuse, though).
<ccox_> Offering another site that could be managed would be best, but also higher cost.
<teepee> I thought about having a news feed maintained via github, new links could be added via PR with a couple of people having approval rights
<teepee> the gallery page already works in that way https://github.com/openscad/openscad-lists
<teepee> there's so much cool stuff posted on twitter and other sites, it would be cool to have some collected feed for that
<ccox_> But you also want a visible feed, that can draw in interest from outside
<teepee> yes, it should ideally go on the main website
<ccox_> maybe copy some of them onto other social media to spread the word?
<teepee> not sure how to integrate that though, I tried to embed twitter but that seemed to need lots of magic scripts and such
<ccox_> Not embed, just literally copy the photo and add a link back to the openscad website.
<teepee> I'm not sure copying stuff from other sites is a good idea
Jack21 has quit [Quit: Client closed]
<ccox_> you seem to be thinking about it backwards.
<ccox_> Not copying FROM other sites, copying TO other sites to increase awareness.
<teepee> what would I copy to?
<teepee> like copy from facebook to twitter or so?
ferdna has joined #openscad
<ccox_> ok, we are definitely not on the same page.
<teepee> that seems to be the case, so far I'm not understanding what you mean
<teepee> so my idea was to collect pointers to interesting posts on a couple of platforms, basically curated news/project feed
<teepee> if there's other ideas, I'm all ears
<InPhase> ccox_: /r/openscad would be a reasonable place to accumulate makes and modifications of the #scadvent. I don't know who the moderator of that /r/ actually is, but clearly they're in favor of OpenSCAD content or it wouldn't be /r/openscad :)
<Scopeuk> teepee i think ccox_ was trying to get at generating a twitter (for example) message when something was added to the hypothetical website feed. And that post being a picture and link
<LeviHarris-Brown> is there anyway to improve the speed of OpenScad? I only have ~14 threads in a single cube, and it's slowed down to a crawl, like < 1 fps with fn = 10. Is there something I can do?
<InPhase> I see /r/openscad as a small budding community that could grow, and it's reasonable that we embrace it.
<lf94> LeviHarris-Brown: what do you mean 14 threads?
<LeviHarris-Brown> lf94: as in bolt threads
<lf94> InPhase: +1. Embrace the social communities. It helps the Code-CAD cause.
<lf94> LeviHarris-Brown: makes sense. Threads are expensive in OpenSCAD.
<InPhase> LeviHarris-Brown: If you have identical threads and you drop a render() on the threads, then they will take a while to generate the first one, get cached, and then navigation will speed up because it's pre-rendered.
<ccox_> LeviHarris-Brown: that depends on the model, and your hardware (GPU especially).
<lf94> InPhase: I'm writing my own little CAD system now: Epifaneia. It means "surface" in Greek
<ccox_> InPhase and Scopeuk seem to be close to what I was proposing.
<lf94> InPhase: The goal is to put you close to WGSL shader code, for maximum power.
<lf94> You can then leverage compute shaders too
<InPhase> lf94: Makes sense.
<lf94> I will probably have to develop a very small pre-processor though, to do things like passing functions to functions.
<teepee> Scopeuk: automatic twitter posts based on unknown sources is a sure path to trouble
<InPhase> lf94: I've thought there was potential in something like a shadertoy for 3D printing design, with some added built-ins appropriate to the art.
<lf94> Yes, exactly.
<lf94> That's my goal
<ccox_> teepee: it doesn't have to be automatic...
<ccox_> you want moderation and curation
<InPhase> lf94: Web-based with sharing like shadertoy does would make it very interesting as well.
<lf94> InPhase: the issue I'm seeing with Curv is that as time goes on, it's going to be essentially WGSL.
<LeviHarris-Brown> ccox_: they're nearly all different, I'm printing a much from M1.2 to M8 to test my 3d printer. The preview render only takes 5 seconds, but then actually navigating around in the preview is extremely slow, as I said < 1 fps. I'm on Arch Linux and have an i7-10710U and am using the CPU's GPU
<lf94> I care more about the future proofness of WGSL
<lf94> And portability
<lf94> InPhase: I don't want to give up on Curv, but I'm starting to see *its* limits now.
<InPhase> lf94: I don't find Curv syntax completely impossible, but I feel it's a little awkward. OpenSCAD code was pretty intuitive to me from the first second I glanced at it.
<InPhase> lf94: shadertoy code seems more readable to me.
<lf94> Curv is just functional programming really. Like OpenSCAD.
<ccox_> LeviHarris-Brown: ok, if the render times are fast and navigation is slow, then that is more likely dependent on your GPU and OS (drivers)
<lf94> Shadertoy is GLSL
<lf94> Which is imperative
<InPhase> Yes.
<lf94> I like FP programming for a few reasons. I wish WGSL had more facilities for it, but that's ok. Meta-programming can solve this.
<lf94> For example, having a `map` function
<InPhase> I have no strong horse in the race of functional versus imperative for 3D printing design, as I find it adaptable to both for most problems.
<LeviHarris-Brown> ccox_: is there anyway to check for issues? I mean surely that is ridiculously slow for the number things being rendered?
<InPhase> imperative might appeal to a larger audience though, which is why we added a few imperative-style features in OpenSCAD over the years, structured in such a way that they don't break the functional core.
<lf94> map(vec2 thing(f32 a) { do things; }, list) -> map could be a pre-processor function.
<lf94> which is just transformed into a for loop
<lf94> I think for that I'll need access to WGSL AST
<InPhase> We've actually never had a map here, but it didn't make sense before function literals.
<ccox_> LeviHarris-Brown: all you can do is reduce the number of triangles generated, or ask Santa for a better GPU ;-)
<InPhase> We could add it, but function literals are a clearer syntax for what map does.
<lf94> Any, exciting stuff. I don't want to abandon Curv at the same time though. The project is extremely inspirational.
<InPhase> I mean... We could add it, but list comprehensions are a clearer syntax for what map does.
<lf94> oh yes, list comprehensions, forgot about those
<InPhase> Python ended up with map AND list comprehensions, and the community has consolidated around the notion that list comprehensions are just all around a better way to express what map does.
<LeviHarris-Brown> ccox_: haha. What I don't get though is that there's so few triangles being generated already? Any old basic video game like Minecraft is going to generate way more than this, yet this is only running at 1fps. Is there anyway to check it's actually using hardware rendering?
<InPhase> They have all the value and then some. A list comprehension is like a map plus an optional lambda all in one, plus added dimensionality and filtering support.
<lf94> Yeah. They are pretty nice.
<teepee> LeviHarris-Brown: video games don't calculate meshes
<teepee> the mesh calculation used in openscad is far from optimal, but it's a very different process from displaying images via GPU
<teepee> it would be cool to use compute shaders though
<LeviHarris-Brown> teepee: I'm confused, what extra is being calculated per frame?
<teepee> hm? I don't understand the question
<teepee> OpenSCAD produces lots of meshes and combines those, games usually have the meshes precalculated and sent to the GPU for display only
<LeviHarris-Brown> what extra is being done while drawing that makes it run so slowly?
<teepee> if you difference a cube() and a sphere() it needs to calculate a combined mesh
<LeviHarris-Brown> every frame?
<teepee> no, when running F6
<ccox_> teepee: LeviHarris-Brown is referring to drawing while dragging the 3D view
<teepee> preview is totally different that has to be repainted on every frame
<LeviHarris-Brown> no I'm on about when moving around in the preview window, rendering takes ~5 seconds, but then the preview moves at <1fps
<teepee> are you using the dev snapshot?
<teepee> preview uses some display tricks to show the objects without calculating the mesh, depending on the model this can explode in complexity
<teepee> dev snapshot has some setting to improve somewhat by pushing more data to the GPU
<teepee> who knows, maybe we get some improvements there at some point, but my bet is on more new languages instead ;-)
<lf94> InPhase: Euclid's Elements came in today. My geometry skills are about to level up.
<lf94> I didn't realize how big it was.
<LeviHarris-Brown> teepee: No. what do you mean more new languages?
<ccox_> Current dev mainline - dragging an 8 million poly object on my system is getting 4fps, with 98% of the time spent in the GPU driver code and waiting on the GPU.
<lf94> I also didn't know it was 13 fricking books.
<teepee> LeviHarris-Brown: the rough amount of developers per open source cad tool seems to trend to 1 ;-)
<ccox_> The only improvements I could see to the drawing process are giving the GL system more mesh information (feed it real surfaces and not individual triangles).
<InPhase> lf94: Are you studying it in the original Ancient Greek for added style?
<LeviHarris-Brown> oh are there other alternatives to OpenSCAD? I haven't seen any, other than the python compiler
<teepee> LeviHarris-Brown: there's ImplicitCAD which uses almost the same language from user side, but is internally totally different giving some neat features
<teepee> or CadQuery which is based on OpenCascade (the one also used in FreeCAD) which is a pretty powerful CAD kernel
<teepee> it's more into the direction of classical cad but using python for controlling stuff
<teepee> and yeah there's maybe about 20 language generators doing *my favourite language* to OpenSCAD conversations
<teepee> like ruby, python, closure, erlang and probably more
<LeviHarris-Brown> oh cool, CadQuery looks interesting. I have no CAD experience, I went with OpenSCAD because I'm a software developer so it seemed the easiest to me. Is there a reason ImplicitCAD doesn't seem to be as popular?
<InPhase> lf94: Philosophically, the reason there's space in Open Source for so many 3D code cad approaches is because most of them will fizzle and that's okay. But it's good to take chances and try different things. Even failures will inform changes to the ultimately surviving projects, as the real object is elevating community consciousness about what works well. And sometimes chances taken become new
<InPhase> dominant paradigms, which is hard to predict in advance. It's like "high" risk high reward but where the high risks aren't so high. :)
<teepee> LeviHarris-Brown: I don't know, my guess would be it's a bit harder to get it running (at least some time ago when I tried)
<teepee> and now juri_ will come by and beat me for saying that ;-)
<teepee> you can try on the website though
<LeviHarris-Brown> <ccox_> "Current dev mainline - dragging..." <- Os there a way to get a poly count?
<LeviHarris-Brown> s/Os/Is/