Welcome to the Onshape forum! Ask questions and join in the discussions about everything Onshape.

First time visiting? Here are some places to start:
  1. Looking for a certain topic? Check out the categories filter or use Search (upper right).
  2. Need support? Ask a question to our Community Support category.
  3. Please submit support tickets for bugs but you can request improvements in the Product Feedback category.
  4. Be respectful, on topic and if you see a problem, Flag it.

If you would like to contact our Community Manager personally, feel free to send a private message or an email.

Imported Model Complexity versus Performance Lag

M_HutchisonM_Hutchison Member Posts: 25 PRO
I created a plant floor layout of (8) pieces of manufacturing equipment for a project at work, and I need to create multiple iterations (basically rearranging the furniture).  I didn't create any of the (8) models, they come from the equipment manufacturers.  Naturally they are not the full detail models, they are a combination of parts and surfaces (in some cases ~6000 surfaces) to protect their IP while giving me, the customer, something to work with.

Here's the rub....  Onshape struggles a bit to open / render each of the equipment files, but when I insert all (8) of them into an Assembly, in a file of its own, to create a plant layout, the render time / lag is horrendous.  Sometimes I get Poor Connection warnings or it just times out and resets the browser window, so did all the usual connection performance checks, and it all seems normal.  I did a support ticket and the response was  - you have a big file, Onshape is working as intended.

When I imported the files I chose Composites.  The result was some composite parts, regular parts, and surfaces.  I then Inserted those into a local Assembly, and that equipment assembly is what I inserted into my separate Master Assembly file.  That was borderline impossible to use.

Then I tried exporting the imported equipment file as a Parasolid and then reimported it as a new file, again selecting Composite on Import.  Next I selected everything in the Part Studio and chose Composite>Closed to create a single composite part.  That composite was then Inserted into the Master Assembly.  It was still terribly laggy.  Took me 8 hours to create ~4 layouts, each containing (8) composite parts.  Then creating Drawings to print and show my customer took another full day.

I've read several posts on best practices to help performance when I'm creating Part Studios and Assemblies, but in this case I'm only importing stuff.  What can do to help matters?  Simplifying the imported models isn't really an option.  Is Importing as a Composite a bad idea?  Is converting the Part Studio to a composite a bad idea?  I feel like I've hit the limit of Onshape's capability.  Thoughts?

tks MH


  • S1monS1mon Member Posts: 1,982 PRO
    There are a few ways I would attack a problem like this:

    1. Can you get the manufacturers to further simplify their models using their own CAD systems first? Have they filtered out screws and small internal parts which aren't important?
    2. If you could snap your fingers and just get the key surfaces that you need, how complex would the models be? What are the key interfaces that you need to pay attention to? Would it be possible to make a simplified model of what you need in a separate document, possibly as an in context part using the imported assembly?
    3. Have you seen or tried this custom feature https://forum.onshape.com/discussion/18394/new-custom-feature-simplify

  • M_HutchisonM_Hutchison Member Posts: 25 PRO
    1)  I do where possible but in one case I asked the OEM to resend their file because the Imported file kept crashing.  The whole process took 2 weeks of back and forth emails, 5 different document format / saves, and a thumb drive.  That was the worst one. 

    2) In this case, the detail is about understanding how to operate the machine and how it will function in the environment, thus eliminating detail risks missing something you may later realize was important, i.e. a pipe connection, operator control, adjustment bolt, etc.  This is equipment the customer has never seen or used.

    3) I had not, pretty cool.  I just tried it and it created simplified duplicates in addition to all the existing parts.  Doesn't work on Surfaces or Composites.  There's too much detail in the machine (x8) to make it practical to use.  But thanks for the suggestion.

    I accept that its going to be slow, but I wonder whether the relative calculation burden for Inserting a Part Studio Composite into an Assembly, is better or worse than using parts + composites + surfaces from a Part Studio that are Inserted and Grouped into an Assembly?

    Does an Imported file's native type i.e. step, parasolid, etc affect how well Onshape will cope with rendering the import later?  
  • eric_pestyeric_pesty Member Posts: 1,204 PRO
    edited March 2
    One thing you should do (if you haven't already) is to make sure you insert a version of the items in the top level. If the issue is just the amount of geometry I doubt the structure (parts vs assy vs composite) would make much difference.

    I would take another look at simplifying the models of these 8x things. Not to "pemanently" defeature them but creating configurations that suppresses as much of it as you can (possibly a couple of "levels" of simplifications), only keep the key "interfaces" you really care about (and maybe represent the rest with a few "volumes"). This way you can toggle to a simplified representation when you need to move things around (and to layout your drawing) and toggle back the details when needed to check the progress/get the final drawing done.
  • M_HutchisonM_Hutchison Member Posts: 25 PRO
    This is one of the views (can't share too much since its a customer project) but it gives a sense of the models involved.  Each piece of machinery has its own file that is only a Part Studio with two Features (Import & Composite Part), no other tabs.  This file is only those Composite parts inserted into an Assembly, no Mates, only manually positioned.  It makes me wonder how they do it when I see Onshape updates that show machinery like this.

  • eric_pestyeric_pesty Member Posts: 1,204 PRO
    As far as I can tell there is a lot you could suppress while still keeping the main "intent". Also not sure what is going with the bunch of lines in the middle but it looks like this could be slowing things down.
    What do the "performance report" show both for the assembly and for each "machine"?
  • M_HutchisonM_Hutchison Member Posts: 25 PRO
    The fuzzy machine in the middle is just a model that OS is struggling with, given long enough (15 min+) it will finally completely load.  What would you suppress?  For me, suppressing stuff defeats the purpose of 3D CAD, may as well go back to ACAD 2D for traditional floor plans (btw I despise ACAD 2D).
  • M_HutchisonM_Hutchison Member Posts: 25 PRO
    Thanks for the ideas BTW, I appreciate you taking the time to comment.
  • eric_pestyeric_pesty Member Posts: 1,204 PRO
    edited March 3
    Here's a quick example i built from a public "plant floor" model that was quite heavy.
    Obviously I didn't put much effort into simplifying things (you can start to delete faces if suppressing parts of the composite doesn't let you get enough details) it but see the difference between working with the simplified or "full detail" configuration of the assembly. Based on how painful it seems to be it would likely be well worth putting a couple of hours into creating these simplified configurations at the beginning.

  • M_HutchisonM_Hutchison Member Posts: 25 PRO
    Good point.  I was thinking the time penalty for simplifying the parts would be high but when I weigh that against the time I've spent waiting on lag, its probably equivalent.  Thanks for the example.
  • M_HutchisonM_Hutchison Member Posts: 25 PRO
    UPDATE:  I simplified the parts (machines) but it hasn't really helped.  In the end, you have to dumb your models down when you OS limit to load a file.  This post is partly me being super frustrated that I can't get a Drawing to load for 2 hours no matter what I've tried.  I'm at the lower limit of the information I can delete or suppress and still have a meaningful layout, a layout which is missing a bunch of other stuff.

    Its not discussed that OS doesn't cope well with large files.  For all the benefits of web browser based CAD, speed and load times are still a big limitation in my experience (not the first time I've choked OS).
  • S1monS1mon Member Posts: 1,982 PRO
    Can you post some stats on how complex the models are?

    So far I would agree that drawings are the least performant and most disappointing part of Onshape. That said, I’m still entertained by how I can spin reasonably complex models around on my phone, while a bunch of the other viewers (eDrawings, iRhino, PTCs Viewer) all choke.
  • M_HutchisonM_Hutchison Member Posts: 25 PRO
    I just want to export a pdf of the floor grid with the equipment on it but the damn drawing refuses to generate, endlessly Loading.  That's after I cut a bunch of other equipment out of it.  You now have to look at two drawings to see the whole picture.  I will say the recent update did help loading the Assembly, but Drawings are painful.
  • nick_papageorge073nick_papageorge073 Member Posts: 491 PRO
    I feel you on the speed.

    I've run into this with some pcba imports. Most of the time they are quick enough with a closed composite, but sometimes its just too big. In those cases, I'll import the pcba into a single part studio, and not select composite. This will result in hundreds or more of individual parts. Then I can quickly box select on screen the ones that don't add value to the mechanical design, and "delete part" on them. Whatever is left that I want, I create a closed composite by window selecting them all on screen.

    Maybe you can do something similar? But instead of deleting the parts, suppress them, and make a second configuration one being  "heavy" and one being "light". Do all your layout with the light versions. Only when you ware deep diving into a particular machine on the floor, see it in the full detail.

    IDK if you made the public doc just to share or its your real document. The 2D is linking the workspace version of the 3d assembly. This will slow down the 2d. If instead the 2d references a version of the 3d it should be quicker. You can also move the 2D to a separate document. Each document gets its own Amazon server virtual machine. Having the 2d document and 3D document on their own machine may help further.

    Good luck:)
  • eric_pestyeric_pesty Member Posts: 1,204 PRO
    Drawings definitely tend to be sluggish...
    However, I don't know if it has to do with the "read only" status, the drawing you linked above takes about 20s to fully load for me which isn't that bad.
    I understand that simplifying imported models can be a pain (depending how they were brought in too), but there is a ton of detail in there that is completely irrelevant at the "layout" level.

    Part of the challenge might that these machines are coming in as a pile of surfaces so it's not easy to suppress "parts" or remove details but that is what you would need to do. I do wonder if some of the tools like the "simplify PCB" custom feature would be able to help create "defeatured" versions (although probably not if it's just coming in as a pile of faces...)
Sign In or Register to comment.