Вітаю!
Особисто я маю не найкращий досвід у використані ChatGPT для програмування. Основною його проблемою є надмірна фантазія і цілковита впевненість у своїх відповідях 🤔 . Якщо серйозно - він постійно придумає інформацію, якої не може знайти в інтернеті, у випадку з Inventor API - це придумування методів яких, немає у API.
Наведу один приклад (приклад виконано з версією 3.5):
- Маємо запитання у англомовній вітці Inventor API. Користувачу потрібно отримати властивості стовпчиків таблиці списка деталей.
Моє запитання до GPT - "I need iLogic code in Autodesk Inventor that can get the column properties in the parts list table for a DrawingDocument.". Змушений був додати пояснення, що мені потрібен DrawingDocument, тому що GPT шукає PartList у AssemblyDocument-і, якої звичайно там немає.
Ось відповідь:
' Get Column Properties from Parts List Table in DrawingDocument
Dim drawingDoc As DrawingDocument = ThisApplication.ActiveDocument
' Specify the name of the parts list table
Dim partsListName As String = "Parts List 1" ' Change this to the actual name of your parts list table
' Get the Parts List Table
Dim partsListTable As PartsList = Nothing
For Each table As Table In drawingDoc.Tables
If table.DisplayName = partsListName AndAlso TypeOf table Is PartsList Then
partsListTable = DirectCast(table, PartsList)
Exit For
End If
Next
If partsListTable IsNot Nothing Then
' Iterate through columns and get properties
For Each column As PartsListColumn In partsListTable.PartsListColumns
Dim columnName As String = column.Name
Dim columnHeading As String = column.Heading
Dim columnWidth As Double = column.Width
' Print or use the properties as needed
Debug.Print("Column Name: " & columnName)
Debug.Print("Column Heading: " & columnHeading)
Debug.Print("Column Width: " & columnWidth)
' You can add more properties based on your requirements
' Example: If you want to modify the column heading, you can use the following line
' column.Heading = "New Heading"
' Example: If you want to hide a column, you can use the following line
' column.Visible = False
Next
Else
MsgBox("Parts list table '" & partsListName & "' not found.")
End If
На мій погялд це досить просте запитання, та на початках я думав, що доведеться придумувати складніше запитання аби дескредитувати роботу GPT, але ні, цього вистачило.
Зверніть увагу на рядок 10. GPT має DrawingDocument (рядок 3) та з нього намагається отримати Tables. І тут відразу 2 критичні помилки: для вітки DrawingDocument відсутній метод Tables та щоб отримати PartsList нам для початку потрібно отримати Sheet на котрому знаходиться PartsList (Table).
Припустимо, що таблиця знаходиться на активному аркуші, тоді рядок 10 мусив би виглядати так:
For Each oPsList As PartsList In drawingDoc.ActiveSheet.PartsLists
Можливо у версії ChatGPT 4.0, щось кардинально змінили, але дуже сильно сумніваюсь. GPT - бездогано працює з текстом, він найкваліфікованіший гуманітарій з усіх, що я знаю 😁 , але до технічних запитань у, яких потрібна точність а не фантазія, від нього мало користі.