Skip to main content
1-Visitor
December 12, 2013
Question

CONFIG SETTING FOR DATUM FILTERS?

  • December 12, 2013
  • 18 replies
  • 23165 views

Hey all,



I am trying to see if there is a config setting that will leave the Datum Display Filters off on startup.



Thanks for the help,


Tim

18 replies

1-Visitor
December 13, 2013
I agree 100%. Sometime ago (Pro2001 or so) we implemented the suggested layer scheme provided by PTC with their start parts. Before this we had some models with layers 1-32, but most with no layers defined, along with no default planes or csys. Definitely a pain to use parts without consistent defined layers for assembly, NC, etc...

It is such a standard now that when I bring up older parts (rare) that don't have the (standard) layering scheme, I apply Modelcheck to delete the old layers and put all of the features on the 'correct' layers. The only problem left is how to get layer rules enforced, as Modelcheck will not create these rules, but manually puts features on the layers.

The only problem with layering features and hiding/showing layers, is in some commands (in WF5-CEP) I can't change the layer status when I am in the middle of a command. Maybe this will change in CREO2 or maybe 3. BTW, who at PTC thought 'Unhide' was a better choice than 'show' for layer visibility?

I think some of the real power of layers is that you can have 'meta' layers that will hide other layers, esp. in Assembly mode. Such as: 01_ASM_ALL_DTM_PLN in the default PTC assembly template will hide all datum planes.


Christopher F. Gosnell

FPD Company
124 Hidden Valley Road
McMurray, PA 15317
18-Opal
December 13, 2013
Chris,

The only way I have found to easily create rule based layers is with a mapkey, actually a set of mapkeys. Works well once you have it set up.

-marc


21-Topaz II
December 13, 2013
I love layers and the search tool, use them both extensively.

That said, layers are more complicated than they need to be. There's a lot of power and flexibility, but getting it set up and training users on it is a bear. I went through this a few years ago with Glenn Beer's excellent layer presentation from PTCUser 2007, I think (look it up at mcadcentral.com, it's excellent). I have a nice set up that really works well, I think, but users' eyes glass over when you explain it to them.

Thing is, in our world, we use the client's start parts & layer standards, so having our own, no matter how nice, frequently isn't very helpful.

--
13-Aquamarine
December 13, 2013
Here's a set of rule based layer mapkeys. Modify the layer names to what you want.

!=========================================================
!== Layers ==
!=========================================================
mapkey fal @MAPKEY_LABELFIX ALL MODEL LAYERS;\
@MAPKEY_NAMEThis will modify all sub model components;\
%_2_delete_all;\
%_2_add_layers;\
%_2_extend_layers

mapkey fcl @MAPKEY_LABELFIX CURRENT MODEL LAYERS;\
@MAPKEY_NAMEThis will only modify the current model;\
%_2_delete_current;\
%_2_add_layers;

mapkey _2_delete_all @MAPKEY_LABELDELETE ALL MODEL LAYERS;\
~ Command `ProCmdMdlTreeShowLyrs`;\
~ Activate `main_dlg_cur` `LayerExpandAll`;\
~ Select `main_dlg_cur` `PHTLeft.PHLayerUI.AssyTree` 1 `node0`;\
~ RButtonArm `main_dlg_cur` `PHTLeft.PHLayerUI.AssyTree` `node0`;\
~ Command `ProCmdLayer_SelectLayers` ;\
~ RButtonArm `main_dlg_cur` `PHTLeft.PHLayerUI.AssyTree` \
`node0`;\
~ Command `ProCmdLayer_DelLay` ;\
~ Activate `UI Message Dialog` `yes`;

mapkey _2_delete_current @MAPKEY_LABELDELETE CURRENT MODEL LAYERS;\
~ Command `ProCmdMdlTreeShowLyrs`;\
~ Select `main_dlg_cur` `rad_list_layers_for` 1 `act_obj_and_lays`;\
~ Activate `main_dlg_cur` `LayerExpandAll`;\
~ Select `main_dlg_cur` `PHTLeft.PHLayerUI.AssyTree` 1 `node0`;\
~ RButtonArm `main_dlg_cur` `PHTLeft.PHLayerUI.AssyTree` `node0`;\
~ Command `ProCmdLayer_SelectLayers` ;\
~ RButtonArm `main_dlg_cur` `PHTLeft.PHLayerUI.AssyTree` \
`node0`;\
~ Command `ProCmdLayer_DelLay` ;\
~ Activate `UI Message Dialog` `yes`;\
~ Select `main_dlg_cur` `rad_list_layers_for` 1 `all_objs_and_lays`;

mapkey _2_add_layers @MAPKEY_LABELADD LAYERS;\
~ Command `ProCmdMdlTreeShowLyrs`;\
%_2_axis;\
%_2_cosm_sketch;\
%_2_csys;\
%_2_curve;\
%_2_plane;\
%_2_point;\
%_2_set_datum;\
%_2_surface;\
%_2_thread;

mapkey _2_extend_layers @MAPKEY_LABELEXTEND LAYERS TO SUB MODELS;\
~ Command `ProCmdMdlTreeShowLyrs`;\
~ Select `main_dlg_cur` `PHTLeft.PHLayerUI.AssyTree` 1 `node0`;\
~ RButtonArm `main_dlg_cur` `PHTLeft.PHLayerUI.AssyTree` `node0`;\
~ Command `ProCmdLayer_SelectLayers` ;\
~ Command `ProCmdLayer_ExtendRules`;

mapkey _2_axis @MAPKEY_LABELAXIS LAYER;\
~ RButtonArm `main_dlg_cur` `PHTLeft.PHLayerUI.AssyTree` `node0`;\
~ Command `ProCmdLayer_NewLay` ;\
~ Update `newlayerprops` `LayerNameInput` `_2_AXIS`;\
~ Select `newlayerprops` `PropTab` 1 `RulesDefsettingsLay`;\
~ Activate `newlayerprops` `EditRulesBtn`;\
~ Select `selspecdlg0` `SelOptionRadio` 1 `Feature`;\
~ Select `selspecdlg0` `LookByOptionMenu` 1 `Feature`;\
~ Select `selspecdlg0` `RuleTab` 1 `Attributes`;\
~ Select `selspecdlg0` `RuleTypes` 1 `Type`;\
~ Select `selspecdlg0` `ExtRulesLayout.ExtTyperuleLayout.TyperuleCatsList` 1 \
`Misc`;\
~ Select `selspecdlg0` `ExtRulesLayout.ExtTyperuleLayout.TyperuleTypesList` \
1 `has axes#4, 92`;\
~ Activate `selspecdlg0` `AddRuleBtn`;\
~ Activate `selspecdlg0` `SelectButton`;\
~ Activate `newlayerprops` `AssocRulesChk` 1;\
~ Activate `newlayerprops` `OkBtn`;

mapkey _2_cosm_sketch @MAPKEY_LABELCOSMETIC LAYER;\
~ RButtonArm `main_dlg_cur` `PHTLeft.PHLayerUI.AssyTree` `node0`;\
~ Command `ProCmdLayer_NewLay` ;\
~ Update `newlayerprops` `LayerNameInput` `_2_COSM_SKETCH`;\
~ Select `newlayerprops` `PropTab` 1 `RulesDefsettingsLay`;\
~ Activate `newlayerprops` `EditRulesBtn`;\
~ Select `selspecdlg0` `SelOptionRadio` 1 `Feature`;\
~ Select `selspecdlg0` `LookByOptionMenu` 1 `Feature`;\
~ Select `selspecdlg0` `RuleTab` 1 `Attributes`;\
~ Select `selspecdlg0` `RuleTypes` 1 `Type`;\
~ Select `selspecdlg0` `ExtRulesLayout.ExtTyperuleLayout.TyperuleCatsList` 1 \
`All`;\
~ Select `selspecdlg0` `ExtRulesLayout.ExtTyperuleLayout.TyperuleTypesList` \
1 `Cosmetic#2, 45`;\
~ Activate `selspecdlg0` `AddRuleBtn`;\
~ Activate `selspecdlg0` `SelectButton`;\
~ Activate `newlayerprops` `AssocRulesChk` 1;\
~ Activate `newlayerprops` `OkBtn`;

mapkey _2_csys @MAPKEY_LABELCSYS LAYER;\
~ RButtonArm `main_dlg_cur` `PHTLeft.PHLayerUI.AssyTree` `node0`;\
~ Command `ProCmdLayer_NewLay` ;\
~ Update `newlayerprops` `LayerNameInput` `_2_CSYS`;\
~ Select `newlayerprops` `PropTab` 1 `RulesDefsettingsLay`;\
~ Activate `newlayerprops` `EditRulesBtn`;\
~ Select `selspecdlg0` `SelOptionRadio` 1 `Feature`;\
~ Select `selspecdlg0` `LookByOptionMenu` 1 `Feature`;\
~ Select `selspecdlg0` `RuleTab` 1 `Attributes`;\
~ Select `selspecdlg0` `RuleTypes` 1 `Type`;\
~ Select `selspecdlg0` `ExtRulesLayout.ExtTyperuleLayout.TyperuleCatsList` 1 \
`Datum`;\
~ Select `selspecdlg0` `ExtRulesLayout.ExtTyperuleLayout.TyperuleTypesList` \
1 ` Coordinate System#1, 979`;\
~ Activate `selspecdlg0` `AddRuleBtn`;\
~ Activate `selspecdlg0` `SelectButton`;\
~ Activate `newlayerprops` `AssocRulesChk` 1;\
~ Activate `newlayerprops` `OkBtn`;

mapkey _2_curve @MAPKEY_LABELCURVE LAYER;\
~ RButtonArm `main_dlg_cur` `PHTLeft.PHLayerUI.AssyTree` `node0`;\
~ Command `ProCmdLayer_NewLay` ;\
~ Update `newlayerprops` `LayerNameInput` `_2_CURVE`;\
~ Select `newlayerprops` `PropTab` 1 `RulesDefsettingsLay`;\
~ Activate `newlayerprops` `EditRulesBtn`;\
~ Select `selspecdlg0` `SelOptionRadio` 1 `Feature`;\
~ Select `selspecdlg0` `LookByOptionMenu` 1 `Feature`;\
~ Select `selspecdlg0` `RuleTab` 1 `Attributes`;\
~ Select `selspecdlg0` `RuleTypes` 1 `Type`;\
~ Select `selspecdlg0` `ExtRulesLayout.ExtTyperuleLayout.TyperuleCatsList` 1 \
`Datum`;\
~ Select `selspecdlg0` `ExtRulesLayout.ExtTyperuleLayout.TyperuleTypesList` \
1 ` Curve#1, 949`;\
~ Activate `selspecdlg0` `AddRuleBtn`;\
~ Activate `selspecdlg0` `SelectButton`;\
~ Activate `newlayerprops` `AssocRulesChk` 1;\
~ Activate `newlayerprops` `OkBtn`;

mapkey _2_plane @MAPKEY_LABELPLANE LAYER;\
~ RButtonArm `main_dlg_cur` `PHTLeft.PHLayerUI.AssyTree` `node0`;\
~ Command `ProCmdLayer_NewLay` ;\
~ Update `newlayerprops` `LayerNameInput` `_2_PLANE`;\
~ Select `newlayerprops` `PropTab` 1 `RulesDefsettingsLay`;\
~ Activate `newlayerprops` `EditRulesBtn`;\
~ Select `selspecdlg0` `SelOptionRadio` 1 `Feature`;\
~ Select `selspecdlg0` `LookByOptionMenu` 1 `Feature`;\
~ Select `selspecdlg0` `RuleTab` 1 `Attributes`;\
~ Select `selspecdlg0` `RuleTypes` 1 `Type`;\
~ Select `selspecdlg0` `ExtRulesLayout.ExtTyperuleLayout.TyperuleCatsList` 1 \
`Datum`;\
~ Select `selspecdlg0` `ExtRulesLayout.ExtTyperuleLayout.TyperuleTypesList` \
1 ` Datum#1, 923`;\
~ Activate `selspecdlg0` `AddRuleBtn`;\
~ Activate `selspecdlg0` `SelectButton`;\
~ Activate `newlayerprops` `AssocRulesChk` 1;\
~ Activate `newlayerprops` `OkBtn`;

mapkey _2_point @MAPKEY_LABELPOINT LAYER;\
~ RButtonArm `main_dlg_cur` `PHTLeft.PHLayerUI.AssyTree` `node0`;\
~ Command `ProCmdLayer_NewLay` ;\
~ Update `newlayerprops` `LayerNameInput` `_2_POINT`;\
~ Select `newlayerprops` `PropTab` 1 `RulesDefsettingsLay`;\
~ Activate `newlayerprops` `EditRulesBtn`;\
~ Select `selspecdlg0` `SelOptionRadio` 1 `Feature`;\
~ Select `selspecdlg0` `LookByOptionMenu` 1 `Feature`;\
~ Select `selspecdlg0` `RuleTab` 1 `Attributes`;\
~ Select `selspecdlg0` `RuleTypes` 1 `Type`;\
~ Select `selspecdlg0` `ExtRulesLayout.ExtTyperuleLayout.TyperuleCatsList` 1 \
`Datum`;\
~ Select `selspecdlg0` `ExtRulesLayout.ExtTyperuleLayout.TyperuleTypesList` \
1 ` Datum Point#1, 931`;\
~ Activate `selspecdlg0` `AddRuleBtn`;\
~ Activate `selspecdlg0` `SelectButton`;\
~ Activate `newlayerprops` `AssocRulesChk` 1;\
~ Activate `newlayerprops` `OkBtn`;

mapkey _2_set_datum @MAPKEY_LABELSET DATUM LAYER;\
~ RButtonArm `main_dlg_cur` `PHTLeft.PHLayerUI.AssyTree` `node0`;\
~ Command `ProCmdLayer_NewLay` ;\
~ Update `newlayerprops` `LayerNameInput` `_2_SET_DATUM`;\
~ Select `newlayerprops` `PropTab` 1 `RulesDefsettingsLay`;\
~ Activate `newlayerprops` `EditRulesBtn`;\
~ Select `selspecdlg0` `SelOptionRadio` 1 `Set Datum Tag`;\
~ Select `selspecdlg0` `RuleTypes` 1 `All`;\
~ Activate `selspecdlg0` `AddRuleBtn`;\
~ Select `selspecdlg0` `SelOptionRadio` 1 `Shown Datum Axis`;\
~ Select `selspecdlg0` `RuleTypes` 1 `All`;\
~ Activate `selspecdlg0` `AddRuleBtn`;\
~ Select `selspecdlg0` `SelOptionRadio` 1 `Dtl Datum`;\
~ Select `selspecdlg0` `RuleTypes` 1 `All`;\
~ Activate `selspecdlg0` `AddRuleBtn`;\
~ Activate `selspecdlg0` `SelectButton`;\
~ Activate `newlayerprops` `AssocRulesChk` 1;\
~ Activate `newlayerprops` `OkBtn`;

mapkey _2_surface @MAPKEY_LABELSURFACE LAYER;\
~ RButtonArm `main_dlg_cur` `PHTLeft.PHLayerUI.AssyTree` `node0`;\
~ Command `ProCmdLayer_NewLay` ;\
~ Update `newlayerprops` `LayerNameInput` `_2_SURFACE`;\
~ Select `newlayerprops` `PropTab` 1 `RulesDefsettingsLay`;\
~ Activate `newlayerprops` `EditRulesBtn`;\
~ Select `selspecdlg0` `SelOptionRadio` 1 `Feature`;\
~ Select `selspecdlg0` `LookByOptionMenu` 1 `Feature`;\
~ Select `selspecdlg0` `RuleTab` 1 `Attributes`;\
~ Select `selspecdlg0` `RuleTypes` 1 `Type`;\
~ Select `selspecdlg0` `ExtRulesLayout.ExtTyperuleLayout.TyperuleCatsList` 1 \
`All`;\
~ Select `selspecdlg0` `ExtRulesLayout.ExtTyperuleLayout.TyperuleTypesList` \
1 ` Surface#1, 942`;\
~ Activate `selspecdlg0` `AddRuleBtn`;\
~ Activate `selspecdlg0` `SelectButton`;\
~ Activate `newlayerprops` `AssocRulesChk` 1;\
~ Activate `newlayerprops` `OkBtn`;

mapkey _2_thread @MAPKEY_LABELTHREAD LAYER;\
~ RButtonArm `main_dlg_cur` `PHTLeft.PHLayerUI.AssyTree` `node0`;\
~ Command `ProCmdLayer_NewLay` ;\
~ Update `newlayerprops` `LayerNameInput` `_2_THREAD`;\
~ Select `newlayerprops` `PropTab` 1 `RulesDefsettingsLay`;\
~ Activate `newlayerprops` `EditRulesBtn`;\
~ Select `selspecdlg0` `SelOptionRadio` 1 `Feature`;\
~ Select `selspecdlg0` `LookByOptionMenu` 1 `Feature`;\
~ Select `selspecdlg0` `RuleTab` 1 `Attributes`;\
~ Select `selspecdlg0` `RuleTypes` 1 `Type`;\
~ Select `selspecdlg0` `ExtRulesLayout.ExtTyperuleLayout.TyperuleCatsList` 1 \
`Misc`;\
~ Select `selspecdlg0` `ExtRulesLayout.ExtTyperuleLayout.TyperuleTypesList` \
1 `is thread#4, 93`;\
~ Activate `selspecdlg0` `AddRuleBtn`;\
~ Activate `selspecdlg0` `SelectButton`;\
~ Activate `newlayerprops` `AssocRulesChk` 1;\
~ Activate `newlayerprops` `OkBtn`;



David Haigh
12-Amethyst
December 13, 2013
Did you know... You can actually just, select all layers from a part/assembly, copy and paste them directly into a new part/assembly.

I think Karl Krahmer wrote this up on the exploder at some point.
Tim McLellan
Mobius Innovation and Development, Inc.
1-Visitor
December 14, 2013
That's a pretty cool idea! Did you try it to see if it works?



Michael P. Locascio


12-Amethyst
December 14, 2013
Yes, I have been using it for some time. The only minor annoyance if you automate (mapkey) is you have to include an "activate window" in order to paste the layers... but all rules included.
Cheers,
Tim McLellan
Mobius Innovation and Development, Inc.
1-Visitor
December 16, 2013
I really like what you had to say. For most models I am inclined to keep the
display of datum planes as visible as possible. Then I find that your
methods are necessary when I am working with complex assemblies.



Somehow I find that having the options of layering and switching off display
of items helps me out rather well. When life gets tough I go for the
simplified rep. That's just another tool for us Pro/E users.



Michael P. Locascio