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

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


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

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




  • Сообщения

    • Viktor2004
      Ладдер пришлите. Будем принудительно пробовать поднимать и опускать
    • streamdown
      Коллеги приветствую! IPS 8. Подскажите пожалуйста, кто какое серверное железо использует? Интересуют параметры при одновременной работе, ну например, 400 пользователей онлайн
    • gudstartup
      так он так и позиционируется по m19 pmc выдает g70.6 а чпу отвечает f45.7 но ориентацию и смещение в 4077 он отрабатывает нормально шпиндель встает ровно и смена происходит хорошо. вопрос почему после ввода команды управления скоростью он все еще продолжает контролировать число импульсов между нуль метками хотя в принципе уже должен отменить позиционный контроль и просто считать обороты по 0 метке как он это делает без М19? это все понятно но почему оно продолжает проверять это после завершения ориентации мне непонятно
    • Александр1979
      SP9047 SSPA:47 ILLEGAL SIGNAL OF POSITION CODER "The relationship between the A/B phase and 1-rotation signal is incorrect (Pulse interval mismatch)." "Неправильное значение счетчика импульсов сигнала на энкодере ALPHAi. На фазах A и B энкодера за один оборот шпинделя насчитывается 4096 импульсов обратной связи. Программное обеспечение по управлению шпинделем проверяет количество импульсов на фазах A и B, соответствующее энкодеру, при каждой генерации сигнала одного оборота. Данный аварийный сигнал срабатывает, если регистрируется число импульсов, нарушающее заданный диапазон."
    • vs3dpro
      Добрый день! У нас на есть SLA принтер 600х600х400мм. Можно напечатать мастер- модели, и можно приехать посмотреть. mail@iges.space
    • gudstartup
      после ввода 789 в edit mod надо перейти в режим ручное упр. нажать mod а потом помощь и откроется wzw.hlp  с возможностью выполнения команд управления atc. если не появляется содержимое wzw.hlp то возможно что у вас другой код хотя 789 'это стандарт для dmg в этом случае надо смотреть ваш plc раздел у меня пароль прописан в файле wzw_rett.mod
    • Anat2015
      SERVO TURRET AMP ALARM - переводить не пробовали, учитывая, что AMP - это и есть сервопривод? Что тут не ясного, язык не знаком?
    • Viktor2004
      я бы попробовал позиционировать шпиндель сигналом G70.6 Ответный сигнал, шпиндель сориентирован F45.7
    • gudstartup
      Здравствуйте уважаемые участники форума попрошу вас поделится мнениями. Имеется фрезерный шпиндель с позиционным кодером (зубчатое колесо и считывающая головка). Ошибку 9047 выдает после того отрабатывает M19 c последующим включением оборотов Sxxx M3 причем обороты могут быть любыми от 100-макс. Если задавать обороты без предварительной ориентации то 9047 не возникает и шпиндель нормально вращается на любой скорости при этом обороты не гуляют точность поддержания +-1 об\мин. Кабель заменен заменить сам датчик нет возможности. Мой вопрос в следующем почему шпиндель после M19 и включении управления скоростью Sxxx M3 остается в режиме позиционирования а не сразу переходит врежим управления скоростью и даже явная отмена ориентации кодом M20 ничего не меняет ведь режим позиционного управления должен быть отменен или он остается и отменяется не сразу после подачи команды M3 и кода скорости? Станок достаточно старый 2009 года плату управления шпинделем меняли на соседний ничего не изменилось. Это может быть логика PMC или скорее всего это датчик?   PMC-SB.001
    • Killerchik
      А мы-то думали, что пропорциональный гидравлический.....
×
×
  • Создать...