Meshing a car model

Being new with Sequoia and the forum, I would like to ask simple guidelines for my car model to 3D-printing project. I have this complete car model (including even electric wires and everything) in 3DS Max2016 and I would like to export it for miniature 3D-printing. So I need to mesh out the outer topology with given wall thickness. Also I would need to increase the thickness at some points for extra strength for wishbone for instance so the suspension would carry the weight of the model.

So far my every attempt has given me the paper thin walls when scaled to print size, but I wanted to have at least few millimeters wall thickness. Nice addition would be scaling up the narrow gaps on doors and hatches, so they would be visible in final print as well. Could these be achieved in Sequoia and are there any workflow suggestions for doing that. Unfortunately I cannot publish any models or screenshot here or elsewhere. I might get permission for few objects, but not sure for that either.

The model should be print ready within a week.

Hi Juha,

I have been following the discussion on the Autodesk Beta forum, so I have a basic idea of where you are trying to go.

Originally, Sequoia contained a version of the Frost mesher that had pretty much all controls of the 3ds Max plug-in. That included the support for the Radius channel which could be used to control the size of each point sample at meshing time.

Unfortunately, we removed that option in more recent builds of Sequoia because none of the LIDAR file formats called for it. Now it looks like that was a bad decision. However, you still have access to all beta builds of Sequoia, so we just have to find one that still supports the Radius channel. Alternatively, since you also have access to Frost MX, you could test this in 3ds Max for now.

Assuming you are using the PRT Surface object in 3ds Max to distribute particles, you can create multiple PRT Surface objects, one for each unique thickness. Then you can add a Magma modifier to the modifier stack and set an Output channel to “Radius”, with an InputValue of type Float set to the desired Radius. You can expose the InputValue to the UI. Repeat for each PRT Surface that requires a different radius, and adjust the values as you need them. When saving a PRT file from Krakatoa, make sure you add the “Radius” channel to the list of channels to save. Since it might not be on the list of channels to save, enter “Radius” (with capital R) into the “Edit Custom Save Channels” field, make sure the type is float16[1], and press the [+] button. You have to do this just once, and the channel will appear on the left list. Move it to the right list and your PRT will contain a Radius channel set by the Magma modifiers on the various PRT Surface objects.

You can even use the source meshes’ Soft Selection channel to vary the Radius in specific areas - the Magma modifier could read the Selection channel value of the closest point on the surface of the source meshes and add its value to the Radius channel. But I assume in many cases the Radius could be set just per object as described above. If you need to know how to do that, please ask.

The other benefit of staying in 3ds Max is that you could further tweak the PRT data saved to disk before it gets meshed by loading the PRT in a Krakatoa PRT Loader, and then adding a Magma modifier on top to adjust the existing Radius channel “in post”. Sequoia does not have Magma support yet, so massaging the data channels is not possible right now.

The problem with the Frost approach is that you then have to figure out a way to simplify the resulting mesh, as most 3D printers won’t accept the amount of polygons it would create. Sequoia has a built in mesh simplification, but Frost does not. So you would have to either use one of the 3 optimizers of 3ds Max (each with its own problems), or export the mesh and process it elsewhere (e.g. Z-brush).

Please let me know if you have any questions about what I described above…

Thanks a lot Bopo,

The given workflow seems to rely a lot on the Krakatoa plug-in which I don’t have at the moment. Actually I’m looking a way to ignore all the interior geometry of the car lewving only empty shel of what I see in my Max renderings. It could be made hollow later, but that’s not necessary. OK, maybe it will produce too heavy model for suspension to carry, if it’s not strengthened any way.

I have been able to convert the model into watertight geometry in other tool, but the wall are still paper thin as they come from original CAD model. I have also been able to remesh the model in Seguoia and export it back to Max, but no change in wall thicknes there. So I have the model looking OK in Sequoia, but hot to tell it to wrap the visible outside geometry onto one closed and watertight entity.

When that’s done it would be great If I could add some missing details later.

Just wanted to mention that Krakatoa MX has a license-free mode ($0 cost for you) that has a watermarked render output, but most other tools work without limitations. So all the point conversion of surfaces and volumes, Magma channel editing etc. come for free. We generally encourage our Frost customers to install the free version of Krakatoa as an extension to their meshing workflow.

Returning to this, I have now installed the Krakatoa and been playing with my scene for a while. It hase been organized according materials as suggested on the video. However I have some difficulties because my display card is crashing all the time when working with the scene. I’m using the Quadro 4000, and yes I know it’s a bit old and I should buy new one ASAP.

Going to Sequoia, I have been able to load the point cloud there, but I don’t see any *.sprt files - only *.prt. And I’m not seeing any shaded geometry - only point clouds are visible. Are these two remarks connected somehow. Then I have red label saying Missing Cache File under input file section on the left menu. I’m now stuck with these. Do these findings block my way to go any further with this?

Krakatoa only writes PRT v1.1 point files.

Sequoia can read these PRT files, and it populates the cache filename with the same file name, but with SPRT extension.
If it finds the matching SPRT file, it will load from it instead.
If no SPRT file can be found in the folder, the message appears and the PRT file is read for preview purposes.
You can hit the “Build SPRT Cache” button right under the message, and a new SPRT will with the proposed name be created, and loading should become faster in future sessions. From that point on, you can ignore or even delete the PRT file.

Both PRT and SPRT are point file formats, so you should only see point clouds in the viewport.
To mesh the points, with the Point Loader still selected, click the “Create a New MESHER…” icon (3rd green icon in the toolbar).
It will propose a radius based on the measured spacing between the points.
If you want to check out the results of a subset of the points, you can click the Insert Region Node in the Mesher, and use the gizmo in the viewport to define a smaller region that contains enough detail to judge the results.
Pressing “Update Mesh” in the Mesher, or hitting F5 will process the meshing.

You can adjust the radius manually if you want to tweak the quality, and remesh to see what it looks like.
Once you like the results, you can either disable the Region Of Interest filter, or Fit its gizmo to the whole point cloud.
You can mesh to viewport, or export to a mesh file format on disk (XMesh, OBJ, STL etc.)
You can also reduce the “Face %” value to optimize the mesh.
Depending on the complexity of the mesh, you can also use the Hacksaw Settings rollout to mesh in “buckets” to disk and load them later using a Mesh Loader object - this will allow you to explore sections of the mesh without loading everything at once.

Note that the Point loading workflow has changed significantly since the original preview video was recorded, but the meshing workflow should be rather similar.

Thanks,

I’m now getting some results. I might have to do this all over again in Max, because display card crashes everytime I try to edit the Krakatoa settings in Max. For instance the winker objects are misplaced, but that’s another story.

Anyway I wonder why suggested radius value is so low. I I give 1 I see only on big blobby on screen. Then the surface is somewhat bumby and sharp corners fillets with too visible radius I think. Does this mean the radius value is still too big. Maybe the units have changed in original Max file. It’s a pity I cannot post any screenshots on geometry itself. It would explain so much.

Sequoia currently runs in Meters.
Krakatoa PRT files store Metadata about the scene scale, so if the Max scene was in mm or cm, the units will be converted respectively.
So 0.00867 means 0.867 cm. The value is based on scanning the point cloud and figuring out the typical distance between the point samples. However, it is just a guideline and can be increased or reduced. Does the proposed value look wrong?

I just would like to see a bit more details and smoother plain surfaces. Like door and hatch panel linings. Normally there’s a small few mm gap in 1:1 cars, but this seems to lose them, because in this scale they would be just a fraction of mm. Anyway I think I got it somehow there’s lot of things I can experiment to see if it gets better. It’s getting late here, I might need to go in a moment.

For some reason I can’t use any decimal values on keyboard entries. Seguaoia accepts only integer numbers. No matter how and where I type those. I’m using Finnish keyboard with English Win 7 OS. It does not occur on any other software on that workstation.

I tried switching my Win 7 Region setting to “Germany” where the default decimal symbol is a comma (0,123), but the Sequoia decimal symbol remained a period (0.123) like in the US settings. Typing an actual comma in the Radius field (1,1) produces 0.000000 here, but not an integer. Can you post a screenshot of your Object Properties panel with a Mesher’s properties displayed?

We had a similar issue with some controls in Krakatoa for 3ds Max recently (Max spinners display regional decimal symbols), but that was a MAXScript code problem and was fixed in v2.4.1. We haven’t heard of this issue in Sequoia before.

It seems I cannot change any values by using keyboard. Even if I use the existing period on the dialog box. I can only change values by using the slider control. That would not be an issue if the usable radius values weren’t next to zero.

I opened cleaned up version on the car, and when used the suggested radius, I get bad allocation message. If I use slider control the nearest value gives me round blobby surrounding the geometry.

We are looking into this - as I mentioned, it seems to work for me when I switched my locale to German or Finnish.
Note that you can use scientific notation in value fields, try entering 1E-5 to produce 0.00001 for example. Does that work?

Yes, that worked. Now I can type any value.

In the mean time, we found the bug with international settings you reported, and are working to fix it.
Thank you!

I’m back doing the meshing again. I got new model and I’m working on it with the latest release. It’s much better now.

However, there’s one thing, I would like to ask. I’m currently doing the iterations on my scene in Max for finding the best point density for my project. I wonder if there’s a way for updating the point cloud model. Now my workflow is that everytime, I render new point cloud model in Max, I need to delete the existing model in Sequoia and the mesh too. Would it be possible to reread the point cloud file when it has changed to update the mesher?

Was there any information on strenghtening the wall thickness without losing the fine details?

E: I looked again, and yes the point cloud can be updated under input file tab.

Assuming you are exporting over the same PRT file again and again, the Point Loader in Sequoia should list the PRT in the File field, the SPRT cache in the Cache field, and if the PRT has changed, the Status should say “OUTDATED CACHE FILE”. You can press the [Build SPRT Cache] button and the SPRT will be updated from the new PRT and the Status will change to green “CACHE UP TO DATE”. Then select the Mesher and hit Update Mesher or press the F5 key.

We are looking into adding a Surface Points object that will do what the PRT Surface does in Max, but inside of SEQUOIA, so you will just have to export the mesh from Max and load in SEQUOIA, and you will need no Point Loader at all as the point cloud will be created and updated dynamically.

We worked on tools to produce single-sided mesh and conforming it to the point cloud as requested by other users, but there have been no changes to the double-sided meshing needed for 3D printing.

I keep on getting this error message during meshing. Another thing is tat I got few decent files exported in OBJ format, but they are quite big, around 5 GB. Is it normal?
Sequoia error.JPG

I have seen that error before, I think we have fixed it now internally, but it might not be in build 0.1.15 (assuming you are using the latest build).
We found that tweaking the Radius value could help sometimes, but that’s just a workaround.

Regarding the OBJ file, you have to remember that OBJ is in ASCII text format, so it is significantly larger than binary file formats, some of which also support integrated compression:
rabop.com/temp/Sequoia_Beta/manu … mat-to-use

Zipping an OBJ file would deflate it significantly - on the above page, a 12.2GB OBJ file became “only” 2.56GB after compression, while an XMesh is already smaller due to the integrated compression of well-organized binary data. But then again you need to use the format that your target application supports. If you need to bring it back to 3ds Max, the XMesh Loader is free - just let me know and I will email you the link to the installer…