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

Глюки 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 пользователей

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



  • Сообщения

    • gudstartup
      если занизите не сможете вести черновую обработку на высоких скоростях.  на практике станкостроители на высокоскоростных оц ставят высокие значения к тому же при динамическом ударе на скорости бх это вообще значения не имеет вы ни разу в суд не обращались и у вашей конторы нет юридической поддержки в случае решения суда в их пользу а иначе никак не освобождает не хотите обращаться в суд тогда меняйте битые шпинделя за свой счет! к тому же после сильного удара происходит изменение геометрии станка и это всегда легко доказывается так что отпираться бесполезно шпиндель уж точно разворачивает 
    • Bot
      Исследование: видеоигры замедляют старение мозга Результаты интеллектуальных тестов более тысячи добровольцев сопоставили со своими анкетами об их образе жизни. На этой выборке видно, что классические подвижные игры (футбол и прочие физические нагрузки) для поддержки когнитивных функций менее эффективны, чем «современные подвижные игры», например, FIFA, GTA и Minecraft, что несколько противоречит массовому представлению о пользе физкультуры для работы мозга. Также выдвинута гипотеза о том, что положительные эмоции и выделение эндорфинов в процессе игры оказываются более значимыми для когнитивных способностей, чем улучшение кровообращения от утренней зарядки. Apple резко сократила производство Vision Pro Пожалуй, было бы скучно по этому поводу говорить об отсутствии достаточного количества задач, соответствующих (в том числе по цене) этому инструменту. Возможно, продуктивнее было бы взглянуть на это как на очень дорогой эксперимент, в частности, расширивший миллионам мозгов [...] View the full article
    • brigval
      Вариант. На последнем листе спецификации можно вставлять примечания. Над основной надписью пишите, например, "См. примеч. 1" и о чем вы хотели сообщить пишите в примечании на последнем листе. А вообще, приведите скриншот. Где не хватает места?    
    • Alex1986
      Вроде как что-то поменялось. https://help.solidworks.com/2024/Russian/SolidWorks/sldworks/t_saving_sw_docs_previous_versions.htm  
    • Viktor2004
      на практике порог ошибки SV0409 выставляется в параметре 2142 или 2104 каким это боком? Вот ни раз мне никто не высказал. Хотя я ни от кого не скрывал что прописал им это туда   не каждый завод честно признается что случай не гарантийный и он готов заплатить за вызов и ремонт какой эксперт? Я ни разу в жизни еще не видел ни одного эксперта в решении таких вопросов. И доводить до суда мы ничего никогда не собираемся. Смогли доказать вину завода, завод платит. Если не платит, прекращаем с ними взаимодействовать. Если не смогли доказать, берем все на себя без разговоров. Если ситуация мутная, договариваемся на обоюдку если завод государственный, очень даже нужны. Факт подачи в суд освобождает их от ответственности перед государством за ситуацию или срыв заказа
    • gudstartup
      на практике чтобы  получить 409 ошибку инструмент должен быть сломан а деталь развальцована в случае таких событий гарантийные обязательства никак не должны возлагаться на фирму осуществившую пнр пусть со станкостроителем бодаются. но если он обнаружит ваши вкрапления в плк то это вам же и  выйдет боком завод сам наказывает операторов и наладчиков и это реадьность. факт удара вам любой эксперт докажет и попросит предоставить данные мониторинга через судебные органы а заводу на фиг не нужны судебные разборки и он во всем сознается 
    • Viktor2004
      надо. Потому что тут конфликт интересов поставщик-завод. И завод не даст мне информацию со своих ресурсов что бы я доказывал его вину
    • TVM
      Изначально эскизы и вспомогательную геометрию (плоскости, исходные точки и тд) не отображаю при активных кнопках "глаза". Разворачиваю  "4 столбца" в дереве и там отображаю или скрываю и т. д. что необходимо по мере надобности.  
    • gudstartup
      менеджмент сейчас сам ставит для диспетчеризации так что вам не надо напрягаться там и камеры и focas мониторинг событий и режимов выполнения техн. программы. где нет та история оператора поможет только надо стирание ее запретить это их адвокаты не хотели ввязываться а то бы сразу сыграли на преднамеренном изменении вами pmc станкостроителя с целью избежать гарантийных обязательств учитывая вашу малочисленность - вымол просто не справляетесь вот и фейковые сообщения записываете
    • malvi.dp
      Есть такой в соседней теме BlankDatums2a
×
×
  • Создать...