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

Макрос экспорта из сборки файлов IGS с пользовательскими свойствами в именах файлов.


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

Всем здравствуйте!

Для файлов DXF довольно много прекрасных макросов, и с GUI, и -без, а вот для IGS (SAT, STEP,Parasolid) - как-то скудно (или плохо искал).

Пользуемся простеньким макросом (по сути - файл/сохранить как/IGS) для экспорта IGS для лазерного трубореза , который при активации в сборке вываливает в то же место, и сборка, файлы (с учетом конфигураций добавляется -01, 02 в имя файла).

Потом долго и нудно удаляем ненужные, сопоставляя спецификацию с отображённым материалом, количеством и добавляя Материал и Количество к имени файла (так уж привыкли на производстве).

 

Вопрос  в том, чтобы в имя файла добавлять пользовательские свойства, после этого просто удаляются из общей массы ненужные файлы, глядя на Материал в названии файла.  Ну а количество берется тоже из свойств (макрос записывает значение для макроса DXF)

Кто-то может помочь с макросом? Или, возможно, идеей? (в древней теме про такой же вопрос @Kelny отсылал к хелпу, но моих компетенций, видимо недостаточно для осовения этой науки) 

 

Макрос, который создает DXF выдает нам название файла и формирует папки в виде:

Const OUT_NAME_TEMPLATE As String = "[Развертка]\Толщина <$CLPRP:Толщина листового металла>мм\<_FileName_> (исп.<_ConfName_>) - <$PRP:SWP-Материал> - <$CLPRP:Толщина листового металла>мм - R <$CLPRP:Радиус сгиба> - K <$CLPRP:Допуск сгиба>  <$PRP:Qty> шт..dxf"
 

Вот что-то примерное и хотелось бы для IGS.

Сейчас вот это работает:

 

Option Explicit

Dim swApp        As SldWorks.SldWorks
Dim swModel      As SldWorks.ModelDoc
Dim nPath        As String
Dim FileName     As String
Dim NewFileName  As String
  
Sub main()

    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc
    
        If swModel Is Nothing Then
        swApp.SendMsgToUser2 "Please open a SolidWork Part/Assembly first and try again!!", swMbWarning, swMbOk
    Exit Sub
End If
    
        If swModel.GetType = swDocDRAWING Then
        swApp.SendMsgToUser2 "Please open a SolidWork Part/Assembly first and try again!!", swMbWarning, swMbOk
    Exit Sub
End If

    
        nPath = Left(swModel.GetPathName, InStrRev(swModel.GetPathName, ".") - 1)
        swModel.SaveAs nPath & ".igs"
           
        FileName = nPath & ".igs"

End Sub

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


UnPinned posts
27 минут назад, dicty сказал:

Макрос, который создает DXF выдает нам название файла и формирует папки в виде:

Const OUT_NAME_TEMPLATE As String = "[Развертка]\Толщина <$CLPRP:Толщина листового металла>мм\<_FileName_> (исп.<_ConfName_>) - <$PRP:SWP-Материал> - <$CLPRP:Толщина листового металла>мм - R <$CLPRP:Радиус сгиба> - K <$CLPRP:Допуск сгиба>  <$PRP:Qty> шт..dxf"
 

Вот что-то примерное и хотелось бы для IGS.

Пробовали заменить .DXF на .IGS и запустить макрос?

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

Пробовали заменить .DXF на .IGS и запустить макрос?

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

Razvertka All_example.swp

UPD: Пробовал, не отрабатывает, выдаёт ошибку

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

@dicty  Я как-то писал на заказ макрос очень подходящий под Ваши требования. Если Вы предоставите пример модели сборки в Solidworks, укажите версию программы и более подробное описание задачи, то за некоторое вознаграждение и в короткие сроки можно реализовать Ваши требования.

Вам нужен макрос наподобие этого ?

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

 

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

@Chuvak А он выравнивает трубы созданные под углом+ скосы на концах труб? Имею ввиду, чтобы поменялась система координат в такой детали одной из осей вдоль самого длинного размера?

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

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

@Snake 60 , я забыл сказать, что данный макрос отбирает из главной сборки только детали, сделанные с помощью инструментa сварные детали ( метод IsWeldment), и сохраняет в них отдельно тела в файл igs.

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

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

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

Насчёт скосов не совсем понял

Я имел ввиду трубы, которые являются раскосинами, допустим в фермах. У них система координат наследуется от многотельной детали и в ней труба повернута на произвольный угол (согласно ее положения в сборке) + такая труба имеет подрезку на концах. Такую деталь скармливать труборезу черевато, Обычно народ делает новую систему координат, так чтобы одна из осей была параллельна длине (желательно чтобы это была Х координата, хотя не обязательно) и только потом экспортируют в IGS с выбором этой СК. Вопрос, реализуемо ли создание СК || длине трубы средствами API? Есть пример, хотелось бы глянуть...

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

@dicty  Я как-то писал на заказ макрос очень подходящий под Ваши требования. Если Вы предоставите пример модели сборки в Solidworks, укажите версию программы и более подробное описание задачи, то за некоторое вознаграждение и в короткие сроки можно реализовать Ваши требования.

Вам нужен макрос наподобие этого ?

 

Да, очень похоже на то, что нужно. В ЛС озвучьте, пожалуйста, условия.

SW2022.

ТЗ очень простое: запуск макроса из сборки, сохраняем все активные детали всех уровней сборки в IGS, в имя файла IGS добавляем пользовательские свойства.

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

@Snake 60 По моему мнению, в этой операции нет большого смысла, т.к. трубы скорее всего выравнивают в программе. которая идет в придачу к станку. В Solidworks это сделать можно, но геморройно)

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

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

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

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

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

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

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

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

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

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

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

  • Сообщения

    • gemini74
      Вы даете пример, которая подпадает под классическую поверхностную модель. Само собой строить ее из твердотельных нет смысла. Опять же простая геометрия с двумя размерами. Это все задачи , относительно далекие от реальной геометрии серийных , массовых изделий. Задач, которых можно упростить до примитивных поверхностей мне попадалось не так много. Это теоретические задачи, далекие от практики. Поверхности, акцент на них в расчетах делался когда мощности компов были далеки от желаемых. Сейчас вроде времена изменились. И в большинстве случаев не требуются считать динамику или нелинейные задачи ,  разрушения в краш-тестах, задействуя типа LS DYNA. Не знаю , что у Вас за практика, но в моем опыте расчеты CAE не стоят на первом месте в приоритете по сравнению с работой конструктора. Большинство контор опирается на практику. Легче и проще сделать, испытать, чем провести полные расчеты, это и сложно, и штат расчетчиков нужно держать, чтобы были спецы и сопромате, и теплотехнике и гидравлики. Такое может позволить только типа РОСАТОМ. В конторах попроще  рассчитывают все проще. И расчетчик только проверяет работу конструктора в каких то моментах, но особо не вмешивается в процесс конструирования. Производство требует как обычно быстрый результат. Да еще сроки изготовления у нас всегда ограничены.  Поверхности  нужны для сокращения ресурсов в расчетах на треть , т.е из модели убирается третья координата. Но говорить , что это панацея и всегда нужно это делать я не соглашусь. Да , можно к этому стремится, но не считать, что только поверхности являются единственно верным правильным и точным решением. Это всего лишь вариант упрощения модели .  
    • Jesse
      Ресурсы компьютера. Попробуйте пож-ста посчитать изгиб стальной мембраны толщиной 0.5 мм и длиной 2 метра. Тетрами. Тогда вы поймёте что я имею в виду :)
    • alex0800
      у вас в примере в первом кадре цикла не хватает  R --глубина чистового прохода. это раз  второе большая высота резьбы при таком шаге резьбы при нарезании резьбы м60*1.5   глубина резьбы Р920
    • AlexKaz
      Есть другой подход. Конструктор сначала советуется с прочнистом, предоставляю ему полную сборку в нативном каде; прочнист вычищает в нативном всю ненужную мелочь и проводит расчёты, модя геометрию под себя и советуясь с конструктором; потом в несколько этапов таких "советов" конструктор финалит геометрию и КД. А не наоборот... 100500 вариантов голимого stp никому не впёрлось заново вычищать и пересчитывать с нуля...
    • Борман
    • Bot
      19-27 августа 2024 г. состоится серия вебинаров, организованная компанией «Топ Системы», по работе с системой T‑FLEX CAD для преподавателей и специалистов в сфере образования. Летняя школа САПР для преподавателей проходит в рамках программы «Факультет САПР». Ведущими темами онлайн мероприятия будут базовые функции и логика работы в системе T‑FLEX CAD. Летняя школа САПР это: Обмен опытом в сфере технического образования; Знакомство с подходами к процессам оцифровки учебных материалов средствами T FLEX CAD; Метод поддержки образовательных учреждений при обучении будущего поколения инженеров и специалистов управления производством. Темы Ключевые возможности T FLEX CAD 17 и их применение в учебном процессе; Элементы геометрического черчения; Формообразование; Конструктивные элементы; Вспомогательная геометрия. 3D–моделирование; Проекционные виды. Оформление чертежа; Сборка, Анимация разборки. Сборочный чертёж; Средства анализа [...] View the full article
    • artberesta
      Спасибо вам, я понял. У меня не выходило раскрасить готовые прямоугольники которые я уже смоделировал чёрный линией.Как можно выбрать линию которая наслаивается на другую линию для того что бы придать ей цвет   который нужен?  
    • sapr71
      Проверил. Сработало. Теперь выводит правильно. Все оказалось проще, чем я думал. Спасибо mr_Voden.
    • ЮрЮрыч
      У меня это возникает на виртуальных листовых компонентах при выполнении выреза. Поэтому листовые сразу сохраняю во внешнем файле. 
    • mr_Voden
×
×
  • Создать...