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

Резервная копия сборки


Kolesov

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

Добрый день!

Подскажите каким образом можно решить следующую проблему.

NX позволяет хранить данные сборки по всему домену, компьютерной сети.

То есть элементы сборки  могут находится на разных дисках ПК, сетевых   утройствах.

При этом если я укажу в опциях загрузки, поиск по каталогам, то он откроет без проблем сборку со всеми необходимыми компонентами.

 

Бывает необходимость  сохранить  нужную сборку или одну из подсборок со всеми компонентами в новом каталоге на выбранном диске.

Вопрос?

Каким образом можно это быстро сделать.

Клонирование сборок требует добавление  у имени префикса или суффикса и поэтому не используется

 

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


3 часа назад, Kolesov сказал:

сохранить  нужную сборку или одну из подсборок со всеми компонентами в новом каталоге

Я не конструктор, но этот вариант не пройдёт?

 

Ссылка на сообщение
Поделиться на других сайтах
11 час назад, Kolesov сказал:

Бывает необходимость  сохранить  нужную сборку или одну из подсборок со всеми компонентами в новом каталоге на выбранном диске.

Вопрос?

Каким образом можно это быстро сделать.

Средствами ОС: Копировать(Copy) -> Вставить(Paste).

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

При наличии Team center  это решается. 

А  если без него, то как?

Есть древняя программа, но она поддерживает только файлы латиницы. А если появится кириллица,  то ерунда.

НА сайте разработчика даже есть исходники DLL. Но они под  С+.

Может кто перекомпоновать проект С+ с поддержкой кириллицы.

 

Ссылка на сообщение
Поделиться на других сайтах
В 06.12.2018 в 15:42, Kolesov сказал:

При наличии Team center  это решается. 

А  если без него, то как?

Есть древняя программа, но она поддерживает только файлы латиницы. А если появится кириллица,  то ерунда.

НА сайте разработчика даже есть исходники DLL. Но они под  С+.

Может кто перекомпоновать проект С+ с поддержкой кириллицы.

 

 

Screenshot_1.png

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

Клонирование сборок требует добавление  у имени префикса или суффикса и поэтому не используется

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

Option Strict Off
' This program collects all loaded components
' from the assembly tree and copies them all
' into the specified target directory.

Imports System
Imports System.Collections
Imports System.IO
Imports System.Environment
Imports System.Windows.Forms
Imports NXOpen
Imports NXOpen.Assemblies
Imports NXOpen.UF

Module copy_assembly_to_target_directory

  Dim theSession As Session = Session.GetSession()
  Dim ufs As UFSession = UFSession.GetUFSession()
  Dim lw As ListingWindow = theSession.ListingWindow

  Sub Main()
    Dim partlist As New ArrayList()
    Dim foldername As String = ""

    lw.Open()
    If (select_directory(foldername) <> DialogResult.OK) Then
      lw.WriteLine("Input canceled...exit" & vbCrLf)
      Return
    Else
      lw.WriteLine("Target directory " & foldername & vbCrLf)
    End If

    Dim root As Component = _
      theSession.Parts.Display.ComponentAssembly.RootComponent
    Dim c_part As Part = root.Prototype
    partlist.Add(c_part.FullPath)

    AddComponentsToList(root, partlist)
   
    CopyComponentsInList(partlist, foldername)
    partlist.Clear()
  End Sub

  Sub AddComponentsToList( ByVal comp As Component, _
    ByRef plist As ArrayList)

    Dim child As Component = Nothing
    Dim c_part As Part = Nothing
    Dim loaded As Integer
    Dim modified As Boolean
    Dim nxman As Boolean = False
    Dim cp_name As String = Nothing

    For Each child In comp.GetChildren()
      cp_name = child.DisplayName()
     
      Dim loadStatus As UFPart.LoadStatus = nothing
      ufs.Assem.EnsureChildLoaded( ufs.Assem.AskInstOfPartOcc(child.Tag), loadStatus)
      If loadStatus.failed = True Then
        lw.WriteLine("Cannot load " & child.DisplayName())
      Else
        c_part = child.Prototype

        If plist.Contains(c_part.FullPath) = false Then
          plist.Add(c_part.FullPath)
        End If
        AddComponentsToList(child, plist)
      End If
    Next

  End Sub

  Sub CopyComponentsInList( ByVal plist As ArrayList, _
    ByVal targetfolder As String )

    Dim en As IEnumerator = plist.GetEnumerator
    While en.MoveNext
      Dim fi as new system.io.fileinfo(en.Current)
      Dim targetfile As String = targetfolder & "\" & fi.name
      lw.WriteLine("Copying " & en.Current & " --> " & targetfile)
      File.Copy(en.Current, targetfile , True)
    End While

  End Sub

  Public Function select_directory(ByRef foldername) As DialogResult

    Dim fbd As FolderBrowserDialog
    Dim result As DialogResult

    fbd = New FolderBrowserDialog()
    fbd.Description = "Select target directory"
    fbd.ShowNewFolderButton = True
    ' start browsing at Desktop folder, uncomment for any other def
    ' fbd.SelectedPath = GetEnvironmentVariable("UGII_BASE_DIR")
    ' fbd.SelectedPath = "c:\temp\target"
    result = fbd.ShowDialog()
    foldername = fbd.SelectedPath
    fbd.Dispose()
    Return result

  End Function

  Public Function GetUnloadOption(ByVal dummy As String) As Integer
    Return Session.LibraryUnloadOption.Immediately
  End Function
 
End Module

 

 

Создаете файл журнала и копируйте любую открытую сборку в другое место

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

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

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

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

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

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

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

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

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

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

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




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