Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

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

Adding parent to non-timestamp geometry objects.

Status
Not open for further replies.

Guttikar

Automotive
Dec 7, 2021
11
0
0
IN
Hello. I have a python journal that generates facet bodies that reside in the "non-timestamp geometry". I want to have them as solid bodies of another part in the assembly (I need to do Boolean operations with them and some other body in the assembly). I can convert them to convergent bodies (using menu->edit->facet bodies->convert or a recorded journal version of it) but I still can't access them from any other part and I haven't found a way to do these Boolean operations.

Is there a way to add a parent to these bodies in the "non-timestamp geometry" or is there a way to move/copy these facet bodies/convergent bodies to some part so that they will have a parent and will be accessible as bodies inside that parent? My goal is to do Boolean operations with the solid versions of these facet bodies and some other solid bodies in the assembly.
 
Replies continue below

Recommended for you

Guttikar said:
My goal is to do Boolean operations with the solid versions of these facet bodies and some other solid bodies in the assembly.

When using NX, you cannot create boolean operations at the assembly level with component bodies. You must first promote or wave link the component body up to the assembly level before the boolean operation will work.

www.nxjournaling.com
 
cowski said:
wave link the component body

Hi @cowski. I know about promoting but I don't know what the wave link is. Also, I need to slice the bodies getting created but the intersection curve API is not letting me select the convergent bodies I am generating. I need to be able to do all this programmatically one after the other and I am having problems passing the outcome of previous operations to the next one. Would you be willing to talk with me one on one? It would help me greatly and I think with your expertise it wouldn't take much time.

 
a Wave linked body is similar to a promoted body, the main difference, for the user, ( there might be technical differences which I don't know about)is that a promotion only can link from a sub-component to the assembly above. also i think that a promotion must be some kind of solid body. (?)
A wave link can link in any direction and jump any number of levels in an assembly structure. i.e. if you have geometry in any part in the assembly, you can link (copy) that up/down/sideways .
Traditionally wave links where friendlier to the user than promotions. ( editability and error handling) This might have changed in later versions.

I did a very quick test and it seems to me that i can create a Wave link of the convergent body in another file and subtract that linked body from a "local solid".
This did not work with a promoted body ( where the parent is a convergent body.)


Regards,
Tomas

 
Btw, what NX version are we talking about ?
How NX handles "Convergent bodies" depends on the Parasolid version , i tried this in NX2000 , the result there , where I subtracted a linked convergent body from a block is a convergent body. I think that in maybe NX2007 ( ? ) the resulting body will be a mix of analytical faces and the facets from the convergent body.

Regards,
Tomas
 
Hi @Toost

I am on NX 12. I managed to do the Boolean operations I wanted by looping through all the solid bodies in my workpart but now the problem is that I can't do the next step with the resulting solid - I want the intersection curve of that solid with a plane. But the intersection curve dialog doesn't let me select the resulting solid as one of the faces to intersect. And I think you have the reason -
Toost said:
I think that in maybe NX2007 ( ? ) the resulting body will be a mix of analytical faces and the facets from the convergent body.

 
That is strange, i could , in my very quick short test create an intersection curve between the "convergent body" and a plane.
Did you use the "Intersection curve" feature ?
Is the plane " a member of the work part" ?

NX assemblies differ from many/most other cad systems in that it doesn't copy any geometry into the assembly file . A component in NX "is a file whose contents will be displayed" in the assembly. But if that file isn't loaded, nothing will display there. The assembly does not store any geometry, - unless you link or promote something into it.

Most cad systems, but not NX, does some kind of "associative copy" of the geometry from the component into the assembly file, the assembly file will store the copy of the geometry.

Both methods has their pros and cons. NX assemblies are small ( file size) and independent on if the component files are loaded or not. But need linking / promotions if one is about to to assembly features / cuts.
This is why I ask if that plane is in the work part or not, If that plane is stored in a component, you must link/promote it into the assembly before you can use it for an Assembly feature.

Regards,
Tomas

Data translation has never added any value.
 
Hi Tomas,

Toost said:
Did you use the "Intersection curve" feature ?
Yes - from Curve Tab.


Toost said:
Is the plane " a member of the work part" ?
Yes. (see image below)


ConvergentBodyDatumPlane_l67qw7.png



Thanks for your replies and help people.

 
Toost said:
That is strange, i could , in my very quick short test create an intersection curve between the "convergent body" and a plane.
After some experimentation I have figured out this: If it's a "Fresh Convergent Body" (i.e. obtained by doing menu > Edit > Faceted Body > convert to a faceted body), then the intersection curve API works. But if I take Boolean operations with it, and especially if I make a Boolean operation with a traditional Solid Body like a Cylinder, then the resulting convergent body is not accepted as a intersecting face by the intersection curve API.

Any thoughts? Could we convert the cylinder to a convergent body as well? or Convert the non-fresh convergent body into a faceted body and then intersect with a plane?

Thanks for all your help people.


 
Hi Tomas,

Toost said:
Try this example, does that make a difference ?

Thank you so much for taking the time to make these parts!

I tried with them and it creates the same problem with both types of parts you've uploaded. May be I haven't understood your solution or completely missed your point, being a complete novice to NX. So, I have uploaded a file with the thing I want to do -
1. In your part, I insert a cylinder (menu > insert > Design Feature > cylinder). Then
2. I Boolean subtract your convergent/linked body from the cylinder.
3. Now I want to find intersection curve of this "carved cylinder" with a datum plane.

I'm having the same problem using your uploaded bodies too - The (Curve > Intersection Curve) dialogue box does not let me select the carved cylinder as a face to intersect with the plane.

Once I can do this in NX, I need to be able to do this in NX Open which should be a matter of recording the journal and cleaning it up. But I am stuck not being able to do this in the UI itself.


 
I do not know why this doesn't work for you, It works for me first attempt.
See the attached image.
Btw, in the subtract operation you created , you have ticked both "Keep Target" and "Keep Tool", thiw will produce copies which are "not subtracted" ( you have 2 bodies before the subtract and you get 1 resulting body + 2 unaffected copies.) - This might be intended.

2022-04-28_16-06-23_klrpcl.jpg


Regards,
Tomas

The more you know about a subject, the more you know how little you know about that subject.
 
Hi Tomas,
Toost said:
I do not know why this doesn't work for you, It works for me first attempt.

That's strange and surprising. I tried checking all settings/preferences/filters to see if something is disabled. But no luck.

For now, I have solved the problem for myself temporarily (though this is probably not very robust or computationally efficient) by doing Extract Geometry [Options: Face, Body Faces] and then using those faces in Set 1 of Intersection Curve Dialogue box.

It would be okay for me to also get the 2d region that's the intersection of the plane with the cylinder instead of the intersection curve. It might be in fact better.

Thanks for all your help,
Chaitanya.

 
Try this one , it's a new version of the same file, but with intersection curves in place.
try edit one and de-select the datumplane and select one of the other datumplanes .
Is this possible ?


Regards,
Tomas

The more you know about a subject, the more you know how little you know about that subject.
 
 https://files.engineering.com/getfile.aspx?folder=70c3bf26-c11d-4e59-b8dd-060cefcdcdc4&file=facet_part_with_cylinder-2.zip
Status
Not open for further replies.
Back
Top