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

Глюки SW2020 Premium SP5?


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

С одного дистрибутива на 2 компьютера несколько лет назад поставлен Солид. Обновления отключены.

 

Последнее время начались "чудеса":

 

1. Файл, созданный на первом компе, не открывается на втором, утверждая, что он из "будущей версии"

 

2. Проверка сборки эвольвентного зубчатого редуктора в "будущей версии" находит интерференции, отсутствующие в старой.

 

3. Расчет данного редуктора (Motion) при одних и тех же исходных данных приводит к разным результатам. Причем, на мой не очень искушенный взгляд, правильный результат у "старой" версии.

 

4. В контексте сборки создаю плоский эскиз, к которому привязываю размеры деталей (системное "Расположение" не использую). В какой-то момент (не отследил точно) часть размеров в эскизе пропадают. Причем эскиз остается определенным, и соответствующие взаимосвязи в нем есть. Похоже на "скрыть размер", но данный пункт не вызывался. При попытке посмотреть размеры через уравнения (режим Режим.png) Solid сообщает об ошибке и предлагает его перезапустить.

 

Кто-нибудь с такими "чудесами" сталкивался?

Изменено пользователем KSVSVK
Ссылка на сообщение
Поделиться на других сайтах


UnPinned posts
2 часа назад, KSVSVK сказал:

Кто-нибудь с такими "чудесами" сталкивался?

Посмотрите свойтсва файлов из Explorer Windows, на закладке ПОДРОБНО, там может быть строчка ПОСЛЕДНЕЕ СОХРАНЕНИЕ В...

 

или создайте макрос, добавьте пример из справки (в замен того что имеется в новом макросе) и запустите выполнение макроса, который покажет не только последнюю версию файла, но и историю файла по разным версиям (в каких вообще версиях файл редактировался):

https://help.solidworks.com/2022/english/api/sldworksapi/Get_Version_History_of_Future_Version_Document_Example_VB.htm

 

Текст макроса из справки (если файл уже открыт в Soildworks, то в макросе ни чего менять не надо, а если открытых документов нет и надо макросом открыть документ, то поменяйте путь к файлу в тексте макроса "strFileName = swApp.GetCurrentMacroPathFolder & "\Part1.sldprt""):

Скрытый текст

'Get Version History of Future Version Document 'Example (VBA)

'This example shows how to get the version history of a future version document.

'----------------------------------------------------------------------------
' Preconditions:
' 1. Copy a future version part document to this macro's directory.
' 2. Replace Part1.sldprt in the macro with the name
'    of your future version part.
' 3. Open an Immediate window.
'
' Postconditions: 
' 1. Does not throw swFileLoadError_e.swFutureVersion.
' 2. Inspect the Immediate window for the version history of the document.
' ---------------------------------------------------------------------------

Option Explicit

Sub Main()

    Dim swApp As SldWorks.SldWorks
    Dim swDocument As SldWorks.ModelDoc2
    Dim swExtension As SldWorks.ModelDocExtension
    Dim lErrors As Long
    Dim lWarnings As Long
    Dim lOptions As Long
    Dim strFileName As String
    Dim vVersionHistory As Variant
    Dim strBaseVersion As String
    Dim strCurrentVersion As String
    Dim strHotFixes As String
    Dim strRevisionNumber As String
    Dim lDateCode As Long
    Dim strDateCode As String
    Dim strDateCodeYear As String
    Dim strDateCodeDay As String
    Dim strFormatVersion As String
    

    Set swApp = Application.SldWorks
   

    strFormatVersion = swApp.GetLatestSupportedFileVersion
   

    strRevisionNumber = swApp.RevisionNumber
    swApp.GetBuildNumbers2 strBaseVersion, strCurrentVersion, strHotFixes
    lDateCode = swApp.DateCode
   

    strDateCode = CStr(lDateCode)
    strDateCodeYear = Left$(strDateCode, 4)
    strDateCodeDay = Mid$(strDateCode, Len(strDateCodeYear) + 1)
   

    strDateCode = strDateCodeYear & "/" & strDateCodeDay
   

    Debug.Print "Format version = " & strFormatVersion
    Debug.Print "RevisionNumber = " & strRevisionNumber
    Debug.Print "BaseVersion    = " & strBaseVersion
    Debug.Print "CurrentVersion = " & strCurrentVersion
    Debug.Print "HotFixes       = " & strHotFixes
    Debug.Print "DateCode       = " & lDateCode
    Debug.Print "  DateCode     = " & strDateCode
   

    Set swDocument = swApp.ActiveDoc
   

    If (swDocument Is Nothing) Then
        strFileName = swApp.GetCurrentMacroPathFolder & "\Part1.sldprt"
        lOptions = 0
        lOptions = lOptions Or swOpenDocOptions_e.swOpenDocOptions_Silent
        Set swDocument = swApp.OpenDoc6(strFileName, swDocPART, lOptions, "", lErrors, lWarnings)
        Debug.Print "lErrors = " & lErrors

        ' Starting with SW2012 SP5, loading future file versions is supported,
        ' so the future version error no longer occurs.
        Debug.Print "  future version error = " & ((lErrors And swFileLoadError_e.swFutureVersion) = swFileLoadError_e.swFutureVersion)
        Debug.Print "lWarnings = " & lWarnings
    End If
   

    If (swDocument Is Nothing) Then
        Debug.Print "No model"
        Exit Sub
    End If
   

    strFileName = swDocument.GetPathName
    Debug.Print "File = " & strFileName
    Set swExtension = swDocument.Extension
   

    ' The version history of a future version document is the same as
    ' that of the part/assembly template that is used to load it
    ' into the older version of SOLIDWORKS. IModelDoc2::VersionHistory
    ' returns the version history of the part template,
    ' not the version history of the future version document. Get the version
    ' history of a future version document from its file on disk
    ' using SldWorks::VersionHistory.
   

    Debug.Print "Is future version = " & swExtension.IsFutureVersion
       

    If (Not (swExtension.IsFutureVersion = False)) Then
        vVersionHistory = swApp.VersionHistory(strFileName)
        If (Not IsEmpty(vVersionHistory)) Then
            Debug.Print "Version history from file:"
            PrintVersionHistory vVersionHistory
        End If
    End If
   

    vVersionHistory = swDocument.VersionHistory
   

    If (Not IsEmpty(vVersionHistory)) Then
        Debug.Print "Version history from document:"
        PrintVersionHistory vVersionHistory
    End If
   

    Debug.Print "view-only      = " & swDocument.IsOpenedViewOnly
    Debug.Print "read-only      = " & swDocument.IsOpenedReadOnly
    Debug.Print "blocking state = " & BlockingState2String(swDocument.GetBlockingState)
   

End Sub

Private Sub PrintVersionHistory(ByVal vVersionHistory As Variant)

    Dim vSplitResults           As Variant
    Dim strFormatVersion        As String
    Dim strDateCodes            As String
    Dim vDateCode               As Variant
    Dim vHistoryEntry           As Variant

    For Each vHistoryEntry In vVersionHistory
           

        Debug.Print "  " & vHistoryEntry
        vSplitResults = Split(vHistoryEntry, "[")
        strFormatVersion = vSplitResults(0)
        strDateCodes = Replace(vSplitResults(1), "]", "")
        vSplitResults = Split(strDateCodes, ",")
        Debug.Print "    format version = " & strFormatVersion
       

        For Each vDateCode In vSplitResults
            Debug.Print "       datecode = " & vDateCode
        Next vDateCode
       

    Next vHistoryEntry

End Sub

Private Function BlockingState2String(ByVal nBlockingState As SwConst.swBlockingStates_e) As String

    Select Case (nBlockingState)
        Case swBlockingStates_e.swEditorBlock
            BlockingState2String = "editor block"
       

        Case swBlockingStates_e.swEditSketchBlock
            BlockingState2String = "edit sketch block"
           

        Case swBlockingStates_e.swFullBlock
            BlockingState2String = "full block"
           

        Case swBlockingStates_e.swModifyBlock
            BlockingState2String = "modify block"
           

        Case swBlockingStates_e.swNoBlock
            BlockingState2String = "no block"
           

        Case swBlockingStates_e.swPartialModifyBlock
            BlockingState2String = "partial modify block"
           

        Case swBlockingStates_e.swSystemBlock
            BlockingState2String = "system block"
           

        Case swBlockingStates_e.swViewOnlyBlock
            BlockingState2String = "view only block"
       

        Case Else
            BlockingState2String = "<unknown blocking state>"
       

    End Select
   

End Function

 

Изменено пользователем Kelny
Ссылка на сообщение
Поделиться на других сайтах

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

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

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

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

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

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

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

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

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

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

  • Сообщения

    • gemini74
      Вы даете пример, которая подпадает под классическую поверхностную модель. Само собой строить ее из твердотельных нет смысла. Опять же простая геометрия с двумя размерами. Это все задачи , относительно далекие от реальной геометрии серийных , массовых изделий. Задач, которых можно упростить до примитивных поверхностей мне попадалось не так много. Это теоретические задачи, далекие от практики. Поверхности, акцент на них в расчетах делался когда мощности компов были далеки от желаемых. Сейчас вроде времена изменились. И в большинстве случаев не требуются считать динамику или нелинейные задачи ,  разрушения в краш-тестах, задействуя типа LS DYNA. Не знаю , что у Вас за практика, но в моем опыте расчеты CAE не стоят на первом месте в приоритете по сравнению с работой конструктора. Большинство контор опирается на практику. Легче и проще сделать, испытать, чем провести полные расчеты, это и сложно, и штат расчетчиков нужно держать, чтобы были спецы и сопромате, и теплотехнике и гидравлики. Такое может позволить только типа РОСАТОМ. В конторах попроще  рассчитывают все проще. И расчетчик только проверяет работу конструктора в каких то моментах, но особо не вмешивается в процесс конструирования. Производство требует как обычно быстрый результат. Да еще сроки изготовления у нас всегда ограничены.  Поверхности  нужны для сокращения ресурсов в расчетах на треть , т.е из модели убирается третья координата. Но говорить , что это панацея и всегда нужно это делать я не соглашусь. Да , можно к этому стремится, но не считать, что только поверхности являются единственно верным правильным и точным решением. Это всего лишь вариант упрощения модели .  
    • Jesse
      Ресурсы компьютера. Попробуйте пож-ста посчитать изгиб стальной мембраны толщиной 0.5 мм и длиной 2 метра. Тетрами. Тогда вы поймёте что я имею в виду :)
    • alex0800
      у вас в примере в первом кадре цикла не хватает  R --глубина чистового прохода. это раз  второе большая высота резьбы при таком шаге резьбы при нарезании резьбы м60*1.5   глубина резьбы Р920
    • AlexKaz
      Есть другой подход. Конструктор сначала советуется с прочнистом, предоставляю ему полную сборку в нативном каде; прочнист вычищает в нативном всю ненужную мелочь и проводит расчёты, модя геометрию под себя и советуясь с конструктором; потом в несколько этапов таких "советов" конструктор финалит геометрию и КД. А не наоборот... 100500 вариантов голимого stp никому не впёрлось заново вычищать и пересчитывать с нуля...
    • Борман
    • Bot
      19-27 августа 2024 г. состоится серия вебинаров, организованная компанией «Топ Системы», по работе с системой T‑FLEX CAD для преподавателей и специалистов в сфере образования. Летняя школа САПР для преподавателей проходит в рамках программы «Факультет САПР». Ведущими темами онлайн мероприятия будут базовые функции и логика работы в системе T‑FLEX CAD. Летняя школа САПР это: Обмен опытом в сфере технического образования; Знакомство с подходами к процессам оцифровки учебных материалов средствами T FLEX CAD; Метод поддержки образовательных учреждений при обучении будущего поколения инженеров и специалистов управления производством. Темы Ключевые возможности T FLEX CAD 17 и их применение в учебном процессе; Элементы геометрического черчения; Формообразование; Конструктивные элементы; Вспомогательная геометрия. 3D–моделирование; Проекционные виды. Оформление чертежа; Сборка, Анимация разборки. Сборочный чертёж; Средства анализа [...] View the full article
    • artberesta
      Спасибо вам, я понял. У меня не выходило раскрасить готовые прямоугольники которые я уже смоделировал чёрный линией.Как можно выбрать линию которая наслаивается на другую линию для того что бы придать ей цвет   который нужен?  
    • sapr71
      Проверил. Сработало. Теперь выводит правильно. Все оказалось проще, чем я думал. Спасибо mr_Voden.
    • ЮрЮрыч
      У меня это возникает на виртуальных листовых компонентах при выполнении выреза. Поэтому листовые сразу сохраняю во внешнем файле. 
    • mr_Voden
×
×
  • Создать...