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

Макрос экспорта из сборки файлов 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 пользователей

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




  • Сообщения

    • Maxim.Oi TF
      Значит из хорошего материала изготовлен.
    • vasillevich68
      вы там, что, круг заточного станка на ходу измеряете???   Пользуюсь уже больше 10-ти лет цифровым колумбиком Gedore    до сих пор ничего не выработалось.  
    • Maxim.Oi TF
      Нужен именно цифровой. С нониусом не удобно.   Мерить приходится часто. детали мелкие. Работаю оператором.  Может посоветуете ШЦЦ с твердосплавными губами?
    • Altvorec
      Добрый день. Прошу подскажите пожалуйста- у меня пост для НХ по версию NX 2312 Build 8103 окружности и спирали выводил с приставкой TURN. Но поставив  NX 2406 Build 1700 вывод турн исчез. Выводит отрезками. В чем может быть загвоздка?  
    • maxx2000
      а есть необходимость в измерениях штангенциркулем с точностью до 0,01мм? Чем не устраивает обычный с нониусом, твердосплавными губками и шкалой в 0,05мм? Почему не купить цифровой с твердосплавными губками?
    • Maxim.Oi TF
      Добрый день.  Решил приобрести ШЦЦ. выбор пал  штанген фирмы INSIZE.  Модель  INSIZE 1114-150A .На ОФИЦИАЛЬНОМ САЙТЕ INSIZE.com представительства в РФ нет. Но поисковик находит сайт insizeru.com. стоит ли заказывать с этого сайта. Складывается ощущение что это подделки под бренд insize.     В настоящее время пользуюсь ШЦЦ С Али экспресс. Фирмы Shahe. Хватает его примерно на год. После года губки вырабатываются и измерение не точное. Хочется что то понадежнее. МИТАТОЙЁ или Mahr дороговато.
    • gudstartup
      лампочка вещь аппаратная а у автора неисправна программная структура данных. сама лампочка работает только вот потоки данных не те! 
    • maxx2000
      @gudstartup ну так и тут попытка загрузиться(включить лампочку) приводит  к одному и тому же результату (лампочка не светится)     
    • gudstartup
      если проблемы в аппаратной части а не в логической структуре файловой системы тогда диск либо не работает либо читает с задержками много бэд секторов и это  уж никак не может происходить в одном и том же месте учитывая что диск проверен. я ни разу не видел чтобы сдохший контроллер а уж тем более оборванный шлейф и проблемы с питанием приводили к таким результатам. загрузка проверка и ошибки в конкретных файлах говорит о том что повреждение было вызвано при сохранении данных которое было прервано по причинам которые всем известны. не выключайте компьютер пока система пишет данные на твердый диск  именно так звучит это предупреждение на системах heidenhain при завершении работы. Ну как же!!. раз за разом происходит попытка загрузки и проверка дает одни и те же компьютер загружается с и проверяет диск а лампочка если сгорела уже не светиться! есть внешнее питание от главного выключателя станка а есть внутреннее от бп компьютера и это две большие разницы или вы думаете проблема во  внутреннем бп так как указали еще и на контроллер ide? логика проста надо проверять ufs а не шлейф контроллер или бп @Artem artem  автор покажете какие разделы обнаружены на  диске кроме swap?
    • maxx2000
      @gudstartup шлейф, контроллер, источник питания относятся к аппартной(железной) части машины. Устройства могут взаимодействовать на низком уровне, минуя прослойки из драйверов. Я пока не улавливаю логики в твоих посланиях. Проблема не повторяющаяся, она просто вот такая, как сгоревшая лампочка. Сколько не включай результат один и тот же. А ты начал уже строить догадки почему она появилась. Отключение питания это конечно не проблема с питанием, о чём это я, ошибка записи в результате плохого контакта это тоже не проблема, подгнивший контроллер, да о чём я вообще, как это может повлиять на запись данных.
×
×
  • Создать...