0 Replies Latest reply on Nov 13, 2015 6:07 AM by Sean Beattie

    Global Variables through Multiple Assemblies

    Sean Beattie

      Hey.

       

      So I am trying to set-up a parametric assembly for a building archway.

       

      This archway is folded sheet metal (3 sides) that go around a frame on the wall (so a C section sheet metal on a frame). This detail is similar for the vertical and horizontal parts.

       

      So I make an assembly which is the existing building, and model in the walls. Call this assembly level 1. Here I set a view global variables eg height of wall, depth from wall etc. Then I add in an assembly to be one of the vertical legs.

       

      This is my 2nd level assembly. This assembly is to be the full height of the leg, so pulls in the height variable from level 1 and makes a part to be the frame. But the cladding is in 2 parts (bottom as full height and top as cut to suit) so I make 1 part being vertical module, with 2 configs, top and bottom. Bottom height is pulled from a standard variable in that assembly, top height is pulled from height from 1St level assembly minus the height from the bottom panel. This works fine

       

      Each module however has a subframe. So the top/bottom modules have to be assemblies. Painfully, it appears each part in this assembly (eg sheet metal and subframe)  must-have the same configs as the parent module for it to work. Eg: module(top) must use frame(top) and sheetmetal(top). Otherwise module(top) and module(bottom) configs try to use the 'same' frame part, which even though it is being driven by each configs, in theory it can't exist ad both lengths, so it needs matching configs...

       

      Can someone please confirm that is correct?

       

      Furthermore, I get this to work properly. Top module uses top frame at one length, bottom module use bottom frame at another length, both through configs and variables, and both of these are I'm the 2Nd level 'vertical leg' assembly along with the full height frame.

       

      Same applies for horizontal modules inbetween the two vertical legs. With various cut down lengths and configs etc. All works great through global variables and configs and I was.happy..

       

      Then when I go to change one, something breaks. I spent ages on this to work out what was breaking, but it appears it is put together properly. All that is breaking is a global variable (a few) that are pulling a global variable from a higher level...

       

      By break I mean the variable goes red, it says 'invalid/deleted dimension' and the height or width etc, doesn't update properly. Basically, my top and bottom module become the same height when they should he different. To fix, all I do is delete the link (text) and replace it with the same global variable link (exact same text) which turns from Red to blue and all is well.

       

      The whole assembly is extremely powerful and works properly apart from this error, which is just replacing the link with the exact same link.

       

      My solidworks rep has confirmed this as a 'bug' and quoted me SPR901101...

       

      He says there is no fix.

       

      Anyone have any experience with this...

       

      Global variables must be used this 'powerfully' which in my opinion is very simple, and surely this problem is widespread....

       

      His alternative was to use sketches and planes duplicated and referenced down though each assembly level, which is how I used to model and is so messy, complicated and redundant...

       

      Looking for any comment from anyone who understands what I am talking about..

       

      Any advice on better top down modelling methods. Workarounds etc would be greatly appreciated...

       

      This problem is further compounded by all the sheet metal parts being configurable from higher levels and trying to put all the flat patterns together on a single drawing side by side etc (again, some/all modules become same length ad each other despite their seperate configs}.

       

      To make it work for now, the configurable variables (eg length) I have defined as a real value in the lowest level part, just to get the flat patterns to work (rendering my parametric model useless and essentially becoming bottom up...) very disheartening....

       

      Looking forward to hearing from anyone.... Thanks in advance.