Using Blender for 3d Crystal Proofs

  • A proof of Blender's Suzanne inside a 3d crystal
    A proof of Blender's Suzanne inside a 3d crystal 

The software, LaserImage 3.0, that came with works, Trophy Specialists & Engraving, LE-2 3d laser from Lelee doesn't do nice proofs. So I'm making a virtual stage in Blender (this software is free :). This post is just to show my progress so far.

To render a point cloud I'm using particles and setting the type to hair. By making the hair short I can give the effect of points in a crystal. Another way to do this might be to use dupliverts. The blender file I've uploaded doesn't have hair, this is to keep the filesize down.

For creating engravable objects I find it helpful to subdivide my blender meshes to a small size. Once I've imported them into LaserImage 3.0 I have the option to put points on faces, and/or lines, at set distances. This turns the model into a point cloud. If I don't subdivide then I get triangular lines in the engraved product

Comments

gassrini
gassrini's picture

Dupliverts do work, but they slow my computer to the point that it is unusable. This is because thousands of objects, millions of vertices, are created.

gassrini
gassrini's picture

I've got part way there in rendering a point cloud. The trick is to assign a material to the points, and use the Halo type for rendering. The gotcha is that Halos do not show up if they are inside a ray traced transparent material, such as a crystal block. They do show up if you use the Z-Transparency method - but this is not as realistic.

Paul

John,

Is there any new development in visaulization of crystal sub surface engraving?
I am curious just because we have on-line 3D photogrammetry service. We do not want to etch cristals, but we want to display what can be done with our 3D point clouds.
We have some progress using MeshLab, but would certainly like to co-operate with you.

gassrini
gassrini's picture

It's been a little while since I've played with this. I believe DupliVerts in Blender will give a result that will render well. Last time I tried it was under Blender 2.49. Blender is now up to 2.6. I also have a faster computer. Give me a couple of days and I'll try again.

Another way to go is to take the raw data, and run it through a script that converts the points into tetrahedron, or better a stretched octahedron. I estimate that this could be done by a competent coder in about an hour. It's simple geometric maths. From there it is a simple matter of importing into your modelling software of choice, and rendering.

A factor in accurate rendering is that the points are longer in the Z axis. This is because the crystal shatters in the direction of the beam. If the points are too close then they join together and create a mirror like artifact inside the crystal. Or worse, the crystal splits in two. With the laser I'm using, I use an XYZ spacing of .08mm .08mm .4mm. This ensures that the points do not touch. Other lasers will have different specs.

Could you post a link to your website, so I can have a look at what services you offer?

Paul

Interesting.
Of course you can look at www.my3dscanner.com Our users generate quite a lot of point clouds.

gassrini
gassrini's picture

I just had a quick check using DupliVerts in the latest version of Blender. It 'works'. By that I mean this method is can provide a good base for creating a near photo real render. But, it slowed my laptop down markedly. I'm using a five year old laptop with 4gb RAM, intel core i5, low end ATI Radeon HD 4500 graphics card. I think this slowness has something to do with how DupliVerts are handled within Blender, as the vertex count is much lower than many point clouds I've handled. In summary, DupliVerts work, but were slow.

I suspect my other suggestion of writing a script to convert points into tetra or octahedrons is the most practical way to go, if using Blender. and if a truly realistic render is required. I believe that many clients would be happy with a render made using the 'halo' material. The other method that I showed above, using Blender's particle system may work better. I've only explored accurate rendering of engraving into crystal to a small degree. Given time I'm sure a better solution can be found. This is something I've been playing with at home, for fun. The company I work for doesn't require it, and clients have been happy with a 'rough' proof using a solid model and a wire frame outline of a crystal.

Another consideration for the models supplied by my3dscanner.com is that 3d lasers can not engrave colour into crystals. Every point engraved is white. To simulate colour the points can be placed tightly or sparsely. This creates the illusion of grayscale. Depending on the software a 3d engraver has they may or may not be able to do this from my3dscanner models. I think I do have software to do this, but I'm not sure! Certainly the software I have has menu entries for importing .ply files, and textures. But I haven't had a serious attempt at this yet, and there is no documentation for the software. The software was supplied from China, and doesn't even have a name! And there is a language barrier in asking for technical support. Given the limited number of 3d engravers in the world I wonder about the profitability in writing custom software to support them. Certainly I would appreciate better software. Most people are trying to turn point clouds into solid models; engravers are bucking the trend and wanting to turn solid things into point clouds!

my3dscanner.com's service seems excellent for those people unwilling to spend large amounts of money to buy specialised equipment for scanning objects. Many 3d lasers are sold with 3d cameras for taking portraits in a booth. But this is unsuitable for large items, or taking out into the field. These comments are based on a quick look at their website. I have not, yet, used their service.

Perhaps Blender is another software package that my3dscanner.com can add to their list of recommended software packages? It is capable of working with .obj and .ply files.

Paul

John,
I think your ideas and implementation of using Blender for rendering an SSLE cube are just brilliant. We will try what you envision.

But what I really wanted to achieve was real-time in-browser display of a point cloud. WebGL is the technology. We do display point clouds in a browser at my3dscanner.com (as an example, but not a great one: http://www.my3dscanner.com/index.php?option=com_k2&view=item&id=51:voil?...) . Actually any user of our service sees a point cloud in such a way (in a private area). Colors may be switched off, of course.

Bigger issue is to visualize a crystal cube with a point cloud inside in a browser. Wouldn’t it provide more opportunities for a rough proof for a model? I don’t know.

What I know is that those hundreds of SSLR services around the globe have to display ugly 2D photos instead of visualizing product in 3D in a browser. It is difficult to capture a good shot of a crystal 3D cube with a camera. So the issue is open I guess: what is the best way to display a really fascinating SSLE 3D product on-line .

Best regards,
Paul

gassrini
gassrini's picture

I think people who visit my3dscanner have chosen to do so. They know what they're going to with the point cloud, they just want to know how to get the point cloud. Therefore any render you do can be of average quality, greatness can wait. Having said that, better previews will convert more customers. It's just a question of priority relative to the other things on the ToDo list.

I'm only familiar with Blender. It maybe easier to achieve a photo real render in other software? If not, in the short term the Halo render option in Blender does a fair job. And converting the points to tetrahedrons would make photo real render possible.

May I suggest that, after you have shown the cloud in a crystal, you offer your customers the option of entering crystal dimensions? Also ask them for the minimum point distance for their laser, and strip surplus points from the model. It'll also show them that you understand SSLE and therefore your clouds are ideal for engraving. Many engravers will have software that can do this, but it'll improve the accuracy of the render. So strip them for the render, but allow them to choose between the original file and the stripped one. This could be done invisibly by asking them to choose an engraver, you would have the engravers details stored and display a model appropriate for that hub.

Taking photos of crystals can be done. You can see some taken by a professional photographer, from the company I work for at:-

and here's one I did myself, along with a CG proof, click to enlarge

Notice that at low resolution it is difficult to see points in the photo. I suggest that in some circumstances a solid mesh may produce acceptable renders. Though in the CG case above I've missed the mark. But I'm getting there.

Below is another type of render.

This is a simple Z transparency render. It using solid text, but could be done with a point cloud using the Halo material, in Blender. This method makes adds an alpha transparency channel to the crystal, it doesn't use raytracing - so you can't get the clever reflections, refractions, and shadows.

I would prefer to use CG images instead of taking photos. It takes time to wipe off finger prints and prepare the photos for emailing or the web. Much faster to have a stage setup in Blender and click a button. Still work in progress for me, but here are my best Blender renders so far, click to enlarge:-

gassrini
gassrini's picture

Here's an example showing how grayscale can be simulated by altering the point density.

leef lee

I got an app for crystal engraving:crystalab pro,there is a video on its website,feel nice for working .you can search it .I want to got such app :). 

Add new comment