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

Макрос сохранения развертки в DWG


Vladimir_k55

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

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

Текст  

If UserForm1.OptionButton7.Value = True Then
Macro11.GetProp
    'If PartConf = "00" Then
        UserForm1.TextBox1.Text = CustProp1Value + "_" + CustProp2Value + "_" + CustProp3Value + ".dxf"
        UserName1 = CustProp1Value + "_" + CustProp2Value + "_" + CustProp3Value + ".dxf"
    'Else
        'UserForm1.TextBox1.Text = CustProp1Value + "_" + CustProp2Value + "_" + CustProp3Value + "-" + PartConf + ".dxf"
        'UserName1 = CustProp1Value + "_" + CustProp2Value + "_" + CustProp3Value + "-" + PartConf + ".dxf"
    'End If
End If

Hide  
а тут и так берется переменная CustProp2Value

 

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


Нашел как сделать, нужно в стоках strValue(1) = strTemp2 присваивать переменную strTemp2 тогда берется вычисленное значение, а strTemp1 берет имя.

Текст  

  'поиск первого свойства ОБОЗНАЧЕНИЕ
   If UCase(vNames(i)) = "ОБОЗНАЧЕНИЕ" Then
   
     strName(0) = vNames(i)
     CustProp1Name = strName(0)
     
     strValue(0) = strTemp2
     CustProp1Value = strValue(0)
     
     'swApp.SendMsgToUser ("Найдено свойство:" + CustProp1Name + " " + CustProp1Value)
    End If
    'поиск второго свойства ТОЛЩИНА
    If UCase(vNames(i)) = "ДОП_СВОЙСТВО1" Then
     
     strName(1) = vNames(i)
     CustProp2Name = strName(1)
     
     strValue(1) = strTemp2
     CustProp2Value = strValue(1)
     
     'swApp.SendMsgToUser ("Найдено свойство:" + CustProp2Name + " " + CustProp2Value)
    End If
    'поиск третьего свойства МАТЕРИАЛ
    If UCase(vNames(i)) = "SORT_МАТЕРИАЛ" Then
   
     strName(2) = vNames(i)
     CustProp3Name = strName(2)
     
     strValue(2) = strTemp2
     CustProp3Value = strValue(2)

Hide  
Ссылка на сообщение
Поделиться на других сайтах
В 12.12.2019 в 17:36, malvi.dp сказал:

Уважаемый @Snake 60 , заметил такую проблему, что при использовании вашего макроса Версии 1.2.1.2 развертка создается под углом к горизонтали.

Попробовал руками экспортировать с солида (sw2016sp5) - и все нормально.

Непойму в чем может быть проблема?

Развертка с помощью макроса 1.2.1.2

5df24f3eafc49_.thumb.JPG.4c2da7fe57780c070ae648596e9b20c1.JPG
 

Hide
Развертка стандартными средствами SW

5df24f81e5b95_.thumb.JPG.dc2e8bcf10ea3e1356491861b92d7b68.JPG

Hide

Деталь прикладываю

Развертка.SLDPRT
 

Не совсем понял, это только отклонение от горизонтали или это проекция не по плоскости (истинные размеры для плазмы сохраняться или будет не точно).

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

Не совсем понял, это только отклонение от горизонтали или это проекция не по плоскости (истинные размеры для плазмы сохраняться или будет не точно).

У меня только отклонение по горизонтали.
 

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

Спасибо, отклонение по горизонтали не критично, главное, что бы размеры не поплыли.

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

По поводу повёрнутых развёрток.

Всё зависит от базовой точки детали в 3д. Габариты никуда не плывут, а попытки это исправить потратят слишком много сил на такой пустяк. Большинство автонестов и так добавит деталь в раскрой под нужным углом.

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

 

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

1.thumb.PNG.61e0970840f699bd156acb33b28ff247.PNG

 

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

4.PNG.1e9d6960b53c1286dc733101d3789d46.PNG

 

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

2.thumb.PNG.cfb8db09b8783200bc686d9f318f7246.PNG

 

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

3.PNG.5e24d824fc0330944e437d2173ba0cd2.PNG

 

 

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

Добрый день! При попытке создать DXF выдает ошибку и Солид(V/18, sp5) закрывается. И так работает через раз.

 

 

Oshybka.jpg

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

Доброго времени суток.

@Snake 60, подскажите что нужно подправить в макросе OneClickDXF, что бы файл DXF сохранялся в формате ОБОЗНАЧЕНИЕ ИМЯ.DXF. Сейчас сохранят ОБОЗНАЧЕНИЕ.DXF.

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

@DmitriySD Доброго времени суток.А вы не могли бы прислать ваш вариант макроса? 

 

И кто нибудь может объяснить, можно все таки как то из сборки пакетно сохранить все детали в DXF?

При установке макроса ExportToDXF (Snake-60 Edition v1.2.1.2) при закрытие программы SolidWors все время аварийно завершает работу программы. Не сильно напрягает, но может кто нибудь знает как решить? SW 2016_SP4.0, Windows 7 SP1

Ссылка на сообщение
Поделиться на других сайтах
1 час назад, Eugene-pto@ya.ru сказал:

@DmitriySD Доброго времени суток.А вы не могли бы прислать ваш вариант макроса? 

 

ExportToDXF.swp

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

@DmitriySD ни как не получается правильно заполнить свойства файла, макрос такое ощущение что не видит ни какие значения. можете прислать скрин из раздела "Суммарная информация" с примером как заполняете вы? или деталь если у вас SW 2016 

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

@Eugene-pto@ya.ru

Я для пакетного сохранения DXF использую Add-In, которым поделился автор в теме:

 

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

@Snake 60 Здравствуйте, на форуме вижу большое колличество обсуждений по поводу вашего макроса по созданию dxf разверток деталей прямо из сборки , а сам макрос не нашла. Не могли бы поделиться? А то сама я потихонечку вникаю  в написание макросов, но это слишком много времени тербует, а работа не терпит)

 

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

@Kometa_69 Макрос по пакетному сохранению листовых деталей из сборки пока еще в работе.

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

Коллеги, представляю вашему вниманию:

Расширенный макрос для сохранения развертки листовой детали в формат DXF v1.2.3.1

Расширеный макрос для сохранения развертки листовой детали в формат DXF v1.2.3.1

-= ИНФОРМАЦИЯ и ФАЙЛЫ =-

-= ИНФОРМАЦИЯ и ФАЙЛЫ =-

   Назначение макроса: Сохранение развертки листовой детали с возможностью выбора сохраняемой конфигурации

   Название макроса: ExportToDXF (Snake-60 Edition v1.2.3.1)

   Разработчики: Дербуш Олег aka Snake 60 & Первоначальная версия макроса - Unknown

   Версия макроса: 1.2.3.1 от 30.06.2020

   Файлы:

-= ДИСКЛЕЙМЕР =-

-= ДИСКЛЕЙМЕР =-

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

-= УСТАНОВКА МАКРОСА =-

-= УСТАНОВКА МАКРОСА =-

Рассмотрим установку макроса на примере моего домашнего компьютера:

  1) Распаковываем архив в папку с правами для записи (почему это важно - узнаете ниже):

2020-07-09_22-39-37.png

  2) Запускаем SolidWorks и открываем деталь, созданную командами листового металла.

  3) Выносим кнопку макроса на панель программы SolidWorks.

     

  Кнопку можно вставить в любое место уже существующих панелей, но я предлагаю активировать вкладку Макросы на ленте, для этого кликаем правой кнопкой мыши на любой уже существующей вкладке ленты и активируем вкладку с макросами:

2020-07-09_23-04-57.png

 

  Получаем вот такую вкладку с элементами, сюда и будем добавлять кнопки с макросами:

2020-07-09_23-14-30.png

 

  Для добавления кнопки макроса нажимаем правой кнопкой мыши на свободном месте ленты и выбираем пункт выпадающего меню Настройка:

2020-07-09_23-57-39.png

 

  Переключаемся на вкладку Команды и находим в списке строку Макрос, нажимаем на неё:

2020-07-10_0-00-57.png

 

  Перетаскиваем крайнюю правую иконку на ленту макросов и отпускаем ее (используя функцию Drag and Drop):

2020-07-10_0-06-04.png

 

  Появляется окно с настройками кнопки макроса:

2020-07-10_0-09-06.png

 

  В строке Макрос нажимаем на кнопку ... и выбираем файл нужного нам макроса (В нашем случае это файл ExportToDXF (Snake-60 Edition v1.2.3.1).swp):

2020-07-10_0-13-32.png

 

  ВАЖНО!!! В строке Метод из выпадающего списка (нажав на треугольник справа) выбираем метод Macro11.main1:

2020-07-10_0-15-28.png

 

  Нажав на кнопку Выбрать образ... выбираем значок для кнопки макроса и нажимаем ОК:

2020-07-10_0-46-16.png

 

   Макрос установлен и готов к работе:

2020-07-10_0-26-34.png

 

  4) Назначаем горячую клавишу для макроса

  В окне Настройка переходим на вкладку Клавиатура и в строку поиска вводим ключевое слово DXF и поиск находит нам наш макрос:

2020-07-10_0-30-29.png

 

  На пересечении столбца Ярлыки и строки Макросы кликаем на ячейке, активируя ее, и нажимаем нужное нам сочетание горячих клавиш (в нашем случае Shift + D) и жмём кнопку ОК:

2020-07-10_0-37-38.png

 

  Настройка макроса завершена.

-= ЗАПУСК МАКРОСА, ВНЕШНИЙ ВИД, ИЗМЕНЕНИЯ и ОПИСАНИЕ РАБОТЫ=-

-= ЗАПУСК МАКРОСА, ВНЕШНИЙ ВИД, ИЗМЕНЕНИЯ и ОПИСАНИЕ РАБОТЫ=-

  1) Запуск работы макроса происходит при нажатии кнопки макроса на ленте макросов или нажатии сочетания назначенных горячих клавиш (в нашем случае Shift + D)

  2) При запуске макроса появляется диалоговое окно изображенное на рисунке ниже:

2020-07-10_0-57-52.png

  3) Изменения в данной версии

  1. Самым важным изменением в данной версии считаю разработку модуля UnsupresseFlatternFeatures. Возможно вы встречались с такой ситуацией, когда развертка вашей детали выполнялась не полностью. Например не разгибалась какая-то одна из полок сложной детали или что-то подобное. Мной было замечено, что происходит это по причине случайно погашенного элемента дерева развертки, или в процессе программного сбоя (например при наличии большого количества конфигураций в детали). Вот например:

2020-07-10_1-10-22.png

  Как видите, погашенное состояние этого элемента не влияет на внешний вид листовой детали в согнутом виде, и так как часто DXF-файлы создаются до создания чертежа с детали, то в детали отсутствует конфигурация развертки:

2020-07-10_1-19-36.png

  Что также усугубляет человеческий фактор, то есть конструктор может не уследить за всеми состояниями элементов развертки. Данный модуль устраняет этот недостаток и перед непосредственным сохранением DXF-файла высвечивает все погашенные элементы. Теперь будет меньше брака на производстве по вине неправильно подготовленных файлов разверток!

  Хочу выразить огромную благодарность коллеге @alek77 за подгон кода по траверсингу дерева построений с поиском дочерних элементов :)

 

  2. Вторым по значимости хочу отметить появление возможности транслитерации названия получаемого файла, так как наш станок не понимает кирилицу, то нашему инженеру-программисту, который делает раскрой на координатно-револьверный пресс и пишет на него программу, приходилось вручную переименовывать все файлы. Теперь это делает программа:

2020-07-10_2-00-41.png

 

  3. По просьбе коллеги @Timi добавил возможность выбора разделителя:

2020-07-10_2-11-24.png

В разделитель можно добавить любые символы из вот этого списка  - + = _ ~ # $ % ^ . , ! @ & пробел

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

Если в поле разделителя вводится недопустимый символ, то разделитель меняется на значение по умолчанию, а это моя любимая тильда :) "~"

 

4. По аналогии с обработкой текстового поля для разделителя (по недопустимости ввода неразрешенного символа в имени файла), добавил обработку полей для ввода суффикса и префикса. Теперь программа удаляет не разрешенные символы в имени файла, а именно, удаляются символы „<” (знак меньше),  „>” (знак больше), „:” (двоеточие), „«” (двойные кавычки), „/” (слеш), „\” (обратный слеш), „|” (вертикальная черта), „?” (вопросительный знак), „*” (звездочка).

 

5. Переписан под наше предприятие третий пункт опции обработки имени (возможно у кого-то такой же принцип наименования файлов DXF). Теперь название файла формируется из свойств со вкладки конфигурация. Название свойств из которых берутся значения необходимо один раз указать свои. При однократном выполнении макроса эти свойства и еще ряд других полей записываются в файл настроек ExportToDXF (Snake-60 Edition v1.2.3.1).txt и будут считаны из него при следующем запуске макроса. Вот для чего необходимы права на запись для папки с макросом. Если кому то нужен другой принцип формирования названия файла из свойств - обращайтесь, подкорректирую макрос под вас.

 

6. Как частично было указано выше сохраняются настройки всех полей, чек-боксов и радио-кнопок кроме Свой вариант имени и Свой вариант пути, хотя и это можно реализовать, если кому-то потребуется.

 

7. Небольшие визуальные косметические изменения. Перевел все элементы в приятный плоский вид.

Надеюсь вам понравится эта версия макроса. Кто хочет выразить благодарность - прошу не проходить мимо, а поставить лайк. :)

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

Вышло время на редактирование поста, не успел прикрепить файлы :)

Качать отсюда: ExportToDXF (Snake-60 Edition v1.2.3.1).zip

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

@Snake 60 Здравствуйте.
Огромная благодарность Вам за Ваши труды.
А сложно ли добавить в макросе функцию создания зеркальной развертки?

Я с удовольствием пользуюсь Вашим макросом при создании пакетов изделий, но есть изделия в которых есть детали и их зеркальные исполнения. Зеркальные исполнения, соотв., сделаны через "ЗеркальныйКомпонент" в сборке и не имеют файла детали (точнее имеют, но из него нельзя создать развертку).

 

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

@Stranger_Solid Спасибо за отзыв. Приятно, что мои потуги в освоении VBA пригодились еще кому-то кроме меня ))

По-поводу функции зеркалирования, не уверен, что смогу это сделать, по крайней мере на данном этапе развития )

Я выхожу из этой ситуации двумя способами:

1) отзеркаленную деталь также можно преобразовать в листовой металл и уже с нее сделать развертку.

2) отзеркалить в автокаде

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

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

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

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

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

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

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

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

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

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

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




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