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
<peepsalot> ASCII STL is actually the dumbest most ill conceived 3D format. Things should have standardized on PLY imo
<ccox_> PLY has both ASCII and binary versions.
<peepsalot> yes
<ccox_> Though, yes, STL is the most boneheaded format possible for 3D data.
<ccox_> OBJ would have been a better choice.
walterwhip has joined #openscad
<InPhase> OlivierChafik[m]: Yeah. I wrote the stl binary exporter following the internationally accepted standards document called Wikipedia.
<ccox_> this happens a lot.
<ccox_> even in commercial software.
<InPhase> OlivierChafik[m]: Although it's probably for the best that it's single precision, as this is plenty sufficient, and achieves the core benefit of that format over ascii, which is much smaller files. 64-bit would cut the benefit in half.
<InPhase> It's currently about a 4X gain switching to binary, and we'd get only 2X with doubles.
<peepsalot> i can't remember, the binary format at least doesn't store redundant normals, does it?
walterwhip has quit [Ping timeout: 256 seconds]
<ccox_> yes, STL binary still stores normals per face.
<ccox_> REAL32[3] – Normal vector
<ccox_> REAL32[3] – Vertex 1
<ccox_> REAL32[3] – Vertex 2
<ccox_> REAL32[3] – Vertex 3
<ccox_> UINT16 – Attribute byte count (zero or FFFF)
<ccox_> plus the unused "attribute" field
<peepsalot> ugh, just wtf
ferdna has joined #openscad
<InPhase> Right, I forgot about the attribute space waster. I suppose that could be used for something useful if there were actually some way to assign meaning to it. But I guess you'd have to somehow shove it into the 80-byte header and make up your own standard for describing attributes.
<ccox_> yeah, there is an art to designing file formats that are expandable enough, without being wasteful.
<peepsalot> so at least 28% of the binary format is garbage data
<ccox_> Then there is another art to preventing committees from taking over and redesigning the format poorly.
<ccox_> peepsalot: yeah, but at least it's smaller than the ASCII files.
walterwhip has joined #openscad
<InPhase> peepsalot: I suppose technically the normal vector is redundant, but it probably simplifies some calculations to have it specified up front.
<InPhase> Oh. Actually, that should just be done by the winding order. Nevermind.
<ccox_> apparently it saved some time on the original 3D systems printer hardware (in the 90s).
<InPhase> Yes, 28% is wasted space.
<InPhase> ccox_: After wasting how much time reading that extra data in from a floppy disk? ;)
<InPhase> It used to take quite a while to read a full MB of data in.
<OlivierChafik[m]> InPhase: not sure how big OpenSCAD's user base is, but maybe export_stl.cc *is* the new internationally accepted STL standard ;-)
<InPhase> OlivierChafik[m]: So I can start regarding the regular stream of "STL export messed up my design" bug reports as "the compiler messed up" reports? ;)
<ccox_> InPhase - I don't know, it's not my format or hardware...
<InPhase> ccox_: Yeah. I was just reminiscing in my head about the days of carrying a 3.5" floppy around in my pocket when I went to school, and that slow fvwerp fvwerp sound as it did its reading.
<OlivierChafik[m]> InPhase: I'd say totally working as (coded) intended
<ccox_> InPhose - highschool was AppleII, and college was mostly networked unix systems. I only carried floppies when I needed to use a Mac that wasn't on the network.
walterwhip has quit [Quit: My MacBook Air has gone to sleep. ZZZzzz…]
walterwhip has joined #openscad
walterwhip has quit [Quit: My MacBook Air has gone to sleep. ZZZzzz…]
walterwhip has joined #openscad
walterwhip has quit [Quit: My MacBook Air has gone to sleep. ZZZzzz…]
walterwhip has joined #openscad
walterwhip has quit [Client Quit]
walterwhip has joined #openscad
walterwhip has quit [Quit: My MacBook Air has gone to sleep. ZZZzzz…]
walterwhip has joined #openscad
walterwhip has quit [Client Quit]
<gbruno> [github] PRouzeau opened issue #4147 (Customizer no longer handle vectors and crush them in json file) https://github.com/openscad/openscad/issues/4147
walterwhip has joined #openscad
walterwhip has quit [Client Quit]
LordOfBikes has quit [Ping timeout: 256 seconds]
myosotis has quit [Remote host closed the connection]
LordOfBikes has joined #openscad
Guest040 has joined #openscad
Guest040 has quit [Client Quit]
J2222 has joined #openscad
J22 has quit [Ping timeout: 256 seconds]
ferdna has quit [Quit: Leaving]
teepee has quit [Ping timeout: 240 seconds]
teepee has joined #openscad
KimK has joined #openscad
Guest98 has joined #openscad
Guest98 has quit [Client Quit]
GNUmoon has quit [Remote host closed the connection]
GNUmoon has joined #openscad
GNUmoon has quit [Remote host closed the connection]
ur5us_ has joined #openscad
GNUmoon has joined #openscad
Junxter has joined #openscad
lastrodamo has joined #openscad
ur5us_ has quit [Ping timeout: 240 seconds]
walterwhip has joined #openscad
walterwhip has quit [Quit: My MacBook Air has gone to sleep. ZZZzzz…]
walterwhip has joined #openscad
walterwhip has quit [Client Quit]
<gbruno> [github] t-paul closed issue #4147 (Customizer no longer handle vectors and crush them in json file) https://github.com/openscad/openscad/issues/4147
<OlivierChafik[m]> teepee: I'm mostly happy with the remeshing PR now. Chasing some last bugs but it's ready to get more eyes on it :-D
<teepee> cool, I'll have a look and give it a try
<OlivierChafik[m]> thanks, just don't break it ok? :p
<OlivierChafik[m]> (I haven't done this many graph traversals since Uni so probably got a few things wrong)
<OlivierChafik[m]> It took me a while to understand the half-edge structure and its implications https://doc.cgal.org/latest/Surface_mesh/index.html#title2
<teepee> oof, yes, I just bought a new geometry book but have not opened it yet ;-)
<OlivierChafik[m]> teepee: oh, what's the book about?
<teepee> sounded interesting and uses openscad for examples, so I thought I grab it while asking if I can add that to the book list :)
ferdna has joined #openscad
la1yv_b has quit [Read error: Connection reset by peer]
la1yv_b has joined #openscad
<gbruno> [github] t-paul pushed 8 modifications (Merge pull request #4146 from ochafik/sort-stl Experimental sort-stl feature for stable outputs (fixes #420).) https://github.com/openscad/openscad/commit/fef5275f9df821b169bcf5973646c10c9179e876
<gbruno> [github] t-paul closed issue #420 (STL and AMF output should have a canonicalization option) https://github.com/openscad/openscad/issues/420
TheAssassin has quit [Ping timeout: 240 seconds]
<teepee> quite a number of cases with: [fast-csg-remesh] Skipping remeshing of patch with 364 faces as it seems to have holes.
<teepee> one case of ERROR: [fast-csg-remesh] Failed to collect path around patch faces, invalid mesh!
<teepee> but looks like all producing a good final result mesh
TheAssassin has joined #openscad
<teepee> interesting, slightly longer time needed, but 1/3rd of faces in the final mesh - for (a = [0:1:359]) rotate(a) translate([50, 0, 0]) sphere(10);
<teepee> 0:02:44.768 vs. 0:03:25.113
ferdna has quit [Quit: Leaving]
ur5us_ has joined #openscad
lastrodamo has quit [Quit: Leaving]
extor has quit [Ping timeout: 268 seconds]
veverak has quit [Quit: WeeChat 3.0]
la1yv_b has quit [Read error: Connection reset by peer]
la1yv_b has joined #openscad
extor has joined #openscad
teepee has quit [Remote host closed the connection]
teepee has joined #openscad
<J2222> hmm i thought the rands function was fixed ..  but  it is not possible to have random numbers with and without seed
<J2222> except for the first refresh
<J2222> so  as soon as one seed is not a random seed but a fixed -- all other rands with no seed get fixed  https://bpa.st/IFCA   that can't be right!
<J2222> and fast CSG fails when rands has no seed as the render uses the data from preview
ur5us_ has quit [Remote host closed the connection]
ur5us_ has joined #openscad
Junxter has quit [Ping timeout: 240 seconds]
ur5us_ has quit [Quit: Leaving]
ur5us has joined #openscad