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
<InPhase> rue_mohr: STL files are not in general fixable. They are sometimes fixable. It depends on how messed up they are, and exactly what the nature of the problem is. There have been discussions about adding some capability for this, but it is not yet in place.
<InPhase> rue_mohr: The fundamental problem is that many people out there are designing STL files with programs that are really not built for making 3D printing models, and they sometimes make STL files that are quite substantially invalid. For objects designed for display, rather than for printing, only the surface matters. But for printing, everything that goes on inside matters too (some objects are
<InPhase> intentionally hollow or structured inside), which is a very different scenario.
<InPhase> rue_mohr: For example, when OpenSCAD merges a cylinder going through a cube, it makes a new object representing the outer surfaces of this combined structure. But some display-oriented programs still have the cylinder having an outer surface inside the inner surface of the cube, and it's not mathematically obvious in an automated way what that is supposed to mean, and what's really the outside or the
<InPhase> inside.
<myosotis> I use the 3dprint tools in blender, but that's a lot like gambling
<InPhase> And then for every one scenario you invent a solution for, there are more. :)
<rue_mohr> InPhase, I do not think I have seen a model yet from openscad that slic3r didn't report having to make a few hundred fixes to
<rue_mohr> I get ya tho
<InPhase> rue_mohr: I've not tried slic3r, but I've never seen an OpenSCAD model cura had any complaints about, except a few cases where critical features were below the minimum print dimensions, which were design flaws.
<InPhase> Does slic3r have some special expectation for stl content that we don't satisfy by default?
<InPhase> Also, have you ever tried another OpenSCAD output format like 3mf in slic3r?
<InPhase> I guess I vaguely remember a few designs from the old days that didn't load up in Cura. In some much older releases sometimes invalid outputs with design flaws didn't quite trigger the necessary error messages and responses. But that's pretty much all resolved now at the render step.
Junxter has joined #openscad
ur5us__ has joined #openscad
ur5us_ has quit [Read error: Connection reset by peer]
ferdna has joined #openscad
<rue_mohr> ERROR: CGAL error in CGAL_Nef_polyhedron3(): CGAL ERROR: assertion violation! Expr: e_below != SHalfedge_handle() File: /usr/include/CGAL/Nef_3/SNC_FM_decorator.h Line: 418
<rue_mohr> the other one isn't taking to the repaired STL
LordOfBikes has quit [Ping timeout: 256 seconds]
myosotis has quit [Ping timeout: 272 seconds]
LordOfBikes has joined #openscad
arebil has joined #openscad
<InPhase> Might not actually be repaired. It is notoriously difficult to do.
KimK has joined #openscad
<InPhase> I suspect at this point the global success rate for people setting out to repair randomly found stl files actually succeeding is somewhere less than 50%.
<InPhase> It might even be less than a third.
ur5us__ has quit [Remote host closed the connection]
ur5us has joined #openscad
myosotis has joined #openscad
J2227 has joined #openscad
arebil has quit [Quit: My keyboard has gone to sleep. ZZZzzz…]
J22 has quit [Ping timeout: 256 seconds]
ur5us has quit [Ping timeout: 240 seconds]
<rue_mohr> arg, I'm trying some other programs to modify it and no success so far
<rue_mohr> well
<rue_mohr> I created this
<rue_mohr> but
<rue_mohr> with a few programs, regenerating it is much harder than just cutting the hole I need in it
<rue_mohr> or, it should be
<rue_mohr> the last program that modified it was openscad
<rue_mohr> I'm not sure what kinda error I'm looking for
myosotis has quit [Quit: myosotis]
<InPhase> Do you have an image somewhere of the model you've been trying to import?
<rue_mohr> 1 sec
<rue_mohr> thats with the holes I'm trying to add
<rue_mohr> I have a hole in a hole that causes the render anomoly
<rue_mohr> but if I remove that it still cant do it
<rue_mohr> my best idea is to try to go back to the two stls I made it from, precut and remerge the parts
<rue_mohr> I cant redo it from scratch, I dont have a way of re-radiusing the corners of it like that
<InPhase> That can definitely be done. It's not a 15 minute design, but you started working on this 6 hours ago (not sure if you were working the whole time). It should definitely be redoable from scratch in a lot less time than that.
<rue_mohr> it was made over the last 6 years tho
<rue_mohr> there are countless modifications over the process
<rue_mohr> my origional 3d design guy had 3 strokes and cant move his hands anymore
<rue_mohr> I think he used solidworks
<rue_mohr> results from meshlab are completely corrupt going into slic3r
<InPhase> I'd use some combination of minkowski with spheres, slapping together different rotate_extrude segments to get the smooth edge and corner pieces, and maybe a bit of this library, like to make the holes easier: https://github.com/rcolyer/smooth-prim
<rue_mohr> its frustrating that it can preview but not render
<InPhase> Preview just stops when it finds a displayable surface.
<InPhase> It doesn't care what the volume is.
<rue_mohr> hmm
<InPhase> But the plastic goes into the volume. :)
<rue_mohr> huh
<rue_mohr> if I do a difference with an object that doesn't even touch it, it still faults...
<InPhase> Yes.
<rue_mohr> so it cant break it down?
<rue_mohr> e_below != SHalfedge_handle()
<InPhase> Because any union or difference operation will pass it into the library which will attempt to determine whether or not the difference or union intersects, and it will give up when it realizes there is no defined inside or outside for a non-manifold object.
<rue_mohr> non manifold means its two volumes, right?
<rue_mohr> or its just not closed?
<InPhase> It means it's not closed, or self-intersects, or some other similar problem.
<rue_mohr> in meshlab I saw no anomolies, slicer can load that stl with "no repairs"
<InPhase> Basically, the inside and outside are no longer well defined.
<rue_mohr> I suppose the anomoly could be infentisimally small
<InPhase> Yep, it's often small.
<rue_mohr> oh wait
<rue_mohr> I need to zoom out here
<rue_mohr> this is all ok
<rue_mohr> I dont need to modify this model actually
<rue_mohr> the screw that we put in is almost cosmetic
<rue_mohr> right...
<rue_mohr> the goal is to change it to fit a nut so we can use a machine screw
<rue_mohr> casue the wood screws keep splitting the plastic
<rue_mohr> ok, well, I'll remember I have to backtrack or restart if I ever want to modify that model
aiyion1 has quit [Remote host closed the connection]
aiyion1 has joined #openscad
<rue_mohr> thankyou
arebil has joined #openscad
use-value has quit [Quit: use-value]
arebil has quit [Read error: Connection reset by peer]
<InPhase> rue_mohr: If you don't need a lot of them, never underestimate what you can accomplish with epoxy.
<InPhase> I'd be happy to give tips later on a redesign, but easiest path to the critical solution is wisest. :)
ferdna has quit [Quit: Leaving]
toulene has quit [Quit: Ping timeout (120 seconds)]
toulene has joined #openscad
toulene has quit [Ping timeout: 272 seconds]
toulene has joined #openscad
ur5us has joined #openscad
toulene has quit [Quit: The Lounge - https://thelounge.chat]
trashbird has quit [Quit: Ping timeout (120 seconds)]
trashbird has joined #openscad
toulene has joined #openscad
use-value has joined #openscad
lastrodamo has joined #openscad
ur5us has quit [Ping timeout: 240 seconds]
walterwhip has joined #openscad
use-value has quit [Quit: use-value]
use-value has joined #openscad
walterwhip has quit [Quit: My MacBook Air has gone to sleep. ZZZzzz…]
walterwhip has joined #openscad
<Scopeuk> https://hackaday.com/2022/03/14/the-noble-effort-to-put-openscad-in-the-browser/ congratulations, also OlivierChafik[m] how's your server holding up?
walterwhip has quit [Quit: My MacBook Air has gone to sleep. ZZZzzz…]
toulene has quit [Read error: Connection reset by peer]
toulene has joined #openscad
<rue_mohr> a hole can be kinda hard to epoxy in
<J2227> rue_mohr laser?
<rue_mohr> blind holes
<rue_mohr> well, one sided
<J2227> engraved with laser?
<rue_mohr> the object was made with openscad by taking two objects, slicing them, and merging them, I think it was the last change
<rue_mohr> so I should be able to find that, pre-modify the one half, and re-assemble
<J2227> https://pasteboard.co/WnnYr3meDlVC.jpg  done with openSCAD to create an grayscale image from 3D object to engrave with laser
myosotis has joined #openscad
oldlaptop has quit [Ping timeout: 252 seconds]
oldlaptop has joined #openscad
myosotis has quit [Quit: myosotis]
KimK has quit [Ping timeout: 240 seconds]
<InPhase> rue_mohr: This sort of filler task is what epoxy pastes were invented for.
<InPhase> rue_mohr: It's not as precise as printed work, and not as reproducible. It's a quick hack. But much progress in my life has been made with quick hacks done selectively where they are appropriate. :)
oldlaptop has quit [Ping timeout: 250 seconds]
oldlaptop has joined #openscad
teepee has quit [Remote host closed the connection]
teepee has joined #openscad
aiyion1 is now known as aiyion
myosotis has joined #openscad
Guest4 has joined #openscad
walterwhip has joined #openscad
walterwhip has quit [Quit: Textual IRC Client: www.textualapp.com]
ur5us has joined #openscad
J2227 has quit [Quit: Client closed]
J2227 has joined #openscad
<linext> so i did a test print with the object inside a resin cube idea
<linext> it doesn't work like you think it would
<linext> at least not with transparent resin
<linext> the problem is the some of the light shines through previous layers, thus hardening the void parts
<linext> not sure if there's a way to make the trapped resin not get light
<linext> a cone shape might work
<J2227> suncream  .. or a UV protection coating -  but big volume of resin can crack so best to let it out  - and if you like fill with oil or epoxy
Guest5173 has joined #openscad
Guest5173 has quit [Client Quit]
Guest4 has quit [Quit: Client closed]
Junxter has quit [Ping timeout: 252 seconds]
GNUmoon has quit [Ping timeout: 240 seconds]
la1yv has quit [Read error: Connection reset by peer]
la1yv has joined #openscad
<gbruno> [github] Zenmaster43 opened issue #4174 (Feature Request: Adjustable highlight color for editor.) https://github.com/openscad/openscad/issues/4174
<Scopeuk> linext I wonder if you could do a sort of "rod projection" and have hollow tubes that run all the way from the back of the shape to the immage surface
<Scopeuk> would give a path out for the resin and could look cool (no guarentees)
<gbruno> [github] t-paul closed issue #4174 (Feature Request: Adjustable highlight color for editor.) https://github.com/openscad/openscad/issues/4174
J2227 has quit [Quit: Client closed]
J2227 has joined #openscad
GNUmoon has joined #openscad
<linext> resin is a lot of work
<linext> setup, running, cleaning up parts, cleaning up everything
<ccox_> yep
<linext> have to keep putting on gloves, taking off gloves
<linext> putting on respirator and goggles, etc.
ferdna has joined #openscad
lastrodamo has quit [Quit: Leaving]
<gbruno> [github] t-paul pushed 1 modifications (Use custom build step for control over parallel build.) https://github.com/openscad/openscad/commit/2c6cd26de4b450afbc30af1d0c314c6aa19af630
<J2227> teepee is it much hassle  to have a $lpr  for the lightsource position?  At the moment it is nearly impossible to get true colors or only with distorted geometry
<teepee> I don't think that would work with the current lighting
<J2227> or just an option to have light from the viewport
<J2227> so a color is  that color in an exported image
<J2227> at least for a flat surface
<J2227> (when viewed orthogonal.. so like a square from z top view)
<teepee> there's a ticket for better lighting and maybe making it configurable
<teepee> I'm not sure we should extend the inflation of $ variables :)
<teepee> there's maybe other way to get the same feature, the variable assignment is a bit messy
<J2227> as long we have no shadows there is not much need for changing the light .. except to get  2D colors ..  so maybe 2D objects could just have flat color without lighting
<teepee> IIRC the ticket asks for multiple lights
<J2227> sounds like overexposure
ur5us has quit [Ping timeout: 250 seconds]
<J2227> would be nice so you don't need to use processing to get a proper image for  CGI maps
<J2227> (or to tilt the object for a scene  background color )
<gbruno> [github] t-paul closed issue #4166 (Fast CSG render without Preview missing face from quad) https://github.com/openscad/openscad/issues/4166
<gbruno> [github] t-paul pushed 12 modifications 3 removals (Merge pull request #4170 from ochafik/fast-csg-triangulate Better triangulation for fast-csg inputs + big hull improvements for all) https://github.com/openscad/openscad/commit/a8d327bd360a378b5613a4f71906d04f30966cd6
<teepee> yeah, the render part is still ancient, there's a huge opportunity with more modern stuff, but it's a quite big and annoying change I guess
<J2227> hmm to bad .. hoped there would be a simple way to determine the light position.
<gbruno> [github] t-paul pushed 1 modifications (Merge pull request #4175 from openscad/fix-snap-build Use custom build step for control over parallel build.) https://github.com/openscad/openscad/commit/84e3dc8ff95122cb16713d139b192c6b1e80b198
<J2227> is there any documentation where the light actually is?
<teepee> I don't think it's documented, but it's 2 fixed symmetrical ones, should be easy to find...
<J2227> 2 ?  one ambient  and one is anywhere upper left
<teepee> 2 because for difference in preview the faces are painted flipped, so the 2nd light is on the other side to prevent black holes
<teepee> at least that's what I think is going on
<J2227> hmm and what is 1,1,1,1  some  vector ?
<teepee> white diffuse light?
<teepee> yeah, RGBA intensity of diffuse light
<J2227> oh and where is the position?
<teepee> the 2 lines with "position" :)
<teepee> GLfloat light_position0[] = {-1.0, +1.0, +1.0, 0.0};
<teepee> GLfloat light_position1[] = {+1.0, -1.0, -1.0, 0.0};
<J2227> didn't you just said the numbers are RGBA ?
<teepee> of the first line with all 1
<teepee> that's the diffuse light intensity
<teepee> the other 2 are the positions
<J2227> Ü fine  so how do i read this  is that a rotation vector ? but where is the angle
<teepee> I'm not 100% sure, it's relative coordinates in the visible box I assume
<teepee> so basically the diagonal corners of the opengl visible box
<teepee> there's probably some documentation how it works, I don't really know the details
<J2227> should be the tetrahedron  angle if this is xyz -1,1,1
myosotis has quit [Quit: myosotis]
<teepee> why? centered cube with edge length 2?
<J2227> yes and the corner would be the light position . .so  to turn  get the light orthogonal i need to rotate the viewpoint  to that edge
<teepee> ahh, yes
<J2227> maybe it is only half so if a surface is like a mirror i get the max light
<teepee> I suppose on command line you could give the eye pos same as the light and look-at 0,0,0
<teepee> but the GUI does not have that way of specifying the camera
<ccox_> the light coordinates are directions, relative to the viewpoint