discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

extrude to center

CA
Carsten Arnholm
Mon, Feb 20, 2017 9:15 PM

On 20. feb. 2017 21:03, juerg.maier wrote:

And I would still need a thickness addition for the land parts to make them
printable with a FDM printer.

This link contains 2 versions of the land parts, extruded to center.
More precisely, the inner bottom has been shifted towards the center,
leaving the top as is.

earth_730_try2_extrude_1.stl is shifted 1mm down
earth_730_try2_extrude_5.stl is shifted 5mm down
If you ned

this was relative to a sphere radius of 99.479

https://www.expirebox.com/download/3ff25a2715fe8921704296de947a6b71.html

Now I wonder how you plan to print....

Carsten Arnholm

On 20. feb. 2017 21:03, juerg.maier wrote: > And I would still need a thickness addition for the land parts to make them > printable with a FDM printer. This link contains 2 versions of the land parts, extruded to center. More precisely, the inner bottom has been shifted towards the center, leaving the top as is. earth_730_try2_extrude_1.stl is shifted 1mm down earth_730_try2_extrude_5.stl is shifted 5mm down If you ned this was relative to a sphere radius of 99.479 https://www.expirebox.com/download/3ff25a2715fe8921704296de947a6b71.html Now I wonder how you plan to print.... Carsten Arnholm
N
Neon22
Tue, Feb 21, 2017 11:01 PM

Looks like you got the entire continental shelf in the New Zealand region. :)
It'd be nice if we had a bit more land :)

This looks like a hard thing to do with the input model.
The triangulation needs to be concentrated on coastlines but the
parameterisation appears to be unifom over the surface.
So even though its got a huge number of vertices, there is little apparent
detail at the coastlines.
Perhaps the original source material can be requested differently ?

--
View this message in context: http://forum.openscad.org/extrude-to-center-tp20432p20530.html
Sent from the OpenSCAD mailing list archive at Nabble.com.

Looks like you got the entire continental shelf in the New Zealand region. :) It'd be nice if we had a bit more land :) This looks like a hard thing to do with the input model. The triangulation needs to be concentrated on coastlines but the parameterisation appears to be unifom over the surface. So even though its got a huge number of vertices, there is little apparent detail at the coastlines. Perhaps the original source material can be requested differently ? -- View this message in context: http://forum.openscad.org/extrude-to-center-tp20432p20530.html Sent from the OpenSCAD mailing list archive at Nabble.com.
J
juerg.maier
Wed, Feb 22, 2017 7:53 AM

Hi Carsten
Great work on your side. As Neon22 noted it has quite a few big differences
from the currently know land parts of our globe?? Are you confident the
example data has a center offset?

Can you tell me how you did the "extrude to center"?

We might be able to use a "normal" globe shape (without the topographics),
extrude that in and out and use that as the mask for the final land masses?

For printing the result should be OK beside that we have many small islands
and the printer will need to do many movements and only print tiny spots.

--
View this message in context: http://forum.openscad.org/extrude-to-center-tp20432p20532.html
Sent from the OpenSCAD mailing list archive at Nabble.com.

Hi Carsten Great work on your side. As Neon22 noted it has quite a few big differences from the currently know land parts of our globe?? Are you confident the example data has a center offset? Can you tell me how you did the "extrude to center"? We might be able to use a "normal" globe shape (without the topographics), extrude that in and out and use that as the mask for the final land masses? For printing the result should be OK beside that we have many small islands and the printer will need to do many movements and only print tiny spots. -- View this message in context: http://forum.openscad.org/extrude-to-center-tp20432p20532.html Sent from the OpenSCAD mailing list archive at Nabble.com.
A
arnholm@arnholm.org
Wed, Feb 22, 2017 9:10 AM

Hello Juerg,

I am confident that the result is not as good as we would like it to be,
but it may not be possible to do much better with the given data. I
don't know how accurate the original model is, and in any case
subtracting a sphere is just a zero order approximation sure to cause
the kind of anomalies observed. I live in Norway, so I iterated the size
and center of the sphere to make Europe look as reasonable as I could.
One side effect was that e.g. the gulf of Thailand became a
sub-continent. It does not seem possible to get it all correct with this
model, I can assure you I tried.

The determination of offset center was by trial and error, the argument
in favour of the offset is just that other values make things look much
worse. I also tried with different radius values. Again the result is
the best compromise I could find given the constraints. As mentioned
before, subtracting a sphere is wrong in any case. If you assume the
earth is one big ocean the shape of it is not a sphere, but an irregular
geoid. To improve on the coastlines you need to subtract the geoid, not
a sphere. Alternatively, make several different approximations
optimizing for different locations on earth and somehow find a way to
combine them. Not straight forward.

As for the "extrusion", I used my AngelCAD application which on the
surface is somewhat similar to OpenSCAD, but also different in important
ways. It uses AngelScript as the scripting language and Carve (
https://github.com/azarus/sybren-carve ) as the boolean engine instead
of CGAL. It allows importing polyhedrons from AMF files, so the first
thing I did was to use another piece of software I have and merge the
matching vertices of the original STL, then export as AMF. Then import
to AngelCAD and perform the subtraction of the sphere. Now I had the
"thin version" of the continents, before "extruding".

AngelScript is different from the OpenSCAD language. It is not just
declarative, it runs like most other languages and allows you to modify
variables. In AngelCAD, a polyhedron is an object that can be queried
and modified. A very useful feature is to be able to selectively modify
the coordinates of polyhedron vertices, you can effectively "morph" the
shape of an existing polyhedron. In this case I used the known radius
distance from the given sphere center to select which vertices to modify
and which ones to leave untouched, and simply moved the selected ones
towards the center. As you understand, this is not really extrusion
since the topology already is 3d and remains the unmodified in this
process. It is only the geometry (coordinates) that is modified. Once
complete, the model was exported to the STL you saw. I can show the code
if anyone is interested.

Not sure if this answers all your questions, but that is the story I
have.

As a side note, I am (very slowly) working towards the goal of releasing
my carve-based boolean engine to github. It is a separate console
application taking an XML file as input, does all the booleans and
writes STL, AMF etc. Obviously, it runs in a separate process from the
'host' application (AngelCAD in my case).

Carsten Arnholm

On 2017-02-22 08:53, juerg.maier wrote:

Hi Carsten
Great work on your side. As Neon22 noted it has quite a few big
differences
from the currently know land parts of our globe?? Are you confident the
example data has a center offset?

Can you tell me how you did the "extrude to center"?

We might be able to use a "normal" globe shape (without the
topographics),
extrude that in and out and use that as the mask for the final land
masses?

For printing the result should be OK beside that we have many small
islands
and the printer will need to do many movements and only print tiny
spots.

--
View this message in context:
http://forum.openscad.org/extrude-to-center-tp20432p20532.html
Sent from the OpenSCAD mailing list archive at Nabble.com.


OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org

Hello Juerg, I am confident that the result is not as good as we would like it to be, but it may not be possible to do much better with the given data. I don't know how accurate the original model is, and in any case subtracting a sphere is just a zero order approximation sure to cause the kind of anomalies observed. I live in Norway, so I iterated the size and center of the sphere to make Europe look as reasonable as I could. One side effect was that e.g. the gulf of Thailand became a sub-continent. It does not seem possible to get it all correct with this model, I can assure you I tried. The determination of offset center was by trial and error, the argument in favour of the offset is just that other values make things look much worse. I also tried with different radius values. Again the result is the best compromise I could find given the constraints. As mentioned before, subtracting a sphere is wrong in any case. If you assume the earth is one big ocean the shape of it is not a sphere, but an irregular geoid. To improve on the coastlines you need to subtract the geoid, not a sphere. Alternatively, make several different approximations optimizing for different locations on earth and somehow find a way to combine them. Not straight forward. As for the "extrusion", I used my AngelCAD application which on the surface is somewhat similar to OpenSCAD, but also different in important ways. It uses AngelScript as the scripting language and Carve ( https://github.com/azarus/sybren-carve ) as the boolean engine instead of CGAL. It allows importing polyhedrons from AMF files, so the first thing I did was to use another piece of software I have and merge the matching vertices of the original STL, then export as AMF. Then import to AngelCAD and perform the subtraction of the sphere. Now I had the "thin version" of the continents, before "extruding". AngelScript is different from the OpenSCAD language. It is not just declarative, it runs like most other languages and allows you to modify variables. In AngelCAD, a polyhedron is an object that can be queried and modified. A very useful feature is to be able to selectively modify the coordinates of polyhedron vertices, you can effectively "morph" the shape of an existing polyhedron. In this case I used the known radius distance from the given sphere center to select which vertices to modify and which ones to leave untouched, and simply moved the selected ones towards the center. As you understand, this is not really extrusion since the topology already is 3d and remains the unmodified in this process. It is only the geometry (coordinates) that is modified. Once complete, the model was exported to the STL you saw. I can show the code if anyone is interested. Not sure if this answers all your questions, but that is the story I have. As a side note, I am (very slowly) working towards the goal of releasing my carve-based boolean engine to github. It is a separate console application taking an XML file as input, does all the booleans and writes STL, AMF etc. Obviously, it runs in a separate process from the 'host' application (AngelCAD in my case). Carsten Arnholm On 2017-02-22 08:53, juerg.maier wrote: > Hi Carsten > Great work on your side. As Neon22 noted it has quite a few big > differences > from the currently know land parts of our globe?? Are you confident the > example data has a center offset? > > Can you tell me how you did the "extrude to center"? > > We might be able to use a "normal" globe shape (without the > topographics), > extrude that in and out and use that as the mask for the final land > masses? > > For printing the result should be OK beside that we have many small > islands > and the printer will need to do many movements and only print tiny > spots. > > > > -- > View this message in context: > http://forum.openscad.org/extrude-to-center-tp20432p20532.html > Sent from the OpenSCAD mailing list archive at Nabble.com. > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
J
juerg.maier
Wed, Feb 22, 2017 5:51 PM

Hi Carsten

You spent so much time on this - it's hard to give up at this point.

On the original data link http://www.thingiverse.com/thing:1924651 you find
lots of files where the first number represents the detail factor and the
second the multiplyer for the elevation.

I am impressed with your knowledge of different programs so a way of
accomplishing this I can imagin is to use the use the earth_9_24.obj file
and another file that shows the land as separatable areas e.g.
http://www.thingiverse.com/thing:399549.

By separting the land from the grid, extrude it inwards and then use it to
create the difference from the earch_9_24 we would get a good separation
from land and sea?

You could then extrude the surviving land again inwards so I can subtract it
from a water sphere?

BTW - I was amazed that I was able to do a difference from a globe with your
land part without running into a CGAL error!!!!

Regards, Jürg

--
View this message in context: http://forum.openscad.org/extrude-to-center-tp20432p20535.html
Sent from the OpenSCAD mailing list archive at Nabble.com.

Hi Carsten You spent so much time on this - it's hard to give up at this point. On the original data link http://www.thingiverse.com/thing:1924651 you find lots of files where the first number represents the detail factor and the second the multiplyer for the elevation. I am impressed with your knowledge of different programs so a way of accomplishing this I can imagin is to use the use the earth_9_24.obj file and another file that shows the land as separatable areas e.g. http://www.thingiverse.com/thing:399549. By separting the land from the grid, extrude it inwards and then use it to create the difference from the earch_9_24 we would get a good separation from land and sea? You could then extrude the surviving land again inwards so I can subtract it from a water sphere? BTW - I was amazed that I was able to do a difference from a globe with your land part without running into a CGAL error!!!! Regards, Jürg -- View this message in context: http://forum.openscad.org/extrude-to-center-tp20432p20535.html Sent from the OpenSCAD mailing list archive at Nabble.com.
CA
Carsten Arnholm
Wed, Feb 22, 2017 8:32 PM

On 22. feb. 2017 18:51, juerg.maier wrote:

Hi Carsten

You spent so much time on this - it's hard to give up at this point.

I didn't spend that much time, and it is an interesting problem. I will
check the earth_9_24.obj file (200MB), but one issue is that I don't
have reader code for the .obj format...yet. It can be converted with
meshlab though.

Howver, maybe you are better off with using only something like this
http://tf3dm.com/3d-model/world-globe-94593.html

That is a land-only model with well defined coast lines, no tiny islands
and a bit of thickness. Only problem is that the center offset from
origin again.... and the inside faces appear to be inverted.

You could then extrude the surviving land again inwards so I can subtract it
from a water sphere?

See if you can use the model above first, meshlab will be able to
convert it STL. Perhaps you can difference it from a sphere in OpenSCAD.
If not I can have a look.

I don't quite understand how you plan to print. Are you printing both
STL's in one go with dual extruders? If yes, I think you just need
enough thickness of the land part to embed it in the ocean sphere?

BTW - I was amazed that I was able to do a difference from a globe with your
land part without running into a CGAL error!!!!

If the topology is correct, it should work....

Carsten Arnholm

On 22. feb. 2017 18:51, juerg.maier wrote: > Hi Carsten > > You spent so much time on this - it's hard to give up at this point. I didn't spend that much time, and it is an interesting problem. I will check the earth_9_24.obj file (200MB), but one issue is that I don't have reader code for the .obj format...yet. It can be converted with meshlab though. Howver, maybe you are better off with using only something like this http://tf3dm.com/3d-model/world-globe-94593.html That is a land-only model with well defined coast lines, no tiny islands and a bit of thickness. Only problem is that the center offset from origin again.... and the inside faces appear to be inverted. > You could then extrude the surviving land again inwards so I can subtract it > from a water sphere? See if you can use the model above first, meshlab will be able to convert it STL. Perhaps you can difference it from a sphere in OpenSCAD. If not I can have a look. I don't quite understand how you plan to print. Are you printing both STL's in one go with dual extruders? If yes, I think you just need enough thickness of the land part to embed it in the ocean sphere? > BTW - I was amazed that I was able to do a difference from a globe with your > land part without running into a CGAL error!!!! If the topology is correct, it should work.... Carsten Arnholm
MS
Mark Schafer
Wed, Feb 22, 2017 11:02 PM

Don't forget that you could take a 2D vector path of the coastlines,
triangulate it in software of your choice, and transform into a sphere
using reverse projection of wherever the initial data was in
(Equirectangular, mercator, ...)

Then the earth oblate is not an issue.

Search for SVG World map. open in inkscape - export in format you can use.

On 2/23/2017 9:32 AM, Carsten Arnholm wrote:

On 22. feb. 2017 18:51, juerg.maier wrote:

Hi Carsten

You spent so much time on this - it's hard to give up at this point.

I didn't spend that much time, and it is an interesting problem. I
will check the earth_9_24.obj file (200MB), but one issue is that I
don't have reader code for the .obj format...yet. It can be converted
with meshlab though.

Howver, maybe you are better off with using only something like this
http://tf3dm.com/3d-model/world-globe-94593.html

That is a land-only model with well defined coast lines, no tiny
islands and a bit of thickness. Only problem is that the center offset
from origin again.... and the inside faces appear to be inverted.

You could then extrude the surviving land again inwards so I can
subtract it
from a water sphere?

See if you can use the model above first, meshlab will be able to
convert it STL. Perhaps you can difference it from a sphere in
OpenSCAD. If not I can have a look.

I don't quite understand how you plan to print. Are you printing both
STL's in one go with dual extruders? If yes, I think you just need
enough thickness of the land part to embed it in the ocean sphere?

BTW - I was amazed that I was able to do a difference from a globe
with your
land part without running into a CGAL error!!!!

If the topology is correct, it should work....

Carsten Arnholm


OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org


No virus found in this message.
Checked by AVG - www.avg.com
Version: 2016.0.7998 / Virus Database: 4756/13999 - Release Date:
02/22/17

Don't forget that you could take a 2D vector path of the coastlines, triangulate it in software of your choice, and transform into a sphere using reverse projection of wherever the initial data was in (Equirectangular, mercator, ...) Then the earth oblate is not an issue. Search for SVG World map. open in inkscape - export in format you can use. On 2/23/2017 9:32 AM, Carsten Arnholm wrote: > On 22. feb. 2017 18:51, juerg.maier wrote: >> Hi Carsten >> >> You spent so much time on this - it's hard to give up at this point. > > I didn't spend that much time, and it is an interesting problem. I > will check the earth_9_24.obj file (200MB), but one issue is that I > don't have reader code for the .obj format...yet. It can be converted > with meshlab though. > > Howver, maybe you are better off with using only something like this > http://tf3dm.com/3d-model/world-globe-94593.html > > That is a land-only model with well defined coast lines, no tiny > islands and a bit of thickness. Only problem is that the center offset > from origin again.... and the inside faces appear to be inverted. > >> You could then extrude the surviving land again inwards so I can >> subtract it >> from a water sphere? > > See if you can use the model above first, meshlab will be able to > convert it STL. Perhaps you can difference it from a sphere in > OpenSCAD. If not I can have a look. > > I don't quite understand how you plan to print. Are you printing both > STL's in one go with dual extruders? If yes, I think you just need > enough thickness of the land part to embed it in the ocean sphere? > >> BTW - I was amazed that I was able to do a difference from a globe >> with your >> land part without running into a CGAL error!!!! > > If the topology is correct, it should work.... > > Carsten Arnholm > > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org > > > ----- > No virus found in this message. > Checked by AVG - www.avg.com > Version: 2016.0.7998 / Virus Database: 4756/13999 - Release Date: > 02/22/17 > >
J
juerg.maier
Thu, Feb 23, 2017 7:40 AM

clearly above my abilities with openscad. But I give a try with the globe
Carston linked to

--
View this message in context: http://forum.openscad.org/extrude-to-center-tp20432p20541.html
Sent from the OpenSCAD mailing list archive at Nabble.com.

clearly above my abilities with openscad. But I give a try with the globe Carston linked to -- View this message in context: http://forum.openscad.org/extrude-to-center-tp20432p20541.html Sent from the OpenSCAD mailing list archive at Nabble.com.
J
juerg.maier
Thu, Feb 23, 2017 7:44 AM

For printing I have a dual extruder printer (Multec) and a development
version of an oozing prevent system. Then the slicing software Simplify 3D
allows to load 2 stl's and combine them for the print. For each stl it
allows to assign one of the extruders to it.

--
View this message in context: http://forum.openscad.org/extrude-to-center-tp20432p20542.html
Sent from the OpenSCAD mailing list archive at Nabble.com.

For printing I have a dual extruder printer (Multec) and a development version of an oozing prevent system. Then the slicing software Simplify 3D allows to load 2 stl's and combine them for the print. For each stl it allows to assign one of the extruders to it. -- View this message in context: http://forum.openscad.org/extrude-to-center-tp20432p20542.html Sent from the OpenSCAD mailing list archive at Nabble.com.
J
juerg.maier
Thu, Feb 23, 2017 8:03 AM

Loaded the land globe into MeshMixer and stored it as .stl. It looks to me
however that it only defines the surface and has no "thickness" of the land
parts.
Tried a few things but am stuck now with this

--
View this message in context: http://forum.openscad.org/extrude-to-center-tp20432p20543.html
Sent from the OpenSCAD mailing list archive at Nabble.com.

Loaded the land globe into MeshMixer and stored it as .stl. It looks to me however that it only defines the surface and has no "thickness" of the land parts. Tried a few things but am stuck now with this -- View this message in context: http://forum.openscad.org/extrude-to-center-tp20432p20543.html Sent from the OpenSCAD mailing list archive at Nabble.com.