teepee changed the topic of #openscad to: OpenSCAD - The Programmers Solid 3D CAD Modeller | This channel is logged! | 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
nihil_ has joined #openscad
nihil_ has quit [Changing host]
nihil_ has joined #openscad
nihil has quit [Remote host closed the connection]
hyperair has quit [Ping timeout: 248 seconds]
linext has joined #openscad
linext has quit [Quit: Client closed]
J25k83 has joined #openscad
J25k16 has quit [Ping timeout: 240 seconds]
hyperair has joined #openscad
Guest79 has joined #openscad
Guest79 has quit [Client Quit]
mmu_man has quit [Ping timeout: 252 seconds]
scrameta has quit [Quit: Client closed]
snaked has joined #openscad
church__ has joined #openscad
church_ has quit [Ping timeout: 246 seconds]
snaked has quit [Quit: Leaving]
killjoy has joined #openscad
killjoy has joined #openscad
snaked has joined #openscad
snaked has quit [Remote host closed the connection]
snaked has joined #openscad
<gbruno> [github] scrameta synchronize pull request #5584 (RFC: New general-purpose extrusion mechanism - 2025 refresh) https://github.com/openscad/openscad/pull/5584
scrameta has joined #openscad
<gbruno> [github] svenstaro opened issue #5615 (New release?) https://github.com/openscad/openscad/issues/5615
<gbruno> [github] scrameta synchronize pull request #5584 (RFC: New general-purpose extrusion mechanism - 2025 refresh) https://github.com/openscad/openscad/pull/5584
hyperair has quit [Remote host closed the connection]
<gbruno> [github] t-paul closed issue #5615 (New release?) https://github.com/openscad/openscad/issues/5615
<scrameta> How can I request a review please? I added a PR which I now think is working well (5584). I posted on the mailing list but got no reply, I can try again but thought I'd try here first.
<J25k83> scrameta this looks like "loft"  extrude is the wrong term if the shape changes. And as long you need same vertex counts i can't see a real benefit (for me at least)
<scrameta> You don't need the same vertex counts
<scrameta> I can change it to loft_extrude or just loft?
<scrameta> I added different vertex count support because otherwise its too restrictive
<scrameta> For advanced users they can of course do everything manually with numbers and polyhedron but this adds a very easy way to do this kind of things for beginners/intermediate users.
<scrameta> Reading on loft, looks like it's smoothed. I don't smooth for now, it's just straight lines between shapes. I've thought a few times that could be an option. e.g. find matching vertices (after interpolating) then find some kind of line that goes through them.
<J25k83> that is cool  it sure uses a new method of placing 2D in 3D space but  a loft tool would be very usefull
<scrameta> It feels intrusive to me that it modifies Polygon2d, wondering if it can work without that...
<J25k83> without lazy union you can't input a loop of shapes
<J25k83> but you could use this like a chain hull for some smoothing.
<scrameta> It adds a back lazy using by patching 'union=False' onto for.
<scrameta> -back + basic
<scrameta> I wonder if that should be removed and just require lazy union to be enabled
<teepee> not going to happen, lazy union needs to be fixed and reduced in scope
<teepee> the current state is not working
<scrameta> So perhaps best to leave 'union=false' on for and just improve it a bit.
<teepee> basically I think we need to get the "return lists" part out of it and make non-experimental
<teepee> the other stuff needs to be dropped
<scrameta> Out of lazy union?
<teepee> sort-of, basically making lazy union a 100% invisible feature
<teepee> we should check with kintel what his view on that topic is, but I belive the original idea of lazy union is not working
<teepee> but the internal returning of lists and delying operations is very useful
<teepee> *delaying
<scrameta> OK, so ... we have: rename to 'loft', remove 'union_false' thing from for, investigate if the core 2d/3d changes to Polygon2d are really needed, if not handle locally to 'loft',  talk to kintel regarding 'lazy union lite' to pass lists through at least for, perhaps generally.
<teepee> not skin()?
<scrameta> + perhaps some vertical smoothing option on the vertices
<teepee> yep, it would be nice to not need unoion=false
<teepee> heh, unonion :)
<scrameta> Hmmm yeah skin seems more appropriate. I'm not familiar with either term to be honest so just googling here...
<teepee> I think BOSL calls it that and to me it sound like a good fit, but I don't know official CAD wording
<J25k83> comes from building ships https://en.wikipedia.org/wiki/Lofting
<J25k83> but skin is fine
<scrameta> Does kintel come on irc or is there a better way to contact him?
<J25k83> he will hear you if you summon him
<teepee> lately he drops by almost daily and also reads most of the backlog
<teepee> he just may not hear you *now* due to timezones :-)
<teepee> location mentioned in github profile: Toronto, Ontario, Canada
<scrameta> OK many thanks for the feedback so far, appreciated. I'll get onto these after work...
<J25k83> would be nice if hull() has an skin option
<J25k83> Canada the new europe?
<teepee> with 2.5d shapes we can have hull() as mini skin() too just hulling 2 x 2.5d shapes
<teepee> canada as in not 51st us-state?
<teepee> what's new europe?
<scrameta> Well whole whole world participates in Eurovision these days, so why not the EU...
<J25k83> teepee what is a 2.5d shape?
<teepee> a 2d shape = polygon in 3d space
<J25k83> ah ok .. but hull is always convex or
<J25k83> putting a skin on 3D objects ideal like blob would be fun
<teepee> blob()
<J25k83> sort of minimal surface
<teepee> yeah, I think there are algorithms doing that for point clouds but I don't know the name
<teepee> wait what? gabriel, that name I have not heard for quite some time. not a huge loss though
mmu_man has joined #openscad
<gbruno> [github] gsohler closed pull request #4515 (Yet another Path-Extrude) https://github.com/openscad/openscad/pull/4515
<gbruno> [github] gsohler closed pull request #4778 (Breakpad - Crashandler for Linux, Windows and Mac) https://github.com/openscad/openscad/pull/4778
<gbruno> [github] gsohler closed pull request #4516 (offset for 3D objects) https://github.com/openscad/openscad/pull/4516
<gbruno> [github] gsohler closed pull request #5209 (Measurement improvement) https://github.com/openscad/openscad/pull/5209
<gbruno> [github] gsohler closed pull request #5110 (New parameter "v" for rotate_extrude ) https://github.com/openscad/openscad/pull/5110
teepee_ has joined #openscad
teepee has quit [Ping timeout: 264 seconds]
teepee_ is now known as teepee
scrameta has quit [Quit: Client closed]
scrameta has joined #openscad
GNUmoon has quit [Remote host closed the connection]
GNUmoon has joined #openscad
teepee_ has joined #openscad
teepee has quit [Remote host closed the connection]
teepee_ is now known as teepee
mtm has quit [Ping timeout: 272 seconds]
mtm has joined #openscad
J25k83 has quit [Quit: Client closed]
J25k83 has joined #openscad
snaked has quit [Remote host closed the connection]
snaked has joined #openscad
rogeliodh has quit [Quit: The Lounge - https://thelounge.chat]
rogeliodh has joined #openscad
cart_ has joined #openscad
J25k83 has quit [Quit: Client closed]
J25k83 has joined #openscad
<gbruno> [github] kintel pushed 1 modifications 2 removals (Bump OpenCSG to 1.7.0 for macOS build) https://github.com/openscad/openscad/commit/07f1a9067eca5e64c9698c41e106e9829cd4f76c
<gbruno> [github] kintel opened pull request #5616 (Bump OpenCSG to 1.7.0 for macOS build) https://github.com/openscad/openscad/pull/5616
<gbruno> [github] kintel pushed 3 modifications (Bump Clipper2 to 1.5.0) https://github.com/openscad/openscad/commit/e7e820cca03655cdc4ebd3ed4f08e15429f92301
<gbruno> [github] kintel opened pull request #5617 (Bump Clipper2 to 1.5.0) https://github.com/openscad/openscad/pull/5617
kintel has joined #openscad
<kintel> scrameta Ideally, I would propose that each of the new core features added are integrated into OpenSCAD as independent, composable features.
<kintel> e.g. 2.5d polygons: Will it be possible to hull() two 2.5d polygons?
<kintel> If we could add that feature specifically as an experimental feature, and bring it out of experimental mode once modules are upgraded to support it, that would be awesome. Otherwise, we may end up with this blocking the next release for a long time until someone has time to clean up
<kintel> same for for() -> lists; can we then deprecate intersection_for() ?
<kintel> In terms of name, skin() feels like a good name considering existing effort in this domain
<scrameta> The original author said for (union=false) could replace intersection_for. Not sure what you mean on 2.5d polygon hull. Do you mean just that hull should also be modified to support polygons in its children as well as full 3d objects?
<kintel> hull: Yeah, if 2.5 d polygons are allowed _somewhere_, they should be allowed everywhere it makes sense
<scrameta> I see. Yeah consistency is important.
<kintel> But it's unrealistic to land that in a single PR, so we should find a way to iterate
<scrameta> Regarding blocking release, was thinking 'skin' would remain experimental for a while so could be merged without blocking. Though perhaps the experimental feature becomes '2.5 support' instead of 'skin' in particular.
<kintel> The for stuff is annoying. Ideally for() should never union, but we might have locked ourselves in. I haven't thought about this in a long time though
<scrameta> With lazy union on it just worked without that. Though I was told that lazy union goes a bit too far and runs into other complications.
<kintel> Yeah, finding a way of sweeping most of this under an experimental feature would be good
<kintel> Yeah, we never managed to solve lazy union in a backwards compatible fashion
<kintel> It would be awesome if we, somehow, could re-scope lazy unions to only apply to for()
<kintel> i.e. make for() return a list of objects, and let operators receiving a list of objects decide how to interpret them
<kintel> ..which may mean a breaking change for `intersection() for()`, but I think if that's the only breaking change, it might be ok
<teepee> I think the last part is key, and that should work in other places too
cart_ has quit [Ping timeout: 260 seconds]
<kintel> I can be tricky to get it right though
<kintel> But: As an experimental feature, we can do union=false for now, and try to fix it while in experimental mode :)
<teepee> it should be fine with a 2 level structure, a single list does not work
<teepee> it needs to be a list of static slots defined by the AST and each one can have a list of meshes
<teepee> so difference can handle the list of objects from the first slot and then difference the other ones
<kintel> yeah, list as a separate node type, not a group
<kintel> it does open for deep trees of lists, which is where we need to think
<kintel> ..and we need to think about what module Foo() for() {...} returns etc.
<kintel> The old "modules return groups" decision wasn't the best : /
<kintel> All is to say: The rabbit hole goes all the way down
<scrameta> Yeah, looks like it's a bit of a can of worms. Keen to contribute but don't want to do a full rewrite :D
muesli has quit [Quit: NO CARRIER]
muesli has joined #openscad
<kintel> heh, there's a reason nobody has managed to land this feature yet ;)
<kintel> Anyway, I'd say try to aim for an experimental feature, and hide everything behind an experimental flag.
<kintel> ..and find a way of making it work without enabling lazy union
<scrameta> Most of it is, but not all. So I'll try to clean that up.
<kintel> Whatever is not experimental, we just need to review more carefully
<kintel> Sometimes it's helpful to open a PR _only_ with cleanup/refactoring to make those parts faster to turn around
<scrameta> I'll look over the code structure a bit and see what can be done to make for work without for(...union=false) and without full lazy union.
<scrameta> Got to run now, dinnertime! Many thanks.
<kintel> We're a lot more careful these days, as we're trying to count down towards a release, so I prefer minimal risk in the non-experimental code paths
<gbruno> [github] kintel closed pull request #5617 (Bump Clipper2 to 1.5.0) https://github.com/openscad/openscad/pull/5617
<gbruno> [github] kintel pushed 3 modifications (Bump Clipper2 to 1.5.0 (#5617)) https://github.com/openscad/openscad/commit/6dd1af291728c440017c8eda4eb09303aecd1ac2
<gbruno> [github] kintel closed pull request #5616 (Bump OpenCSG to 1.7.0 for macOS build) https://github.com/openscad/openscad/pull/5616
<gbruno> [github] kintel pushed 1 modifications 2 removals (Bump OpenCSG to 1.7.0 for macOS build (#5616)) https://github.com/openscad/openscad/commit/c8a8c30f23fd1430e379d915fbb3b301251a07ef
<kintel> InPhase You had some irc comments on https://github.com/openscad/openscad/pull/5603 - did things get resolved? Awesome if you could approve the PR if you think it makes sense. Trying to offload having to look into the details myself :(
<tja> InPhase: feel free to ping on that
kintel has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<teepee> I'm not sure it can happen, but it would look safer if it would still handle the delta == 0 case, looks like it did not do that before though
<gbruno> [github] t-paul opened pull request #5618 (Update snap to core24. Bump cgal to 6.0.1, lib3mf to v2.3.1.) https://github.com/openscad/openscad/pull/5618
<gbruno> [github] t-paul pushed 1 modifications (Update snap to core24. Bump cgal to 6.0.1, lib3mf to v2.3.1.) https://github.com/openscad/openscad/commit/7dee848ad1714bd560df9584cac9c18e67c39e2e
<InPhase> kintel, tja: Yeah, looking back at it again, it looks good to me. Nothing stands out as a potential problem.
kintel has joined #openscad
scrameta has quit [Quit: Client closed]
kintel has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Abhishrestha has joined #openscad
<Abhishrestha> I hope this message finds you well. My name is Abhishrestha Tiwari, and I am currently a third-year undergraduate student pursuing a degree in Information Technology.
<Abhishrestha> I am new to the world of open source contributions and would love to start my journey by contributing to your organization. I have experience with C, C++, Javascript , and I am eager to apply and enhance my skills while learning from your team.
<Abhishrestha> Could you kindly guide me on how to get started or suggest any beginner-friendly projects within your organization? Your advice would be invaluable to me.
<Abhishrestha> Looking forward to your response.
<Abhishrestha> Best regards,
<Abhishrestha> Abhishrestha Tiwari
ccox has joined #openscad
ccox_ has quit [Ping timeout: 260 seconds]
Abhishrestha has quit [Quit: Client closed]
nihil_ is now known as nihil
teepee_ has joined #openscad
teepee has quit [Ping timeout: 264 seconds]
teepee_ is now known as teepee
<gbruno> [github] t-paul pushed 1 modifications (Merge pull request #5618 from openscad/update-snap Update snap to core24. Bump cgal to 6.0.1, lib3mf to v2.3.1.) https://github.com/openscad/openscad/commit/9df3dc924987234b57182e689b65ffb4a2af466b
<gbruno> [github] t-paul closed pull request #5618 (Update snap to core24. Bump cgal to 6.0.1, lib3mf to v2.3.1.) https://github.com/openscad/openscad/pull/5618
Guest4884 is now known as buZz
<gbruno> [github] scrameta synchronize pull request #5584 (RFC: New general-purpose extrusion mechanism - 2025 refresh) https://github.com/openscad/openscad/pull/5584
<gbruno> [github] scrameta edited pull request #5584 (RFC: New general-purpose extrusion mechanism - 2025 refresh) https://github.com/openscad/openscad/pull/5584
scrameta has joined #openscad
guerd has joined #openscad
snaked has quit [Quit: Leaving]
<gbruno> [github] scrameta synchronize pull request #5584 (RFC: New general-purpose extrusion mechanism - 2025 refresh) https://github.com/openscad/openscad/pull/5584
<gbruno> [github] scrameta synchronize pull request #5584 (RFC: New general-purpose extrusion mechanism - 2025 refresh) https://github.com/openscad/openscad/pull/5584
Guest72 has joined #openscad
Guest72 has quit [Client Quit]