Перейти к публикации

Сделать компонент ссылочный через журнал


Checker

Рекомендованные сообщения

Доброе время суток, уважаемые!

Есть необходимость скриптом выполнять функцию задания компонентов как ссылочные (Свойства-Сборка-Компонент только ссылочный), но найти не как не можем. Подскажите пожалуйста кто знает как реализовать, очень нужно!

Ссылка на сообщение
Поделиться на других сайтах


записал. 1 нюанс. компонент выделен в сборке. 

' NX 10.0.3.5
' Journal created by ууиии on Tue Apr 26 10:51:18 2016 Арабское время (зима)
'
Option Strict Off
Imports System
Imports NXOpen

Module NXJournal
Sub Main (ByVal args() As String) 

Dim theSession As NXOpen.Session = NXOpen.Session.GetSession()
Dim workPart As NXOpen.Part = theSession.Parts.Work

Dim displayPart As NXOpen.Part = theSession.Parts.Display

Dim markId1 As NXOpen.Session.UndoMarkId
markId1 = theSession.SetUndoMark(NXOpen.Session.MarkVisibility.Visible, "Начало")

Dim objects1(0) As NXOpen.NXObject
Dim theUI As UI = UI.GetUI()

objects1(0) = CType(theUI.SelectionManager.GetSelectedObject(0), NXOpen.Assemblies.Component)
Dim assembliesGeneralPropertiesBuilder1 As NXOpen.Assemblies.AssembliesGeneralPropertiesBuilder
assembliesGeneralPropertiesBuilder1 = workPart.PropertiesManager.CreateAssembliesGeneralPropertiesBuilder(objects1)

Dim selectComponentList1 As NXOpen.Assemblies.SelectComponentList
selectComponentList1 = assembliesGeneralPropertiesBuilder1.SelectedObjects

Dim objects2() As NXOpen.Assemblies.Component
objects2 = selectComponentList1.GetArray()

assembliesGeneralPropertiesBuilder1.LayerOption = NXOpen.Assemblies.AssembliesGeneralPropertiesBuilder.LayerOptions.Mixed

assembliesGeneralPropertiesBuilder1.QuantityType = NXOpen.Assemblies.AssembliesGeneralPropertiesBuilder.QuantityOptions.AsRequired

assembliesGeneralPropertiesBuilder1.QuantityType = NXOpen.Assemblies.AssembliesGeneralPropertiesBuilder.QuantityOptions.Number

Dim objects3(0) As NXOpen.NXObject
objects3(0) = CType(theUI.SelectionManager.GetSelectedObject(0), NXOpen.Assemblies.Component)
Dim attributePropertiesBuilder1 As NXOpen.AttributePropertiesBuilder
attributePropertiesBuilder1 = theSession.AttributeManager.CreateAttributePropertiesBuilder(workPart, objects3, NXOpen.AttributePropertiesBuilder.OperationType.None)

attributePropertiesBuilder1.IsArray = False

attributePropertiesBuilder1.IsArray = False

attributePropertiesBuilder1.IsArray = False

attributePropertiesBuilder1.DataType = NXOpen.AttributePropertiesBaseBuilder.DataTypeOptions.String

attributePropertiesBuilder1.Units = "MilliMeter"

Dim objects4(0) As NXOpen.NXObject
objects4(0) = CType(theUI.SelectionManager.GetSelectedObject(0), NXOpen.Assemblies.Component)
Dim massPropertiesBuilder1 As NXOpen.MassPropertiesBuilder
massPropertiesBuilder1 = workPart.PropertiesManager.CreateMassPropertiesBuilder(objects4)

Dim selectNXObjectList1 As NXOpen.SelectNXObjectList
selectNXObjectList1 = massPropertiesBuilder1.SelectedObjects

Dim objects5() As NXOpen.NXObject
objects5 = selectNXObjectList1.GetArray()

massPropertiesBuilder1.LoadPartialComponents = True

massPropertiesBuilder1.Accuracy = 0.99

Dim objects6(0) As NXOpen.NXObject
objects6(0) = CType(theUI.SelectionManager.GetSelectedObject(0), NXOpen.Assemblies.Component)
Dim objectGeneralPropertiesBuilder1 As NXOpen.ObjectGeneralPropertiesBuilder
objectGeneralPropertiesBuilder1 = workPart.PropertiesManager.CreateObjectGeneralPropertiesBuilder(objects6)

Dim selectNXObjectList2 As NXOpen.SelectNXObjectList
selectNXObjectList2 = objectGeneralPropertiesBuilder1.SelectedObjects

objectGeneralPropertiesBuilder1.Name = "050588"

objectGeneralPropertiesBuilder1.NameLocationSpecified = False

objectGeneralPropertiesBuilder1.Index = 1

Dim objects7(0) As NXOpen.NXObject
objects7(0) = CType(theUI.SelectionManager.GetSelectedObject(0), NXOpen.Assemblies.Component)
Dim assembliesParameterPropertiesBuilder1 As NXOpen.Assemblies.AssembliesParameterPropertiesBuilder
assembliesParameterPropertiesBuilder1 = workPart.PropertiesManager.CreateAssembliesParameterPropertiesBuilder(objects7)

Dim selectComponentList2 As NXOpen.Assemblies.SelectComponentList
selectComponentList2 = assembliesParameterPropertiesBuilder1.SelectedObjects

Dim objects8() As NXOpen.Assemblies.Component
objects8 = selectComponentList2.GetArray()

Dim selectComponentList3 As NXOpen.Assemblies.SelectComponentList
selectComponentList3 = assembliesParameterPropertiesBuilder1.SelectedObjects

Dim objects9() As NXOpen.Assemblies.Component
objects9 = selectComponentList3.GetArray()

assembliesGeneralPropertiesBuilder1.LayerOption = NXOpen.Assemblies.AssembliesGeneralPropertiesBuilder.LayerOptions.OriginalLayer

assembliesGeneralPropertiesBuilder1.IntegerQuantity = 1

assembliesGeneralPropertiesBuilder1.RealQuantity = 1.0

assembliesParameterPropertiesBuilder1.Arrangements = NXOpen.Assemblies.AssembliesParameterPropertiesBuilder.ArrangementOptions.SamePositionInAll

Dim objects10(0) As NXOpen.NXObject
objects10(0) = CType(theUI.SelectionManager.GetSelectedObject(0), NXOpen.Assemblies.Component)
attributePropertiesBuilder1.SetAttributeObjects(objects10)

attributePropertiesBuilder1.Units = "MilliMeter"

theSession.SetUndoMarkName(markId1, "Диалоговое окно Компонент свойства")

Dim selectComponentList4 As NXOpen.Assemblies.SelectComponentList
selectComponentList4 = assembliesGeneralPropertiesBuilder1.SelectedObjects

Dim objects11() As NXOpen.Assemblies.Component
objects11 = selectComponentList4.GetArray()

Dim selectComponentList5 As NXOpen.Assemblies.SelectComponentList
selectComponentList5 = assembliesGeneralPropertiesBuilder1.SelectedObjects

Dim objects12() As NXOpen.Assemblies.Component
objects12 = selectComponentList5.GetArray()

Dim selectComponentList6 As NXOpen.Assemblies.SelectComponentList
selectComponentList6 = assembliesGeneralPropertiesBuilder1.SelectedObjects

Dim objects13() As NXOpen.Assemblies.Component
objects13 = selectComponentList6.GetArray()

Dim selectComponentList7 As NXOpen.Assemblies.SelectComponentList
selectComponentList7 = assembliesGeneralPropertiesBuilder1.SelectedObjects

Dim objects14() As NXOpen.Assemblies.Component
objects14 = selectComponentList7.GetArray()

Dim selectComponentList8 As NXOpen.Assemblies.SelectComponentList
selectComponentList8 = assembliesGeneralPropertiesBuilder1.SelectedObjects

Dim objects15() As NXOpen.Assemblies.Component
objects15 = selectComponentList8.GetArray()

Dim nonGeometricState1 As Boolean
nonGeometricState1 = CType(theUI.SelectionManager.GetSelectedObject(0), NXOpen.Assemblies.Component).GetNonGeometricState()

assembliesGeneralPropertiesBuilder1.ReferenceComponent = NXOpen.Assemblies.AssembliesGeneralPropertiesBuilder.ReferenceComponentOptions.No

Dim selectComponentList9 As NXOpen.Assemblies.SelectComponentList
selectComponentList9 = assembliesGeneralPropertiesBuilder1.SelectedObjects

Dim objects16() As NXOpen.Assemblies.Component
objects16 = selectComponentList9.GetArray()

assembliesGeneralPropertiesBuilder1.Hidden = NXOpen.Assemblies.AssembliesGeneralPropertiesBuilder.HiddenOptions.No

Dim selectComponentList10 As NXOpen.Assemblies.SelectComponentList
selectComponentList10 = assembliesGeneralPropertiesBuilder1.SelectedObjects

Dim objects17() As NXOpen.Assemblies.Component
objects17 = selectComponentList10.GetArray()

Dim selectComponentList11 As NXOpen.Assemblies.SelectComponentList
selectComponentList11 = assembliesGeneralPropertiesBuilder1.SelectedObjects

Dim objects18() As NXOpen.Assemblies.Component
objects18 = selectComponentList11.GetArray()

attributePropertiesBuilder1.DateValue.DateItem.Day = NXOpen.DateItemBuilder.DayOfMonth.Day26

attributePropertiesBuilder1.DateValue.DateItem.Month = NXOpen.DateItemBuilder.MonthOfYear.Apr

attributePropertiesBuilder1.DateValue.DateItem.Year = "2016"

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

massPropertiesBuilder1.UpdateOnSave = NXOpen.MassPropertiesBuilder.UpdateOptions.Yes

Dim selectNXObjectList3 As NXOpen.SelectNXObjectList
selectNXObjectList3 = objectGeneralPropertiesBuilder1.SelectedObjects

Dim selectNXObjectList4 As NXOpen.SelectNXObjectList
selectNXObjectList4 = objectGeneralPropertiesBuilder1.SelectedObjects

Dim selectComponentList12 As NXOpen.Assemblies.SelectComponentList
selectComponentList12 = assembliesParameterPropertiesBuilder1.SelectedObjects

Dim objects19() As NXOpen.Assemblies.Component
objects19 = selectComponentList12.GetArray()

Dim selectComponentList13 As NXOpen.Assemblies.SelectComponentList
selectComponentList13 = assembliesParameterPropertiesBuilder1.SelectedObjects

Dim objects20() As NXOpen.Assemblies.Component
objects20 = selectComponentList13.GetArray()

assembliesGeneralPropertiesBuilder1.ReferenceComponent = NXOpen.Assemblies.AssembliesGeneralPropertiesBuilder.ReferenceComponentOptions.Yes

Dim selectComponentList14 As NXOpen.Assemblies.SelectComponentList
selectComponentList14 = assembliesGeneralPropertiesBuilder1.SelectedObjects

Dim objects21() As NXOpen.Assemblies.Component
objects21 = selectComponentList14.GetArray()

Dim markId2 As NXOpen.Session.UndoMarkId
markId2 = theSession.SetUndoMark(NXOpen.Session.MarkVisibility.Invisible, "Компонент свойства")

theSession.DeleteUndoMark(markId2, Nothing)

Dim markId3 As NXOpen.Session.UndoMarkId
markId3 = theSession.SetUndoMark(NXOpen.Session.MarkVisibility.Invisible, "Компонент свойства")

Dim nXObject1 As NXOpen.NXObject
nXObject1 = assembliesGeneralPropertiesBuilder1.Commit()

Dim nXObject2 As NXOpen.NXObject
nXObject2 = attributePropertiesBuilder1.Commit()

Dim updateoption1 As NXOpen.MassPropertiesBuilder.UpdateOptions
updateoption1 = massPropertiesBuilder1.UpdateOnSave

Dim nXObject3 As NXOpen.NXObject
nXObject3 = massPropertiesBuilder1.Commit()

Dim nXObject4 As NXOpen.NXObject
nXObject4 = objectGeneralPropertiesBuilder1.Commit()

Dim nXObject5 As NXOpen.NXObject
nXObject5 = assembliesParameterPropertiesBuilder1.Commit()

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

Dim nErrs1 As Integer
nErrs1 = theSession.UpdateManager.DoUpdate(id1)

theSession.DeleteUndoMark(markId3, Nothing)

theSession.SetUndoMarkName(id1, "Компонент свойства")

assembliesGeneralPropertiesBuilder1.Destroy()

attributePropertiesBuilder1.Destroy()

massPropertiesBuilder1.Destroy()

objectGeneralPropertiesBuilder1.Destroy()

assembliesParameterPropertiesBuilder1.Destroy()

' ----------------------------------------------
'   Меню: Инструменты->Журнал->Остановка записи
' ----------------------------------------------

End Sub
End Module

Ссылка на сообщение
Поделиться на других сайтах
  • 2 месяца спустя...

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




×
×
  • Создать...