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

Макрос экспорта из сборки файлов 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 это сделать можно, но геморройно)

Ссылка на сообщение
Поделиться на других сайтах
  • 1 месяц спустя...
04.07.2024 в 00:25, Snake 60 сказал:

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

 

@Snake 60  Да, то что Вы хотите можно реализовать с помощью API, т.е. автоматически создать новую систему координат для любого профиля в сварной детали, сделать ось Х параллельной отрезку эскиза, вдоль которого был вытянут определенный профиль, и затем сохранить в полученной системе координат в формате igs. Вот только я не знаю, важно ли расположение нулевой точки СК для производства, т.к. я совмещаю эту точку с любой из точек линии эскиза. Просто я как раз тестирую код и перебираю возможные варианты исходной модели, потому что нужно учесть как можно больше нюансов.

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

@ChuvakЗависит от того софта, который использует труборез. Одним заказчикам было всё равно где исходная точка (главное чтобы ось Х была || длинной стороне), другим важно была, чтобы исх.точка находилась в центре профиля, например трубы.

PS Ваш софт коммерческий или выложите для комьюнити?

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • maxx2000
      @SNick нет, буквально должен страдать. Тюрьма это избавление в данном случае 
    • maxx2000
      Вот это тупое клише и шаблон. Ответ типичного благодетеля считающего что ему все должны и должны быть благодарны за то, что он даёт работу и зарплату которую не отрабатывают и у них за воротами очередь из желающих поработать. Алаверды. Вы типа обиженный на всех кто требует себе достойных условий труда, достойной оплаты и достойных социально-бытовых условий для своей семьи и при этом не желает горб от работы. Почему все издержки вечно за счёт работника, а не за счёт работодателя или заказчика? Конечно, а за чей ещё счёт тогда падать в цене чтобы давить конкурентов . Знакомо? Конкурент это тот кто продал дороже и больше, а кто демпингует не конкурент, это мучитель, черт. Сам не живёт и другим не даёт.    До и во время учёбы в институте работал по найму, затем работал на себя, потом как и у всех, с 2008, лет 5 был сложный период когда пытался всё бросить и работать по найму, не пожалел, получил колоссальный опыт и навыки на производстве по многим направлениям в виду специфики работы, но везде я оказывался "типичным обиженным лентяем и бездельником" не желал работать больше оговоренных объёмов без дополнительной оплаты за свои навыки, как и многие здесь и не только.  Последние 10 лет исключительно сам на себя, а последние 3 года ещё и только на моих условиях. Долго, дорого, дёшево, выгодно, невыгодно, мне абсолютно всё равно кто и за сколько денег там делает такую же работу.  Люди приходят и уходят. Есть кто обратился раз-два-три и на том разбежались, есть с кем уже работаю по 5 лет и веду удаленно и конструкторские работы и участки с ЧПУ станками (изделия от модели до изготовления), бывает даже жадные бывшие работодатели обращаются и ничего плачут и плотят.  Без ликбеза не обходится не один даже самый простой проект, каждый рублик приходится проталкивать ступкой. Тяжело, зато интересно. Но есть время на спортзал, жену, детей, хобби которое приносит деньги, занятия детей, троллить двоечников на форуме, а бывает такое что на это всё времени нет, но тогда клиент(не путать с @Клиент ) с полна компенсирует всё это рублём. Всё складывается обычно хорошо, когда общаешься с тем кто непосредственно за всё платит там всё просто да-да, нет-нет, как только это какое-то контактное лицо или появляется второй "директор" или зам, всё можно прекращать переговоры и сотрудничество. Поэтому это не скептицизм, а реальный опыт попыток отъёма денег у населения.    Добро пожаловать в капитализм где каждый волен просить за свои товары и услуги столько -сколько считает нужным. А рыночек порешает. Сейчас наём на работу это собеседование о двух концах  - работодатель оценивает работника, а работник оценивает работодателя и условия труда. И не каждый работодатель готов к такому собеседованию, а чаще заведомо не готов принять неудобного работника, т.к. самому придётся выйти из зоны комфорта и пройти собеседование! Все живут в одной стране, все каждый день ходят в магазин, все понимают сколько и чего нужно для комфортной жизни и отдыха, но никто не готов обеспечить даже минимальный достойный уровень жизни. Невыгодно. Просто уходят от этой темы ещё на собеседовании. Как только все поймут и примут факт что платить надо чтобы было комфортно, даже самому нерасторопному работнику, все станет у всех хорошо. Заблуждение? Возможно но я именно в это верю. Не устраивает, не выгодно- не бери, нанял - плати, ищи замену, либо обучай, развивай, стимулируй, либо работай сам. Тыж всё-таки предприниматель      Вот Игорь, как раз именно такой работодатель 
    • Mizaz
      Всем привет. Несколько лет работал в Солид 18, всё устраивало более чем. Сейчас пришлось перейти на новый компьютер и Солид 23. Вот столкнулся с такими неприятными нюансами. которые немного затрудняют работу, которых не было в 18 версии: 1) В примечаниях в чертежах когда хочешь что-то написать - нет курсора, приходится писать "вслепую". 2) В модели когда активируешь эскиз - то автоматически солид показывает вид перпендикулярно плоскости эскиза, в большинстве своем это неудобно, гораздо проще было нажимать ctrl+8, можно ли это отключить как-то? 3) В чертеже, когда вставляешь список вырезов сварного изделия, то солид упорно берет свой шаблон, а не мой пользовательский, и приходится на каждом чертеже открывать и вместо cut list выбирать файл со своим шаблоном спецификации. Буду благодарен если кто то знает как решить что-то из этого!
    • Snake 60
      @ChuvakЗависит от того софта, который использует труборез. Одним заказчикам было всё равно где исходная точка (главное чтобы ось Х была || длинной стороне), другим важно была, чтобы исх.точка находилась в центре профиля, например трубы. PS Ваш софт коммерческий или выложите для комьюнити?
    • boomeeeer
      Да нет, как раз таки один жизненно важный орган отвалился и лежит на полу отдыхает
    • gudstartup
    • Killerchik
      Ну уж так безрезультатно.... Дорого - да.
    • Anat2015
      А чё, форум то узбекско-украинский?
    • Anat2015
      Жизненно важные органы не задеты
    • gudstartup
      know how protect это не пароль а лишь свойство блока в базе данных проекта а вот реально запароленные вскрыть это немного другое это все равно что взломать хэш - долго и безрезультатно если пароль длинный
×
×
  • Создать...