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.

Significant difficulties transitioning from NX

mike_molinarimike_molinari Member Posts: 5
Hello,
I have been using Onshape for the past week pretty heavily coming from using other parametric modelers in the past. 

I have run in to some difficulties in accomplishing the following tasks and wanted to see if there are any readily accessible solutions. 

  1. My first difficulty stems from the editing in context stuff. Is there a way to enable updating all the time. Right now it seems it is impossible to do an equivalent of wave linking in NX where geometry referenced out side of a part is automatically updated along with related features with out the labors task of updating each context individually. In NX the interface was very clear and the decision to have manual (delayed until user interaction) or automatic inter-part updates was made available and defaulted to automatically updating. 
  2. My second problem is related to sub assemblies. When consuming sub assemblies in to higher level assemblies it seems I can move parts under the sub assembly but when opening just the sub assembly the positions from the upper level assembly is not reflected. I can also find no way of resetting the position of all of the sub components at the higher level assembly level. This is very disconcerting. In NX the position of a part in an assembly is stored in that assembly and the sub assembly as a whole is is treated as a single part for the purposes of positioning and constraining. The only way a part in a sub assembly's location can differ from that of its location in the sub assembly is to manually override its position at the higher level that consumes the sub assembly. 
  3. The third problem I am running in to is related to how the hole command works when used on a sheet metal object. I have tried to make countersink type holes but it seems that the logic used by system for doing a subtract boolean function related to sheet metal is interfering. I understand that when doing a cutout in a sheet metal part it is best not to add any angled faces but because this is a separate operation done post cutting I need to represent the hole in its counter sunk configuration.

Comments

  • tim_hess427tim_hess427 Member Posts: 648 ✭✭✭✭
    @mike_molinari - I'll respond in order of your comments:
    1. I haven't used NX, so its hard for me to really picture the alternative in-context editing workflows. It seems like in-context editing in onshape is likely intended for making a few specific references (and implemented as such). However, if you're in a situation where you're continuously updating a bunch of different contexts, it may make sense to just model those parts in the same part studio. 
    2. Are you referring to mates or un-restricted positions of components? I believe that the "mates" do stay with they assembly in which they were defined. However, the "position" (set by just clicking and dragging or using the manipulator triad) of an item is not controlled. So, you can have mates in a sub-assembly, mates in a top-level, and mates connecting the two (which would live in the top-level assembly). For example, if I have a hinge as a sub-assembly, the two leaves of the hinge and the pin will all be mated together, but if using revolute mates, the two leaves should be free to rotate open and closed. When I pull the hinge into different assemblies, those mates will all come with it, but I'll still be able to open and close the hinge as needed for each application. Do you have an example that shows the issue you're having? 
    3. When working with sheet metal, all you can do are basically 2D operations and bends until you "close" the sheet metal model. Then you can add holes with countersinks and other more complex features. https://cad.onshape.com/help/Content/finishsheetmetalmodel.htm After you close the sheet metal model, the counter sink should work correctly. 


  • mike_molinarimike_molinari Member Posts: 5
    Hello @tim_hess427,
    Thanks for taking the time to respond. I know I sound like an NX fanboy and that might be true so please don't take the ramblings of a new onshape user to heart. There are major differences in the way onshape and other package work that have proven to make me uneasy about how things actually work. The feeling I get is that onshape is kind of loosey goosey on any kind of structure and lacks being opinionated in any way to foundate a design philosophy weather its top down or bottom up. The document workspace is also a bit jarring coming from a structured environment with individual part files for each item or assembly and heavy use of multi level complex assemblies where portions of the design can be locked or are tightly controlled by there own individual teams. I fear that things might just be too permissive to apply a rigorous approach in design philosophy.

    My difficulty with assembly positions is shown in this screen capture. 
    https://youtu.be/4DJQHty4Zi4

    1. Wave links are the mechanism in NX where features, edges or other geometry from outside the part can be used inside a part. Parts can also contain more than one body. Reference sets on each part define what bodies are shown by default when a part is consumed in to an assembly and can optionally be switched to show the other reference sets like the keep out space for maintenance or a cutout body that could be linked in to the part it mounts to in order to subtract a mounting hole pattern. In NX you could for example place a part that requires a triangular shaped hole in the piece it mounts to. You could model a body inside the the part that represents the hole the part needs and link that body in to the piece it mounts to in context of the assembly. That linked body could then be subtracted from the piece it mounts to. In this case any time I move the part the hole in the other part follows it. If i change the size of the part and its cutout body it automatically updates in the other part as long as I have the assembly across witch they are linked open in my session. In NX the linked body shows as feature and has the option of automatically updating, updating only when the user explicitly tells it to update or to completely break the link between the 2 parts. 
    2. In NX each part is an individual file. An assembly can be consumed in to a larger assembly and as a whole is treated a single rigid item for the purposes of assembly constraints and positioning. For example I might have a bracket assembly that holds a wheel. It has a shaft, a wheel and the bracket. I can place this assembly as a whole in to a larger assembly and apply constraints to it as a single item. I could place two of the bracket assemblies in to an assembly that has a surface that they mount to. I could constraint the mounting face of the brackets to the mounting surface, align the side faces of the wheels from each assembly to one another and specify a distance center line of shaft to center line of shaft between the two. In NX the bracket assembly is positioned as a whole and the parts under it can not be affected by assembly constraints at the higher level with out specifying a specific override at the higher level assembly. Creating assembly mates in onshape has been a nightmare because I have to re-constrain each individual sub assembly piece in to position again when I go to use the sub assembly anywhere. I am assuming that it is lack of knowledge on my part because surely this could not be the way it is intended to be.
    3. Finishing the sheet metal part prior to adding the countersunk holes seems to have worked. I can also now also apply chamfer features and not affect the flat pattern. It is still some what troubling to me that features like countersink, counter bore and threading can not be applied in such a way that the features take the trip to the flat pattern. Many machines these days support laser cutting, punching, countersinking and tapping completely within the same machine. I ended up having to make my screw clearance holes prior to finishing the sheet metal and then add a second hole feature afterwards to get the counter sink operation. This was the only way I discovered to at least get the thru holes put in by the laser and to document that countersink operations must be completed after it has been cut. If I did not do this I would have to manually drill each hole and countersink it after after it was cut requiring me to lay out and manually measure each hole. Not an ideal situation. 
  • dirk_van_der_vaartdirk_van_der_vaart Member Posts: 549 ✭✭✭
    Just took a quick look, it looks to me that U used planar mates were fastened mate could be a better way???
    And to undo unwanted changes, see history and restore to a time in history.
  • tim_hess427tim_hess427 Member Posts: 648 ✭✭✭✭
    Thanks for the video. Overall, yes, onshape doesn't have a clear bottom-up or top-down workflow. It can function really well in either way (or even some hybrid). One of the challenges with onshape's learning curve is understanding all the different options and when to use each. 

    As an alternative to the Wave links, have you tried looking at the "derive" feature? It sounds a lot like what you describe. It allows you to create import a linked part, sketch, or other object from a different part studio. If the original part is ever updated, there will be option to update this link or keep it at the previous version. 

    For the assembly issues:
    • Like Dirk suggested, replacing all of the planar mates with "fasten" and "slider" mates may help clear things up. Unlike some other systems, where mates are added to progressively constrain different degrees of freedom, a single mate in onshape is intended to define the entire relationship between to components. If the two components should not move at all relative to each other - you can use a single fasten mate. If one is supposed to rotate inside of the other, a revolve mate can be used, etc.. Once you get the hang of it, its pretty easy to make sure the assembly is fully constrained. 
    • Mates from a sub-assembly will propagate up to a top-level assembly. However, new mates at the top-level won't propagate down. When you're in the top-level assembly tab, expand the sub-assembly in the feature tree and you'll be able to see the sub-assembly mates. 
    • The "position" of parts is not controlled and won't propagate either way. 
    • I think the best approach for your assembly would be change the mates to "fasten" mates as much as possible. If something like the plate you dragged in the video is supposed to move - you can use a slider mate to define which direction it should slide. Within this, you can also define limits. Then, when you drag the part it'll slide within those limits and you can right-click on the mate and select "reset" to move the part back to its original position when the mate was defined. 
    Summary: 1) replace the many planar mates with fasten, revolve, and slider mates. 2) define limits for anything that should be able to move. 3) right-click on the mate for a "reset" option. 

    Hope this helps!
  • mike_molinarimike_molinari Member Posts: 5
    Thank you @dirk_van_der_vaart and @tim_hess427

    Working in the system more and applying the suggested approaches has mitigated some of the issues I was facing. While I am not comfortable with the system as a whole because of the lack of structure I am beginning to understand some of the capabilities and decision made in the onshape approach to CAD. 

    Fully locking down the locations of parts with in a sub assembly also alleviated the problems and the approach of allowing mates to pieces under a sub assembly that are not completely locked down has some understandable merit. While it is not immediately comfortable at least the rules are becoming more clear for me. 
  • tim_hess427tim_hess427 Member Posts: 648 ✭✭✭✭
    @mike_molinari - I'm glad its getting easier. I've been using onshape for a couple years and I still have to occasionally stop and think about how things should be linked and related. However, I do believe there is a lot of benefit to the flexibility as well once you get used to it. 

  • ian_d_gardinerian_d_gardiner Member, User Group Leader Posts: 35 PRO
    Continue your exploring Mike. You will discover for yourself why a cloud database is so powerful for CAD design

    NX, Creo, Catia, SW are all mature and richly featured CAD programs. As designers, we approach Onshape as a CAD package, but actually Onshape is a cloud database which has a CAD interface

    If you take time to appreciate this difference you'll begin to understand why the industry is moving to the cloud and why having native cloud database, handling data silently and robustly in the background, frees us to do our best work
Sign In or Register to comment.