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
ur5us has quit [Ping timeout: 260 seconds]
TheAssassin has joined #openscad
J2210 has joined #openscad
ur5us has joined #openscad
J22 has quit [Ping timeout: 252 seconds]
<retrosenator> man i ordered a heated bed thing they sent me a 110v one?!?
fling has quit [Ping timeout: 240 seconds]
LordOfBikes has quit [Ping timeout: 240 seconds]
fling has joined #openscad
LordOfBikes has joined #openscad
teepee has quit [Remote host closed the connection]
teepee has joined #openscad
teepee has quit [Remote host closed the connection]
teepee has joined #openscad
teepee has quit [Remote host closed the connection]
teepee has joined #openscad
pa has quit [Ping timeout: 248 seconds]
pah has joined #openscad
teepee has quit [Remote host closed the connection]
teepee has joined #openscad
pah has quit [Ping timeout: 260 seconds]
pah has joined #openscad
teepee has quit [Remote host closed the connection]
teepee has joined #openscad
pah has quit [Ping timeout: 258 seconds]
pah has joined #openscad
J221086 has joined #openscad
J2210 has quit [Ping timeout: 252 seconds]
pah has quit [Ping timeout: 260 seconds]
zauberfisch has quit [Read error: Connection reset by peer]
zauberfisch has joined #openscad
fling has quit [Remote host closed the connection]
pah has joined #openscad
fling has joined #openscad
snaked has quit [Read error: Connection reset by peer]
snaked has joined #openscad
pah has quit [Ping timeout: 258 seconds]
pah has joined #openscad
J221086 is now known as J1A84
<J1A84> retrosenator there are some converter for other languages like https://pypi.org/project/openpyscad/  maybe these will help you
<retrosenator> i found several and 2 are interesting
<retrosenator> that was one o
<retrosenator> the idea is to invoke openscad in a batch mode
<retrosenator> but also other programs such as blender or meshlab in batch mode to perform operations
<J1A84> functional languages may take some time to get used to if you are used to declarative ones
califax has joined #openscad
<retrosenator> well in this case neither openscad nor python are exactly functional languages
<retrosenator> but openscad's children() and python has lambda.. fine
<retrosenator> J1A84: what functional language do you use for 3d modeling?
<J1A84> openSCAD
<J1A84> if you mean not CSG - not aware of any, Blender is the only mesh based modeller
<retrosenator> openscad is not functional... it is imperative
<J1A84> or FreeCAD
<retrosenator> functional is like scheme
<retrosenator> haskell etc
<J1A84> maybe you like to correct WP then? https://en.wikipedia.org/wiki/OpenSCAD
<retrosenator> there is "implicit cad"
<retrosenator> written in a functional language at least
<J1A84> »Its script syntax reflects a functional programming philosophy. Much as in Haskell,…«
<retrosenator> it uses imperative statements though
<retrosenator> and modules "functions" are most certainly not first class
<retrosenator> it has a few minor functional qualitites
<J1A84> imperative is not the opposite of functional ..  declarative is
<retrosenator> well ok, but I dont really think of openscad as functional
<retrosenator> its too limited
<retrosenator> sorry I confused declarative for imperative lol
<retrosenator> i cant use declarative it drives me nuts
<J1A84> i assume you just don't know how to use it -  so you think it is limited
<J1A84> why do you think it is limited?
<retrosenator> I dont think anything is limited
<retrosenator> it is just inconvenient
<retrosenator> well, that, and offset only works in 2d
<J1A84> inconvenient is subjective and based on your knowledge and workflow
<retrosenator> openscad can't "reduce" either
<retrosenator> "aggregate"
Sauvin has quit [Read error: Connection reset by peer]
<J1A84> ? what do you mean with that?
<retrosenator> reduce the complexity or number of triangles
Sauvin has joined #openscad
<J1A84> $fs?
<retrosenator> its not the same leve of control
<J1A84> there is no remesh of imported geometry
<retrosenator> because reduction works after the object is constructed, not during
<J1A84> it is CSG  you may be confused with mesh oriented systems
<retrosenator> and also yes, remeshing things
<J1A84> openSCAD doesn't work with meshes
<J1A84> you want something like blender
califax has quit [Remote host closed the connection]
<retrosenator> well that was my point, was to be able to use both seemlessly from a higher level language
<retrosenator> by invoking them in batch mode to perform operations
<J1A84> you can
<J1A84> but if you need freeform 3D you either do the math yourself or choose a different program
Sauvin has quit [Ping timeout: 246 seconds]
<retrosenator> well it's interesting to see what some people have done
<retrosenator> writing python that generates openscad, and able to compute gears and threads very concise
<J1A84> adventcalendar!
<J1A84> calendar!
Sauvin has joined #openscad
<retrosenator> history
ur5us has quit [Remote host closed the connection]
ur5us has joined #openscad
<retrosenator> well for example an operation could be "weathering"
<retrosenator> which would "sandblast" the part from a specific direction with various parameters
<retrosenator> and wear away at it
<J1A84> i know a terrain modeler in scad that does that
<retrosenator> another operation could be to turn the object to "near-liquid" with a specific surface tension and apply a force then "freeze" to it's new shape
<retrosenator> this is all done in a single line in the script
<J1A84> again you don't understand CSG
<retrosenator> J1A84: how does it work?
<retrosenator> csg seems like a real limitation
<retrosenator> but in this case, yes, it has to convert to a mesh, apply the transformation, then convert back
<retrosenator> or be imported as a mesh
<J1A84> you  want things that happens on a mesh level
<retrosenator> some things yes
<J1A84> SCAD is also CAD not modeler  use ZBrush Blender  etc
<J1A84> or some shadertoy
<retrosenator> because you can't type the model in text
<J1A84> you are like  ..   spreadsheet suck for writing long texts
<retrosenator> i want to do that
<retrosenator> just need more operations and transformations available
<J1A84> blender can be used with scripts
<retrosenator> i'm there
<retrosenator> ok wow yes you are right i need to learn
<retrosenator> man blender's script format is even more verbose
<J1A84> blender was created because of the limitations of previous movie/animation software
<retrosenator> well I could always encapsulate their script within my own library to improve the syntax
<J1A84> if you could improve it - work with the blender team .. else it is just customization
<retrosenator> but yeah if that could somehow get combined in a way that it could interoperate with openscad operations
<retrosenator> from a single script
<J1A84> you can make objects with SCAD render and import the mesh in blender
<retrosenator> yeah
<retrosenator> then export the mesh in blender and import back to scad
<retrosenator> if needed depending on the operations and their order
<J1A84> no that wouldn't make sense
<retrosenator> if you perform an operation in scad, then blender, then scad again for example
<J1A84> that is not what scad does
<retrosenator> you can import stl
<J1A84> blender works with meshes .. scad works with CSG
<J1A84> Yes you can write a book with spreadsheets
<J1A84> there is a render to data module in development to make data from meshes accessible in scad  - but that is not released
<retrosenator> hmm, well you can convert meshes to csg or at least use them
<retrosenator> as I can do operations on imported stl
<J1A84> no you can't convert them   that is the point - if you render a sphere  and import the sphere as mesh it is not a sphere anymore
<J1A84> give it some years and you will understand - you seem quite new to this
<retrosenator> I just did it
<retrosenator> it may not be exactly the same but it works
<J1A84> look in the CSG tree
<retrosenator> i know but for practical purposes of the result
<retrosenator> the tree may be different sure
<J1A84> a sphere is defined by a radius - that can be changed..    a mesh is just a bunch of points
<retrosenator> the radius can be changed in the script which regenerates the sphere, and the mesh etc
ur5us has quit [Ping timeout: 255 seconds]
<J1A84> the whole idea of CAD is to have mathematical  description of objects instead of point data
<retrosenator> that is what I am trying to do in the description of the model
<retrosenator> but I dont care about the underlying architecture if it is mesh or csg or what
<J1A84> if i give you a mesh  you can't change a radius because you don't know what the mesh is
<retrosenator> yes, but in this case, the script that generated the mesh defines the radius
<J1A84> my point you need to care about this
<retrosenator> so it can just regenerate the mesh
<retrosenator> lol
<J1A84> if you don't care what is under the hood  you just have a blue and a red car and wonder why the one is faster
<retrosenator> i think true of most people but I dont use cars
<retrosenator> I mean, yes I care, but given enough computations the results are identical of the imported mesh sphere vs defined sphere
<J1A84> you have blue and read soap .. and wonder why one is cleaning better Ü
<retrosenator> i dont even have soap
<J1A84> you will learn Ü
<J1A84> compare   sphere (50,$fn=10);  with sphere (50,$fn=300);    both are spheres but when exported as mesh you just have triangles
<J1A84> and in the first case they doesn't look like a sphere
<J1A84> a circle($fn=4);  is a square  but the math is  a circle ..   the mesh (polygon) is just 4 points
<retrosenator> that is useful sure
<retrosenator> i dont see how it limits you here though
<retrosenator> it's just that openscad is low level
<retrosenator> a higher level langage I can define the same model using less than half the lines
<J1A84> scad can't change meshes  except affine transformations
<retrosenator> it can't scale them?
<retrosenator> it can subtract from them fine
<J1A84> you are teenager?
<retrosenator> me? no
<J1A84> and yes boolean operations or minkowski are possible with other objects
<retrosenator> so what is not possible then?
<retrosenator> it seems everything is
<retrosenator> I tried a few more operations on an imported mesh
<J1A84> you don't know the size of mesh
<J1A84> if i want a tangential sphere .. you can't put that on a mesh
<J1A84> but i can put that on a cube or a sphere
<retrosenator> how?
<J1A84> math
<retrosenator> how do I put a tangential sphere on a sphere?
<retrosenator> in openscad
<J1A84> sphere(50); translate([100,0])sphere(50);
<retrosenator> just by knowing it is a sphere? I could do that by knowing the mesh is a sphere
<retrosenator> yeah, this is the same
<J1A84> but the mesh is not
<retrosenator> sphere(50).blenderoperation() + sphere(50).translate([100,0,0])
<J1A84> the software has no information about the mesh except its points
<retrosenator> and it generates openscad which eventually produces the desired model
<retrosenator> even if many invokations of both openscad and blender are needed
<retrosenator> but yeah, the first sphere, gets put in blender, and back into a temporary stl file which is imported into openscad and combined with the second translated sphere
<J1A84> if i send you an stl  it will be impossible for you to add a tangential object  in openSCAD
<J1A84> (you can use resize and a big cube)
<retrosenator> I see, sure
<J1A84> while mesh based programs can align a mesh on another mesh
<retrosenator> i think it comes down to operations.. mesh based will break down faster and require more computations
<J1A84> also if i have a spherical shell a mesh based program can not change the size without changing the thickness .. while it is no problem for CSG or other CAD
<J1A84> mesh is the product of CSG and CAD
<retrosenator> using resize?
<J1A84> chatsheet?
<J1A84> cheatsheet?
<othx> cheatsheet is https://www.openscad.org/cheatsheet/ for the release version and https://www.openscad.org/cheatsheet/snapshot.html for the development snapshot versions
<retrosenator> i tried that just now
<retrosenator> and it got thicker
<retrosenator> the shell
<J1A84> resize renders an object to change it so it knows its bounding box
<retrosenator> ok so its the wrong operation
<retrosenator> how do you increase the size without the thickness?
<J1A84>  how do you create a spherical shell without knowing the thickness?
<retrosenator> heh
<retrosenator> i dont know what the difference is then
<retrosenator> it all starts in a script either way
<J1A84> the script is not a mesh
<retrosenator> it ends up as one
<retrosenator> openscad could be implemented to work on meshes as well and not use csg
<retrosenator> just using one of various tesselation algorithms for operations
<J1A84> if you bake bread you have no access to its ingredients
<J1A84> just show me a case where it would make sense to import a mesh into SCAD when you created it before in blender - so what do you think scad can do that can't be done in blender?
<J1A84> maybe you confuse  "doesn't make sense"  with " is possible to "
ViktorasCNC has joined #openscad
<retrosenator> minkowski comes to mind lol
<retrosenator> as something blender doesnt have
ur5us has joined #openscad
retrosenator has quit [Ping timeout: 240 seconds]
<J1A84> haha  yeah  do that on a complex mesh
<J1A84> but blender has much better tools for that result
la1yv_a has joined #openscad
la1yv has quit [Ping timeout: 276 seconds]
J1A84 has quit [Ping timeout: 252 seconds]
J1A84 has joined #openscad
lastrodamo has joined #openscad
ur5us has quit [Ping timeout: 255 seconds]
fling has quit [Ping timeout: 240 seconds]
fling has joined #openscad
pah is now known as pa
snaked has quit [Read error: Connection reset by peer]
snaked has joined #openscad
ccox_ has joined #openscad
ccox has quit [Ping timeout: 272 seconds]
la1yv_a has quit [Read error: Connection reset by peer]
la1yv_a has joined #openscad
J1A84 has quit [Quit: Client closed]
J1A84 has joined #openscad
retrosenator has joined #openscad
voryzen has joined #openscad
voryzen has quit [Remote host closed the connection]
teepee has quit [Remote host closed the connection]
teepee has joined #openscad
teepee has quit [Remote host closed the connection]
teepee has joined #openscad
J1A84 has quit [Quit: Client closed]
J1A84 has joined #openscad
J1A84 has quit [Quit: Client closed]
J1A84 has joined #openscad
snaked has quit [Quit: Leaving]
J1A84 has quit [Quit: Client closed]
J1A84 has joined #openscad
teepee has quit [Remote host closed the connection]
teepee has joined #openscad
teepee has quit [Remote host closed the connection]
teepee has joined #openscad
j1mu5 has joined #openscad
j1mu5 has quit [Quit: Client closed]
<J1A84> Rendering finished.
<J1A84> EXPORT-ERROR: Can't add triangle to 3MF model.
<J1A84> 3MF export finished: E:/Projekte/22scratch/22-156Tri-MeshBracelet.3mf
<J1A84> STL export finished: E:/Projekte/22scratch/22-156Tri-MeshBracelet.stl
<J1A84> great  i can save an STL but not an 3mf  .. and it tells me that the export is finished with a 0kb 3mf File
JakeSays has quit [Ping timeout: 258 seconds]
<teepee> what version is that?
<teepee> I thought the issue was fixed in the nightly, that it at least gives the correct info
<teepee> still strange that it fails
JakeSays has joined #openscad
<J1A84> 2022.05.04
<J1A84> i think the fix was if the 3mf couldn't be written  .. this time is is just empty (probably something with lazy union)
<teepee> hmm
<teepee> but why :=
<J1A84> in that file are two objects (top level) and if i remove the second the error is gone ..  i can export the second and the first but not at the same time
<J1A84> maybe too many triangles  the  file is 10mb 3mf (or ~ 40mb stl)   the second object is just a number with maybe 20 vertices
JakeSays_ has joined #openscad
JakeSays has quit [Read error: Connection reset by peer]
<teepee> does it work with lazy union disabled?
<J1A84> didn't tried  ..
<J1A84> lets see ..
<J1A84> yupp working without lazy union
<J1A84> and with lazy union  i get the error again
<teepee> with or without fast-csg?
<J1A84> and the 3mf file is written but empty (so existing files are overwritten with 0kb files)
<J1A84> with fast-csg
<teepee> can you try with that turned off?
<teepee> it could be the fast-csg data conversion
<J1A84> already rendering .. probably take some time
<J1A84> (cache flushed)
<teepee> it forces a conversion which I think would not even be needed as the export can handle both data structures
<teepee> in totally unrelated news, homeassistant is quite cool :)
<J1A84> i  just wonder as it seems this error didn't happen with other designs  (with multiple objects)
<teepee> if it's the conversion, that normally works fine and happens all the time, not sure why that's different here
<J1A84> seems the render could take hours ..
<J1A84> homeassistant?  echo alexa or what
rawgreaze has quit [Read error: Connection reset by peer]
<teepee> I've connected that https://imgur.com/a/atlTmr0 some time ago to control the led light strip
<teepee> so 2 buttons were unused, but now the raspi usually running youtube for music got an MQTT script so the remaining 2 buttons control the audio volume :)
<teepee> I guess I need to print a second one now
rawgreaze has joined #openscad
rawgreaze has joined #openscad
<J1A84> sounds pretty cool
<teepee> yeah, and best thing, no cloud required
<J1A84> is it working with KNX ?
<J1A84> well you need KNX adapter hardware for sure
<teepee> they have about 2000 integrations, not all are fully integrated to gui, but still crazy
<J1A84> 988/1000 ..
JakeSays_ has quit [Ping timeout: 255 seconds]
JakeSays has joined #openscad
lastrodamo has quit [Quit: Leaving]
<J1A84> 989/1000
ur5us has joined #openscad
JakeSays has quit [Ping timeout: 255 seconds]
JakeSays has joined #openscad
<J1A84> only 1 hour longer as with fast CSG  - the whole export process takes minutes ..  but it worked
<J1A84> teepee seems you were right
<teepee> right, so it's likey the data convertion happening at export time
<J1A84> interesting that the view is super slow after rendering .. while it was smooth if rendered with fast csg
<J1A84> oh ok  memory was full  20GB RAM + 40GB system commit
retrosenator has quit [Ping timeout: 246 seconds]
retrosenator has joined #openscad
<J1A84> fast CSG only need 2GB
<teepee> uff, that's a pretty impressive difference, probably the remeshing helping too
rawgreaze has quit [Read error: Connection reset by peer]
rawgreaze has joined #openscad
rawgreaze has quit [Changing host]
rawgreaze has joined #openscad
TheAssassin has quit [Remote host closed the connection]
TheAssassin has joined #openscad
JakeSays has quit [Quit: passes out]
JakeSays has joined #openscad
JakeSays has quit [Ping timeout: 240 seconds]
JakeSays has joined #openscad
aiyion has quit [Remote host closed the connection]
aiyion has joined #openscad
<gbruno> [github] JanKalin opened issue #4268 (DXF export in the latest development snapshot produces possibly incorrect files) https://github.com/openscad/openscad/issues/4268
JakeSays has quit [Ping timeout: 255 seconds]
peepsalot has quit [Ping timeout: 244 seconds]
JakeSays has joined #openscad
snaked has joined #openscad
JakeSays has quit [Ping timeout: 255 seconds]
JakeSays has joined #openscad
JakeSays has quit [Quit: passes out]
JakeSays has joined #openscad
JakeSays_ has joined #openscad
JakeSays has quit [Ping timeout: 246 seconds]