Quantcast
Channel: NX Design Forum topics
Viewing all 5175 articles
Browse latest View live

Styled Sweep

$
0
0

What license option is required to have the ability to produce a "Styled Sweep"

 

Thanks in advance, Paul S.


NX 11 section view automatically create a hinge / anchor ?

$
0
0

Hello

Where in NX 11 preferences / cust.defaults is the choice to remove automatic section view hinges / anchors ?

View Alignment -> List -> Hinge.

- I have imported cust.defaults from NX9 already which did not help.

- Now in NX 11 it creates a hinge automatically on section views.

hinge535r.jpg

NX 11 moving Bend Annotation's Leader ?

$
0
0

Hello ( Sheet metal \ Flat pattern )

I updated to NX 11 and now in sheet metal drawings I can't move the Bend Annotation's Leader line anymore it seems locked.

  • In NX 9 I could move the leader(=arrow) along the bend line to a different position.
  • Now in NX 11 the arrow is anchored(=locked) to same place.

 

4242dre.jpg

[URGENT] Pop-up "You must end the current function before using this palette entry."

$
0
0

Greetings everyone,

 

One of our customers is trying to open one part file from history palette (right after starting NX). They are getting this error.

 

palette.png

 

There is some license issue for them right now so I cant work on this error. Thought some of you might be aware of this & will have solution/possible causes?

 

It's a bit urgent.

 

Thanks.

Modeler Error!!!!!

$
0
0

Hi ,

 

Did someone faced this issue!!!! Modeler/Kernel has not been interrupted.

I have been working in NX11 model and due to this error I can't edit/rollback features(May be corrupted). I have no idea how to fix this problem!!!!!

Picture attached.

 

Thanks,

Devaraj.

Drafting: Datum symbol on datum plane

$
0
0

Hello,

In NX11, Drafting, how can I add datum symbol on an actually shown datum plane in a drawing view?

 

Thanks for your help,
Zsolt

SolR is not indexing attributes

$
0
0

Hello everyone!

 

It seems that SolR is not indexing attributes even if I check the setting. It does not respond to keywords contained in the attributes of the library files, only in the filenames. Am I doing something wrong or misunderstanding something?

Creating an eclipse on a rotated plane to see a perfect circle from the original coordinate system?

$
0
0

 Lets say I have a XYZ coordinate system, with a secondary coordinate system made with rotations of 15 degrees on the X axis and 5 degrees on the Z axis. On a sketch made on this new coordinate system in the X-Z plane, what kind of eclipse would I need to make in order to see a perfect circle when looking at the sketch from the ORIGINAL X-Z plane? As in, what major and minor radii would I need, as well as any other transformations afterwards?

 

I've been thinking about this for a while and it seems really simple when there's a rotation on only one axis, lets say the X axis. The major radius would change on the eclipse (in the Z axis direction) and would be equal to the following equation, while the minor radius would just be the original radius of the circle since there's no "shift" in that direction.

 

major radius = original radius / cosine (angle of rotation along X axis)

 

I just can't wrap my head around what changes when you rotate the coordinate system around two angles. Originally I thought the second angle would only affect the minor diameter and the two components only affected their respective radii on the eclipse, but the circle doesn't match perfectly when trying this on a CAD system. Is there a subsequent rotation to the eclipse that I need to make after or some combination of trigonometry?


How can I dynamically place an analysis measurement?

$
0
0

How does one modify a measurement callout such as a minimum radius 

while in the Analysis tools? I can see where text box line and font is defined in the 

customer defaults but I don't see my changes displayed (even after restarting NX).

And placing the dimension dynamically (dragging) in 3D space is not working.

Any help is appreciated!

Mould design

$
0
0

how to split the non planer part for making mould...i hereby attached one non planer part in .step format..

Drafting attributes don't copy over when inserting part into drawing?

$
0
0

Hi there,

 

I have a bunch of "empty" parts that I use as drawing templates, with a bunch of attributes defining certain text values in my title block such as name, date, drawing number, etc... When I made a new drawing for a part, I create a new sheet in my part file, insert the drawing template part, and proceed to make the drawing with the imported title block.

 

For some reason, the attributes that I have in my drafting templates don't get inserted into the part. The only way I can get them to update is to create a new attribute with the same name, then go into the text box in the title block and make a change to the reference. For example, if the reference in the block is <WRef1*0@DATE>, deleting a character automatically updates the reference and puts the correct text.

 

Is there some setting that I am missing while inserting the drawing template? Unfortunately the method of importing drawing templates is out of my hands, so I'm really hoping there is a method of keeping the attributes when inserting to my part.

Problem with model's graphic

$
0
0

Hello to all,

Could someone help me to set my NX 11 to avoid graphic problems like this?

NVIDIA drivers are up to date.

cube.JPGcube2.JPG

Any help is very appreciated.

 

Danijel

open source design projects?

$
0
0
As every coder knows, the best way to learn to write good codes is to read some established open source projects, such as those from Google. Such kind of resources are very easy to get on the web.
 
A part design with elaborate history is in fact a coding project. But it seems to be very difficult to find many high-quality "open source" NX parts, especially sophisticated ones. This makes the learning process very slow. And I don't think this is in the interest of the software producers.
 
Therefor I'm a little confused by the marketing strategy in the CAD software industry.

NX_Mass for subassemblies and assembly solution

$
0
0

Hello guys,

 

I spent a lot of time trying to get NX_Mass in assembly and also for subassemblies.

After doing a lot of research and combining multiple ideas from different forums and gtac samples i managed to write a NX command that will parse all the components of an assembly and set NX_Mass value equal to the one displayed in assembly navigator(weight kg).

This value can also be called in drafting title blocks using <WRef1*0@NX_Mass> .

I have tested it on NX managed but i think it also can work on native.

In case you guys have ideas to make it better, i'm open to suggestion.

Get your mass gentlemen.

You might get an error if you have multiple assemblies open in same time,but the command will still work.I am working on fixing that.

 

using System;
using NXOpen;
using NXOpen.UF;
using NXOpen.Utilities;


/*This code is wrote in C#.
Compile and add the new .dll as a command in NX.
The code was tested and implemented in NX 11.0
For questions or suggestions you can contact me at ionut.bilibou@adacomputers.ro
*/

public class NXJournal
{
static Session theSession = Session.GetSession();
static UFSession theUFSession = UFSession.GetUFSession();

static Part displayPart = theSession.Parts.Display;
static Part part = theSession.Parts.Work;


public static void Main(string[] args)
{


foreach (Part workPart in theSession.Parts.ToArray())
{
theSession.Parts.SetWork(workPart);

Body[] theBody = AskAllBodies(workPart);

Unit[] theUnits = {
workPart.UnitCollection.GetBase("Area"),
workPart.UnitCollection.GetBase("Volume"),
workPart.UnitCollection.GetBase("Mass"),
workPart.UnitCollection.GetBase("Length") };

MeasureBodies theMeasureBodies = workPart.MeasureManager.NewMassProperties(theUnits, 0.99, theBody);

NXOpen.Session.UndoMarkId markId1;
markId1 = theSession.SetUndoMark(NXOpen.Session.MarkVisibility.Visible, "Start");

NXOpen.NXObject[] objects1 = new NXOpen.NXObject[1];
objects1[0] = workPart;
NXOpen.AttributePropertiesBuilder attributePropertiesBuilder1;
attributePropertiesBuilder1 = theSession.AttributeManager.CreateAttributePropertiesBuilder(workPart, objects1, NXOpen.AttributePropertiesBuilder.OperationType.None);

attributePropertiesBuilder1.IsArray = false;

attributePropertiesBuilder1.IsArray = false;

attributePropertiesBuilder1.IsArray = false;

attributePropertiesBuilder1.DataType = NXOpen.AttributePropertiesBaseBuilder.DataTypeOptions.String;

attributePropertiesBuilder1.Units = "MilliMeter";

NXOpen.NXObject[] objects2 = new NXOpen.NXObject[1];
objects2[0] = workPart;
NXOpen.MassPropertiesBuilder massPropertiesBuilder1;
massPropertiesBuilder1 = workPart.PropertiesManager.CreateMassPropertiesBuilder(objects2);

NXOpen.SelectNXObjectList selectNXObjectList1;
selectNXObjectList1 = massPropertiesBuilder1.SelectedObjects;

NXOpen.NXObject[] objects3;
objects3 = selectNXObjectList1.GetArray();

massPropertiesBuilder1.LoadPartialComponents = true;

massPropertiesBuilder1.Accuracy = 0.98999999999999999;

NXOpen.NXObject[] objects4 = new NXOpen.NXObject[1];
objects4[0] = workPart;
NXOpen.PreviewPropertiesBuilder previewPropertiesBuilder1;
previewPropertiesBuilder1 = workPart.PropertiesManager.CreatePreviewPropertiesBuilder(objects4);

previewPropertiesBuilder1.StorePartPreview = true;

previewPropertiesBuilder1.StoreModelViewPreview = true;

previewPropertiesBuilder1.ModelViewCreation = NXOpen.PreviewPropertiesBuilder.ModelViewCreationOptions.OnViewSave;

attributePropertiesBuilder1.DataType = NXOpen.AttributePropertiesBaseBuilder.DataTypeOptions.Number;

attributePropertiesBuilder1.DateValue.FromDateItem.Year = "2017";

attributePropertiesBuilder1.DateValue.ToDateItem.Year = "2017";

NXOpen.NXObject[] objects5 = new NXOpen.NXObject[1];
objects5[0] = workPart;
attributePropertiesBuilder1.SetAttributeObjects(objects5);

attributePropertiesBuilder1.Units = "MilliMeter";

theSession.SetUndoMarkName(markId1, "Displayed Part Properties Dialog");

attributePropertiesBuilder1.DateValue.DateItem.Day = NXOpen.DateItemBuilder.DayOfMonth.Day18;

attributePropertiesBuilder1.DateValue.DateItem.Month = NXOpen.DateItemBuilder.MonthOfYear.Jan;

attributePropertiesBuilder1.DateValue.DateItem.Year = "2018";

attributePropertiesBuilder1.DateValue.DateItem.Time = "00:00:00";

massPropertiesBuilder1.UpdateOnSave = NXOpen.MassPropertiesBuilder.UpdateOptions.Yes;

attributePropertiesBuilder1.Title = "";

attributePropertiesBuilder1.Units = "MilliMeter";

attributePropertiesBuilder1.IsArray = false;

attributePropertiesBuilder1.Units = "";

attributePropertiesBuilder1.IsArray = false;

attributePropertiesBuilder1.IsArray = false;

attributePropertiesBuilder1.StringValue = "";

attributePropertiesBuilder1.Units = "MilliMeter";

attributePropertiesBuilder1.IsArray = false;

attributePropertiesBuilder1.IsArray = false;

attributePropertiesBuilder1.Category = "Materials";

attributePropertiesBuilder1.Title = "NX_Mass";

attributePropertiesBuilder1.Units = "MilliMeter";

attributePropertiesBuilder1.IsArray = false;

attributePropertiesBuilder1.Units = "Kilogram";

attributePropertiesBuilder1.Units = "Kilogram";

attributePropertiesBuilder1.NumberValue = 150000000000000.0;

attributePropertiesBuilder1.IsArray = false;

attributePropertiesBuilder1.IsArray = false;

attributePropertiesBuilder1.NumberValue = theMeasureBodies.Mass;

NXOpen.Session.UndoMarkId markId2;
markId2 = theSession.SetUndoMark(NXOpen.Session.MarkVisibility.Visible, "Accept Edit");

attributePropertiesBuilder1.ValueAlias = "";

bool changed1;
changed1 = attributePropertiesBuilder1.CreateAttribute();

attributePropertiesBuilder1.Category = "";

attributePropertiesBuilder1.Title = "";

attributePropertiesBuilder1.Units = "Kilogram";

attributePropertiesBuilder1.IsArray = false;

attributePropertiesBuilder1.Units = "";

attributePropertiesBuilder1.NumberValue = 0.0;

attributePropertiesBuilder1.IsArray = false;

attributePropertiesBuilder1.IsArray = false;

attributePropertiesBuilder1.StringValue = "";

attributePropertiesBuilder1.Units = "MilliMeter";

attributePropertiesBuilder1.IsArray = false;

attributePropertiesBuilder1.IsArray = false;

NXOpen.Session.UndoMarkId markId3;
markId3 = theSession.SetUndoMark(NXOpen.Session.MarkVisibility.Invisible, "Displayed Part Properties");

theSession.DeleteUndoMark(markId3, null);

NXOpen.Session.UndoMarkId markId4;
markId4 = theSession.SetUndoMark(NXOpen.Session.MarkVisibility.Invisible, "Displayed Part Properties");

NXOpen.NXObject nXObject1;
nXObject1 = attributePropertiesBuilder1.Commit();

NXOpen.MassPropertiesBuilder.UpdateOptions updateoption1;
updateoption1 = massPropertiesBuilder1.UpdateOnSave;

NXOpen.NXObject nXObject2;
nXObject2 = massPropertiesBuilder1.Commit();

workPart.PartPreviewMode = NXOpen.BasePart.PartPreview.OnSave;

NXOpen.NXObject nXObject3;
nXObject3 = previewPropertiesBuilder1.Commit();

NXOpen.Session.UndoMarkId id1;
id1 = theSession.GetNewestUndoMark(NXOpen.Session.MarkVisibility.Visible);

int nErrs1;
nErrs1 = theSession.UpdateManager.DoUpdate(id1);

theSession.DeleteUndoMark(markId4, null);

theSession.SetUndoMarkName(markId1, "Displayed Part Properties");

attributePropertiesBuilder1.Destroy();

massPropertiesBuilder1.Destroy();

previewPropertiesBuilder1.Destroy();

theSession.DeleteUndoMark(id1, null);

}

theSession.Parts.SetWork(part);
}
static void DoIt()
{

}

static Body[] AskAllBodies(Part thePart)
{
System.Collections.ArrayList theBodies = new System.Collections.ArrayList();

Tag aBodyTag = Tag.Null;
do
{
theUFSession.Obj.CycleObjsInPart(thePart.Tag, UFConstants.UF_solid_type, ref aBodyTag);
if (aBodyTag == Tag.Null) break;

int theType, theSubtype;
theUFSession.Obj.AskTypeAndSubtype(aBodyTag, out theType, out theSubtype);
if (theSubtype == UFConstants.UF_solid_body_subtype)
theBodies.Add(NXObjectManager.Get(aBodyTag));

} while (true);

return ((Body[])theBodies.ToArray(typeof(Body)));
}

 

static void Echo(string output)
{
theSession.ListingWindow.Open();
theSession.ListingWindow.WriteLine(output);
theSession.LogFile.WriteLine(output);
}

static void reportPartLoadStatus(PartLoadStatus load_status)
{
if (load_status.NumberUnloadedParts == 0) return;

Echo(" Load notes:");

for (int ii = 0; ii < load_status.NumberUnloadedParts; ii++)
{
Echo(" " + load_status.GetPartName(ii) + " - "
+ load_status.GetStatusDescription(ii));
}
}

public static int GetUnloadOption(string arg)
{
return System.Convert.ToInt32(Session.LibraryUnloadOption.Immediately);
}
}

Open UGPART(non master) from Master part and automatically switch to drafting solution

$
0
0

Hello guys,

 

I have found a code on a forum for an older NX version wich opens the non master part for the selected component in assembly navigator.

I have adapted it to switch automatically to drafting after opening the drawing using the new NX 11.00 function.

The script works by searching all UGPART wich have the same name as the UGMASTER but with the extension added in customer defaults(in my case it can be -DWG1 or -dwg1 or 2).

To use it you have to compile it as .dll or you can save it as .vb.

 


Option Strict Off

Imports System
Imports System.Collections.Generic
Imports System.IO
Imports System.Windows.Forms
Imports NXOpen
Imports NXOpen.Assemblies
Imports NXOpen.UF
Imports NXOpen.UI


Module NXJournal

Dim theSession As Session = Session.GetSession()
Dim workPart = theSession.Parts.Work
Dim theUFS As NXOpen.UF.UFSession = NXOpen.UF.UFSession.GetUFSession()
Dim theUI As UI = ui.GetUI
Dim curSession As NXOpen.Session = NXOpen.Session.GetSession()
'Dim lw As ListingWindow = theSession.ListingWindow
Dim lg As LogFile = theSession.LogFile

Dim SelectedList As New List(Of String)
Dim bolSelected As Boolean = False

Dim objSelected As NXObject
Dim intType As Integer
Dim intSubType As Integer
Dim ExtensionList As New List(Of String)
Dim blnFoundSpec As Boolean = False


Sub Main()
'lw.Open()
lg.WriteLine("~~ Journal: Open_Specification.vb ~~")
lg.WriteLine(" timestamp: " & Now)

BuildExtensionList()

Try
lg.WriteLine(" Find out if components are selected.")
AreComponentsSelected()
If bolSelected = False Then
lg.WriteLine(" No components are selected.")
lg.WriteLine(" Open drawing for current work part.")
OpenDrawings(workPart.GetStringAttribute("DB_PART_NO") & "/" & workPart.GetStringAttribute("DB_PART_REV"))
Else
For Each selectedcomponent As String in SelectedList
lg.WriteLine(" Components are selected.")
lg.WriteLine(" Open drawing for selected parts.")
OpenDrawings(selectedcomponent)
Next
End If
If blnFoundSpec Then
curSession.ApplicationSwitchImmediate("UG_APP_DRAFTING")
Else
MessageBox.Show("You shall not pass!(NO UGPART found)", "Gates of Mordor", MessageBoxButtons.OK, MessageBoxIcon.Stop)
End If

Catch ex As Exception
lg.WriteLine(" Error in Sub Main: " & ex.Message)
End Try
'lw.Close()
lg.WriteLine("~~ Journal: Open_Specification.vb completed ~~")
lg.WriteLine(" timestamp: " & Now)
End Sub

Sub AreComponentsSelected()
Try
Dim intNumSelected As Integer = theUI.SelectionManager.GetNumSelectedObjects()
If intNumSelected = 0 Then
bolSelected = False
Exit Sub
End If

For i As Integer = 0 To intNumSelected-1
objSelected = theUI.SelectionManager.GetSelectedObject(i)
theUFS.Obj.AskTypeAndSubtype(objSelected.Tag, intType, intSubType)
If intType = UFConstants.UF_component_type Then
Dim theComp As Component = DirectCast(objSelected, Component)
SelectedList.Add(theComp.DisplayName)
bolSelected = True
End If
Next
Catch ex As Exception
lg.WriteLine(" Error in Sub AreComponentsSelected: " & ex.Message)
End Try

End Sub

Sub BuildExtensionList()
'Add new extensions to this list.
'This list should be sorted by most commonly used extension as opening will be attempted in this order.
ExtensionList.Add("-DWG1")
ExtensionList.Add("-dwg1")
ExtensionList.Add("-dwg2")
ExtensionList.Add("-DWG2")

End Sub

Sub OpenDrawings(ByVal OpenMe As String)
Dim strExtension As String
Dim strSplitString() As String = Split(OpenMe, "/")
Dim strPartNo As String = strSplitString(0)
Dim strRevNum As String = strSplitString(1)
Dim strOpenString As String = ""

For Each strExtension In ExtensionList
Try
strOpenString = "@DB/" & strPartNo & "/" & strRevNum & "/specification/" & strPartNo & "-" & strRevNum & strExtension

Try
theSession.Parts.SetNonmasterSeedPartData(strOpenString)
Dim prtBasePart As BasePart
Dim lsBasePart As PartLoadStatus
prtBasePart = theSession.Parts.OpenBaseDisplay(strOpenString, lsBasePart)
lsBasePart.Dispose()
blnFoundSpec = True
Exit For

Catch exc As Exception
Dim prtPart As Part = CType(theSession.Parts.FindObject(strOpenString), Part)
Dim lsPart As PartLoadStatus
Dim status1 As PartCollection.SdpsStatus
status1 = theSession.Parts.SetDisplay(prtPart, False, True, lsPart)
lsPart.Dispose()
blnFoundSpec = True
Exit For

End Try

Catch ex As Exception
lg.WriteLine(" Error in Sub OpenDrawings:")
lg.WriteLine(" " & ex.Message & ": " & strOpenString)
End Try
Next
End Sub

Public Function GetUnloadOption(ByVal dummy As String) As Integer
GetUnloadOption = UFConstants.UF_UNLOAD_IMMEDIATELY
End Function
End Module

 

 


How to order coordinate systems ?

$
0
0

Hello everyone !

 

I got a question for you : I don't know how to reorder (parent/child) the coordinate systems of an existing FEM in NX11.

 

When i am importing it in NX11, the coordinate systems are ordered yet and I need to reorder them ...

 

Could you please help me on this point ?

 

Thanks in advance,

 

Playmo31

 

Nx11 drafting wcs saved not show in view

$
0
0

hi

i've started to use nx11 after a lot of years using nx7.5.

i need to make a drawing for my assembly with master model.

with nx7.5, with master work part and switching to model environment, i can place a wcs wherever i want and with the command

menù-format-wcs-save

i "freeze" the wcs (a new csys in generated and shown in green color).

after this, moving to drafting, in each view i can show this new csys.

with nx11 it seems to be impossible: i've saved the wcs as usally but i cannot find the way to show it in views.

where is my mistake?

Problem with boss

$
0
0

I was trying to put a shallow boss on a sheet of material. The error message is "cannot unite opposed sheet bodies". I don't know what to do now.

back to previous view?

$
0
0
Is there any way to go back to the previous view during modelling process, just as in a web browser? Thanks!

Can I make the pitch visible from a threaded hole.

$
0
0

Can I make the pitch visible from a threaded hole,I can make it visible with a bolt

Viewing all 5175 articles
Browse latest View live