Someone sent me a file that contains a production line for a factory, it appears to be created on SolidWorks. However, this file contains an enormous amount of polygons, over 350 million.
The question is, even though I am using an NVIDIA 3090 graphics card and an R9 7950x processor, with 64 GB of RAMS, but working with the file is extremely slow.
What is the solution in this case? I don't think proxies can help since the parts might need to be animated.
File link:
Solved! Go to Solution.
Someone sent me a file that contains a production line for a factory, it appears to be created on SolidWorks. However, this file contains an enormous amount of polygons, over 350 million.
The question is, even though I am using an NVIDIA 3090 graphics card and an R9 7950x processor, with 64 GB of RAMS, but working with the file is extremely slow.
What is the solution in this case? I don't think proxies can help since the parts might need to be animated.
File link:
Solved! Go to Solution.
Solved by RobH2. Go to Solution.
Yikes, that's a tremendous file. It took 57 minutes just to open. For these there just isn't a "one-click" solution. No one likes optimization. It's right up there with UV Mapping as far as the things we dislike having to do.
Once it eventually loads I'd save it as a Max file immediately. It's 20GB when saved. Then I'd open a new file and don't open the Max file, but start 'Merging' it chunk by chunk into a new file. That gives you two things, a backup and a new file that will be optimized.
I'd start grabbing things that won't be animated and optimizing them with 'ProOptimizer.' You can group similar objects and run it on all of them to help you get it done faster. Select all of the same kind of 'Natural Chips' and optimize to about 5% to start with. Raise it slowly until the look good enough. Unfortunately, all kinds of different topologies and meshes share the same name. It's a problem with SolidWorks and it's also sloppy model building. In my world, even as it's a pain in the butt, I insist that everything 'MUST' be named correctly.
Find things that are farther away and optimize them more. Find things that aren't even seen like ..... and just delete them. I get files sometimes that have 100s or 1000s of nuts, bolts and washers that can be 50k polys each. I find all the internal ones and just delete them saving millions of polys. I attached an example. the part named of course, "Natual_Chips", is 54K. It's reduced to 5K and I bet, except for closeups, you'll never know. SolidWorks is famous for making a perfectly flat plane 100K polys when it can be '1 poly.'
SolidWorks is amazing but it will make a full screw that it 150K with all the threads. You don't generally need that. Just a simple cylinder in a hole is good. Or even, all you need is the head. You can delete the shaft and the threads.
It can take a lot of time to optimize but often it's just necessary. Sometimes I can write the client and ask them to export a a much lower poly count. Then I can use the lower polys for the objects that aren't the most important or animated objects. In your case, if you can, I'd ask for a new file exported at about 10% of the poly count.
Rob Holmes
------------------------------------------------------------------------------------------------------------------------------------------Yikes, that's a tremendous file. It took 57 minutes just to open. For these there just isn't a "one-click" solution. No one likes optimization. It's right up there with UV Mapping as far as the things we dislike having to do.
Once it eventually loads I'd save it as a Max file immediately. It's 20GB when saved. Then I'd open a new file and don't open the Max file, but start 'Merging' it chunk by chunk into a new file. That gives you two things, a backup and a new file that will be optimized.
I'd start grabbing things that won't be animated and optimizing them with 'ProOptimizer.' You can group similar objects and run it on all of them to help you get it done faster. Select all of the same kind of 'Natural Chips' and optimize to about 5% to start with. Raise it slowly until the look good enough. Unfortunately, all kinds of different topologies and meshes share the same name. It's a problem with SolidWorks and it's also sloppy model building. In my world, even as it's a pain in the butt, I insist that everything 'MUST' be named correctly.
Find things that are farther away and optimize them more. Find things that aren't even seen like ..... and just delete them. I get files sometimes that have 100s or 1000s of nuts, bolts and washers that can be 50k polys each. I find all the internal ones and just delete them saving millions of polys. I attached an example. the part named of course, "Natual_Chips", is 54K. It's reduced to 5K and I bet, except for closeups, you'll never know. SolidWorks is famous for making a perfectly flat plane 100K polys when it can be '1 poly.'
SolidWorks is amazing but it will make a full screw that it 150K with all the threads. You don't generally need that. Just a simple cylinder in a hole is good. Or even, all you need is the head. You can delete the shaft and the threads.
It can take a lot of time to optimize but often it's just necessary. Sometimes I can write the client and ask them to export a a much lower poly count. Then I can use the lower polys for the objects that aren't the most important or animated objects. In your case, if you can, I'd ask for a new file exported at about 10% of the poly count.
Rob Holmes
------------------------------------------------------------------------------------------------------------------------------------------
@RobH2 schrieb:
SolidWorks is amazing but it will make a full screw that it 150K with all the threads. You don't generally need that. Just a simple cylinder in a hole is good. Or even, all you need is the head. You can delete the shaft and the threads.
It can take a lot of time to optimize but often it's just necessary. Sometimes I can write the client and ask them to export a a much lower poly count. Then I can use the lower polys for the objects that aren't the most important or animated objects. In your case, if you can, I'd ask for a new file exported at about 10% of the poly count.
THIS!
If at all possible your client should export the data at MUCH lower resolution. If that is not possible, they should at least divide it up into several parts. Otherwise it will take a lot of extra time for you to just prepare the data.
Martin Breidt
http://scripts.breidt.net
@RobH2 schrieb:
SolidWorks is amazing but it will make a full screw that it 150K with all the threads. You don't generally need that. Just a simple cylinder in a hole is good. Or even, all you need is the head. You can delete the shaft and the threads.
It can take a lot of time to optimize but often it's just necessary. Sometimes I can write the client and ask them to export a a much lower poly count. Then I can use the lower polys for the objects that aren't the most important or animated objects. In your case, if you can, I'd ask for a new file exported at about 10% of the poly count.
THIS!
If at all possible your client should export the data at MUCH lower resolution. If that is not possible, they should at least divide it up into several parts. Otherwise it will take a lot of extra time for you to just prepare the data.
Martin Breidt
http://scripts.breidt.netThank you very much for the detailed explanation.
Regarding the ProOptimizer modifier, yes, it seems like a very good idea, and it can significantly reduce the polygons amount by providing the appropriate value. However, when experimenting with the models I'm working on, I spent over an hour trying with a small part that does not exceed 5% of the entire model, trying to find the right value. Each time, I encountered some deleted surfaces and other distortions, and I don't think it's worth all that effort for this project.
As for the solution you mentioned, that I should request another version with much lower polygons from the client, I think that's the best solution. Then, the two models can be compared, and useful elements from both files can be combined into one.
Thank you again for the great effort to help me.
Thank you very much for the detailed explanation.
Regarding the ProOptimizer modifier, yes, it seems like a very good idea, and it can significantly reduce the polygons amount by providing the appropriate value. However, when experimenting with the models I'm working on, I spent over an hour trying with a small part that does not exceed 5% of the entire model, trying to find the right value. Each time, I encountered some deleted surfaces and other distortions, and I don't think it's worth all that effort for this project.
As for the solution you mentioned, that I should request another version with much lower polygons from the client, I think that's the best solution. Then, the two models can be compared, and useful elements from both files can be combined into one.
Thank you again for the great effort to help me.
I had a few other thoughts and did some other test as well.
If you can get them to output the files again for you with a lower poly count, have them break up the model. There are some obvious units or sections. Have them give you 4 or 5 files, each with just a part of the model. It will handle faster for you too.
Secondly, if you have Rhino3d, it has a fantastic 'remesher' function. I played with it a bit and it did a better job reducing those gigantic poly count objects to something about 80% smaller and retained the integrity of the mesh better in some cases.
Good luck.
Rob Holmes
------------------------------------------------------------------------------------------------------------------------------------------I had a few other thoughts and did some other test as well.
If you can get them to output the files again for you with a lower poly count, have them break up the model. There are some obvious units or sections. Have them give you 4 or 5 files, each with just a part of the model. It will handle faster for you too.
Secondly, if you have Rhino3d, it has a fantastic 'remesher' function. I played with it a bit and it did a better job reducing those gigantic poly count objects to something about 80% smaller and retained the integrity of the mesh better in some cases.
Good luck.
Rob Holmes
------------------------------------------------------------------------------------------------------------------------------------------Thank you very much for your advice. I will try to request that from the client. As for the Rhino program, yes, I have it, but I have no idea how to use it. I will try to find out about that.
Thank you very much for your advice. I will try to request that from the client. As for the Rhino program, yes, I have it, but I have no idea how to use it. I will try to find out about that.
What a great test case file !
Once loaded ( took about 20mins - though i did'nt stopwatch ), it consists of over 397 Mio triangles and >76K individual nodes. Polycounts are one thing, but i guess whats more cumbersome here ( if you got a powerfull rig ) is interacting with a scene with such a high node count.
3ds Max like all other DCC applications struggle with too high number of individual objects
And - in case you have autobackup enabled , this steals away performance too of course in that case
Regarding a better model from the client:
I doubt FBX and reducing triangle count in 3ds Max is the best way here. I would ask the client if you could eventually get a STEP file or even the solidwork files directly ?
I have no experience with solidworks imports myself, but 3ds Max provides a direct ( *.sldprt/*.sldasm) and a STEP import - This way you would be able to determine optimal tesselation settings yourself ....
other then that, for the moment i do not have much to add what hasn'T been said already 🙂
What a great test case file !
Once loaded ( took about 20mins - though i did'nt stopwatch ), it consists of over 397 Mio triangles and >76K individual nodes. Polycounts are one thing, but i guess whats more cumbersome here ( if you got a powerfull rig ) is interacting with a scene with such a high node count.
3ds Max like all other DCC applications struggle with too high number of individual objects
And - in case you have autobackup enabled , this steals away performance too of course in that case
Regarding a better model from the client:
I doubt FBX and reducing triangle count in 3ds Max is the best way here. I would ask the client if you could eventually get a STEP file or even the solidwork files directly ?
I have no experience with solidworks imports myself, but 3ds Max provides a direct ( *.sldprt/*.sldasm) and a STEP import - This way you would be able to determine optimal tesselation settings yourself ....
other then that, for the moment i do not have much to add what hasn'T been said already 🙂
Short update:
I briefly tested the direct 3ds max solidworks import using a rather complex industrial robot scene from grabcad, and it worked pretty well ( though its not quite THAT complex compared to the scene posted here.. )
Short update:
I briefly tested the direct 3ds max solidworks import using a rather complex industrial robot scene from grabcad, and it worked pretty well ( though its not quite THAT complex compared to the scene posted here.. )
Can't find what you're looking for? Ask the community or share your knowledge.