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
<teepee> still getting the build error with the patch :(
walterwhip has joined #openscad
<lf94> It actually looks like my printer is sewing lol
<lf94> with the pattern I'm printing
<lf94> Thin prints are really interesting
<lf94> I think I need to go back to my 0.4mm nozzle
J2220 has joined #openscad
J22 has quit [Ping timeout: 256 seconds]
ur5us has joined #openscad
J2220 has quit [Ping timeout: 256 seconds]
ferdna has joined #openscad
califax- has joined #openscad
califax has quit [Ping timeout: 276 seconds]
califax- is now known as califax
castawayc has quit [Ping timeout: 240 seconds]
castaway has quit [Ping timeout: 250 seconds]
Junxter has joined #openscad
castaway has joined #openscad
Junxter has quit [Quit: Leaving]
Junxter has joined #openscad
castawayc has joined #openscad
foul_owl has quit [Ping timeout: 260 seconds]
<OlivierChafik[m]> Who's ready to trust corefinement functions more? https://github.com/openscad/openscad/pull/4101
<teepee> yep, we try that :)
<teepee> but the cgal issue is not yet fixed
foul_owl has joined #openscad
<OlivierChafik[m]> Ohh! I hadn't seen the fix go in actually haha
<OlivierChafik[m]> Thanks for checking things!
<teepee> the patch totally makes sense, but it looks like there's more places
<teepee> I'm trying to make it tell the place where it's failing but my template-fu is not good enough to write a matching enable_if that would break with size_t
<OlivierChafik[m]> Yet another proof that a safe approach w/ CGAL is "trust, but verify" ūüėÖ
<OlivierChafik[m]> have you switched to another "easier" kernel as they hinted in the bug?
<teepee> nope
<teepee> looks like that's not actually pointing to the right place anyway
<teepee> I guess it's good to fix that place too, but Epeck obviously pokes a different place (or both)
<OlivierChafik[m]> `CGAL::Surface_mesh<CGAL::Point_3<CGAL::Simple_cartesian<mpq_class>>> mesh;` or something approaching
<OlivierChafik[m]> I'm not even tempted to try and understand this issue too much tbh, it's above my pay grade ūü§£
ecraven has joined #openscad
<teepee> aha, I think I found it
* teepee crosses fingers
<teepee> well, now it complained about my messed up boost::disable_if but that might be good news
<teepee> ha!
<OlivierChafik[m]> oooh looks like it yes! ūü§ěūü§ěūü§ě
<teepee> right I really need to install vim in the base image :D
<teepee> lol
<teepee> /mxe/usr/bin/x86_64-w64-mingw32.static.posix-as: bug.cc.obj: too many sections (34433)
<teepee> that's what? 5 lines of cgal code?
<OlivierChafik[m]> hahahaha
<OlivierChafik[m]> 7 if you use the curly braces on the new line
<OlivierChafik[m]> (maybe it counts as an extra section)
<OlivierChafik[m]> vim and less please!
<teepee> looks like it compiles now \o/
<teepee> oh, indeed, I missed less too
<teepee> I suppose those 2 will not make much of a difference in the whole MXE build chain
<OlivierChafik[m]> thanks to your image now I know which binaries I'd pack to go live on a desert island
<OlivierChafik[m]> hopefully they're not much in the couple of gigs that docker downloads
<OlivierChafik[m]> (and caches in my precious macbook antique's constrained ssd)
<teepee> I have to rebuild anyway, so perfect timing to add something to the base image
<teepee> I'm running docker on an older desktop machine with 2tb of spinning rust :)
<OlivierChafik[m]> may the gods of compilation be with you
<teepee> we need to get that build server ordered at some point, noise somewhere else and likely much faster image upload
<teepee> so how are we going to announce that? do you want to give a summary? or do you even want your name on the topic? :)
<OlivierChafik[m]> announce which part, you mean fast-csg overall? what's the custom?
<OlivierChafik[m]> I've been meaning to blog about something for quite a while now, this could be the perfect excuse
ur5us has quit [Ping timeout: 250 seconds]
<teepee> well, whatever works :) I guess minimum would be to let people know it exists and make them curious enough to test
<teepee> e.g. posting on the mailing list
<teepee> there's currently a discussion going about forcing CGAL, which I hate to say is a partially moot point with fast-csg as it's not that trivial anymore to force the cgal errors
<teepee> but if you have some blog post, that would be cool, easy to post everywhere and link from the openscad page
<OlivierChafik[m]> what do you mean by forcing the cgal errors?
<OlivierChafik[m]> I'll get cracking on something
<teepee> the classic example is defining a broken polyhedron or importing some random STL
<teepee> just the single thing will always work as it's never going to hit CGAL
<teepee> so people who have not seen that effect before are wondering why adding a cube will suddenly break things
<OlivierChafik[m]> Ah, I see. Could we generalize some debugging features as I'm proposing in https://github.com/openscad/openscad/pull/4101 ? (The bit that outputs the .off files for whatever inner operands that caused an CGAL breakage)
<OlivierChafik[m]> (could also dump the csg of said operands, now that I think about it)
GNUmoon has quit [Ping timeout: 276 seconds]
<OlivierChafik[m]> I've been using that last year to file one bug to cgal with the .off files to reproduce the issue
<teepee> yes, that would be quite helpful
<teepee> oh, we also need to remove that CGAL version check thingy
<teepee> it seems to only partially disable so it breaks more than it helps
<OlivierChafik[m]> anway, gotta sleep, hope to create a PR soon with the tree rewrite stuff. It pushes transforms and colors down unions, and bubbles so many unions up lots of my models are super lazy (code in progress: https://github.com/ochafik/openscad/blob/rewrite-tree/src/rewrite_tree.cc). Mission almost complete.
<OlivierChafik[m]> oh yeah sorry I should probably have brought back the entire version check from earlier
<teepee> yep, I need to catch some sleep too :)
<teepee> I think just removing it should be fine
<teepee> we know there's some version conflict, but for the normal builds we have fallback to 5.2.4 and patching options, so that should be ok
<OlivierChafik[m]> cool, will try and send some pr to remove it soon
<OlivierChafik[m]> good night!
<teepee> thanks, you too
GNUmoon has joined #openscad
ferdna has quit [Quit: Leaving]
PovilasCNC has joined #openscad
PovilasCNC has quit [Client Quit]
peepsalot has quit [Quit: Connection reset by peep]
foul_owl has quit [Ping timeout: 250 seconds]
peepsalot has joined #openscad
foul_owl has joined #openscad
J22 has joined #openscad
ur5us has joined #openscad
noonien has quit [Ping timeout: 250 seconds]
lastrodamo has joined #openscad
ur5us has quit [Ping timeout: 240 seconds]
J2257 has joined #openscad
J22 has quit [Ping timeout: 256 seconds]
walterwhip has quit [Ping timeout: 256 seconds]
walterwhip has joined #openscad
GNUmoon has quit [Ping timeout: 276 seconds]
GNUmoon has joined #openscad
walterwhip has quit [Quit: Textual IRC Client: www.textualapp.com]
<JakeSays> so as far as CAN programs go, is solidworks any good?
walterwhip has joined #openscad
walterwhip has quit [Quit: Textual IRC Client: www.textualapp.com]
<JakeSays> er, CAD programs
GNUmoon has quit [Remote host closed the connection]
GNUmoon has joined #openscad
clapont has joined #openscad
<clapont> hi, everyone!
<clapont> anyone could suggest some software helping in a 3D Geometry class? not complex - for example, to draw a pyramid, a colored section in pyramid, some lines. eventually if it could be rotated left/right or up/down.. thank you!
<J2257> clapont openSCAD can do that ..  while lines will be visible as edges in wireframe view
<J2257> a pyramid could be  cylinder(h=50,d1=50,d2=0,$fn=4);
<J2257> or you define each point manually
qeed has quit [Quit: qeed]
qeed has joined #openscad
qeed has quit [Quit: qeed]
qeed has joined #openscad
califax has quit [Ping timeout: 276 seconds]
califax has joined #openscad
<InPhase> linear_extrude(height=5, scale=0) square(5, center=true);
<InPhase> Pyramid.
<InPhase> clapont: I found OpenSCAD generally pretty easy to teach with a brief walk-through and links to the references. If you want an already constructed tutorial for students...
<InPhase> !tutorial
<InPhase> tutorial?
<othx> tutorial is The OpenSCAD tutorial is a great place to learn how to create designs in OpenSCAD, and can be found at: https://en.wikibooks.org/wiki/OpenSCAD_Tutorial
<InPhase> clapont: Although you can certainly construct a more compact tutorial. About 90 minutes of working through a guided example is enough for most 18-22 year old students to at least get started with composing basic shapes, even if they have no appropriate background. It takes a little additional time for them to get comfortable with it, but not too much longer.
<InPhase> clapont: Multiple years I watched about 50% of students go from zero programming knowledge to designing their own model rockets with OpenSCAD in about 3 hours of total time, with close to 100% of those who actually showed up and tried getting this complete in about 4.5 hours.
<InPhase> clapont: A handful panic and freeze when they first get syntax errors, as they have no mental model for dealing with this, but a little guidance gets them over the first one or two and then they sail along adequately.
<lf94> JakeSays: from what I understand, it's the best.
<lf94> I hear the SolidWorks people are also very nice with their license. If I were to buy any commercial CAD, it'd be that one.
<JakeSays> lf94: they have a maker license that is only $99/year
<JakeSays> any thoughts on simplify3d?
<JakeSays> so in cura, i open a stl file and cura places it on the center of the plate. i slice and it says 9h 5min. if i move the model to the lower right and slice, i get 8h 48 min.
<gbruno> [github] t-paul pushed 4 modifications (Merge pull request #4102 from ochafik/fast_csg_drop_cgal_version_guard
<clapont> J2257, InPhase, othx and the rest who read and though: thank you! I started the tutorials with the car/wheels and I also played with J2257's and InPhase's recommendations.
<clapont> the openscad is nice, thanks to everyone who worked on it; for me, they seem a bit too complex... or maybe I don't know my way around
<InPhase> botsnack!
<othx> YUM! This is why I love #openscad.
<clapont> you're smiling that I admit that I don't know how to use it? probably you are vety happy with the great capabilities of complex surfaces/objects :-)
<clapont> *very
<clapont> I found a cheatcode page :-) at https://openscad.org/documentation.html and try to figure what should I use.
ToAruShiroiNeko has quit []
<J2257> clapont  if you tell what exactly you try to teach - we may be a better help
<clapont> q: is it possible to have only the shapes (meaning only the lines) not the whole surface? trying to picture lines and unions (3d objects with 2d objects) for gymnasium problems, in order to see how they could be solved
<J2257> you can use wireframe view ( F11)
<InPhase> clapont: We don't strictly speaking have a line primitive, only 2D surfaces and 3D objects.
ToAruShiroiNeko has joined #openscad
<J2257> only you need at least two objects to work  ( you can add a cube(.00001) ;)
<InPhase> clapont: Although you can highlight the lines that form the shapes with the view change.
<InPhase> A very thin 3D shape can be used to model line-like shapes though.
<clapont> my today's quest is a pyramid which is cut by an triangle which starst from one side and contains the pyramid weight point
<J2257> another option would be to create the lines as 3D object (cylinder)  with a module so you give two points for start and end for the line
<clapont> I should be able to picture the intersection of the triangle on the opposite sides and draw some lines on this triangle for the pupils to have enough hints
<clapont> the Show Edges (Ctrl+1) helps!
<J2257> a triangle is 2D and can't cut a 3D  but  you can  difference(){cylinder(20,d1=50,d2=0);cube(50);}
<J2257> you can also use  color("red")   to  color the object or the divisor object to get just colored faces
<J2257> Also there are libraries to give you easy access to lines
J2257 is now known as J22
<clapont> J22: thank you, i already used the colors, the efect is nice: difference(){ color([0,0,255,0.5]) linear_extrude(height=20, scale=0) square(20, center=true);; color([255,0,0,0.5]) cube(50);}
<J22> SCAD also has the option to use animations  e.g. to move the cutting object through  .. therefor  you have variable $t  which will count from 0 to 1  and advances each frame
<J22> translate([0,0,$t*50])cube(50);
<J22> animate is found under ¬Ľ view
<J22> ( enter  15 for FPS (frames per second) )  and  60 steps   =  for 4 second animation
<clapont> thank you, I just did!
<clapont> I should do the opposite, to reveal instead of covering :-)
<J22> - $t
<J22> or use an intersection()  instead of the  difference()
<J22> you can also use the variable to change color or transparency (alpha)
<J22> there are some nice examples in the advent calendar  - just to see what is possible
<J22> as you can put extra code into a library  - it will not confuse the pupils
<J22> https://openscad.org/advent-calendar-2021/   ( also year 2019 2020 )
<clapont> thank you, interesting! in this case, difference is better than intersection but I got the idea!
<clapont> I'll look now for the 2D, to draw that triangle somehow
<clapont> polygon(points,paths)
<J22> ( teepee  the calendar is still not to be found in any menu / Gallery - Ü )
<J22> clapont  you need the path only if multiple paths are  (holes)
<J22> also  just use  circle( 10,$fn=3);
<J22> and scale([1,2])rotate(30)  circle(10,$fn=3); to deform into what ever you need
<clapont> https://openscad.org/advent-calendar-2021/ is amazing - I don't need those complex stuff, just some lines, intersections and surfaces; initially I thought to AutoCad but the software would be far too heavy, costly etc
<clapont> polygon([-10,0,0],[10,0,0],[0,0,20]) - I tried a poligon (triangle) this way, but it did not work :-)
<J22> you just need  additional [] arround and only  two  values  for 2D
<J22> polygon([[-10,0],[10,0],[0,10]]);
<clapont> I look at the Knot example, for lines
<clapont> ah, so I did wrong to provide 3d coordinates
<J22> 2D objects exist only in the  XY plane  but can be rotated into Z
<J22> rotate([90,0])polygon([[-10,0],[10,0],[0,10]]);
<J22> also you can extrude the 2-D object  (or build in 3D as polyhedron) with a height of just .1  so it can interact with a 3D object
<clapont> interesting! yes, the rotate was missing. I was trying to add a Z axis point to "raise" the triangle then I saw your line with rotate - thank you!
<clapont> aha, I read on the first chapter about a 0.001-0.002 space between objects.
<clapont> what happens if two object are not explicitely separated? OpenScap will treat them as a single object, what could be wrong?
<J22> intersection(){
<J22> #cylinder(20,d1=30,$fn=3);
<J22> translate([0,-5+$t*10])rotate([90,0])linear_extrude(.5)polygon([[-20,0],[10,0],[0,20]]);
<J22> }
<J22> if you generate 3D files ( 3mf / stl obj etc.. )  and print them  and they are not one object - the slicer (print software) will add additonal walls
<J22> also you can hit the problem of  non-manifold object if they share an edge
<J22> ( if you use  F11 wireframe view you need to render F6 )  first  ..   if the objects are not overlaping you will see  two lines
<gbruno> [github] t-paul pushed 50 modifications (Merge pull request #4100 from ochafik/shared_node_pointers
<clapont> the WireFrame (Ctrl+F11) is very usefull for me
<J22> clapont another trick is if you use 3D instead of 2D "triangles"  you can use a hull()  to generate a surface between them
<J22> keep in mind that wireframe will only works for Rendered objects and if there are minimum 2 objects   ( single objects didn't invoke the software to show this)
<J22> the objects  can be a union so they don't need to be separated
<J22> just  "cube(50);"  will not give you the wireframe view
<clapont> aha
<J22> union(){
<J22> cube(50);
<J22> cube(.1);
<J22> }   // this does .. so just place i small  invisible small cube at the end of your file as a "hack"
<clapont> now I need to move the triangle to start from one side on the pyramid (simple) and reach the opposite side.. I need to calculate a bit; I defined a "long" variable to be easier
<clapont> interesting idea!
<J22> here is an overview of all  commands and math you can use http://openscad.org/cheatsheet/
<clapont> yes, thank you, the cheatsheet is one of the first things I found, hence the colors :-)
<J22> clapont  if you use an intersection with a cube ([100,100,1],true);  you will see only the triangle inside the pyramid
<clapont> https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Using_the_2D_Subsystem#3D_to_2D_Projection - the "projection" command is very interesting to me
<J22> ( i have a module that automatically creates projections of all 3 axis  - for drawings and views )
<J22> the projection is useful  if you really need a 2D object  ( you notice the difference when hitting F6 )   in your case an intersection with  a thin object like cylinder(.1,d=100);  will do the same
<J22> funny with lazy union enabled you can mix wireframe and  object view  https://pasteboard.co/jwah4FyJMMqB.png
<clapont> interesting result
<J22> ( due to  the limitation that it needs two unioned objects to make wireframe working)
<J22> clapont  i think for you  the  option of "view edges ctrl 1 "  and  using color(alpha=0)cube(10);   is  better
<clapont> I am still trying with the triangle :-)
<J22> need help?
<J22> i am just wondering if there isn't already a SCAD Math teaching library  with  all sort of  examples
<J22> well this isn't it  ↦ Scad World School, SCAD - Social Change And Development
<J22> and this either Savannah College of Art and Design libraries
<clapont> I see that the "rotate" command is considering the center of an object; is it possible to apply rotation to an object, relative to an axe?
<J22> clapont the MCAD (build in library)   has some  triangle modules https://github.com/openscad/MCAD
<clapont> I try to rotate the triangle but I wish to keep its base on the base od the pyramid
<clapont> the color([0,255,0,0.5]) rotate([45,0]) polygon([[-10,-10],[10,-10],[0,20]]); needs another translate UP+backwards
<J22> if you move the triangle edge to the origin  and then rotate
<J22> rotate(-45)translate([-20,0])circle(20,$fn=3);
<J22> or in your case clapont : rot = 45;
<J22> rotate([0,-rot])translate([10,0])circle(20,$fn=3);
<clapont> I... don't get it, the circle and triangle are very different :-)
<clapont> but, somehow, it created a rotated triangle :-))
<J22> what do you mean .. the $fn gives the fragments so a circle with 3 fragments is a triangle
<teepee> InPhase peeps[win] I've updated the GSoC list, if you have any other ideas that could be added, let me know. there's room for maybe 2 or 3 more ideas
<clapont> J22: aha! it seems that I should learn OpenScad, to understand that it can do such things :-)
<J22> clapont https://bpa.st/6UVQ   here is an example from the MCAD lib ..  maybe helpful too
<clapont> yet, I don't want to move the triangle to origin, I wish to move it to one side of the pyramid, somehow "glue" it and rise only the tip of the triangle, over the opposite edge (the intersection of two pyramid faces)
<J22> just move it with another translate  in front of the rotation  to the position
<clapont> 3dtri_draw looks much closer to what I look for! although I should calculate those points which is....; I would try to explore the first way, with translation angle
<clapont> aha, another "translate" ...
<J22> here rot = 75;
<J22> color("chartreuse",alpha=.6)translate([-10,0])rotate([0,-rot])translate([10,0])circle(20,$fn=3);
<J22> color("skyblue")linear_extrude(30,scale=0)circle(20,$fn=3);
<clapont> https://bpa.st/D4KBDCJXEDCJFVJQMBB2WMUKGU - this is where I am at; see the translate([0,-2.3,7]), it's guess and try
<clapont> if I could "tie" the base of the triangle to one side of the pyramid base line, a "rotate" command would be perfect for the triangle to reach the opposite edge of the pyramid
<J22> color is a  0-1  value  not 255
<clapont> I understand that "rotate" works on the center of the triangle
<clapont> is it possible to use rotate or something to raise the triangle by it's top, while leaving the base of the triangle down?
<J22> you can press  ALT and ARROW keys when your cursor is at the value you like to change  (or use scrollwheel)  and you can move or rotate objects around
<clapont> yes, I saw the warning but OpenSCAD still shows the color; somehow I mixed the ("#RGB") with (r,g,b,a)
<J22> if you rotate first you need to calculate the distance via  tan or sin  .. so easier to move the triangle to the edge and rotate and move back
<clapont> yes, somehow like this, thank you!
<clapont> indeed; sin would not be a problem but later I wish the triangle to cut through the pyramid center of weight which is a 1/3 down to base... etc :-)
<J22> also keep in mind that 2D objects are displayed as 3D objects with the height of 1
<clapont> thank you very much! I need time to think and experiment by myself, before asking help/ideas
<J22> see the slight change here https://bpa.st/7M6A
<clapont> yes, I see it, thank you!
<J22> by using an extrusion to make the 2D object 3D but with a height of just 0.01  - so it looks more like 2D  ( Ü  i know this might be confusing)
<clapont> indeed :-)
<J22> in theory you could generate a polyhedron with just a face  which would be mathematically 2D  but is a 3D object  (which is somehow unsettling)
<clapont> aha
<clapont> well...I need to work more by myself, I guess. thank you very much for all the help!
<J22> keep in mind this is all very new for you  ( and like pupils learn)  it will become much clearer if you do this again tomorrow  after a night of sleep where your brain can  transform this new information into the connectome
<clapont> right :-)
<J22>  i think in the end you will have more variables  and a module that calculates all distances  so  everything fits if you change the angle
<J22> as the height of the pyramid is not the height of the triangle side
<J22> but the  side length is norm( [height,radius indescribed circle,0])  ( or Pythagoras)
<J22> clapont  btw this is  a great example for older pupils  to show them why math is important   and needed in computer graphics as well  construction
<InPhase> teepee: I will try to brainstorm some ideas tonight.
<J22> and if you get it right you can build and animate a  https://www.nablu.com/2020/05/building-strandbeest.html
<OlivierChafik[m]> Hey guys, I've drafted a little blog post about fast-csg and other efforts. Gotta sneak out now but if you have any feedback / suggestions I'll try to integrate them after I come back! (I hope to add some refreshed benchmark results too, any examples you'd be willing to share would help too)
linext has quit [Read error: Connection reset by peer]
linext has joined #openscad
<teepee> and while we are at reviewing good old english written text, what's the native speaker opinion on https://en.wikibooks.org/w/index.php?title=OpenSCAD_User_Manual&diff=0&oldid=3966807 ?
<teepee> fwiw, the homepage says "OpenSCAD is software for creating solid 3D CAD objects." not "a software"
<InPhase> teepee: "is a program"
<InPhase> "piece of software" is clunky, and "is a software" is wrong.
<InPhase> The problem is "software" is more of a category.
<teepee> cool, so my impression about "piece of" does match yours :)
<teepee> so match the home page language?
<teepee> or change both to "is a program"?
<InPhase> "is a program" is probably better.
<teepee> oh, do we have that in the about dialog too?
<InPhase> "is software" is okay though, because it is declaring membership in a category of things.
<InPhase> "is a piece of software" is like declaring OpenSCAD an element of a set. :)
<InPhase> Which, it is, but we don't need to speak like that.
<teepee> that's what the change comment claims :)
<teepee> > Editor's summary: "Software" like "information" or "clothing" is a mass noun; you have a piece of software or a piece of information, not "one information" or "one clothing" or "one software."
J22 has quit [Quit: Client closed]
<teepee> so maybe we start with matching the wiki page to the home page language
J22 has joined #openscad
<teepee> and consider something even better for the future :)
<J22> what would be the difference in  "for creating"  and "to create"
<InPhase> "for creating" is more correct.
<InPhase> You would need "used to create"
<J22> ah
<InPhase> Or, "usable to create" which covers the future, but then is weird.
<InPhase> "for creating" declares a purpose.
<teepee> ok, "piece" rejected! :)
<teepee> yeah, I think the "to ..." is somehow coming in from german language. I often have to correct myself to fix it after I've written the first version. <- see, here too?
<teepee> should be correcting myself?
<InPhase> As written is fine there. You could also have put "I am often correcting myself after I've written the first version"
<teepee> whew, so sometimes it's correct \o/
<InPhase> My German skills are abysmal, but I've refined my nuanced English rephrasing skills to a pretty strong professional level. I'm often the person who gets pulled in to last-pass some grant application or persuasive writing piece, since I tend to catch a lot of the nuances.
<InPhase> Of course it all starts to slowly slip away after midnight. :)
* J22 is happy that he don't need to learn German as second language
<InPhase> Zweitsprachedeutsch.
<InPhase> Only an infinite number of words to learn.
<teepee> Deutschalszweitsprachelernender
<InPhase> :)
<J22> already despaired with french
<J22> probably only Russian is worse than German
Guest37 has joined #openscad
ur5us has joined #openscad
<Guest37> hello, I am looking to find a resource to take approx 1800 dxf files and convert them into 3d extruded images. Due to the number required, I am hoping for a somewhat automated solution.
<Guest37> the dxf files are simple moulding profiles
<teepee> Guest37: openscad can do that easily *if* the DXF files are not using special entities like splines. the importer is a bit limited
<Guest37> ok, if someone is willing, could I email a few samples and see if it's doable (then have someone quote me on handling the automation)?
<Guest37> to see samples of what I'd be looking for, here is the client: http://kaydeeco.com/
<teepee> I'm not sure that process works. I guess the automation part is trivial, but it's impossible to tell if there's other files that might fail to convert
<Guest37> ok
<teepee> so if it's possible to do, it might work just communicating all the files and see if those work
<Guest37> the client would be happy to pay for this service, I'd just need a project estimate
<teepee> assuming the files are importing ok, the 3d conversion is just:
<teepee> for a in *.dxf ; do echo "linear_extrude(10) import(\"$a\");" | openscad -o $a.3mf - ; done
<Guest37> and that created what file output?
<Guest37> sorry, I am a noob with this stuff
<teepee> that would create a *.3MF file
<Guest37> Im just the website designer
<Guest37> ok
<teepee> well, what output format would you need?
<Guest37> an image I can put on the website.... jpg, png, gif
<teepee> right, PNG then, that's fine too
<Guest37> would you be willing to email your contact info and manage this project (after you've verified the files look ok)
<Guest37> I'd have them pay you direct (I'd recommned 1/2 up front at least)
<Guest37> if you are interested, send me an email cat@chipthompson.com
<Guest37> I can have you talk directly to the guys at KayDee
<Guest37> i used to do 3d waaaaaaaaay back in Lightwave 20 years ago...I don't do it anymore
<J22> teepee  you can enter this  at the command line without a .scad file ?
<teepee> J22: yes the - at the end means "read from stdin"
<J22> how a command can save  60h work or 1000$
<teepee> isn't that often the case?
<teepee> or even some clever use of Excel :)
<J22> yes and  you pay the years of learning to be able to use such smart solutions ..  and not the time it takes
<teepee> yep, pretty much
<J22> took me a long time to understand why coworker needed 10√ó the time for a task .. and i was bored all the time
<teepee> well, sort-of both. you still pay the time, but the reduced time makes it feasible (not just for billionaires) :)
<J22> yes had some teaching spreadsheet lesson where pupils need to analyze 100 lines of data - to make them realize  that  it only take some clicks but would take hours with a manual calculator  .. and for  1000 or 10000 or more datasets  manual is not an option anymore
<InPhase> J22: I taught a spreadsheet lab for the same purpose, and sure enough, pretty much every year after explaining the whole process, there was one person sitting there doing all the calculations on a calculator and very slowly filling in the cells.
<InPhase> J22: I'd usually figure it out after one person ended up way on behind, and had half-filled columns.
<J22> :D
<InPhase> J22: Then after re-explaining it, without fail, "Oh, that's actually much easier." "Yes, that's the point!" :)
<J22> the intriguing parts is to find out why some lack this ability to use "tools"
<InPhase> Well I didn't encounter anybody who couldn't once forced to. But many lack the instinct to try.
Guest37 has quit [Quit: Client closed]
<J22> we had one in wood working that put a screwdriver on the screw and waited for it to come out  ( not an electric drill)
<InPhase> Or even if told to, are for some reason afraid of doing it that way.
<InPhase> J22: ?
<InPhase> J22: Maybe I had the fortune of being shown screwdrivers at a young age, but that one is hard for me to conceptualize.
<J22> these i had  were not able to read 5 lines of instructions and followe them .. which is really  disturbing view for the future generations
foul_owl has quit [Read error: Connection reset by peer]
<J22> for the one with the screw - he completely lacked the understanding of what a screw is and how it is working via pitch  ..
<J22> bit like when you give a gameboy to children and they try to play while touching the glas and look  doubting at you when you say "you need to use the buttons"
<J22> the disturbing thing is that they sure can learn that - but they are not able to explain or see this from observing what is in front
<J22> ( and then there are other that finish to  setup a game scene before i finished the introduction)
<J22> setting up ..
GNUmoon has quit [Ping timeout: 276 seconds]
foul_owl has joined #openscad
<peepsalot> Scopeuk: i found that there is a mimalloc function to register an output handler: https://microsoft.github.io/mimalloc/group__extended.html#gae5b17ff027cd2150b43a33040250cf3f
<peepsalot> so hopefully we can at least get some output from mimalloc on windows without running through wine
<peepsalot> i still don't get *why* windows needs this, but whatever
<Scopeuk> peepsalot great work
<teepee> peepsalot: going trough the list of PRs, I'm looking at https://github.com/openscad/openscad/pull/3698 - it looks like the change is not merged, but I'm still seeing the "After" result with the nighty build
<teepee> would it still make sense to have?
<peepsalot> well, the linear_extrude segmentation sort of removes the need for it, but its not really the same as the "after" result. the input segments get joined, then re-segmented by $fs & $fa, not the same spacing as the input
<peepsalot> i don't know if its desirable to have that, as it does also remove a CleanPolygon operation, which may cause problems for self intersecting polys etc.
<teepee> so it would still be useful so it's not required to wiggle points working around the automatic remove feature
<peepsalot> but yes it would be useful in that particular case. it is potentially a trade-off though. also see the changes to a few of the linear-extrude-scale-zero test results
<teepee> I suppose the question is if no cleanup at all would cause a huge eplosion of vertices in some designs
<peepsalot> teepee: in the third column, there are extrusions of squares which are touching. before they basically get auto unioned into a rectange, after, they keep the dividing vertex in the middle
<peepsalot> teepee: do you see what I mean? it was initially written as sort of a stopgap before segments feature was complete. whether its still a useful improvement or "more correct" in any way is up for debate
GNUmoon has joined #openscad
<peepsalot> btw, unrelated but does the fast-cgal stuff alter or disable our Grid snapping at all? OlivierChafik[m] ?
<teepee> yes, it does
<teepee> PR says "no grid anymore"
<peepsalot> ok, neat
<teepee> well, I guess I'll try to fix the merge conflict and we see how it goes with the 3698 change
<teepee> I assume one part of the cleanup and snap stuff was way slower computers in 2009 :)
<peepsalot> i need to finalize my CGAL number type changes and submit a PR for that, I'm hoping some decent gains can come from that too
<peepsalot> idk, feels intimidating to submit a first PR there. i haven't experience best relations with them
noonien has joined #openscad
<teepee> oh, so also contributor agreement stuff and so on
noonien has quit [Client Quit]
<teepee> did yet send a ticket first? maybe one option to see how it might be received
<teepee> s/yet/you/
<peepsalot> i'm also curious how the mimalloc changes interact with OlivierChafik[m]'s changes. i think you said you saw further gains, but not sure how much
<peepsalot> no i haven't opened an issue, good point, i'll make one
<teepee> I'm not sure about actual performance stats, I did not really do dedicated measurements
<teepee> with the docker containers it would now be a bit easier to do some comparisons
foul_owl has quit [Ping timeout: 256 seconds]
lastrodamo has quit [Quit: Leaving]
<Scopeuk> I wonder if its possible to setup a "perfect repeatable vm" for performance regression, a vm with a ring fenced resource pool somewhat below the underlying host (deliberately throttled to be repeatable), it would still have some dependency on the host but it should be possible to at least know if it was. A repeatable run
foul_owl has joined #openscad
J22 has quit [Quit: Client closed]
J22 has joined #openscad
ur5us has quit [Ping timeout: 256 seconds]
<teepee> repeatable sounds difficult, but I'm not sure it's needed
<teepee> in most cases the interesting measurement is relative performance, and at expense of running the older versions always too, the absolute speed is not too interesting
<teepee> I have created docker containers back to 2015.03 so we can run the 3 latest releases + the dev version
foul_owl has quit [Ping timeout: 256 seconds]