Change mesh face color

Hi All,

I have a mesh which I would like to use for multi-color 3D printing. I want to keep the outside face green and make only the inner surfaces white to save on toner. How can I do this while keeping it intact in one mesh. I want to use this same process for roughly 100 meshes

Original mesh

Make all of the inside faces white

Make face white.3dm (252.1 KB)

Thanks in advance.

I don’t know quite enough about meshes to be quick about what comes next, though will figure it out eventually. This code seems to select the inner faces:


Make face white_2025Feb9a.gh (9.6 KB)

P.S. I admit it, meshes baffle me. Why don’t the number of face boundaries (4888) match the number of face normals (5798) :question:

1 Like

unnamed (9.2.2025, 22.58.23).gh (86.0 KB)
Mesh faces toward the point will change color.

1 Like

Doesn’t look correct to me?

That’s most likely because the original mesh is not on the origin and @Quan_Li moved it there.

2 Likes

Sneaky :bangbang: Thank you. The CE cluster at the end of his code is irrelevant, eh?

Interesting, thanks to both of you.


Make face white_QL_2025Feb9a.gh (12.3 KB)

P.S. By the way, volume centroid worked for me in this case, but in case it doesn’t for some meshes, volume centroid of a bounding box can be used.

Can anyone please answer the question I asked above?

2 Likes

Guess some some verts are not welded.

1 Like

I think it’s due to Ngons, there are 271…

I used the command _DeleteMeshNgons in Rhino and it looks like this:

2 Likes

Thanks Joseph, I’m trying to get my head around them for years. Color is a new aspect for me. I appreciate you taking the time to offer some assistance.

Thanks Quan. I am going to try this out now. Thanks for taking the time to respond.

Hi Gents,

Thanks again for your assistance. I’ve progressed significatly with you guidance. The process works well for smaller parts that are typical meshes but I’m now faced with a new challenge involving textured meshes. How do I use booleans and split on these meshes, maintain the color on the areas of the mesh that are unaffected and recolour the newly created mesh inside white.

When I do a boolean operation on the textured meshes it seems to break the textures. I get varied results. From what I’ve read is due to the UV mapping but I have limited experience with textures.

The base mesh snowman 1 is an imported .glb file with colour applied. And 2 is a shrinkwrapped offset I have made to make the snowman mesh hollow for 3D printing.

I want to achieve the same result by keeping the colour on the outside and making the inside white for colour 3D printing.

After I complete the Boolean the inside colour is inherited from the snowman mesh and I can’t figure out how to move forward. I tried using the same process as above but had no success.

@ Martin Siegrist

I came across your post here:

It seems like you were tyring to achive similiar results.

As always thanks for your assitance. The people on here are fantastic.

RD - Snowman.3dm (8.8 MB)

1 Like

Hello
I don’t really understand the setup you have (no perspective, the material appears strange in render viewport …),
think the work flow can be very simple.
Make an offset (Isopod, Shrinkwrap, Dendro)
Flip the direction of the offset. Normals must be inward, normals of exterior must be outward.
Join with the exterior mesh and it must work. Look at what did Daniel here, it is the same except Daniel didn’t flip the offset. In my experience flipping is mandatory, so it helps the slicer to know where is the material. I do that for a client that uses Prusa slicer.

1 Like

Hi Laurent,

The particular printing set-up is for multicolor 3D printing like on a Projet 660 or HP 480. For this kind of 3D printing to reduce toner usage it is preferable to colour just the outside of the mesh.

Above we have identified a process that will achieve this with a mesh without a texture.

For this example, I hope to find a solution that allows me to complete booleans or similar processes on a mesh with a texture and make the inside of fully white while maintaining the texture on the exterior. Creating a hollow model itself is not the issue.

I am familiar with Dendro and Shrinkwrap. I haven’t tried Isopod but from what I can see it doesn’t deal with multicolour meshes (correct me If I am wrong)

Thanks for your input :slightly_smiling_face:

1 Like

Rhino has a tool to copy texture, there is discussion somewhere.

I have done a little tool to copy UV from one mesh to another mesh, it is in Nautilus. Not sure it is useful to you problem but I could surely tweak the tool to add a threshold distance or some other parameter to put some special UV (for example, 1,1 and you draw white on the (1,1) corner of the texture map)

1 Like


I guess I understand the question wrong.

1 Like

The outside mesh is not modified with Isopod if I see this correctly…

Hi Quan, I think your first answer answered my question then. But as I came across different scenarios It evolved. I’ve been playing around with options with this workflow all morning. Thanks for your response.

Hi Laurant,

Thanks for your thoughts. It seems that this UVfromTo is magic! It seems like It could make this process much easier. With that and the other tools mentioned it should fully equip anyone looking to optimise parts for multi-colour printing.

When I try to apply the UV to the second mesh I am getting some odd effects.

My process was

  1. Boolean difference the object to get a new hollow mesh
  2. Remove the material for the new hollowed mesh
  3. Use the original mesh as the first input (MfromUV)
  4. Use the newly created mesh as the 2nd input (Mto)
  5. Reapply the material from the original mesh to the output mesh

Please let me know if this is the correct workflow. Is it possible to transfer the colour without the artefacts? It’s a very impressive tool BTW. There are so many useful components. I’m sure they will be invaluable.

Nautilus_Test.gh (4.0 KB)
RD - Snowman_Nautilus_Test.3dm (14.5 MB)

Sorry, I’ll have to make a better tool.
It is due to transition between zones.

Points that are duplicated

2 Likes

MBoolean get back verts color.gh (4.1 MB)

GH solver disabled.

It takes 1 or 2 mins to get the work done. So, not a good solution.
It calculates distance and re-color the Booleaned mesh based on the culled pattern.
If you want to color the cut wall, it is also possible but need to calculate those verts too.

1 Like