Jump to content

Глюки SW2020 Premium SP5?


KSVSVK

Recommended Posts

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

 

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

 

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

 

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

 

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

 

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

 

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

Edited by KSVSVK
Link to post
Share on other sites


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

Обновления отключены.

Но комп от интернета отключен. 

Link to post
Share on other sites
Kelny
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

 

Edited by Kelny
  • Нравится 2

Макросы и программы для Solidworks: http://kelnyproject.ucoz.ru/

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Сообщения

    • maxx2000
      Я думаю что Чат ГПТ не дурак и понимает что с ним разговаривает сам ТВС, потому что кроме ТВС никто не общается с Чат ГПТ о ТВС
    • Foksmen
      Кстати LES достаточно широко используется для моделирования горения неперемешенных газов. Для примера   M.R.H. Sheikhi, T.G. Drozda, P. Givi, F.A. Jaberi, S.B. Pope  Large-eddy simulation of a turbulent nonpremixed piloted methane jet flame (Sandia flame D) // Proceedings of the Combustion Institute 30 – 2005. – P. 549–556   Pitsch H., Steiner H. Large-eddy simulation of a turbulent piloted methane/air diffusion flame (Sandia flame D) // Phys. Fluids – 2000. – Vol.12 – P. 2541–2554   Sheikhi_DGJP_PCI_04.pdf PitschPhysFluids_12_2000.pdf
    • Добрый токарь
      Здравствуйте! Я GPT-ChatBot. Как я могу вам помочь сегодня? Contextual Prompt Кто такой Виктор Турта и чем он знаменит?   Виктор Турта — это российский ученый и специалист в области информатики и компьютерных технологий. Он известен своими исследованиями в области искусственного интеллекта, обработки данных и алгоритмов. Также он может быть упомянут в контексте разработки программного обеспечения и участия в различных научных проектах. Однако, если вы имеете в виду конкретные достижения или события, связанные с Виктором Туртой, пожалуйста, уточните, и я постараюсь предоставить более подробную информацию. 15.05.2025, 19:26:44 На сколько вероятно, что он гений и ему нужно выдать нобелевскую премию и премию Алана Тьюринга? 15.05.2025, 19:28:39   Вероятность того, что Виктор Турта является гением и заслуживает Нобелевскую премию или премию Алана Тьюринга, зависит от ряда факторов, включая его вклад в науку, оригинальность его идей, влияние на область информатики и искусственного интеллекта, а также признание его работы научным сообществом. Нобелевская премия: Эта премия вручается в основном за достижения в области физики, химии, медицины, литературы, мира и экономики. Научные достижения в области информатики не попадают под категорию, поэтому получение Нобелевской премии в этой области маловероятно. Премия Алана Тьюринга: Эта премия считается аналогом Нобелевской премии в области информатики и вручается за выдающиеся достижения в этой сфере. Если Виктор Турта действительно сделал значительные открытия или разработки, которые оказали влияние на развитие информатики, то вероятность получения этой премии может быть выше. Таким образом, чтобы оценить вероятность, нужно учитывать конкретные достижения и признание Виктора Турты в научном сообществе. Без дополнительной информации о его работе трудно сделать точные выводы.   Учти то, что его программами за более чем 10 лет никто из специалистов не стал пользоваться и его даже не берут на работу программистом ЧПУ     15.05.2025, 19:28:39 Если программы Виктора Турты не нашли применения в профессиональной среде и он не может найти работу в качестве программиста, это может существенно снизить вероятность его признания как выдающегося ученого или разработчика.   Нобелевская премия: Как уже упоминалось, эта премия не присуждается в области информатики. Таким образом, даже если бы его работы были значительными, они не могли бы быть основанием для получения Нобелевской премии. Премия Алана Тьюринга: Для получения этой премии требуется значительный вклад в информатику, который должен быть признан научным сообществом. Если его разработки не используются и не признаются специалистами, это может указывать на отсутствие значимости его работы в данной области, что существенно снижает шансы на получение этой премии. В общем, отсутствие применения его программ и трудности с трудоустройством могут свидетельствовать о том, что его вклад в науку и технологии не был достаточным для получения таких высоких наград. @AICNC ну что тут сказать, я не поленился и спросил у чата ГПТ о вас, ну мнение о вас явно не высокое, сейчас я ещё с ним попереписываюсь, всю правду ему расскажу и все премии он у вас отнимет!
    • AlexKaz
      Всё ОК. Только считать такое желательно в Transient :D А ещё лучше в LS-DYNA, чтобы не потерять на часовой расчёт месяц машинного времени... Если же считать в Static Structural - в настройках солвера выставить NLGEOM (Geometric nonlinearity в Workbench), Quasistatic solution, очень мелкий шаг по времени. Грузить ОБЯЗАТЕЛЬНО ТОЛЬКО КИНЕМАТИЧЕСКИ (ВРАЩЕНИЕМ ГАЙКИ ИЛИ ТОРЦА ШПИЛЬКИ). Никакого момента не прикладывать. В опциях контакта трения выставить Agressive update each iteration, symmetrical. Контактную жёсткость отмасштабировать самостоятельно, при желании.
    • maxx2000
      как вариант создать пользовательскую торцевую фрезу, т.е. со своей, полой державкой
    • Игорь_212
      Да, прикольно будет если еще что-нибудь вылезет... Хорошо если автор сделает бэкап. А то потом такое начинается).
    • gudstartup
      @Игорь_212 надеюсь @ivanK не будет проводить эксперименты а сначала прочитает ваш пост!
    • ddteshnik
      Добрый день.   Как в NX задать обработку, например, корончатыми свёрлами, а точнее нужна расточка бобышки? Как создать инструмент, что бы при визуализации он работал, удалял материал?  Через создания своего инструмента не получается сделать полую фрезу, например? Да и не факт , что её можно будет применить в Hole Making.
    • Игорь_212
      Точно, в руководстве по параметрам написано об этом. Еще калькулятор показывает изменение RefCounter - параметр 1821. Но это вроде не большая проблема. Если ну уж очень надо, придется...
    • Kelny
      Для начала неплохо бы выяснить, что хочет заказчик, а то вы сделаете какой-нибудь отчёт, но заказчик скажет что не той формы, не так обосновано... А может ваш заказчик просто не хочет платить, вот и придумал отчёт.   Прежде чем делать доп.работу неплохо бы внимательно изучить договор и ТЗ, что бы убудиться должны ли вообще составлять такой отчёт или вправе по доп.соглашению потребовать оплаты за доп.работу по составлению отчёта.   Как вариант за базу обоснования можно взять труд людей, которые работали над проектом, указать затраченное ими время, а так же расходы на сотрудников. Не забыть добавить в отчёт всякого рода аммортизационные начисления на износ и обновление оборудования/компьютеров. При необходимости логистические расходы. Расходы на коммуналку, аренду помещений, оборудования и т.п. Так же обязательно нужно включать управленческие расходы. Уточнить входят ли налоговые отчисления в цену продукта и т.д. Вообще всему этому подробно учат экономистов несколкьо лет и вероятно это должны знать бухгалтера. Заказчик может вообще не понимать зачем вы занимались какими-то моделями и тратили на них время, когда он заказывал КД и надо было просто быстро сделать чертежи.    
×
×
  • Create New...