Continue to Site

Welcome to MCAD Central

Join our MCAD Central community forums, the largest resource for MCAD (Mechanical Computer-Aided Design) professionals, including files, forums, jobs, articles, calendar, and more.

Mastering Layers Q&A

gkbeer

New member
Hi All, As promised elsewhere I've started this thread to provide a question and answer forum on the topic of Mastering Layers. A presentation I made at the 2007 Pro/User Conf. in Tampa. That presentation ran 40 of the allotted 45 minuets. That was only after I cut it down to the barest bones.

Edit: The presentation is now attached to this post.

I'll toss in one thing I didn't have, when I made the presentation. Below is a mapkey that will make it possible for mapkeys that call the find dialog to run reliably.

The find dialog it a great way to create layers with rules. It's just that the find dialog retains the settings of it's last usage. Great for interactivity, poor for writing mapkeys. Find dialog mapkeys expect the UI to be in the exact same state as when the mapkey was created. This mapkey will reset the find dialog. Run it as the first step of recording any mapkey calling the find dialog.

Code:
mapkey /resetfind @MAPKEY_NAMEReset Find;@MAPKEY_LABELReset Find;\<br style="font-family: Courier New,Courier,mono;">mapkey(continued) ~ Activate `main_dlg_cur` `ProCmdMdlTreeSearch.edit_t`;\<br style="font-family: Courier New,Courier,mono;">mapkey(continued) ~ Update `selspecdlg0` `SelOptionRadio` `Feature`;\
<br style="font-family: Courier New,Courier,mono;">mapkey(continued) ~ Activate `selspecdlg0` `SelOptionRadio`;\<br style="font-family: Courier New,Courier,mono;">mapkey(continued) ~ Update `selspecdlg0` `LookByOptionMenu` `Feature`;\<br style="font-family: Courier New,Courier,mono;">mapkey(continued) ~ Activate `selspecdlg0` `LookByOptionMenu`;\<br style="font-family: Courier New,Courier,mono;">mapkey(continued) ~ Select `selspecdlg0` `RuleTab` 1 `Attributes`;\
<br style="font-family: Courier New,Courier,mono;">mapkey(continued) ~ Select `selspecdlg0` `RuleTypes` 1 `Name`

Moderators - this topic should more properly be in a Fundamentals forum except there isn't one. Hint Hint...

2007-08-02_112340_Mastering-Layers.zip

There are three things to know in order to master layers.
<div style="margin-left: 40px;">Knowing the basic rule of (in)visibility.
Knowing what is being put on the layers.
Knowing how layer status interacts with both of the above.
</div>
-------------------------------------
Edit: additional info

Andrew Burk created this following in 2005.
http://www.productview.com<wbr>/index-files4/tips/layer-1<wbr>.html << broken link gkb

It's a pretty good tutorial for creating and extending layers via the Layer dialog boxes.


08/02/26 - creating a Mapkey by using the find dialog to create a layer with rules... (quick and dirty version)
  1. Start recording your mapkey
  2. Run the /resetfind mapkey (listed above)
  3. Open the find dialog EDIT>FIND
  4. Create the rules and test them [FIND NOW] to see that the proper items are collected.
  5. When you are satisfied that the rules will select the type of item desired...
  6. Choose [OPTIONS]>SAVE QUEREY
  7. When prompted enter the name of a layer and hit [OK]
That's it.

Edited by: gkbeer
 
Glen,

I heard you mentioned in the Sorting Out Layers and the Layers in Pro-E Are a Pain
topics It's good to have a specific topic for this. The one thing that I think confuses most people is the internal axes for features which I don't believe can have the Axis and Quilt of an extruded feature hidden or shown separately even if the axis is chosen as an entity.

If one is hidden the other disappears with it. Let's say you want to have the internal axis of a feature hidden but still display the Quilt, I don't believe this is currently possible. For solid features as I have mentioned in the posts shown above if you hide the solid feature that creates the axis the axis gets hidden but individual solid features can't be hidden.

I expect that you don't have a solution to having a features Axis and Quilt being put on separate independent layers. The selection tool for LAyer contents is as follows and there is no Axis value. This is one of Pro/E's biggest limitations in the Layering Field.

It would be interesting in hearing your thoughts on use of Default_layer_model option.

Note lack of Axis or Datum as a selection option in the selection tool for Layer Contents shown in the picture below.

View attachment 3975

Michael
 
mjcole_ptc said:
Glen,

I heard you mentioned in the Sorting Out Layers and the Layers in Pro-E Are a Pain
topics It's good to have a specific topic for this. The one thing that I think confuses most people is the internal axes for features which I don't believe can have the Axis and Quilt of an extruded feature hidden or shown separately even if the axis is chosen as an entity.

snip..

Michael

What you mention is actually a bug and there is an SPR on it. If I'm remembering correctly, in either WF3, or was it 4, I saw that this will be different. The axis of hole features will be tied to the tap hole instead of the thread quilt. That will make it possible to control the display of hole axis separately from the display of the quilt.

edit:
<t></t><table><t><tr><th>Call #</th>
<td>5752696 </td>
</tr>
<tr>
<th>Company Name</th>
<td>LAWRENCE LIVERMORE NATIONAL LABORATORY</td>
</tr>
<tr>
<th>Customer #</th>
<td>516</td>
</tr>
<tr>
<th>Caller Name</th>
<td>Glenn
Beer

</td>
</tr>
<tr>
<th>Assignee Name</th>
<td>

William A
Marler

</td>
</tr>

<tr>
<th>Priority</th>
<td>Non-Critical</td>
</tr>




<tr>
<th>Closed Date</th>
<td>15-Jun-2007</td>
</tr>
<tr>
<th>Call Type</th>
<td>Technical Support</td>
</tr>
<tr>
<th>Description</th>
<td>Customer would like assistance
selecting the axis of a threaded hole feature to add to a layer. The
customer is able to select the hole feature, but not the axis.</td>
</tr>
<tr>
<th>Resolution</th>
<td>Pro/ENGINEER Wildfire 2.0 does not
allow selecting the feature axis of a threaded hole. This functionality
is available in Pro/ENGINEER Wildfire 3.0.</td></tr></t></table>

Edited by: gkbeer
 
It would be interesting in hearing your thoughts on use of Default_layer_model option.

The def_layer option. It's been available as an option for as long as I can remember using proe. (a long time)

Given the functions made available in WF, notably layer rules, there isn't much need for def_layer now. The only time they had any effect was during feature creation. They have never done anything for models that were created with different layering standards.

I don't use any, instead I rely on the start models being configured with layers having rules, and a group of mapkeys that let me quickly update any model I come across.
 
I don't think edits are reported by the bbs. So this is a bump to let every one know the presentation has been added to the top level post.
 
Here's a simple one:


What's the difference, within the search tool dialog box, between choosing


Look for: Feature Look by: Feature Category: All Value: Datum Plane


and choosing


Look for: Datum Plane Look by: Datum Plane Value: * ????


One more: what does "look by" even mean? Does it really mean "look in" or "search within"? To me, looking for a feature by datum plane means nothing.


I have to look for my lunch by trombonenow.
 
Glenn in regards to my question about default_layer_model I was not referring to def_layer config option.

default_layer_model C:\~\_start_part_in.prt

This option points to a location of a part file that contains Layers to be used for other parts of the same type. I have not really used this option and was wondering if may provide a simple method to adding layers to other parts without assembling it to an assembly and propagating the layers to the model.

The mapkeys I have made create the layer add the rules with the Associative option selected so all items matching the rules get added automatically. Then my mapkey edits Layer Properties and removes the Associative Rule option so that any new items get automatically added. The Associative Rule option is very annoying and in many cases confusing even if you understand the explaination given when the option is highlighted.

Michael


Edited by: mjcole_ptc
 
verge said:
Here's a simple one:


What's the difference, within the search tool dialog box, between choosing


Look for: Feature Look by: Feature Category: All Value: Datum Plane


and choosing


Look for: Datum Plane Look by: Datum Plane Value: * ????


One more: what does "look by" even mean? Does it really mean "look in" or "search within"? To me, looking for a feature by datum plane means nothing.


I have to look for my lunch by trombonenow.
As I understand it...
Look for: means literally just what it says. Find things that are features or whatever.
Look by: means don't bother with anything that isn't one of these...
Then you have all of the other selection filters in the various tabs.
A * will match any name, while ???? will only match names exactly 4 letters long.
I use a name match of a single ? to find features named with a single letter. Then I make sure only set planes and axis have names with single letters. This works great as the rule for a set_datums layer.

Specifically, the first search will find Features, the other will find geometric entities.
Unless you know why putting entities on a layer is useful, don't. But that's another post.

Here are some reasons why it's good not to confuse the two:
Datum plane features when placed on a layer and hidden will highlight in red if selected in the model tree. If instead, datum plane geometric entities are put on a layer and hidden, then when the feature is selected in the model tree it will not highlight in red. I find it quite useful to be able to click on a the model tree and have the item highlight.

When putting datum planes on layer, Layer status wise, it is disadvantageous, to have datum plane(features) on some layers and datum plane(entities) on other layers. Isolate will not function in a straight forward manner.

If you try to isolate the layer with the entities on it while the layer containing the datum plane(features) is still hidden. The planes will not be visible. The basic rules of invisibility kick in, and since the feature is hidden the entities will be too.

If the reverse happens where the layer containing the entities is Hidden, and the layer containing the features is Isolated, then the feature is visible but the entities aren't. Strictly due to layer status.

Looking for your lunch by trombone will work fine if the bag has a trombone sketched on it, or crammed in it or...
smiley2.gif



Edited by: gkbeer
 
mjcole_ptc said:
Glenn in regards to my question about default_layer_model I was not referring to def_layer config option.

default_layer_model C:\~\_start_part_in.prt

This option points to a location of a part file that contains Layers to be used for other parts of the same type. I have not really used this option and was wondering if may provide a simple method to adding layers to other parts without assembling it to an assembly and propagating the layers to the model.

The mapkeys I have made create the layer add the rules with the Associative option selected so all items matching the rules get added automatically. Then my mapkey edits Layer Properties and removes the Associative Rule option so that any new items get automatically added. The Associative Rule option is very annoying and in many cases confusing even if you understand the explaination given when the option is highlighted.

Michael

I have not taken the time to figure that out yet. That option is not well documented. I do know that you need to have a separate part and assembly model and that they need to be named the same. (_start_part_in.prt vs. _start_part_in.asm)

That option should read default_layer_model C:\~\_start_part_in (no suffex)

The following is pure speculation.
I have this vague notion that maybe with well defined default layer models, it might be possible to save your models without any layers at all. The default layer models being tapped to define some kind of session based layering. Imagine the designer could have a set of default layers that suited him. The detailer or machinist a different set. The models in session having which ever layers are invoked by the def layer models. I've been meaning to set op a test to find out it this is true. End of speculation.

I use the associated option. It forces the evaluation of the layer rule every time the model is regenerated. So if you have a layer rule that looks for features by name with the wildcard s* . All features with a name beginning with s will wind up on that layer. Anytime the model is regenerated and a feature had been renamed s-something. It gets put on the layer.

With only the independent option checked what happens is, the feature is only evaluated by the layer rule, at the time the feature is created. Much like the def_layer options in config.pro.

Edited by: gkbeer
 
Glenn,


I have this assembly pretty much under control now, using very basic concepts like "put all datum planes on this layer" and extending the rule down into every part and assembly of the larger assembly. I'm also placing groups or components that I want to isolate on separate layers.


The problem I'm having is only with the datum planes, axes, points and coordinate systems.When I open up the top level assembly, everything's fine - allof these features are hidden. The same is true as I move down the line.


When I regenerate the lower assemblies, though,datums, axes, points and csys'sappear.


Sometimes, I find the layer that they're on, open the layer properties dialog, find that the rules are in place, hit ok, close it out and the layers hide themselves again.


Other times, I find that the rules haven't extended all the way down to the part or lower assembly. The layers are there, but there are no rules attached, and nofeatures on the layers.


Seems to be a problem with the rules extending properly. Any clues as to how to solve this?
 
I can't believe we have an expert here who's joined the forum with the sole purpose of starting this Q&A on layers, and two of us are interested!


What's the deal? No-one bothers with layers in Pro-E? I thought we'd see a big response to this!


C'est la vie...
 
I've been lurking Verge...
smiley2.gif



Been pretty much tickled pink with the layer control of a patterned group feature


and been experimenting with....default_layer_model
 
Glenn,


In your presentation you suggest not placing components on layers, but only using simplified reps for components. Why do you suggest this? Easier to use?
 
All right, here I am again, in my new home...


There are random (well, I haven't found any connection between them thus far) parts in the lower assemblies that lose the layer rules when regenerated. Then if I extend the rules again from the top level assembly, I can watch them reappear within the layers of the part. If I regenerate the part once more, the rules disappear again.


Then, of course, I have to delete the layers within the part in order to extend rules again from the top level assembly. This is an infinite loop at this point.


I sent the entire assembly to customer support. He's going to have a nice time with this.


A long, lonely howl echoes out over the hills and trees...
 
verge said:
Glenn,snip...

Sometimes, I find the layer that they're on, open the layer properties dialog, find that the rules are in place, hit ok, close it out and the layers hide themselves again.


Other times, I find that the rules haven't extended all the way down to the part or lower assembly. The layers are there, but there are no rules attached, and nofeatures on the layers.


Seems to be a problem with the rules extending properly. Any clues as to how to solve this?
I'll bet you are using WF2. It has a problem that is fixed in WF3. I talked about this during the demos part of the presentation.

Whenever the extended layers encounter an instance, WF2 tries to create the layers in the instance instead of the generic, and for the current session it works fine. After save, clear and retrieve, some problems like you have described appear. This also happens for any part that is intersected by an assembly cut. It's really the same problem as assembly cuts are handled by creating hidden family tables in assembled part.
The best solution is to upgrade to WF3.

Short of that you will have to open the generic models one by one, delete the layers and reapply them using the mapkeys you have developed.

For intersected parts, it's a little more cumbersome. The hidden family tables are a little too well hidden. WF2's layering software misses them, even when the original part is opened and the layers modified as you would for a true generic part. The solution there is to open the assembly where the cut was created. Remove the part from the intersection list. (suppressing the cut won't work) Open the part and apply the layers. Then add the part back into the assembly cut's intersection list.

The assembly where the cut was created has to be opened and the assembly cut redefined to remove all members of the assembly from intersection. Then open the part and apply the layers mapkey. It won't work the apply the layers mapkey to the part without removing it from the intersection lists of all assembly cuts.

Again, the best solution to this problem is WF3.
 
verge said:
Glenn,


In your presentation you suggest not placing components on layers, but only using simplified reps for components. Why do you suggest this? Easier to use?

Mostly because I'm part of a large engineering organization. We have some monster jobs done in Pro/E. Personally I think it would be useful to put different class of parts onto layers and use Hidden and Isolate to control the display.

The useful part is that you can have a large assembly in memory and
with all but the currently relevant parts displayed, you can speed up
the graphics operations without having to sacrifice full regeneration
of the large assembly.


The rest of the organization had fits the first time one of my assemblies containing parts on isolated layers showed up in the next level. It had the impact of making components that were not in my assembly become invisible. My coworkers were not prepared for that and there was a backlash. For them it meant more work as they would have to start managing parts on layers. For them the cost/benefit ratio didn't seem to be favorable. Partly it's because our top level assemblies are so large that it's impossible to not use reps, so the full regeneration benefit is moot.

My recommendation however is just that, a recommendation. If anyone finds benefit in having components on layers and it works for your organization. Go for it.

Glenn
 
wsylvester said:
I've been lurking Verge...
smiley2.gif



Been pretty much tickled pink with the layer control of a patterned group feature


and been experimenting with....default_layer_model

Cool! I want to know the results. I suspect my speculations are all wrong. It's most likely just an easier way to implement layers with rules in about the same way that the def_layer option did. Where only new models and new features are impacted.

Edited by: gkbeer
 
Glenn,


I think that a mapkey to change the default_layer_model to suit who is using it, is a great idea and would work.


You involved with NIF?
 
wsylvester said:
Glenn,


I think that a mapkey to change the default_layer_model to suit who is using it, is a great idea and would work.


You involved with NIF?

Was working on NIF, Still part of NIF Directorate.

Just remember that was total speculation. How would you like it if every time you retrieved a drawing or model you had to track down the correct def layer model.
 
Can see both sides of the coin... maybe not for everyone... feel it could help our machinist tho


Haven't beenkeeping up on NIF.. any new news... kind of a magnetic confinement guy myself.. had a buddy who was working on the plasma translation phase of one of the project and when I was inLA I could ring him up and check things out.... too bad he passed away... he was a nice guy
 

Sponsor

Articles From 3DCAD World

Back
Top