Hello,
I would like to create a layer in order to hide the thread notes which are normally visible when I enable "show annotation display".
I need to do it at master assembly level, including the thread notes of all the holes/cosmetic threads in all the submodels (parts and subassemblies).
The problem is that once I tick the option "include submodels" in the rule editor window, and confirmed with ok, it doesn't keep the option if I come back editing the rule (video here below):
(with the result that the notes of sublevels are not included in the query results).
Or, as an alternative, is there another better way to hide thread notes by default?
thanks
Solved! Go to Solution.
In your first video it looks like you are adding rules to an existing layer. Since that's an assembly layer and you are finding items that are not assembly items (notes in other parts and assys), it fails.
In the second you are creating a new layer from the find tool. Note the "propagate layer" box is checked (around 27 seconds). I'm not certain, but I'd guess that means it's creating that layer in every model, or at least in every model that had notes. At the end, notice that the symbol next to NOTES in the layer tree is indicating a bundle of layers, not a single layer.
Regarding finding only hole notes, try this:
You want to look for notes by a certain type of feature, in this case hole features. I believe that will capture only the hole notes and not others.
I'm guessing that it's failing because of a limitation on placing submodel items on an assy level layer. The good news is that once you have the layer in your assy, you can easy pass it down to the other models in the tree.
Here are some mapkeys that we use that might help you get there. These are Creo 2, but I believe will work in Creo 3. I've not tested them in Creo 4 or 5.
First one resets the find tool so that it's in a predictable configuration for running later makeys:
mapkey la-rf @MAPKEY_NAMEReset Find;@MAPKEY_LABELReset Find;\ mapkey(continued) ~ Activate `main_dlg_cur` `ProCmdMdlTreeSearch.edit_t`;\ mapkey(continued) ~ Update `selspecdlg0` `SelOptionRadio` `Feature`;\ mapkey(continued) ~ Activate `selspecdlg0` `SelOptionRadio`;\ mapkey(continued) ~ Update `selspecdlg0` `LookByOptionMenu` `Feature`;\ mapkey(continued) ~ Activate `selspecdlg0` `LookByOptionMenu`;\ mapkey(continued) ~ Select `selspecdlg0` `RuleTab` 1 `Attributes`;\ mapkey(continued) ~ Select `selspecdlg0` `RuleTypes` 1 `Name`~ Select `selspecdlg0` \ mapkey(continued) `CascadeButton1`;~ Close `selspecdlg0` `CascadeButton1`;\ mapkey(continued) ~ Activate `selspecdlg0` `CondBuilderCheck`1;
The second one adds a note layer to the top level assy (it calls the reset find mapkey automatically):
mapkey la-no @MAPKEY_LABELAdd 00_NOTE;%la-rf;\ mapkey(continued) ~ Open `selspecdlg0` `SelOptionRadio`;~ Close `selspecdlg0` `SelOptionRadio`;\ mapkey(continued) ~ Select `selspecdlg0` `SelOptionRadio`1 `Note`;\ mapkey(continued) ~ Close `selspecdlg0` `CascadeButton1`;\ mapkey(continued) ~ Activate `selspecdlg0` `SaveResults`;\ mapkey(continued) ~ Update `save_rules_dlg` `LayNamePanel` `00_NOTE`;\ mapkey(continued) ~ Activate `save_rules_dlg` `LayerPropagateCheck`0 ;\ mapkey(continued) ~ Activate `save_rules_dlg` `OKBtn`;~ Activate `selspecdlg0` `CancelButton`;
This one selects all of our company layers, which begin with 00_. You could modify it to replace the 00_* with your notes layer name:
mapkey la-sd @MAPKEY_LABELSelect all CE layers;\ mapkey(continued) ~ Command `ProCmdViewLyrs` 1 ;~ Command `ProCmdLayer_TreeSearch` ;\ mapkey(continued) ~ Close `main_dlg_cur` `PHTLeft.PHLayerUI.LayerShowBtn`;\ mapkey(continued) ~ Open `layertreequery` `CmpMethodRadio`;\ mapkey(continued) ~ Close `layertreequery` `CmpMethodRadio`;\ mapkey(continued) ~ Select `layertreequery` `CmpMethodRadio`1 `=`;\ mapkey(continued) ~ Input `layertreequery` `ValueInput` `00_*`;\ mapkey(continued) ~ Update `layertreequery` `ValueInput` `00_*`;\ mapkey(continued) ~ Activate `layertreequery` `AddBtn`;\ mapkey(continued) ~ Activate `layertreequery` `SelectAllBtn`;\ mapkey(continued) ~ Activate `layertreequery` `CloseBtn`;
Lastly, this one extends the rules of the selected layers to all components in the assy, effectively duplicating the layer in every model all the way down the tree. (It calls the selection mapkey automatically.)
mapkey la-er @MAPKEY_LABELExtend CE layer rules;%la-sd;\ mapkey(continued) ~ Close `main_dlg_cur` `PHTLeft.PHLayerUI.LayerEditCasc`;\ mapkey(continued) ~ Activate `main_dlg_cur` `PropagateBtn`;
You can then combine this into one mapkey that calls la-no and la-er to do this with one mapkey.
I hope that helps.
Hi Doug,
thanks for your detailed reply.
Don't know why it fails to propagate down to the sublevels in the layer definition window (as show in my first message), but it's weird that there is instead no problem in propagation by creating the layer with this procedure:
which is working indeed for my purpose.
But, the big problem of this way, is that this layer is hiding ALL the notes in my model(s), not just thread notes ( so hiding also text notes which I often insert for any reason).
There should be for sure a way to hide just thread notes.
My goal is to hide them by default in the start part, so that they never show up by themselves in the 3d window.
Bye
In your first video it looks like you are adding rules to an existing layer. Since that's an assembly layer and you are finding items that are not assembly items (notes in other parts and assys), it fails.
In the second you are creating a new layer from the find tool. Note the "propagate layer" box is checked (around 27 seconds). I'm not certain, but I'd guess that means it's creating that layer in every model, or at least in every model that had notes. At the end, notice that the symbol next to NOTES in the layer tree is indicating a bundle of layers, not a single layer.
Regarding finding only hole notes, try this:
You want to look for notes by a certain type of feature, in this case hole features. I believe that will capture only the hole notes and not others.
yes, it's as you wrote,the first video is creating a rule for the layer of the notes.
Yes, the second one is from find tool (without the "propagate layer" it's no more a bundle of layer of the submodels). I confirm to you, as our distributor technician told me, that it is creating a layer in every sub-part (and asm).
What I didn't get (and still don't) is what's the sense, in the assembly layer, of the checkbox "include submodels", if then it fails in saving the rule...
Thanks for the tip on the type of feature (I also found the option "has thread").
bye
@tleati wrote:
... What I didn't get (and still don't) is what's the sense, in the assembly layer, of the checkbox "include submodels", if then it fails in saving the rule...
In Creo, error messages and other communications happen in the message area at the bottom of the screen. It can be easy to miss them, however. Looking back at the first video, I see the error message "Rules cannot be evaluated for submodels of a layer model."
I would agree, however, that in the case of later rule editing, the find dialog shouldn't have the "Include sub-models" checkbox at all.
Yes I had seen that message, but as often happens, I don't get them really clearly, they seem to be a bit cryptic...
that checkbox works for finding results, but isn't able to create a bundle of layers in the submodels...(as the find function does instead).