I am working to try and improve my companies Creo start parts and configuration. One thing that annoys me terribly is the terrible Layer Scheme. Engineers don't even bother using layers and the result is that I have to work with a spaghetti mess of datum planes, axes, and csys. The layers are set by configuration option instead of by rules and I believe if they were set up by rules and easy to understand and use they would be much more manageable.
Does anyone have any Creo Parts with Layer Rules they would like to share for ideas? I remember working for a company that had an excellent rules scheme for layers. I know there is no absolute best way for setting layer rules, but I would like to see some examples from the community to help make rules that are sensible and easy to understand.
I don't know that our layers and rules are the best, but we are strongly encouraged to stick to the standard layers found in the start parts and the layers file. As far as rules, I have suggested we change our rules to look by feature as this will hide the feature in the tree, allowing it to be shown from the model tree without unhiding it in the layer tree. He is a snapshot of our layers and a rule.
"Default" layers are the suck. Rules-based layers are the way to go. The rules are a little quirky and sometimes don't work as they should, but you can get them to do a lot of neat things. If they'd fix the bugs and make it possible to to true conditional statements for the rules, they'd be a lot better, but still they're pretty effective. ALSO, the awesome thing about them is that you can fix parts that don't have the proper layer structure. See the attached presentation I found here many years ago. This helped me set up the layer structure I use.
Best of luck!
A downside to rule based layers which is not mentioned in the presentation is that they can be a performance hit for large assemblies.
We use rule based layers as well but ours are very simple. It would be prudent to do some testing on your end to make sure that there isn't a significant impact if you implement them.
I'd imagine if they were extremely large assemblies it MIGHT be possible. So far I haven't seen a performance hit that I could directly attribute to a rules-based layer scheme vs a default layer scheme vs. a dumb layer scheme. Do you have any back-to-back-to back testing data to support this? Are you claiming it's a one-time hit when loading the file or are you saying that it slows the assembly down ALL the time? I wouldn't think it would be a major hit as I would guess that once the object has been evaluated per the rules and put on a layer, Creo doesn't have to evaluate it again..and again....though I can't say I know the code well enough to say that for a fact. I wouldn't think every object would be evaluated all the time in real time, which would slow things down. I'd say your best performance enhancer for large assemblies would be using Simplified Reps, and LOD's, and that your performance hit (if any) from rules-based layers would pale in comparison to not using reps and LOD's.
From my experience, rules result with a lot of items on layers can bog down and crash the software - especially at the times when the software insists on highlight these items.
Hmmm, I've never seen anything like that, that I could attribute directly to rules-based layers vs "default" or "manual" layers of the same name. Did you do a detailed test comparing the 3 different layer types under identical conditions?
It would have to be a HUGE hit for me to want to stop using them, they just work so well, and we don't have gigantic assemblies. If I was doing a full-detail Boeing 757 it might be a different story. I know using a ton of flexible parts with the flexibility being used on all those parts causes issues, but that makes sense because in many cases the flexibility causes geometry changes at the assembly (spring compressed length, o-ring squish, etc.). So, the system has to calculate all those geometry changes AT the assembly level.
It was probably my badly worded post that confused the intended message which is that layer rules can be crafted that place every curve segment in the model in the layer. Then doing a simple action such as opening the layer manager and selecting this layer will make Creo pause for couple of minutes as it is processing the curves so that it can show them highlighted in the graphics window.
Similar situation happens if a complex drawing from AutoCAD is imported into Creo and layers filled with imported curve segments are automatically created.
I definitely wasn't trying to say that layers / layer rules should be avoided, just that there are ways where they will cause headaches.
Always a bit of deja vu finding a post of your that is several years old and not remember writing it.
I think I may have crossed wires a bit with that previous post. I did experiment with rules based layers and we walked them back at some point but I don't remember it being about large assembly issues.
What was a large assembly issue was rule based reps (which uses the same base functionality). I was trying to make a rep that eliminated components using the PTC_WM_LOCATION parameter. The issue was because it used a parameter it had to open a heavier rep of the part to get to the parameter information to determine whether it was excluded or not. It was more efficient to write a rules rep that was based on the filename instead.
I do not have timed based data for any of this.
If rule based layers have the associative checkbox checked then there will be a performance hit every time the assembly is regened. If the box is unchecked, the performance hit goes away. Below is regeneration time testing data with two assemblies each having about 100 parts (times continue to get worse with even larger assemblies):
Assy #1: Native Creo Config Layers: 5.3", new rule based assoc. layers: 16.4", same new layers set to non-assoc: 5.2".
Assy #2: Native Creo Config Layers: 2.2", new rule based assoc. layers: 7.7", same new layers set to non-assoc: 2.1"
We are moving to rule based non-assoc. layers for new parts. For existing parts we load the assoc. layer set first to gather all the existing features onto the correct layers and then use a macro to turn off the associativity on all layers before checking-in the part.
Dunno what else is in your assembly or what kind of hardware you're running, but I've had them with almost 500 parts, and never saw anything that slow.
There isn't anything I've ever seen to make me NOT use rules-base associative layers. There is just WAY too many advantages for me to NOT use them.