Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations IFRs on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

Moving objects to a layer in an assembly?

Status
Not open for further replies.

CNSZU

Mechanical
Sep 2, 2005
318
Hello,

I have a simple task, that is to move all visible items to layer "3" at the parent assembly level (that contains both features at the parent level and components/subassemblies).

This is what I do:

-draw a rectangle around everything I see to select all objects, then "Edit object display", type in "3" for the layer.

To check that the operation was successful, I go to Layer Settings, toggle off layer "3", and everything disappears. So it seems that the operation was successful. To further confirm, I select any feature/solid at the same level as the parent assembly, go to "Edit object display", the layer box says "3", which is correct. However, if I select a component or subassembly, go to "Edit object display", the layer box says "0". So something here is wrong. To further check, if I export the parent assembly to a STEP file, choose to export only layer "3" in the settings, only the parent level solids are exported, non of the components/subassemblies.

How can I "force-move" all objects, including components/subassemblies to layer "3"?


NX8 i7-3770K@4.3Ghz 16GB Quadro2000
 
Replies continue below

Recommended for you

Actually thats the way I move components/assemblies/sub-assemblies to layers:
- select any component of desired sub-assembly
- pres Edit->Selection->Up One Level.
Then automaticaly selects all your sub-assembly. So then press Format->Move To Layer and select layer you want. Only in that way you will be sure that all components of your assembly/sub-assembly will be moved to desired layer.

In your case "Edit object displays" is showing "0" layer, then at least one of the components/objects in your sub-assembly is in different layer.
 
Why are you not using...

Format -> Move to Layer...

...to move objects to another Layer?

John R. Baker, P.E.
Product 'Evangelist'
Product Engineering Software
Siemens PLM Software Inc.
Industry Sector
Cypress, CA
Siemens PLM:
UG/NX Museum:

To an Engineer, the glass is twice as big as it needs to be.
 
PEBKAC

Tim Flater
NX Designer
NX 7.5.4.4 MP2
WinXP Pro x64 SP2
Intel Xeon 2.53 GHz 6GB RAM
NVIDIA Quadro 4000 2GB
 
John, it doesn't make any difference, and it's easier for me to use Edit object display because I've set that function to a shortcut which I often access to change colors too.

Tim, what are you saying?

I believe the problem is that I need to define the layer of the component at it's own level. I think what's happening when selecting all sub-assemblies at the parent level and moving them to layer "3" is that it only affects the sub-assemblies at the parent level. What I need to do is go into each and every part by making them the Displayed Part and moving the solids to layer "3" there instead. I've tried this, and when exporting to a STEP file, finally the layer 3 objects get exported as they should.

So, a solution to my problem is to make each part Displayed Part and move the objects to layer "3", but when there are maybe 100's of parts in the assembly, that is going to take at least an hour of incredibly tedious work. Isn't there an easier way to move all sub-assemblies and everything below to another layer in one go, where the layer change is made at the part level?



NX8 i7-3770K@4.3Ghz 16GB Quadro2000
 
Xwheelguy said:

Isn't that a bit harsh [pc]

John R. Baker, P.E.
Product 'Evangelist'
Product Engineering Software
Siemens PLM Software Inc.
Industry Sector
Cypress, CA
Siemens PLM:
UG/NX Museum:

To an Engineer, the glass is twice as big as it needs to be.
 
You can specify what layer to add a component to when adding it to the assembly. By your description, it sounds like you used the "original" layer option. If you know what layer you want the components on at the time you add them, you can use the "specified layer" option and enter the desired layer. You can change them at any time by right clicking on the component in the navigator and choosing "properties". On the "assembly" tab you can change the layer option and layer number.

If this is something you will be doing on a regular basis, perhaps creating a journal would be in order...

www.nxjournaling.com
 
cowski, if you change the layer through "Properties", only the component gets moved to the new layer, the objects in the actual part don't get moved, that's the problem.

To make it clear, this is an example:

PART A
->PART A1
->PART A2
->PART A3

PART A is an assembly containing 3 other parts, each which contain solids. The goal is to move all the solids in each part to layer "3". Moving PART A to layer "3" does not do this. You would have to make PART A1 the displayed part, then select all the solids and move them to layer "3". Then repeat for PART A2 and PART A3. This is very tedious if you have many parts. How can all this be achieved in a single operation?

NX8 i7-3770K@4.3Ghz 16GB Quadro2000
 
CNSZU said:
if you change the layer through "Properties", only the component gets moved to the new layer

If I change the layer through the properties then perform an "info object" on the component, it will report "layer 3". Repeat the info object (filter for solid bodies) and it will report "layer 3, inherited from component". So, from what I'm seeing, it does move the component and solids (in the reference set) to the target layer. Does your assembly report something else?

www.nxjournaling.com
 
cowski, yes, it reports exactly as you describe.

So, for example, in this scenario:

PART A
->PART A1
->PART A2
->PART A3

While in PART A, selecting the solid of PART A1, performing info>object, the result is "Layer 3, inherited from component". HOWEVER, if you make PART A1 the displayed part, then perform the same info operation on the same solid, the result is "Layer 1". This is where the problem is, it should be "Layer 3" instead.

NX8 i7-3770K@4.3Ghz 16GB Quadro2000
 
You don't have to move all of your solids in each individual part as long as you put them on the proper layer in the assembly. They can be on a different layer in the assembly vs in the piece part. When you export step files by layer, it is based on the layer in the assembly.

www.nxjournaling.com
 
cowski said:
When you export step files by layer, it is based on the layer in the assembly.

This only works if you choose "export selected objects" in the step export dialog box. However, if you export "entire part" (to retain the assembly structure and part names in the step file) , the exporter checks the layers on each individual part file, not the assembly layers. Therefore I still need to find a quick way to change the layers on all the individual parts.


NX8 i7-3770K@4.3Ghz 16GB Quadro2000
 
Here are the settings I use for exporting step:
-export from displayed part
-export entire part
-export solids
-layer selected: 3

When you export with these settings are you able to properly export the assembly when the solid in the individual part is on layer 1?


NX8 i7-3770K@4.3Ghz 16GB Quadro2000
 
Since it seems you want to output all the solids in the assembly, why not use the all layers option, why limit it to layer 3?

www.nxjournaling.com
 
If you want ALL your parts on layer 3, then set up your start part seed file so the default layer is layer 3. You can also set customer defaults so your starting layer is layer 3.

When moving components, you must select and go up one level to capture everything to be moved.

Tim, that may be an issue but it could also be a lack of training. Too many companies treat training as an expense rather than an invetsment in their employees. If the employee is trained properly, they can save the company man-hours per month by being more productive by their increased knowledge of how the software works.


"Wildfires are dangerous, hard to control, and economically catastrophic."

Ben Loosli
 
To cowski and Ben: no, I don't want to export all objects in the entire assembly. Some objects I don't want to export. Those objects I will hide, thus leaving only VISIBLE the objects I want to export. That way I can select all the visible objects in the assembly and move them to layer "3" and export only that layer. This would be a very efficient way to export only the objects I want to export. But alas, it seems it can't be done, unless you go into each individual part and move the objects layer "3".

NX8 i7-3770K@4.3Ghz 16GB Quadro2000
 
Is this whole layer 3 debacle a convention/requirement or a personal choice? If not a requirement, why can't you just delete the components you don't want shown and then export from that state without ever saving the assembly? I would think if you're taking the time to select unwanted components and hide them, you'd have the time to simply select those same components and delete them instead. Now you'd be left with everything you want to export and you can export away to your heart's content.

If the person receiving the STEP file wants everything on Layer 3, let them worry about organizing the file this ONE time and as you create your assemblies in the future, you can take the very sound and logical advise from cowski, Ben, et. al. and take this ultra important layer convention into consideration as you're building your assemblies.

Tim Flater
NX Designer
NX 7.5.4.4 MP2
WinXP Pro x64 SP2
Intel Xeon 2.53 GHz 6GB RAM
NVIDIA Quadro 4000 2GB
 
After thinking about this a little more, I felt it might be of some benefit to get to the real matter at hand: you cannot select across the entire assembly and do what you're trying to do. Work Part vs. Displayed Part. You want to do something to a component, then it better be your Work Part (personal rule and opinion). My reason? Simple: where should the line be drawn as to what can be done to ALL loaded parts displayed on the screen, regardless of how trivial it may seem? Just manipulate layers? What about performing Booleans or even editing features - how about editing features that are performed at the assembly level and NOT the component level like Promoted bodies and these days Assembly Cut? Changing colors? Line weights and fonts? Let's go ahead and allow selection and manipulation across the entire assembly - now tell me which one changed, the top-level, the sub-assembly or the component (base solid body)? Now we're spending time trying to figure out where the wrench landed that I just threw into this machine called an assembly rather than other tasks.

You start leaning too far one way and the boat WILL tip over and you'll end up with potentially hundreds if not thousands of assemblies that are completely hosed for one reason or another. This inability to do these seemingly menial tasks across the entire assembly is in place to help the user spend less time worring about which sub-assemblies and/or components are going to be affected by what seems like an insignificant change.

Could Siemens take a look at this one little thing (moving components between layers ONLY) and possibly change it - yes, they probably could. Will they? Very doubtful because in over 15 years of using NX, this is the FIRST time I can recall someone wishing to do this particular task, at this point in the design cycle. Does that make it less important or any less of a good idea, no - but the NX folks tend to put their resources into the larger holes first.

Tim Flater
NX Designer
NX 7.5.4.4 MP2
WinXP Pro x64 SP2
Intel Xeon 2.53 GHz 6GB RAM
NVIDIA Quadro 4000 2GB
 
Hello Tim, thank you for your feedback.

Deleting the unwanted features is not a feasible method. Let me explain the situation in more detail. The STEP exporter ("export entire part") will export EVERYTHING in the assembly except suppressed components. Hidden objects will also get exported. I want to export ONLY the visible objects. So following your suggestion, I would have to find all hidden objects and delete them. I would have to search through the entire assembly, part by part, looking for hidden objects and deleting them. And often, there will be some obscure, unwanted object that does slip through into the STEP file, so I would then have to go back to the NX assembly to find that object and delete it. This tedious and time-consuming process is what I'm trying to avoid.

So I'm thinking, why not simply at the parent level, select all visible objects, move them to a layer (layer "3", for example) and export only that layer. But, as you eloquently explained in your last post, it's not possible to move components between layers throughout an entire assembly.

The suggestion to start every part in layer "3" wont' solve the problem, because there can be many objects within the same part that I don't want to export.

I'm sorry for this "debacle" and long thread, and greatly appreciate everyone who has tried to help.


NX8 i7-3770K@4.3Ghz 16GB Quadro2000
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor