cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community Tip - Visit the PTCooler (the community lounge) to get to know your fellow community members and check out some of Dale's Friday Humor posts! X

Layer rules are messed up and inconsistent

Wouter
10-Marble

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.

180922_Layer PLANES Creo Parametric 4.0.png

 

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.

 

180922_Layer AXES Creo Parametric 4.0.png

 

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!

 

 

1 ACCEPTED SOLUTION

Accepted Solutions
Kevin
10-Marble
(To:Wouter)

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.

 

Layer_Rules.PNG

  1. 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.
  2. 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.
  3. 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.
  4. LAY0004 searches for a coordinate system with Look for: Coordinate System, Look By: Feature, with Attribute Name: *DEFAULT. Datum DEFAULT is placed on layer
  5. 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.
  6. LAY0006 searches for a coordinate system with Look for: Feature, Look By: Coordinate System, with Attribute Name: *DEFAULT. Feature DEFAULT is placed on layer.
  7. 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.
  8. 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.

View solution in original post

24 REPLIES 24
mbonka
15-Moonstone
(To:Wouter)

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...

layers-planes_rules_logic.JPG

See attached part...

Regards

@mbonka

Wouter
10-Marble
(To:mbonka)

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:

180924_3342_Layer_Properties.png

Other Planes:

180924_3343_Layer_Properties.png

 

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...

mbonka
15-Moonstone
(To:Wouter)

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

 

@mbonka

 

 

mbonka
15-Moonstone
(To:Wouter)

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

 

@mbonka

 

 

Wouter
10-Marble
(To:mbonka)

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 🙂

mbonka
15-Moonstone
(To:Wouter)

So what the rule should be? Pick items based on what (name, ID, type...)? Shortly please Smiley Happy

 

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

 

Wouter
10-Marble
(To:mbonka)

I agree there is no best way, it depends on the situation which way is better (more robust) to achieve what you want.

Wouter
10-Marble
(To:Wouter)

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?

 

dgschaefer
21-Topaz II
(To:Wouter)

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.

--
Doug Schaefer | Experienced Mechanical Design Engineer
LinkedIn

"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.

Kevin
10-Marble
(To:Wouter)

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

Wouter
10-Marble
(To:Kevin)

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).

Kevin
10-Marble
(To:Wouter)

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.

Wouter
10-Marble
(To:Kevin)

The rule dialogs are in the screenshots to show exactly what you described. The results don't make sense to me.

Kevin
10-Marble
(To:Wouter)

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.

 

Layer_Rules.PNG

  1. 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.
  2. 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.
  3. 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.
  4. LAY0004 searches for a coordinate system with Look for: Coordinate System, Look By: Feature, with Attribute Name: *DEFAULT. Datum DEFAULT is placed on layer
  5. 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.
  6. LAY0006 searches for a coordinate system with Look for: Feature, Look By: Coordinate System, with Attribute Name: *DEFAULT. Feature DEFAULT is placed on layer.
  7. 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.
  8. 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.

Wouter
10-Marble
(To:Kevin)

Thank you for your elaborate answer. I'll look into it as soon I have some time and get back to you!

Wouter
10-Marble
(To:Kevin)

@@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...

mbonka
15-Moonstone
(To:Kevin)

Rescpect for you @Kevin if  you found correct solution.

Patriot_1776
22-Sapphire II
(To:Wouter)

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....  😉

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!

That's one hell of a complicated workaround... I wish PTC would test their software a lot better before releasing it. I do appreciate the Pro/FANITY extension, since it comes for free with any other license and always works 😉
Patriot_1776
22-Sapphire II
(To:Wouter)

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.......

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

 

😉

Top Tags