Jump to content

SolidWorks и GPT/OpenAI


Recommended Posts

alek77

Всем привет!

Нашел интересную тему применительно к SolidWorks. Делюсь с вами, коллеги! Надеюсь на взаимное равите темы.

Сейчас много говорят про ИИ (искусственный интеллект), но как применить его к своей работе никто собственно не рассказывает.

Как эта штука работает в отношении инженерии, чем может нам помочь? Нужно разобраться.

Прошу не считать ссылки в посте за рекламу, постараюсь привести их слегка завуалированно, чтобы не иметь блокеров. Надеюсь разберетесь.

Модератора прошу помочь с оформлением поста, чтобы не сочли пост за рекламу!

Ну и поехали.

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

 

Вылезла у меня, значит, на одном из ТГ-каналов сноска, подключайтесь к OpenAi, все бесплатно (ага), пользуйтесь на здоровье.

Думаю, ну а почему бы и нет, зашел, попробовал задавать тупые вопросы. Почти как гугл без 1000 и 1 ссылки. Понравилось.

Давай углубляться. Понравилось еще больше.

Не буду долго расписывать ощущения, приведу краткий перечень моих вопросов в области автоматизации SW.

Как подключаться на других платформах к AI я пока не знаю. У знакомых уже корпоративные тарифы подключены и они пользуются ими во всю.

Поэтому начнем с телеги, в которой все очень просто.

При поиске OpenAI в ТГ значок бота такой:

image.png

Ну а дальше просто вопросы и ответы.

image.png

И еще пример:

image.png

Добавляем:

image.png

Добиваем:

image.png

Круто это или нет, решать вам. Но я для написания кода ниже своими руками шел к этому и изучал все что можно несколько лет.

image.png

А тут вопрос - получи почти готовый код.

Но это просто примеры. Я даже не проверял их работоспособность.

Но думаю, что заведу их за пару минут. Так как на вопросы типа:

image.png

 

при отсутствии знаний, тоже получаешь ответ.

Т.е. при правильной формулировке AI выдает почти годные ответы.

Конечно же есть ограничения, нельзя задавать вопросов более чем на 9000 бесплатных токенов в неделю.

Причем в расчете токенов учитывается и количество симовлов в вопросе и количество символов в ответе.

Но при подписке на канал этого бота количество токенов увеличивается до 15000. Плюс там все время какие то акции.

Нужно изучать и проверять конечно же.

 

Если кто знает, как генерить ответы AI другими способами, делитесь, большинство будут признательны.

 

Link to post
Share on other sites


UnPinned posts
Snake 60

Я пробовал с помощью чат-GPT написать код на VBA для разделения имени файла на свойства Обозначение и Наименование, так и не получил работающий код от него )) Возможно задавал неправильные вопросы, но такое ощущение, что алгоритмы там такие, что ИИ ходит по кругу и не зная правильного решения будет водить тебя за нос через три шага предлагая предыдущий ответ) ИМХО Ещё далеко до идеала, но получить толчок в правильном направлении, чтобы потом самому доделать/доработать можно, хотя и справки для этого бывает вполне достаточно, по крайнем мере под мои не сильно сложные задачи) Так что, пока рассматриваю этот инструмент не более чем эксперимент.

Link to post
Share on other sites
anser89

@Snake 60  С нуля если макрос делать - всякие ошибки вылазят. Взял рабочий макрос, написал ему какую функцию добавить и получилось рабочая функция.

Link to post
Share on other sites
Snake 60
2 часа назад, anser89 сказал:

Взял рабочий макрос, написал ему какую функцию добавить и получилось рабочая функция.

Как вариант )

Link to post
Share on other sites
Kelny
26.03.2023 в 01:06, alek77 сказал:

при отсутствии знаний, тоже получаешь ответ.

Т.е. при правильной формулировке AI выдает почти годные ответы.

Что бы правльно задать вопрос неплохо бы знать о теме своего вопроса, а так же, как бы пародоксально это не звучало, ответ на свой вопрос. Если вы не знаете чего вы хотите, то можете принять на веру даже откровенную ересь от этой псевдоумной говорилки.

 

Правильным к ИИ был бы вопрос: где найти справку по API для Solidworks? А там в справке уже всё необходимое - описания инструментов, примеры.

Link to post
Share on other sites
alek77
Posted (edited)
21 час назад, Snake 60 сказал:

с помощью чат-GPT написать код на VBA для разделения имени файла на свойства Обозначение и Наименование

Ну я тоже попробовал. Заработало без исправлений. Но я создавал пошагово.

Ошибки у бота были, но он исправляется.

Если интересно, то код и процесс ниже.

 

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

 

image.png

 

image.png

 

 

Тут произошел сбой:

image.png

Далее он исправился:

image.png

 

 

 

 

@Kelny правильно говорит, для правильного применения нужно знать матчасть.

Без знаний даже вопросы не сформулируешь.

 

Тут сам код для справки:

 

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

 

Option Explicit


Sub main()

AddFileNameToCustomProperty

End Sub


Sub AddFileNameToCustomProperty()
    Dim swApp As SldWorks.SldWorks
    Set swApp = Application.SldWorks
    
    Dim swModel As SldWorks.ModelDoc2
    Set swModel = swApp.ActiveDoc
    
    Dim swCustPropMgr As SldWorks.CustomPropertyManager
    Set swCustPropMgr = swModel.Extension.CustomPropertyManager("")
    
    Dim fileName As String
    fileName = swModel.GetPathName
    fileName = Left(fileName, Len(fileName) - 7) ' Удаление последних 7 символов
    
    fileName = Right(fileName, Len(fileName) - InStrRev(fileName, "\"))
    
    Dim arr() As String
    arr = Split(fileName, " ", 2) ' Разделение строки на 2 части по первому пробелу
    
    swCustPropMgr.Add2 "Обозначение", swCustomInfoText, arr(0) ' Запись первой части в свойство "Обозначение"
    swCustPropMgr.Add2 "Наименование", swCustomInfoText, arr(1) ' Запись второй части в свойство "Наименование"
End Sub

 

 

 

 

image.png

image.png

Edited by alek77
  • Нравится 1
Link to post
Share on other sites
alek77

Коллеги, прошу прощения, рисунки в предыдущем посте задублировал, учусь оформлять, не пинайте сильно

Link to post
Share on other sites
Kelny
48 минут назад, alek77 сказал:

Коллеги, прошу прощения, рисунки в предыдущем посте задублировал, учусь оформлять, не пинайте сильно

Перед отправкой попросите вашего чат бота проверить синтаксис.

Сразу после публикации обычно позволяется отредактировать сообщение, а после 10-15 минут редактирование блокируется и доступно лишь избранным.

1 час назад, alek77 сказал:

Ошибки у бота были, но он исправляется.

Не пытайтесь с ботом общаться как с человеком, давайте ему чёткие короткие инструкции, т.к. он шуток думается пока не понимает и лишнее в запросе ему не к чему.

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

Link to post
Share on other sites
Sagrado911

Доброго времени суток уважаемые форумчане!
Обращаюсь к Вам со следующим вопросом, пытался с помощью чата GPT создать макрос который бы позволял при выборе деталей в сборке (детали могут быть как и главной сборке так и в подсборках) добавлять к их свойствам еще одно которое нужно ввести в специальном поле (чтобы в дальнейшем это свойство можно было вывести в спецификации), однако к сожалению макрос не работает, возможно кто-то подскажет как его можно исправить, буду очень благодарен
Сам макрос, добавляю

Sub AddCustomProperty()
    
    Dim swApp As SldWorks.SldWorks
    Dim swModel As SldWorks.ModelDoc2
    Dim swCustPropMgr As SldWorks.CustomPropertyManager
    Dim swCustProp As SldWorks.CustomProperty
    
    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc
    
    If Not swModel Is Nothing Then
        If swModel.GetType = swDocASSEMBLY Or swModel.GetType = swDocPART Then
            Dim selMgr As SldWorks.SelectionMgr
            Set selMgr = swModel.SelectionManager
            Dim selCount As Integer
            selCount = selMgr.GetSelectedObjectCount2(-1)
            If selCount > 0 Then
                Dim propName As String
                propName = InputBox("Enter property name:")
                If propName <> "" Then
                    Dim i As Integer
                    For i = 1 To selCount
                        Dim selObj As Object
                        Set selObj = selMgr.GetSelectedObject6(i, -1)
                        If selObj.GetTypeName2 = "PartDoc" Then
                            Dim part As SldWorks.PartDoc
                            Set part = selObj
                            Set swCustPropMgr = part.Extension.CustomPropertyManager(part.ConfigurationManager.ActiveConfiguration.Name)
                            Set swCustProp = swCustPropMgr.Add2(propName, swCustomInfoText, propName)
                        ElseIf selObj.GetTypeName2 = "AssemblyDoc" Then
                            Dim asm As SldWorks.AssemblyDoc
                            Set asm = selObj
                            Dim comp As SldWorks.Component2
                            Set comp = asm.GetComponentByName(PartName)
                            Set swCustPropMgr = comp.Extension.CustomPropertyManager(comp.ReferencedConfiguration)
                            Set swCustProp = swCustPropMgr.Add2(propName, swCustomInfoText, propName)
                        End If
                    Next i
                Else
                    MsgBox "Please enter a valid property name."
                End If
            Else
                MsgBox "Please select at least one part or assembly."
            End If
        Else
            MsgBox "Please open a part or assembly document."
        End If
    Else
        MsgBox "Please open a part or assembly document."
    End If
    
End Sub

 

Link to post
Share on other sites
Kelny
4 минуты назад, Sagrado911 сказал:

Обращаюсь к Вам со следующим вопросом, пытался с помощью чата GPT создать макрос

Это GPT понял что не справляется и отправил вас на форум?

 

6 минут назад, Sagrado911 сказал:

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

Как-то мелко для ИИ - надо было бы поставить ему задачу более глобальную, что бы зарплату вам поднял, поселил вас в тёплых странах и не забывал кормить, а то с голоду помереть можно.

Ну или хотя бы попросить сделать одну большую красную кнопку, что бы она решала все поставленные перед вами задачи.

  • Нравится 1
Link to post
Share on other sites
Sagrado911
24 minutes ago, Kelny said:

Это GPT понял что не справляется и отправил вас на форум?

Это уже моя идея

 

 

24 minutes ago, Kelny said:

Ну или хотя бы попросить сделать одну большую красную кнопку, что бы она решала все поставленные перед вами задачи.

я решил начать с малого)

Link to post
Share on other sites
alek77

Sagrado911 хочешь решить задачу, разбивай её на мелкие подзадачи и проверяй каждую на работоспособность. Не пытайся сделать все сразу. Я даже представить не могу, что ты спрашивал у бота, чтобы получить это на выходе

Link to post
Share on other sites
Sagrado911
11 minutes ago, alek77 said:

Sagrado911 хочешь решить задачу, разбивай её на мелкие подзадачи и проверяй каждую на работоспособность. Не пытайся сделать все сразу. Я даже представить не могу, что ты спрашивал у бота, чтобы получить это на выходе

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

Link to post
Share on other sites
Snake 60
17 часов назад, Kelny сказал:

Правильным к ИИ был бы вопрос: где найти справку по API для Solidworks? А там в справке уже всё необходимое - описания инструментов, примеры.

В справке тоже встречаются ошибки и не работающий код примера.

Link to post
Share on other sites
zerganalizer
12 часов назад, Sagrado911 сказал:

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

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

Link to post
Share on other sites
KorovnikovAV
26.03.2023 в 02:06, alek77 сказал:

Сейчас много говорят про ИИ (искусственный интеллект), но как применить его к своей работе никто собственно не рассказывает.

 

Вы заманали, GPT не ИИ, а языковая модель. 

26.03.2023 в 16:35, Snake 60 сказал:

Я пробовал с помощью чат-GPT написать код на VBA для разделения имени файла на свойства Обозначение и Наименование, так и не получил работающий код от него ))

А что не получилось? 

Link to post
Share on other sites
Kelny
5 часов назад, Snake 60 сказал:

В справке тоже встречаются ошибки и не работающий код примера.

Ни что не идеально, а жизнь череда ошибок и случайностей в моменте между прошлым и будущем.

 

15 часов назад, Sagrado911 сказал:

я решил начать с малого)

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

Link to post
Share on other sites
Sagrado911
2 hours ago, zerganalizer said:

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

Я почему-то думал, что данный форум и сворен для того чтобы если чего-то не знаешь, можно здесь спросить и тебе помогут, или если не знают ответа то проигнорируют пост, что логично, как мне кажется :g:

  • Нравится 1
Link to post
Share on other sites
Krusnik
4 минуты назад, Sagrado911 сказал:

Я почему-то думал, что данный форум и сворен для того чтобы если чего-то не знаешь, можно здесь спросить и тебе помогут, или если не знают ответа то проигнорируют пост, что логично, как мне кажется :g:

Вы не поверите, но вам ответили почти все самые крутые макросописатели форума. Только один из мастодонтов промолчал.

Остальные как раз проигнорировали пост.

Link to post
Share on other sites
zerganalizer
9 минут назад, Sagrado911 сказал:

Я почему-то думал, что данный форум и сворен для того чтобы если чего-то не знаешь, можно здесь спросить и тебе помогут, или если не знают ответа то проигнорируют пост, что логично, как мне кажется :g:

Я думаю - форум для помощи, а не для "сделайте мне красиво и бесплатно". Сам подобные задачи решал, с куда более сложными алгоритмами. Элементарная задача для человека с минимальным опытом программирования.  А нет - размещайте в разделе услуг, вам за небольшую плату всё сделают.

5 часов назад, Snake 60 сказал:

В справке тоже встречаются ошибки и не работающий код примера.

Да, и не только в справке по SW. Дассо вообще грешна подобными ошибками - чтоб за деньги консалтинг вам продавать!

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    No registered users viewing this page.




  • Сообщения

    • Viktor2004
      Я менял чередование фаз.  Иначе ошибка была и по фазам
    • scorpion1007
      И опять же. IF active(Toolpath.Name)=="1"  { Откуда ты взял переменную Toolpath? Как ты проверяешь, у неё поле Name? сначала получи саму сущность enity toolpath=enity('Toolpath',"1") а потом ты уже имеешь доступ к ее полю sctring name_toolpath=$toolpath.name
    • миталник
      Шпонка, передавая крутящий момент, работает на срез и смятие. Исходя из этого и подбирается (рассчитывается) размер шпонки.
    • AlexKaz
      Под результатами ессно надо понимать экономию времени и денег. Если покупка более дорогой и худшей по качеству услуги выливается в тотальный геморрой и не приводит ни к какой экономии ресурсов - нафиг не нужны такие услуги...
    • AlexKaz
      IMHO, не по Сеньке шапка. Софт англосаксов - это следствие диверсификации их экономик. Софт - это сфера услуг, призванная экономить деньги. А вот деньги зарабатывать можно только на товарном производстве (рынок акций, депозитов, и прочие финансы - это только обслуга реального сектора). Толкая софт впереди паровоза экономики как её драйвер есть риск не добиться ни-че-го, кроме довольных рож софтописателей. Во-первых, эти редиски ломят цену за софт внутри РФ словно уже живут за бугром и получают з.п. как бугром. Во-вторых, рынок РФ они не ставят приоритетным, РФ для них - это 1/50 мирового пирога - так себе полигон для отработки технологий. Соответственно, эти люди не понимают в массе что нужно миру - потому как в РФ экономика откровенно не выдающаяся и всех тонкостей и нужностей силами спецов РФ не создать и не описать. Как следствие, на выходе имеем большой пшик - деньги влиты, а результаты мир не устраивают.   Лунная же миссия и будущий Марс - это резервирование человеческой популяции, и чем раньше сделать бэкап - тем лучше. В глобальном смысле. В локальном же смысле эти проекты есть уйма заказов на железо. А железо можно и без софта создать или использовать примитивные софтины... Чёт Королёв без CAD/CAE обходился (но не без вычислитетелей). Вот ведь странный человек - ни одной CAD-шараге не забашлял...
    • Александр1979
      Такое бывает если фазы на синхронный двигатель перепутаны.
    • lublu_abs
      понял посмотрите для одного диаметра вала b и h   Посмотрите на b и h для одного диаметра вала, например 20 и 45. гост на конические концы валов Гост шпоночные соединения: Как не сложно заметить, размеры отличаются  
    • irbitsky
      Могут быть любыми. Имеется ввиду на условном виде сверху. Это касается узких торцов паза. А вот  Они идентичны    Или я просто не заметил разницы. Укажите конкретно, какие размеры отличаются. Обоими. Могут быть любыми. Имеется ввиду на условном виде сверху. Это касается узких торцов паза. А вот  Они идентичны    Или я просто не заметил разницы. Укажите конкретно, какие размеры отличаются. Обоими.
    • Viktor2004
      Ну, рассказываю все по порядку Купили манагеры глобусный стол но без двигателей. Так дешевле Потом где-то по объявлению купили два движка и привод. И сказали собирать. Тут уже в качестве юмора постили картинку где вместо шин постоянного тока кусок кабеля ВВГ примерно 25 кв мм. Так вот я вместо шин скрутил в несколько слоев кабель ВВГ 2,5 кв мм. Оптические пачкорды у меня были, а вот соединители CXA2A --- CXA2B пришлось поискать. Вроде в ЧИП и ДИПе они на сайте есть, но в реалии не оказалось. С трудом достали. Там же достали разъемы кабелей 4-5 осей. Осталось сварганить кабели. Купили контрольный электрический кабель. Спаяли, подключили, а он не работает. SV0368 Заземление эффекта не дало. Поехал искать витую пару, да такую, что бы каждая жила была многожильной. Нашел на рынке. Витую пару подключил только на линию данных. 5-6 контакт энколера. Остальные провода оставил от контрольного кабеля. У него сечение побольше. Ошибка SV0368 ушла. Затем оказалось что цоколевка разъемов энкодера 4 и 5 оси разная. Конечно на двигателях и на приводе она одинаковая, а на промежуточном разъеме оси она разная. Пришлось перепаивать. Подключил. Тут оказалось что энкодер одного двигателя не обнуляется и не отслеживает положение вала. Менял местами двигатели, отдельно энкодеры, не работает именно тот энкодер. Стал пытаться запускать все по очереди. Забил параметры как указал выше и стал проверять сначала на 4-й оси, потом на 5-й. Поочередно отключая то одну, то другую. При движении от маховичка вначале ось страгивается с места, потом начинает гудеть, а двигатель греться. Иногда дергается так что аж подпрыгивает. На обеих каналах ведет себя одинаково что один, что другой движок, когда исправный энкодер на них вешаю.    
    • lem_on
      че за бред, сам сначала влез, а потом я ему пишу оказывается.
×
×
  • Create New...