Layer rules are messed up and inconsistent
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
Layer rules are messed up and inconsistent
Hello,
This is a cry for help (read: rant) regarding layer rules. I have been trying for days now to get them to work but they seem extremely bugged and inconsistent to me. Some rules don't seem to work at all.
Sometimes rules for one type of feature work while the same rules applied to another type of feature don't work.
Let me show you an example:
I have a layer 02_DEF_PLANES for default datum planes, including them by name. I have another layer 05_PLANES for all other datum planes, excluding the default datum planes by name. This one works.
I also have a layer 03_DEF_AXES for default datum axes, including them by name. I have another layer 06_AXES for all other datum axes, excluding the default datum axes by name. This one just ignores the naming rules and puts the A_X, A_Y and A_Z axes from the external inheritance on the 06_AXES layer. Note that these axes are NOT on this layer in the inherited part.
What is going on here?
Layer rules also do not apply at all to items from external data on layers with the same name. In my examples datums from the external inheritance are placed on layers where I have excluded them by rules.
By now this has gotten me quite frustrated an annoyed. As expected, there is no decent explanation/help on layer rules to be found in PTC documentation. So I'm left to trial and error whatever ideas I come up with and try getting help here.
If anyone can explain the issues above please let me know. Help is greatly appreciated!
Solved! Go to Solution.
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
Not exactly, that's why I'm wondering what is being searched by on your 01 and 04 layers. Here is an example of what I'm referring to and see if they make sense to you. I'll include how I interpret what I'm seeing.
- LAY0001 searches for a coordinate system with Look for: Coordinate System, Look By: Coordinate System, with Attribute Name: *DEFAULT. Datum DEFAULT is placed on layer.
- LAY0002 searches for a coordinate system with Look for: Coordinate System, Look By: Coordinate System, with Status: Layer: Not Included: LAY0001. Datum DEFAULT isn't placed on the layer since it's included on LAY0001.
- LAY0003 searches for a coordinate system with Look for: Coordinate System, Look By: Feature, with Status: Layer: Not Included: LAY0001. Datum DEFAULT is placed on the layer since LAY0001 doesn't have a feature on it named DEFAULT.
- LAY0004 searches for a coordinate system with Look for: Coordinate System, Look By: Feature, with Attribute Name: *DEFAULT. Datum DEFAULT is placed on layer
- LAY0005 searches for a coordinate system with Look for: Coordinate System, Look By: Feature, with Status: Layer: Not Included: LAY0004. Datum DEFAULT is placed on the layer since LAY0004 doesn't have a feature on it named DEFAULT.
- LAY0006 searches for a coordinate system with Look for: Feature, Look By: Coordinate System, with Attribute Name: *DEFAULT. Feature DEFAULT is placed on layer.
- LAY0007 searches for a coordinate system with Look for: Coordinate System, Look By: Feature, with Status: Layer: Not Included: LAY0006. Datum DEFAULT isn't placed on the layer since it is part of the Feature DEFAULT definition.
- LAY0008 and LAY0009 used OR rule definitions to get items on layers.
In order to make sense of the pics of the layer definitions shown I'd need to see the rules for layers 01 and 04
and what ends up on them.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
Hello @Wouter
got similar layers structure. You are using "AND" condition for default planes and it´s the core problem (in my opinion). Try to use "OR" instead of this. See following pictures from mine solid_start_part.prt. Plane names are different, but logic should be the same... In general:
1) Default planes - include plane that name is "bokorys" OR "narys" OR "pudorys"
2) Datum planes - inlclude all planes that name IS NOT EQUAL to "bokorys" AND "narys" AND "pudorys"
Keep same logic for coords, axis etc...
See attached part...
Regards
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
Hello @@mbonka
Thank you for your reply. Your rules seem to be setup in the exaxct same way as mine (same logic). See the attached example pictures:
Default Planes:
Other Planes:
The issue I was describing was that sometimes rules for one type of feature work while the same rules applied to another type of feature don't work. I showed only the layer rules for non-default datum planes and non-default axes to show that sometimes the rules ignore items in external inheritance features and sometimes they don't. I haven't found out why yet...
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
Example for datum plane:
l think it´s unimportant where from the datum plane is coming (regular solid part, assembly or imported part).
l think it depends on the name of datum plane (top, bottom etc.) - name in model tree.
For some inspiration see Vladimir´s "automatic layer" tutorial:
https://www.youtube.com/watch?v=zA9X4FOQQPE
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
Example for datum plane:
l think it´s unimportant where from the datum plane is coming (regular solid part, assembly or imported part).
l think it depends on the name of datum plane (top, bottom etc.) - name in model tree.
For some inspiration see Vladimir´s "automatic layer" tutorial:
https://www.youtube.com/watch?v=zA9X4FOQQPE
- Tags:
- automatic layer
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
Thank you again for trying to help. Unfortunately the issues I have are not related to the feature names but to the way the rules work (or don't work) in general. The video tutorial filters only by name, which is not what I'm trying to achieve.
I'm still trying to a decent set of rules working for my layer setup, but refuse to give up jet yet 🙂
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
So what the rule should be? Pick items based on what (name, ID, type...)? Shortly please
Sometimes it helps when you take a view from above...
l think in generall there can be 2 basic ways to sort items in layers:
1) Pick this, this and this based on this rule
OR
2) Pick everything and EXCLUDE this, this and this based on this rule
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
I agree there is no best way, it depends on the situation which way is better (more robust) to achieve what you want.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
I'm still struggling with those layer rules. I'm trying to get coordinate features and coordinate entities to show up on one layer, but not the entities when the feature itself is already on the layer. So a CS feature should not have the CS entity on the layer as well. A sketch feature which contains a CS should not be on the layer, but the CS entity should. While I was working on this I noticed some weird behaviour in the and/or statements.
The first 3 images show the exact same rules as the last 3 images. Only the order is changed and the and/or statements are changed to match the order. These should give the exact same result but the preview shows the don't. Am I missing something or is it a bug?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
I would think the results should be the same, but I'm no logic expert in this area.
Also, wouldn't a simple statement that if it's on the default CS layer accomplish the same thing? If it's on both the def CS and the CS layers, it's on the def CS layer, right?
Lastly, trying to place CS entities from sketch features is of limited value, in my view. If the sketch feature is on a sketch or curve layer and is hidden, the CS entity inside it will be hidden no matter what the display status of other layers it may belong to. There's no way to show the CS entity without showing the sketch feature too. The only thing it will give you is the ability to hide the CS entity and show the rest of the sketch feature.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
"The only thing it will give you is the ability to hide the CS entity and show the rest of the sketch feature."
You're right about that. I was thinking about using e.g. isolate and saved statuses, but you've made me realise that it is not a good way. I'll stick to just putting CS features on the layer.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
They won't give the same results because in one instance you are looking for a feature and in the other you are looking for an entity that is part of a feature. Try
Look for: Csys
Look by: Feature
Attributes: Type: Sketch
Look for: 3D Curve
Look by: Feature
Attributes: Type: Sketch
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
I f you compare each of the 3 rules side by side you can see that both rule sets are identical. At least in my opinion. The difference is only the order: (A and B) or (C) vs. (C) or (A and B).
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
It would also be helpful to see what the rule dialogs are for your 01 and 04 layers. What I'm referring to is when you look for a coordinate system and look by coordinate system you get different results than if you look for a feature and look by coordinate system. So it's not just the rules you need to look at but you need to look at what you are looking for and looking by. The results will be different depending on the combinations chosen. There might be a conflict there that is giving you something different than you're expecting.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
The rule dialogs are in the screenshots to show exactly what you described. The results don't make sense to me.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
Not exactly, that's why I'm wondering what is being searched by on your 01 and 04 layers. Here is an example of what I'm referring to and see if they make sense to you. I'll include how I interpret what I'm seeing.
- LAY0001 searches for a coordinate system with Look for: Coordinate System, Look By: Coordinate System, with Attribute Name: *DEFAULT. Datum DEFAULT is placed on layer.
- LAY0002 searches for a coordinate system with Look for: Coordinate System, Look By: Coordinate System, with Status: Layer: Not Included: LAY0001. Datum DEFAULT isn't placed on the layer since it's included on LAY0001.
- LAY0003 searches for a coordinate system with Look for: Coordinate System, Look By: Feature, with Status: Layer: Not Included: LAY0001. Datum DEFAULT is placed on the layer since LAY0001 doesn't have a feature on it named DEFAULT.
- LAY0004 searches for a coordinate system with Look for: Coordinate System, Look By: Feature, with Attribute Name: *DEFAULT. Datum DEFAULT is placed on layer
- LAY0005 searches for a coordinate system with Look for: Coordinate System, Look By: Feature, with Status: Layer: Not Included: LAY0004. Datum DEFAULT is placed on the layer since LAY0004 doesn't have a feature on it named DEFAULT.
- LAY0006 searches for a coordinate system with Look for: Feature, Look By: Coordinate System, with Attribute Name: *DEFAULT. Feature DEFAULT is placed on layer.
- LAY0007 searches for a coordinate system with Look for: Coordinate System, Look By: Feature, with Status: Layer: Not Included: LAY0006. Datum DEFAULT isn't placed on the layer since it is part of the Feature DEFAULT definition.
- LAY0008 and LAY0009 used OR rule definitions to get items on layers.
In order to make sense of the pics of the layer definitions shown I'd need to see the rules for layers 01 and 04
and what ends up on them.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
Thank you for your elaborate answer. I'll look into it as soon I have some time and get back to you!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
@@kevin
Thank you very much for your elaborate answer! It really helped me understand the rules better
In particular LAY0001 and LAY0003, where the CS DEFAULT -is- placed on LAY0003, because LAY0001 has the CS on it found by look by CS where for LAY0003 it is placed on the layer because it is found by look by feature.
I expected the CS DEFAULT -not- to be placed on LAY0003 because the CS DEFAULT is already on LAY0001.
I din't know that when referencing (items on) other layers Creo also takes into account the rules by which an item has been placed on a referenced layer, not just the fact that the item exists on a layer (ignoring by which rule it got on that layer).
I find this very confusing and it makes understanding layers more difficult, but I think it might just widen the possibilities to precisely define what is placed on a layer.
Why doesn't PTC provide decent documentation to their software? Maybe they don't understand it themselves ;-)?
Thank you very much for helping out! I'll get to work with this new understanding...
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
I've noticed that as well. I made a "curve" layer with rules to exclude 2 curves of a specific name. It will NOt filter those out no matter what I do. I have to manually "exclude" them. PITA, but, it's only those 2. The "rules", while they usually work great, DO seem glitchy in some instances.....like a lot of features.... 😉
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
Ok, I might have found a fix for some of this glitchy behavior. First I did a "Remove" of all the rules on the "CURVE" layer. Then I created and correctly named the features I wanted to exclude ("!= to") by "Feature, Name" BEFORE re-creating the layer rules. This way, you are able to pick the feature names to exclude from the drop-down, instead of typing them in. I think it lulls you into thinking that since you typed it in, it recognizes it even if the feature doesn't exist, but somehow it just doesn't, leading to massive frustration and extensive use of the Pro/FANITY module..... Then, after the layer rules are established and you've checked that they work, you can delete the features. I did this to all my start parts, and now, whenever I make a curve it goes on my "CURVE" layer, but as soon as I name it "PART_MARKING_CURVE" and then AFTER a regen it goes from the "CURVE" layer to the "PART_MARKING_CURVE" layer. So, now, it works for all my new part. Yay me!
In a nutshell, it SEEMS like the feature must exist by the name you want to exclude prior to creating the layer rules. Glitchy, but I finally got it to work like it should. Good thing, because it was really p!$$ing me off, because I KNEW it should work as ruled.
Hopefully creo 4 will have fixed some of these glitches instead of just moving the commands around so we can't find them anymore....
Best of luck!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
I'm also Pro/FICIENT in the Pro/WORKAROUND module... LOL 🙂
Funny, I make these jokes, but newer (i.e. creo) users won't know why I'm phrasing them like that.......
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
Imagine what would happen if PTC startet renaming their modules and functions, e.g.
Rendering: PRO/vision
Style: PRO/creation
Status manager: PRO/state
Failure resolve mode: PRO/cure
😉
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator