To_Aru_Shiroi_Ne has quit [Ping timeout: 265 seconds]
ToAruShiroiNeko has joined #openscad
teepee has quit [Remote host closed the connection]
teepee has joined #openscad
Lagopus has joined #openscad
yubbo has joined #openscad
<yubbo>
I managed to make my machine
<yubbo>
I must send it for printing at once!
aiyion has quit [Remote host closed the connection]
califax has quit [Remote host closed the connection]
califax has joined #openscad
aiyion has joined #openscad
ToAruShiroiNeko has quit [Ping timeout: 246 seconds]
ToAruShiroiNeko has joined #openscad
<yubbo>
when I export as .stl I assume it's in millimetres, is this assumption correct?
kintel has joined #openscad
<kintel>
guso78: Did you figure out your question about tessellatePolygonWithHoles() ?
<InPhase>
yubbo: Strictly speaking there is no unit on an stl file. But there is an almost universal global consensus in the 3D printing community that the unit is mm, and most slicers will assume this.
<yubbo>
ah I see
Lagopus has quit [Read error: Connection reset by peer]
aiyion has quit [Remote host closed the connection]
kintel has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
ur5us_ has joined #openscad
use-value has quit [Remote host closed the connection]
use-value has joined #openscad
ur5us_ has quit [Ping timeout: 250 seconds]
Lagopus has joined #openscad
ur5us_ has joined #openscad
guso78 has joined #openscad
<guso78>
kintel, yes question is solved. the name of the function is "tessellatePolygonWithHoles" absolutely correct. it can only tessellate one polygon at once.
<guso78>
The face that you specify a polygon list does not mean that it can handle many polygons, but that you can specify its holes ....
<guso78>
face -> fact
jonasbits has quit [Remote host closed the connection]
jonasbits has joined #openscad
aiyion has quit [Remote host closed the connection]
aiyion has joined #openscad
castaway has joined #openscad
<teepee>
oh, nice! GLAD support \o/
Vasiliy475 has joined #openscad
ur5us_ has quit [Ping timeout: 252 seconds]
Vasiliy475 has quit [Ping timeout: 260 seconds]
L29Ah has quit [Read error: Connection reset by peer]
<J2399>
you always need a polygon for the extrusion
<guso78>
no there are other 2d primitives ...
<J2399>
which are polygons
<guso78>
import DXF also yields input for extrusion ...
<guso78>
and projection ...
<J2399>
you import a polygon.. projection creates a polygon
use-value has quit [Quit: use-value]
<J2399>
and if you union circles squares difference them and offset them or creating points is the same ( the points probably require less calculations)
<guso78>
ok understood. but my intial question was rather if you used "polygon" primitive or other option to create your extrusion input:)
use-value has quit [Client Quit]
<J2399>
my 2D objects are almost always polygons from points. But i can do the same with squares and circles .. just not effective and you get jagged edges due to the fragments
<J2399>
you also could use a bezier curve as input .. i used fix radii for the edges
omegatron has quit [Remote host closed the connection]
L29Ah has joined #openscad
dTal_ is now known as dTal
teepee_ has joined #openscad
teepee has quit [Ping timeout: 255 seconds]
teepee_ is now known as teepee
use-value has joined #openscad
guso78 has quit [Ping timeout: 260 seconds]
use-value has quit [Remote host closed the connection]
<guso78>
real nice algorithm to find out if a point lies inside a polyehdron
Vasiliy475 has quit [Ping timeout: 260 seconds]
<lf94>
J2399: genius. yes: revolution of a curve. <3
<lf94>
So question: if OpenSCAD cant output STEP files, I'm guessing it cant really be used to send off to inject mold manufacturers?
<lf94>
Another question: is it "easy" to create a program that only unions meshes into a manifold?
<lf94>
doesnt have to difference
<teepee>
freecad can import openscad and export step
<teepee>
unfortunately people say it can't be implemented in openscad directly
<Scopeuk>
doing a "dumb" step is probably relatively straightforward of just kicking out the mesh, creating some bidirectional component mapping in and out of scad would be awesome but likely incredibly taxing. if someone fancies a phd however
<lf94>
I meant a real step file, not just "thing is a mesh in a step file" :p
<lf94>
Surely there's a way we can make the b-rep equivalent of all operations b-rep can do
<lf94>
in csg
TheAssassin has quit [Ping timeout: 255 seconds]
TheAssassin has joined #openscad
fling has quit [Remote host closed the connection]
fling has joined #openscad
kintel has joined #openscad
<kintel>
teepee: You mentioned once some limitation of glew. Do you remember what that was?
<InPhase>
lf94: "Support step files" has never been a clear thing because they seem to do all sorts of different things. Also good luck finding a complete specification somewhere.
<lf94>
ahhh, gotchya
<lf94>
is it just bs then about what manufacturers need?
<lf94>
is there a legitimate reason to use step or no
<JordanBrown[m]>
lf94:InPhase Looking at the Wikipedia page, STEP appears to be a fantastically complex format with many, many options that can include many many sorts of data. Do we know which step "parts" these service providers need?
<lf94>
(I honestly dont know)
<lf94>
maybe this is some carry-over from past "practices"
<InPhase>
lf94: What's best is to talk to a given manufacturer if you are actually at that point.
<JordanBrown[m]>
STEP part 52 is "Mesh-based topology"; it might be easy to support that but useless if that's not what the vendors want.
<InPhase>
lf94: If it's CNC stuff, they'll need a file they can feed into whatever CNC software they have. If humans are doing it, they need something the humans can process. And this sort of thing repeated in other variations.
<JordanBrown[m]>
I suspect based on the "boundary representation" page on Wikipedia that they're talking about Part 42 "Geometric and topological representation".
<lf94>
so pretty much "human see step, human put in step"
<JordanBrown[m]>
There's also Part 238 - "STEP-NC Application interpreted model for computerized numerical controllers", which is a way to encapsulate something similar to gcode.
Lagopus has quit [Read error: Connection reset by peer]
<JordanBrown[m]>
I'm not at all familiar with this area, but resources like the Wikipedia pages seem to think that CSG and boundary representations are peer concepts. That doesn't seem clear to me at all. "boundary representation" doesn't tell you what tools you have available for representing the boundary. A triangle mesh is *a* boundary representation. I'm sure there are others with built-in support for curves, for instance, but unless you
<JordanBrown[m]>
qualify with what mechanisms you're looking for, saying "boundary representation" doesn't say much. The same is true of CSG; you could have a CSG system that had spheres as its only primitive and it would still be CSG. What primitives do you have? Having polyhedra is very general, but you could certainly imagine a CSG system that offered primitives based on Bézier surfaces.
<JordanBrown[m]>
Note also that you can convert a CSG representation into a boundary representation, but the converse is not true - at least based on the descriptions that I've found.
To_Aru_Shiroi_Ne has joined #openscad
ToAruShiroiNeko has quit [Ping timeout: 246 seconds]
To_Aru_Shiroi_Ne is now known as ToAruShiroiNeko
KimK has quit [Ping timeout: 248 seconds]
pfla has quit [Quit: Client closed]
Lagopus` has joined #openscad
Lagopus` has quit [Changing host]
<lf94>
True
L29Ah has quit [Read error: Connection reset by peer]
Vasiliy475 has joined #openscad
Petar has joined #openscad
<Vasiliy475>
Good day. I wonder , if it exists a way to generate separate dxf files in the openscad? I get common dxf file, but local plasma cutting company demands separate files. Here what I got.
<Petar>
is anyone else able to run this without issue?
<Petar>
if so, could someone be kind enough to share exported SVG with me?
<JordanBrown[m]>
You *are* doing a 101 projections of a large file. Are you sure it's frozen? It might just be still working on it. How much RAM do you have? Does one projection work OK? Can you do one at a time, or a few at a time?
<lf94>
Petar: I think there's more efficient ways to organize that
<lf94>
I don't know the behavior of import exactly, but might be a good idea to assign the import outside the loop
<Petar>
yeah, outside loop seems smart
<JordanBrown[m]>
There is no way to "assign the import outside the loop".
<Petar>
without knowing ins and outs of this language
<Petar>
someone suggested putting import in module
<lf94>
And I don't know anything about the stl, but maybe make sure the topology is simplified (small amount of faces / triangles)
<JordanBrown[m]>
Won't make any difference if the import is in a module.
<Petar>
ah, ok
<lf94>
Projection does what again? Like a shadow cast and turning it into a 2D shape?
<JordanBrown[m]>
wrapping it in a render() might help because of caching, but I have never really looked into how that works.
<JordanBrown[m]>
I modified it to do one slice, and it's not done yet and is about to cross 4G.
<JordanBrown[m]>
Yes, by default. With cut=true, it takes a slice at Z=0 and turns it into a 2D shape.
<JordanBrown[m]>
My one-slice experiment took 5m17s on my antique computer.
<JordanBrown[m]>
So (a) it wouldn't be shocking if doing a hundred slices took a ton of RAM, and (b) it wouldn't be shocking if it took several hours.
Petar has quit [Quit: Client closed]
<JordanBrown[m]>
Actually, I meant to edit that to say that it wouldn't be at all surprising if it took several hours.
<JordanBrown[m]>
I would write a shell script to iterate through the layers, running OpenSCAD non-interactively, and just let it run.
<JordanBrown[m]>
That also has the advantage of getting you progress reporting, at least on an every-few-minutes cadence.
<lf94>
You did it on an arbitrary stl? How complex was its surface
<JordanBrown[m]>
I did it on the STL that Petar supplied.
<lf94>
Should this not be unioning a bunch of intersections together
<JordanBrown[m]>
yes
qeed_ has quit [Ping timeout: 250 seconds]
<lf94>
It's running instantly but not showing anything lol.
<JordanBrown[m]>
Yes.
<JordanBrown[m]>
But note that you're moving the cube around, but not moving the model around.
<lf94>
Yes
<lf94>
Shouldnt that still work
<JordanBrown[m]>
Most of your intersections are intersecting the STL with a cube that's somewhere else.
<lf94>
ayyy it worked a tiny bit
<lf94>
when switching them around
<JordanBrown[m]>
Limit it down to one slice: set z_min and z_max to 10 (and change the z_min on 9 to -z_min), and then put # in front of the cube and the import.
<lf94>
It's practically instant but my computer is struggling moving around
<JordanBrown[m]>
Doing anything with that big STL is a chore.
<JordanBrown[m]>
But note: intersection doesn't solve Petar's problem if the goal is an SVG. It *might* be part of an optimization before projection() - but my experiment that's still running suggests not.
<lf94>
Yea.
<lf94>
I unioned the "cubes" and they dont look right either
<JordanBrown[m]>
So, either: simplify the STL, or run it non-interactively overnight.
<lf94>
eh, I think simplifying + intersections + projection will be fast and still simple enough to do in < 1 hour
<lf94>
It's possible they'll need to re-run this also multiple times
<JordanBrown[m]>
Do all of your experiments with a simpler figure :-)
<JordanBrown[m]>
Only run with the big figure when you've got the process nailed.
<lf94>
B)
<JordanBrown[m]>
Time for lunch. Later.
Lagopus` is now known as Lagopus
L29Ah has quit [Read error: Connection reset by peer]
<JordanBrown[m]>
My intersection variation finished. It took 10m.
<JordanBrown[m]>
(That's for preview, not F6 render. This might be a case where F6 is faster.)
califax has quit [Remote host closed the connection]
califax has joined #openscad
<teepee>
kintel: glew at least as of 2.2.something did not support both GLX and EGL in one binary, e.g. Debian ships GLX and there's no way to do EGL with that
ur5us_ has joined #openscad
<teepee>
kintel: GL < 2 support seems broken at least on Windows, it might be even a good idea to go to whatever the first core spec is (3.2 or so?)
<JordanBrown[m]>
lf94: um, to be clear, that was 10m for *one* slice.
<JordanBrown[m]>
vs 5m for the simple projection implementation.
L29Ah has joined #openscad
L29Ah has quit [Read error: Connection reset by peer]
<lf94>
Oh, misunderstood
L29Ah has joined #openscad
kintel has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<lf94>
OctoPrint is ... amazing
<lf94>
This is like the missing universal interface to printers
Guest46 has joined #openscad
Guest46 has quit [Client Quit]
germ has quit [Ping timeout: 255 seconds]
abff has quit [Ping timeout: 276 seconds]
abff has joined #openscad
Chmarr has joined #openscad
germ has joined #openscad
Chmarr has quit [Client Quit]
<linext>
repetier host is also good
GNUmoon2 has quit [Remote host closed the connection]
GNUmoon2 has joined #openscad
TheAssassin has quit [Remote host closed the connection]
TheAssassin has joined #openscad
TheAssassin has quit [Remote host closed the connection]
TheAssassin has joined #openscad
kintel has joined #openscad
<kintel>
teepee: OpenGL: Yeah, ideally, OpenGL 3.2 Core would be awesome, but that means first porting away from immediate mode. Getting rid of OpenGL 1.x is a baby step, but next would be getting rid of immediate mode OpenGL 2, then the step to 3.2 Core (or GLES2) would be small.
<kintel>
PS! The challenge with going directly to OpenGL 3+ is that Apple (of course it's Apple) doesn't support compatibility profiles, but pretty everyone else does.
<kintel>
glew: Looking at glew/glad, challenge there is that OpenCSG needs glew and since we use it as a library, it needs its own instance of whatever we use, meaning it would need to be bundled with glad and we have to do some context initialization. ..unless we bundle OpenCSG and link it into OpenSCAD
kintel has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]