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

Нейросеть пишет макрос.


Basstudio

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

В общем баловался я с чатом нейросети. Дай думаю макрос попрошу. Так она вообще любой в лёт выдаёт. Только вот я не такой опытный в этих макросах. Копирую вроде, код. Создаю новый макрос всавляю. А он чтот не того. Не работает. Лико код от фанаря. Либо там маленькая неточность. Или у меня руки кривые. Кто шарит?? Посмотреть.. Screenshot_20230408_200251_com.huawei.browser.jpg

.. 

Screenshot_20230408_200257_com.huawei.browser.jpg

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


UnPinned posts

 

Option Explicit

Sub SaveSTEPsFromAllConfigurations()
    Dim swApp As SldWorks.SldWorks
    Dim swModel As SldWorks.ModelDoc2
    Dim swConfigMgr As SldWorks.ConfigurationManager
    Dim swConfig As SldWorks.Configuration
    Dim swPart As SldWorks.PartDoc
    Dim strFileName As String
    Dim i As Long
    
    Set swApp = Application.SldWorks
    
    ' Открыть активную модель
    Set swModel = swApp.ActiveDoc
    
    If Not swModel Is Nothing Then
        ' Получить менеджер конфигураций
        Set swConfigMgr = swModel.ConfigurationManager
        
        ' Пройти по всем конфигурациям
        For i = 0 To swConfigMgr.GetConfigurationCount - 1
            Set swConfig = swConfigMgr.GetConfigurationByIndex(i)
            ' Установить конфигурацию
            swModel.ShowConfiguration2 swConfig.Name
            Set swPart = swModel
            
            ' Сохранить степ-файл
            strFileName = swModel.GetPathName()
            strFileName = Left(strFileName, Len(strFileName) - 7) & "-" & swConfig.Name & ".step"
            swPart.ExportFlatPatternView strFileName, swExportFlatPatternOption_e.swExportFlatPatternOption_ExportAs3D
        Next i
    Else
        MsgBox "Откройте деталь перед запуском макроса."
    End If
End Sub
 

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

 

Option Explicit

Sub SaveSTEPsFromAllConfigurations()
    Dim swApp As SldWorks.SldWorks
    Dim swModel As SldWorks.ModelDoc2
    Dim swConfigMgr As SldWorks.ConfigurationManager
    Dim swConfig As SldWorks.Configuration
    Dim swPart As SldWorks.PartDoc
    Dim strFileName As String
    Dim i As Long
    
    Set swApp = Application.SldWorks
    
    ' Открыть активную модель
    Set swModel = swApp.ActiveDoc
    
    If Not swModel Is Nothing Then
        ' Получить менеджер конфигураций
        Set swConfigMgr = swModel.ConfigurationManager
        
        ' Пройти по всем конфигурациям
        For i = 0 To swConfigMgr.GetConfigurationCount - 1
            Set swConfig = swConfigMgr.GetConfigurationByIndex(i)
            ' Установить конфигурацию
            swModel.ShowConfiguration2 swConfig.Name
            Set swPart = swModel
            
            ' Сохранить степ-файл
            strFileName = swModel.GetPathName()
            strFileName = Left(strFileName, Len(strFileName) - 7) & "-" & swConfig.Name & ".step"
            swPart.ExportFlatPatternView strFileName, swExportFlatPatternOption_e.swExportFlatPatternOption_ExportAs3D
        Next i
    Else
        MsgBox "Откройте деталь перед запуском макроса."
    End If
End Sub
 

 

Прикольно. Но есть ошибки, если смотреть по справочнику API. Вот пример применения функции

Думаю, разберетесь.

 

Изменено пользователем brigval
Ссылка на сообщение
Поделиться на других сайтах
11 часов назад, Basstudio сказал:

Только вот я не такой опытный в этих макросах. Копирую вроде, код. Создаю новый макрос всавляю. А он чтот не того. Не работает. Лико код от фанаря. Либо там маленькая неточность. Или у меня руки кривые. Кто шарит?? Посмотреть.. 

Цель макроса вообще какая? Что он должен делать? То в первом сообщении вы говорите, что он должен сохранить все конфигурации в PDF, а код даете по сохранению всех конфигураций в STEP.

Если второе, то вот здесь вот бред написан:

swPart.ExportFlatPatternView strFileName, swExportFlatPatternOption_e.swExportFlatPatternOption_ExportAs3D

ExportFlatPatternView - это метод сохранения листовой детали в виде развертки в формате DXF/DWG - вообще третья задача.

Короче и "жук и жаба" вы сами определитесь что должен желать макрос по шагам и постепенно решайте эту задачу, а тоу Вас и будет получаться мусор в коде.

Ссылка на сообщение
Поделиться на других сайтах
1 минуту назад, Snake 60 сказал:

Цель макроса вообще какая? Что он должен делать? То в первом сообщении вы говорите, что он должен сохранить все конфигурации в PDF, а код даете по сохранению всех конфигураций в STEP.

Если второе, то вот здесь вот бред написан:


swPart.ExportFlatPatternView strFileName, swExportFlatPatternOption_e.swExportFlatPatternOption_ExportAs3D

ExportFlatPatternView - это метод сохранения листовой детали в виде развертки в формате DXF/DWG - вообще третья задача.

Короче и "жук и жаба" вы сами определитесь что должен желать макрос по шагам и постепенно решайте эту задачу, а тоу Вас и будет получаться мусор в коде.

Судя по справке

ExportFlatPatternView 

не сохраняет, а как я понял, только определяет возможность сохранения развертки.

Потому что в справке еще следует

swModelDocExt.SaveAs

Мой поиск по справке показал, что константы

swExportFlatPatternOption_ExportAs3D

не существует.

 

 

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

Мой поиск по справке показал, что константы


swExportFlatPatternOption_ExportAs3D

не существует.

Вопрос, зачем он применяет swExportFlatPattern если сохраняет в СТЕП?

Да, и в справке для swExportFlatPatternViewOptions_e  всего 2 параметра:

Цитата
swExportFlatPatternOption_None  
swExportFlatPatternOption_RemoveBends

 

Ссылка на сообщение
Поделиться на других сайтах
2 минуты назад, Snake 60 сказал:

Вопрос, зачем он применяет swExportFlatPattern если сохраняет в СТЕП?

Я понял, что он где-то взял этот код и просит найти ошибку )

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

У меня такой вопрос. Что проще - написать макрос самому или разбираться в том, что это чудо-юдо написало?

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

У меня такой вопрос. Что проще - написать макрос самому или разбираться в том, что это чудо-юдо написало?

По мне так первое, я вот здесь уже писал свой печальный опыт с ИИ:

 

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

короче ИИ в очередной раз показал что не ИИ :) а так поисковик и вставка найденных данных по инету.

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

Ну слава богу что ии не того. А то я уже подумал. 

Чтобы получить правильный ответ, нужно задавать правильный вопрос, может в этом дело :) ко мне это тоже относится ))

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

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

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • gudstartup
      вы тоже думаете что можно все компоненты чпу заменить и ничего не изменится и предупреждение о том чтобы oprminf не восстанавливали на другой машине которое фанук встроил даже в загрузчик это просто алармисткий текст и ничего не будет..... ну и ну и где написано что она mate как например здесь с чего тогда базовый чпу mate если гл.плата не mate мне непонятно из-за экрана что ли
    • статист
      Охренеть, ни за что бы не догадался. Хоть бы словом где обмолвились об этом в документации. Короче нужна команда EMODIF, E_ID, 3, N_ID где E_ID - номер элемента, который мы собираемся модифицировать. Так как используется BEAM188, то у него не два узла оказывается рассматривается, а три, где первые два принадлежат элементу, а третий узел - направляющий. И соответственно число 3 - это номер узла балки, который мы собираемся модифицировать, то есть направляющий узел. И мы этот узел соответственно заменяем на узел с номером N_ID. И тогда сечение реально вращается. Разобрался по этому видео.    
    • Александр1979
      Материнка такая в руководстве есть. На 0i-D я менял материнку, опции не слетели. 
    • gudstartup
      @Viktor2004 кстати конкретно модели автора в руководстве нет хотя оно последней редакции 18 года
    • Viktor2004
      конкретно на этой не менял. На каких менял, написал выше
    • gudstartup
      какие платы и на каких системах вот в чем ворос конкретно на этой возникут проблемы
    • Viktor2004
      ну да. А то что я менял платы это мои бредовые фантазии   Ну исправили в паспорте. И что?
    • gudstartup
      это догадки и гадание на кофейной гуще а япривожу документ где написано про то что прочитайте пункт 4.11 а там представляете вот что 4) Замена печатной платы может привести к изменению идентификационного номера ЧПУ. Проверьте это на Экран ЧПУ. Если оно отличается от описанного в техническом паспорте, исправьте его.  
    • Viktor2004
      я менял все платы. И на форуме наверное не я один их менял. И никто еще не писал что при этом у него слетел сертификат Возможно ID номера проверяются только в момент установки опции, а когда они уже установлены и мирно хранятся в OPRM INF возможно ти уже на ID наплевать
    • gudstartup
      для кого это написано CAUTION Before replacing a printed circuit board, be sure to read Section 4.11, “OPTION INFORMATION FILE” to confirm the procedure.  
×
×
  • Создать...