Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

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

Silhouette problem in Sketcher 1

Status
Not open for further replies.

CNSZU

Mechanical
Sep 2, 2005
318
Hello everyone,

I've recently started with NX8 and this is the biggest issue I've encountered so far: silhouette edges can't be selected to be used as reference for dimensions or constraints in the sketcher. I've never had this issue before in my life with other cad packages.

Is there a setting in preferences to make silhouette edges selectable? Is there something I've forgotten in the selection filter? I simply can't figure it out.

Attached is an image showing the exact same model in Solidworks 2012, Proe Wildfire 5 and NX8. A sketch is created using the right edge of a cylinder as reference for a 5mm horizontal dimension and a constraint to the horizontal top edge of the cylinder. For the first two software packages you simply click the cylinder edges to select them, but they can't be selected in NX8.

Someone please help.
 
Replies continue below

Recommended for you

There is NO direct access to the so-called 'silhouette' curves of a model, either in Sketching or most other NX modeling tasks (they of course are accessible in Drafting for dimension creation). Therefore you will need to create a some additional items, either before you create your sketch or as part of the sketch itself.

Attached is an example part with 2 cylinders and 2 sketches, each created using a different scheme. One scheme is to first create a set of 'zero' degree 'Isocline' curves on the body (this is basically equivalent to creating an NX Silhouette curve except that Isoclines are associative). This approach is better if the sketch is not on the same plane as the body where the 'silhouette' curves exist (that's the case with the Cyan colored cylinder).

The other scheme works pretty well if the 'silhouette' curves and the sketch lie on the same plane (that's the case with the Gray cylinder).

Anyway, take a look at this albeit 'workarounds'.

John R. Baker, P.E.
Product 'Evangelist'
Product Engineering Software
Siemens PLM Software Inc.
Industry Sector
Cypress, CA
UG/NX Museum:
To an Engineer, the glass is twice as big as it needs to be.
 
Thank you John, I appreciate the thoroughness of your answer.

Both methods work, but require an understanding of what constitutes as silhouette curves and normal curves. Normally you wouldn't know or care before creating the sketch. In the sketch, you would click a line and it won't be selected. Then you would have to find remedies. First you would try the "intersection curve" in sketcher, and if that doesn't work, exit the sketcher, and create an "isocline curve". In most cases the sketch plane would not lie exactly on the same plane as the silhouette curves, therefore we will consider the "isocline curve" method.

Here is a list of actions required to perform a sketch task where a single vertical line is drawn next to a cylinder with a dimension constraint and a horizontal constraint to the top edge of the cylinder (as my previously attached image). These actions are assume that you CAN select silhouette curves in NX as you would in SW or Proe:

1 click sketch icon
2 select sketch plane
3 click ok
4 click start of line
5 click end of line
6 click mb2
7 click dimension icon
8 click line
9 click cylinder edge
10 click to set dimension
11 enter value
12 click mb2
13 click constraint icon
14 click top of line
15 click top of cylinder edge
16 select "point on curve"
17 click exit sketch icon

Now, let's measure the number of steps that's actually required because you can't select silhouette curves in NX:

1 click sketch icon
2 select sketch plane
3 click ok
4 click start of line
5 click end of line
6 click mb2
7 click dimension icon
8 click line
9 click cylinder edge

Here we realize that the edge can't be selected and deduce that the silhouette curve does not lie on the sketch plane, so we have to use "isocline curves".

10 exit sketch icon
11 click extract icon
12 select isocline curve
13 select sketch plane
14 click mb2
15 enter 0 degrees
16 click mb2
17 select face(s)
18 click mb2
19 press esc
20 click sketch icon
21 select sketch plane
22 click ok
23 click start of line
24 click end of line
25 click mb2
26 click dimension icon
27 click line
28 click cylinder edge
29 click to set dimension
30 enter value
31 click mb2

Now we have a problem, the top face of the cylinder did for mysterious reasons not create an isocline curve, so we need to manually create a horizontal reference line constrained to the top node of the vertical isocline line.

32 select profile icon
33 click endpoint of isocline curve
34 click end of line
35 click mb2
36 click mb2 again
37 right click line
38 drag to select "make reference"
39 select reference icon
40 click top of vertical line
41 click reference line
42 select "point of curve"
43 exit sketch

So, in conclusion, if you were allowed to select silhouette curves in NX, it would take 17 steps (similar to SW or Proe). But since you cannot, it takes 43 (!) steps which is 2.5 times as long as it needs to create this sketch.

Since we NX users have to accept and live with this limitation, what is the reason for having us go through such pain to achieve what normally should be an effortless task?

Can we expect this to be fixed before the next version since this limitation is critical?
 
Unfortunately silhouette 'curves', at least in the modeling environment, are not persistent, they're fleeting at best since they are dependent on the viewing vector which in 3D space is constantly changing as a model is rotated or changes. The reason we can create persistent silhouette curves in a drawing is that for each view the orientation is fixed so we can go ahead and compute the curves as we place the views. In the case of the modeling environment, YOU have decide exactly when the model is positioned such that the silhouettes are what you actually want. Thus the extra step to create them explicitly.

Now that being said, I agree that perhaps with respect to sketching, since that is also done relative to a plane, which then has a normal vector, that it would not be all that complex to have a function the sketcher which would automatically create another type of 'recipe' curve where a selected body would automatically create the needed curves projected from the outer profile of a body onto sketch plane as a single operation. Granted, the user would still need to initiate it, but at least it would be a sketch operation meaning that it would at least be easier to find and easier to use.

Now if you'd like to contact GTAC and have them open an ER for something like that, go for it since I agree this would be a nice feature to have.

John R. Baker, P.E.
Product 'Evangelist'
Product Engineering Software
Siemens PLM Software Inc.
Industry Sector
Cypress, CA
UG/NX Museum:
To an Engineer, the glass is twice as big as it needs to be.
 
Why would this need to be user initialized as a separate command? Currently when you create a constraint to an edge of a body the edge is projected into the sketch and shown as a dotted line. Why couldn't this work the same? You would simply be able to select any visible edge or silhouette and it would project into the sketch at the same time the constraint is added.

NX 7.5.5.4 mp01, NX 8.0.1.5
Tecnomatix Quality 8.0.1.3
PC-DMIS 2011 MR1
 
Using the cylinder you have created, you can use the project curve command in the Sketch Tools menu to project the silhouette of cylinder end into the active sketch. If you need the projected curve to change as the cylinder features change, make sure the Associative option is checked on the settings page.

This method creates an associative curve that can be used as part of the sketch geometry or it can be changed to a reference curve so you can fully constrain/dimension other sketch entities to the model.

Please note, you can only project the ends of cylinders. This command also works with ellipse ends, linear edges.

This method greatly reduces the need to create external reference objects before creating sketches.

In your sketch with the line in, I noticed you have a cooridnate system present at the bottom of the cylinder. You can also use dimensions and constrains referencing this cooridnate system to locate the line.

TC8.3.2, NX6.0.5.3-mp11, Configuring NX8
 
As I've already pointed out at least twice now, THERE ARE NO SILHOUETTE 'CURVES' WHEN IN MODELING! What you're seeing is something which is there only for visual completeness. It is 100% dependent on the orientation of the view and when you're working in either a shaded or dynamic wireframe mode, what looks like a silhouette is actually an 'artifact' created by the graphics engine (i.e, it's for looks only). There was a time when we didn't even refresh the display of the silhouettes while the model was moving on the screen but rather waited until the image was static and then we would tell the graphics engine which pixels to turn-on so that it would appear as if there was a curve there. More recently, we've passed this task off almost 100% to the graphics engine and let it decide which pixels to toggle ON/OFF.

John R. Baker, P.E.
Product 'Evangelist'
Product Engineering Software
Siemens PLM Software Inc.
Industry Sector
Cypress, CA
UG/NX Museum:
To an Engineer, the glass is twice as big as it needs to be.
 
I'm not sure to which statement your comment here is directed. I think we are all talking about the same thing here: silhouette curves in the sketcher environment.. As you pointed, the sketcher is a 2D environment with a specifically defined normal and horizontal or vertical orientation, just like a drafting view. In this context silhouette curves should be valid.

You mentioned that this could be done with a sketcher tool, that sounds similar to the "Project Curve" tool, where the user would select an object and the silhouette curves would be created and projected onto the sketch plane. They would then be available for dimensions or constraints.

My suggestion is that this function be rolled into the normal function of the dimension and constraint tools. While one of these tools is active the system would create temporary silhouette curves for a body when the user hovers the mouse over the body for some period of time. If the user then selects one of those temporary curves by clicking on it the curve is projected into the sketch plane and all of the unselected ones are deleted. The projected curve that is now in the sketch immediately becomes one of the associated objects for that dimension or constraint.

I believe this is more or less how the other systems handle this operation. You do not need to explicitly project the silhouettes into the sketch, they are just automatically created and become associated to the dimension or constraint when the context is appropriate.

Anyhow, not trying to beat a dead horse here, just curious if there is anything obviously flawed with the logic behind this idea before I do as you suggested and submit an ER to GTAC.

Thanks for your detailed explanations, as always. Your comments on this forum have been tremendously helpful to my understanding of how this software functions.

NX 7.5.5.4 mp01, NX 8.0.1.5
Tecnomatix Quality 8.0.1.3
PC-DMIS 2011 MR1
 
The only thing 'flawed' in your suggestions is that it's not consistent with the other 'recipe' curves in the Sketcher and I don't think anyone would say that this would NOT qualify as a 'recipe' curve. With other 'recipe' curves, such as Intersection and Projected curves we don't try to automatically infer what the user is attempting to do on-the-fly based on what objects he was selecting, the order in which they were selected or some other hard to DISCOVER scheme. If we were to add support for Silhouette curves as a 'recipe' curve then we would follow the same workflow. The user would first explicitly 'derive' a set of curves into the sketch from a body's silhouette/profile (associatively of course, which is what happens with other 'recipe' curves) and from there is would be like these were any other 'recipe' curve in terms of how they're used or referenced by other sketch objects.

What is so wrong with that approach? And don't tell me that your suggestion would save button pushes. But at what price? Complicating EVERY other function in the sketcher that references curves to have to be able to detect if you MIGHT be wanting to select a body's silhouette. And it would be hard to DISCOVER that this capability even existed if it's not done explicitly. In those cases we'd have to depend on the user reading the documentation to LEARN that this capability was there (and don't tell me that users actually read the documentation, like when they're bored and have nothing else to do) and exactly what steps you needed to follow in order make this happen in the first place.

If you can come up with a better approach, GREAT. Call GTAC and have them open an ER with those ideas in mind.

John R. Baker, P.E.
Product 'Evangelist'
Product Engineering Software
Siemens PLM Software Inc.
Industry Sector
Cypress, CA
UG/NX Museum:
To an Engineer, the glass is twice as big as it needs to be.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor