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

AIPlus. Макросы для Autodesk Inventor


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

Макросы для Autodesk Inventor

 

Общие сведения о макросах для Inventor:

Макросы предназначены для выполнения заранее определённой последовательности действий с высокой скоростью вместо пользователя.

Не всё согласно ЕСКД! В нашей фирме нет строгого требования следовать ЕСКД, поэтому имеются отступления от правил.

 

Сразу обращаю ваше внимание на то, что я новичок на форуме и в написании кода на VBA. На эти макросы было потрачено около полутора лет свободного времени.

Макросы тестировались только на версии 2018.

 

На данный момент реализованы следующие макросы:

  • M_Prop

Макрос заполняет и создаёт дополнительные "свойства Inventor" с заранее вычисленными или вносимыми вручную данными. Например, автоматически определяет обозначение и наименование детали/сборки по имени файла, и т.д. Без выполнения данного макроса не будут работать большинство остальных макросов.

  • BOM_Export

Макрос создаёт спецификацию из модели/чертежа сборки в формате Excel и экспортирует её в формат PDF. В процессе выполнения макроса компоненты сборки проходят многоуровневую сортировку для получения спецификации согласно ЕСКД (на сколько это необходимо и возможно)

  • Documents_to_Production

Макрос выполняет полную проверку КД на предмет отсутствия чертежа, отсутствие спецификации, отсутствия развёртки листовой детали, отсутствие файлов КД для производства, несоответствие номеров изменений , и т.д. Так же возможно последующее копирование всех требуемых файлов в производственную директорию.

  • Save_as_PDF_and_DWG

Макрос сохраняет чертежи в форматах PDF и DWG в отдельных папках.

  • Save_CAD_models

Макрос сохраняет модели деталей/сборок в форматах CAD (STEP, IGES, PDF 3D, и т.д.) в отдельне папки для деталей и сборок.

  • Save_Flat_Pattern_As_DXF

Макрос сохраняет контуры развёртки листовой детали в формате DXF в отдельной папке.

  • Drw_First_Save

Макрос выполняет "правильное" сохранение чертежа. Применяется для первичного сохранения файла чертежа с "правильным" именем файла и в нужную папку.

  • Revision_Update

Макрос вносит/обновляет номер исполнения в основной надписи чертежа.

 

Требования организации проектирования для корректной работы макросов:

  • Требования к именам файлов

Имена файлов моделей деталей/сборок, а так же их чертежей должны иметь следующий вид: ОБОЗНАЧЕНИЕ<разделитель>НАИМЕНОВАНИЕ<расширение файла>

Разделитель можно задать в настройках.

Если выбранный разделитель не начинается с символа пробела, то имена файлов моделей прочих и стандартных изделий, материалов и т.д. (без обозначения) рекомендуется приводить к следующему виду: <разделитель>НАИМЕНОВАНИЕ<расширение>

Имена файлов проектов Inventor должны иметь следующий вид: НОМЕР_ПРОЕКТА<разделитель>ЛЮБОЕ_ОПИСАНИЕ_ПРОЕКТА .ipj

  • Требования к расположению файлов в директории проекта

Файл проекта должен располагаться в корне директории проекта.

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

Файлы спецификации в формате Excel должны размещаться в той же папке, что и файл модели сборки. Допускается помещать спецификацию в отдельную папку.

Файлы чертежей с спецификаций в форматах PDF и DWG должны размещаться в отдельных папках, расположенных в той же папке, что и сам чертёж/спецификация.

Файлы контуров листовых деталей в формате DXF должны размещаться в отдельной папке, расположенной в той же папке, что и сама модель листовой летали.

Файлы моделей в форматах CAD должны размещаться в отдельных папках, расположенных в той же папке, что и исходная модель.

  • Требования к чертежу

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

 

Способ добавления макросов в Inventor:

  • Добавление макросов в Inventor

Для добавления макросов в Inventor необходимо перенести все файлы (не папки!) из репозитория в директорию проекта VBA по умолчанию. Узнать место расположения этой директории можно в настройках Inventor:

Путь расположения файла проекта VBA по умолчанию.png

По умолчанию это C:\Users\Public\Documents\Autodesk\Inventor 2018\Macros\Default.ivb

 

  • Обновление макросов (при выходе очередного релиза)

Если в сообщении релиза не указаны особые действия для обновления, то необходимо перенести файл "Default.ivb" из репозитория в папку проекта VBA по умолчанию. Старый файл допускается удалить.

AIPlus v.0.8.7-beta.zip

Изменено пользователем _GOST_
Ссылка на сообщение
Поделиться на других сайтах
  • 2 месяца спустя...


UnPinned posts

как запустить Макрос M_Prop? я не силён в этих делах. знаю лишь, как прикрутить и запустить внешнее правило

Ссылка на сообщение
Поделиться на других сайтах
  • 2 недели спустя...
26.04.2024 в 20:18, makcik сказал:

как запустить Макрос M_Prop? я не силён в этих делах. знаю лишь, как прикрутить и запустить внешнее правило

Открываете любую модель (деталь/сборка) => выбираете любую панель инструментов, на которой хотите разместить значок макроса => кликаете на панели ПКМ => Адаптация пользовательских команд.

Дальнейшие действия на изображении во вложении.

изображение.png

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

10.05.2024

Макросы обновлены

Версия v.0.8.16 beta

 

Исправлены баги:

1. Макрос BOM_Export. Исправлен баг, в результате которого масса в количестве компонентов округлялась до нуля.

2. Макрос BOM_Export. Исправлен баг, в результате которого неправильно сортировались компоненты раздела "Комплекты"

3. Макрос BOM_Export. Исправлен баг, в результате которого не сортировались компоненты раздела "Документация"

4. Макрос BOM_Export. Исправлен баг, в результате которого в спецификации не отображались примечания виртуального компонента.

5. Макрос BOM_Export. Исправлен баг, в результате которого при выполнении макроса из сборочного чертежа для групповой спецификации с отличиями по чертежу - не обновлялись номера позиций в модели и чертеже.

6. Макрос Revision_Update. Исправлен баг, в результате которого макрос вылетал при выполнении его не с первого листа чертежа.

 

Улучшения:

1. Макрос M_Prop. Добавлена проверка чертежей различных типов документов для сборок.

Имена файлов таких чертежей должны повторять имя файла сборочного чертежа, но между обозначением и разделителем должен быть указан код документа. Так же данный код и соответствующий ему тип документа должны быть внесены в текстовый файл списка типов документов (см. настройки).

2. Макрос M_Prop. Изменено поведение при нажатии галочки "Добавить материал в наименование" - теперь наименование из имени файла полностью заменяется материалом.

3. Макрос BOM_Export. На главное окно макроса добавлена галочка "Без раздела "Документация"" для документов без чертежей (комплекты, и т.д.).

4. Макрос BOM_Export. В раздел "Документация" автоматически вносятся различные типы документов, если для них есть чертежи (например, кроме сборочного чертежа есть монтажный чертёж, в имени файла которого после обозначения указан код документа "МЧ").

5. Макрос BOM_Export. Для документов без сборочных чертежей, но со спецификацией в поле "Формат" автоматически проставляется формат "А4".

6. Макрос BOM_Export. Для компонентов с указанием массы в количестве, при условии, что масса указана в граммах, во время суммирования (если вхождений таких компонентов несколько) масса может преобразовываться из граммов в килограммы.

7. Макрос BOM_Export. На главное окно макроса добавлена галочка "Сортировать раздел "Прочие изделия" по обозначению"

8. Макрос BOM_Export. Изменено правило сохранения спецификации в отдельной папке - теперь в отдельной папке сохраняются файлы в формате PDF (дублируются).

Для старых проектов, в которых спецификации были сделаны с данной галочкой, все файлы в формате Excel необходимо перенести на уровень выше (в папку с моделью).

9. Макрос BOM_Export. Реализована особая сортировка всех компонентов в спецификации, позволяющая правильно сортировать стандартные изделия по увеличению размера. Например, Винты М8 будут выше винтов М12, а не наоборот как в старой версии.

v.0.8.16 beta.rar

Ссылка на сообщение
Поделиться на других сайтах
  • 2 недели спустя...
20.05.2024 в 11:01, FOX80 сказал:

Выдаёт такую ошибку, но вроде всё делаю по инструкции ?

Безымянный.png

Оч. странно.

А какая версия инвентора?

 

Проверьте настройки VBA:

1. В окне инвентора: Инструменты -> Редактор VBA

2. В окне VBA: Tools -> References

3. Должны стоять обязательно галочки как на скриншоте:

изображение.png

 

Ещё попробуйте вот по этой инструкции https://www.excel-vba.ru/chto-umeet-excel/oshibka-cant-find-project-or-library/

 

При любом исходе пишите ещё раз, будем думать

Ссылка на сообщение
Поделиться на других сайтах
23.05.2024 в 10:42, FOX80 сказал:

Галочки стоят, надо значит офис поставить, его нет...

Всё верно, MS Excel необходим для выгрузки спецификации.

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

Добрый день, подскажиет если знаете, когда вызывыаю макрос BOM_Export

вылетае ошибка Run time erorr 13? type mismatch

и в коде вот такое

    ' Общие настройки
    iSpacer = arrSettings(0)
    
    ' Настройки BOM
    bSimpleNumberWidth = arrBOMSettings(0)       ' Максимальное количество символов в строке "Обозначение"    Простая спецификация
    bSimpleDescriptionWidth = arrBOMSettings(1)  ' Максимальное количество символов в строке "Наименование"   Простая спецификация
    bSimpleCommentWidth = arrBOMSettings(2)      ' Максимальное количество символов в строке "Примечание"     Простая спецификация
    bGroupNumberWidth = arrBOMSettings(3)        ' Максимальное количество символов в строке "Обозначение"    Групповая спецификация
    bGroupDescriptionWidth = arrBOMSettings(4)   ' Максимальное количество символов в строке "Наименование"   Групповая спецификация
    bGroupCommentWidth = arrBOMSettings(5)       ' Максимальное количество символов в строке "Примечание"     Групповая спецификация
    bVPNumberWidth = arrBOMSettings(6)           ' Максимальное количество символов в строке "Обозначение"    Ведомость покупных изделий
    bVPDescriptionWidth = arrBOMSettings(7)      ' Максимальное количество символов в строке "Наименование"   Ведомость покупных изделий
    bVPCommentWidth = arrBOMSettings(8)          ' Максимальное количество символов в строке "Примечание"     Ведомость покупных изделий
    
    ' Папка для отдельного сохранения специи в формате excel
    dirBOMCopies = arrBOMSettings(9)
    
    ' Окрашивание изменённых строк специи
    If arrBOMSettings(10) = 0 Then colorChanges = False Else colorChanges = arrBOMSettings(10)
    
    ' Создание виртуальных компонентов для каждой заготовки
    If arrBOMSettings(11) = 0 Then addVirtualBlanks = False Else addVirtualBlanks = True
    
    ' Настройки PDF
    dirPDF = arrPDFDWGSettings(2)                ' Название папки для документов в формате PDF
    dirPDFArchive = arrSettings(2)               ' Название папки аннулированных документов в формате PDF
    
    ' Положение номера изменения в имени файла
    RevNumPosition = arrSettings(1)

Ссылка на сообщение
Поделиться на других сайтах
28.05.2024 в 14:28, a.klinger-co сказал:

Добрый день, подскажиет если знаете, когда вызывыаю макрос BOM_Export

вылетае ошибка Run time erorr 13? type mismatch

и в коде вот такое

    ' Общие настройки
    iSpacer = arrSettings(0)
    
    ' Настройки BOM
    bSimpleNumberWidth = arrBOMSettings(0)       ' Максимальное количество символов в строке "Обозначение"    Простая спецификация
    bSimpleDescriptionWidth = arrBOMSettings(1)  ' Максимальное количество символов в строке "Наименование"   Простая спецификация
    bSimpleCommentWidth = arrBOMSettings(2)      ' Максимальное количество символов в строке "Примечание"     Простая спецификация
    bGroupNumberWidth = arrBOMSettings(3)        ' Максимальное количество символов в строке "Обозначение"    Групповая спецификация
    bGroupDescriptionWidth = arrBOMSettings(4)   ' Максимальное количество символов в строке "Наименование"   Групповая спецификация
    bGroupCommentWidth = arrBOMSettings(5)       ' Максимальное количество символов в строке "Примечание"     Групповая спецификация
    bVPNumberWidth = arrBOMSettings(6)           ' Максимальное количество символов в строке "Обозначение"    Ведомость покупных изделий
    bVPDescriptionWidth = arrBOMSettings(7)      ' Максимальное количество символов в строке "Наименование"   Ведомость покупных изделий
    bVPCommentWidth = arrBOMSettings(8)          ' Максимальное количество символов в строке "Примечание"     Ведомость покупных изделий
    
    ' Папка для отдельного сохранения специи в формате excel
    dirBOMCopies = arrBOMSettings(9)
    
    ' Окрашивание изменённых строк специи
    If arrBOMSettings(10) = 0 Then colorChanges = False Else colorChanges = arrBOMSettings(10)
    
    ' Создание виртуальных компонентов для каждой заготовки
    If arrBOMSettings(11) = 0 Then addVirtualBlanks = False Else addVirtualBlanks = True
    
    ' Настройки PDF
    dirPDF = arrPDFDWGSettings(2)                ' Название папки для документов в формате PDF
    dirPDFArchive = arrSettings(2)               ' Название папки аннулированных документов в формате PDF
    
    ' Положение номера изменения в имени файла
    RevNumPosition = arrSettings(1)

Добрый день!

 

Попробуйте вручную отредактировать файл настроек и в разделе "%%%BOM" установите два нуля (строки 15 и 16)

изображение.png

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

Добрый день!

 

Попробуйте вручную отредактировать файл настроек и в разделе "%%%BOM" установите два нуля (строки 15 и 16)

изображение.png

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

Аннулировано
%%%BOM
33
32
10
30
33
15
0
0
0
_Спецификация
0
0
%%%CAD
_STEP деталей по запросу
_STEP, IGES, X_T, PDF 3D
1
&&&
1
0
0
0
0
1
1
1
1
0
%%%PDF/DWG
1
1
_PDF
_DWG
&&&
0
0
600
&&&
C:\Users\egorovaa\AppData\Local\Autodesk\Inventor 2018\Preferences\222.ini
%%%DXF
_DXF листовых деталей
2000
1
 

Ссылка на сообщение
Поделиться на других сайтах
58 минут назад, a.klinger-co сказал:

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

Аннулировано
%%%BOM
33
32
10
30
33
15
0
0
0
_Спецификация
0
0
%%%CAD
_STEP деталей по запросу
_STEP, IGES, X_T, PDF 3D
1
&&&
1
0
0
0
0
1
1
1
1
0
%%%PDF/DWG
1
1
_PDF
_DWG
&&&
0
0
600
&&&
C:\Users\egorovaa\AppData\Local\Autodesk\Inventor 2018\Preferences\222.ini
%%%DXF
_DXF листовых деталей
2000
1
 

А какую ошибку выдаёт сейчас? И в каком месте кода? 

Ссылка на сообщение
Поделиться на других сайтах
17 часов назад, _GOST_ сказал:

А какую ошибку выдаёт сейчас? И в каком месте кода? 

Run time error -2147467259(80004005)

Method `Item` of object `Property

set ` failed

 

    ReDim Preserve arrGroup(j + d + 1) As String
    ReDim Preserve arrQty(j + d + 1) As String
    ReDim Preserve arrDocType(j + d + 1) As String
    ReDim Preserve arrDocLabel(j + d + 1) As String
    
    If Not Not oAsmDocTypes Then
        For i = LBound(oAsmDocTypes) To UBound(oAsmDocTypes)
            arrPartNumber(j) = oCurrentVersionPartNumber
            arrDescription(j) = oAsmDocTypes(i, 1)
            arrSection(j) = "Äîêóìåíòàöèÿ"
            arrFormat(j) = oAsmDocTypes(i, 2)
            arrComment(j) = oAsmDocTypes(i, 3)
            arrGroup(j) = ""
            arrQty(j) = "1"
            arrDocType(j) = oAsmDocTypes(i, 1)
            arrDocLabel(j) = oAsmDocTypes(i, 0)
            j = j + 1
        Next
    End If
    arrPartNumber(j) = oAsmNumber
    arrDescription(j) = "Ñáîðî÷íûé ÷åðò¸æ"
    arrSection(j) = "Äîêóìåíòàöèÿ"
    If iSpecType = 1 Then
        arrFormat(j) = oAsmHeadVersionDoc.PropertySets.Item("Inventor User Defined Properties").Item("Ôîðìàò").Value
        If InStr(oAsmHeadVersionDoc.PropertySets.Item("Inventor User Defined Properties").Item("Ôîðìàò_ôàêò").Value, "*)") <> 0 Then
            arrComment(j) = oAsmHeadVersionDoc.PropertySets.Item("Inventor User Defined Properties").Item("Ôîðìàò_ôàêò").Value
        Else
            arrComment(j) = ""
        End If
    Else
        arrFormat(j) = oAsmDoc.PropertySets.Item("Inventor User Defined Properties").Item("Ôîðìàò").Value
        If InStr(oAsmDoc.PropertySets.Item("Inventor User Defined Properties").Item("Ôîðìàò_ôàêò").Value, "*)") <> 0 Then
            arrComment(j) = oAsmDoc.PropertySets.Item("Inventor User Defined Properties").Item("Ôîðìàò_ôàêò").Value
        Else
            arrComment(j) = ""
        End If
    End If
    arrGroup(j) = ""
    arrQty(j) = "1"
    arrDocType(j) = "Ñáîðî÷íûé ÷åðò¸æ"
    arrDocLabel(j) = "ÑÁ"
    j = j + 1

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

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

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

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

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

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

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

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

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

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

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




×
×
  • Создать...