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

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


Vladimir_k55

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

@p5ih Повторяется на какой-то конкртеной детали или на любой листовой? Если на конкретной, скиньте проблемную детальку. Конфигураций много в детали? Галка в чекбоксе выбора списка конфигураций стоит на конфигурации по-умолчанию выбранной? Работает ли кнопка Выбрать все?

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


Приветствую @Snake 60. Ошибки на всех подряд деталях, конфигураций в деталях нет (в деталях с конфигурациями тоже самое). При выборе метода как вы указали (скрин 1) ошибка появляется при нажатии на кнопку макроса, ни каких диалоговых окон не появляется, сразу ошибка. Если выбрать метод запуска скрин 2, то появляется окно выбор папки, а после выбора ни чего не происходит.

Скрин 1 

2019-07-23_100140.jpg.2a5ddecf307886a00da568c5ec95a477.jpg

Hide  
Скрин 2 

2019-07-23_100052.jpg.f82039df66d08f1f8377c26980df0d64.jpg

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

@Snake 60 , я на буржфоруме нашел часть кода с красивым и удобным выбором папки для сохранения, если нужно, смотри в ветке Сделай свою работу эффективнее, выложил макрос компоненткопи, там отдельным модулем это все

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

@p5ih Макрос откорректирован. Проверьте, пожалуйста, его работу в Вашей системе.

ExportToDXF (Snake-60 Edition v1.2.1).bmp

ExportToDXF (Snake-60 Edition v1.2.1).swp

 

P.S. Огромное спасибо за помощь коллегам: @Kelny и @alek77 за предложенные варианты решения проблемы.

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

Упс... Забыл закомментить строку "'MsgBox PartName1" в трёх местах. Кто может сделайте сами, кто не может скачивайте файл по ссылке ниже:

ExportToDXF (Snake-60 Edition v1.2.1).swp

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

Вопрос! Уважаемый  @Snake 60 Можно ли добавить свойство файла по типу $PRPSHEET$ что бы он вытягивал и подставлял это свойство в имя файла.

 Интересует т.к. в нашей компании требуется имя файла как: "Название металла_Толщина металла_Имя файла_Количество деталей.dxf Типа Cт3_S5_АБВ.123.123.000_5шт.dxf

 

 

По поводу цвета кто то спрашивал, если нужно задать конкретный цвет, то Настройки пользователя -> Настройка схемы цвета -> Эскиз, Неактивный, и потом выбираете тот цвет который нужно.

Ссылка на сообщение
Поделиться на других сайтах
В 19.08.2019 в 14:02, neneo сказал:

"Название металла_Толщина металла_Имя файла_Количество деталей.dxf Типа Cт3_S5_АБВ.123.123.000_5шт.dxf

Подумаю на досуге как реализовать это. Сразу встречный вопрос: назание металла вытягивать из материала детали или сделать поле для ввода? Что будет если материал не задан? Толщину попробую вытянуть из свойств листового металла. А вот количество точно будет поле для ввода ручками ибо данный парметр непредсказыем.

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

Подумаю на досуге как реализовать это. Сразу встречный вопрос: назание металла вытягивать из материала детали или сделать поле для ввода? Что будет если материал не задан? Толщину попробую вытянуть из свойств листового металла. А вот количество точно будет поле для ввода ручками ибо данный парметр непредсказыем.

Название материала задается отдельно и прописывается в Свойствах пользователя так же как и толщина и количество 

В данный момент это прописывается в ТТ и звучит так "Изготовить по развертке $PRPSHEET:"Материал"_S$PRPSHEET:"Толщина"_$PRPSHEET:"Обозначение"_$PRPSHEET:"Количество_ФБ"шт.dxf" 

А на выходе соответственно получаем "Cт3_S5_АБВ.123.123.000_5шт.dxf" 

+ еще вопрос, у Вас в макросе Обозначение идет полное например "АБВ.123.12.000 Пластина"  макросы от SW плюс делят это "Обозначение" на "Обозначение_ФБ" и "Наименование", т.е. получается "АБВ.123.12.000" и "Пластина", соответственно дабы не захламлять название dxf "Наименование" туда не вписывается, т.к. оно может быть из 3-х и более слов, можно ли внести изменение Вместо "Обозначение" ставить "Обозначение_ФБ"

Прошу прощение если слишком нагружаю, постепенно изучаю VBA, но до такого еще не дорос

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

@neneo Скиньте мне чертеж с моделью со всеми заполненными свойствами, как у Вас принято, я сделаю макрос под Вас.

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

@neneo Скиньте мне чертеж с моделью со всеми заполненными свойствами, как у Вас принято, я сделаю макрос под Вас.

 

@Snake 60 Вот тут лежит модель и чертеж RMC.rar

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

@neneo Проверяйте работу макроса.

ExportToDXF (Snake-60 Edition v1.2.1.2).swp

ExportToDXF (Snake-60 Edition v1.2.1.2).bmp

В 21.08.2019 в 14:41, neneo сказал:

можно ли внести изменение Вместо "Обозначение" ставить "Обозначение_ФБ"

Можно. Откройте макрос для редактирования, Поиском по слову ОБОЗНАЧЕНИЕ найдите строку:

    'поиск третьего свойства ОБОЗНАЧЕНИЕ
    If UCase(vNames(i)) = "ОБОЗНАЧЕНИЕ" Then

и замените на

    'поиск третьего свойства ОБОЗНАЧЕНИЕ
    If UCase(vNames(i)) = "ОБОЗНАЧЕНИЕ_ФБ" Then

 

Ссылка на сообщение
Поделиться на других сайтах
В 23.08.2019 в 23:57, Snake 60 сказал:

Только добрался до рабочего компьютера.

Огромное спасибо!

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

 

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

@neneo сделайте пожалуйста скриншот ошибки! Скорее всего у Вас неправильно выбран начальный метод (точка входа). Должен быть Macro11.main1 там по умолчанию подхватывается другой, первый по алфавиту.

Так же возможны проблемы с правами доступа.

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

@Snake 60 Подскажите пжлста в чём может быть дело, при поиске свойства "Толщина", vNames(i) = "Толщина", но программа почему то всё равно перескакивает этот if. Так же и с другими свойствами пробовал.

 

1.png

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

@UnrealPV Свойства должны быть заполнены у детали на вкладке Конфигурация, у Вас так? Скачайте чертеж с деталью из этого сообщения и посмотрите как заполнены свойства там, сделайте по аналогии и в Вашей детали.

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

@UnrealPV Разкомментрируйте строку на 4 строки ниже Вашего брейк-поинта, сохранитесь и перезапустите макрос. Должно будет выскочить диалоговое окно с уведомлением какое свойство найдено.

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

@Snake 60 Всё спасибо, я понял в чём дело. Оказывается если свойство в солиде называется "Толщина" то в коде оно должно быть "ТОЛЩИНА".

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

Оказывается если свойство в солиде называется "Толщина" то в коде оно должно быть "ТОЛЩИНА".

Оно в коде должно быть, но не из-за того что вы написали, а из-за того что вы сравниваете имя свойства с функцией UCase которая возвращает ваше слово всегда со всеми заглавными, вот и получалось всегда не отвечающим сравнению. То есть у вас сравнение было "ТОЛЩИНА"="Толщина", что всегда являлось ложью.

 

Для сравнения строк можно было бы использовать функцию StrComp и в зависимости от выбранного параметра сравнивать без учёта регистра не переводя буквы в другой регистр для сравнения:

Цитата

StrComp Function Example

This example uses the StrComp function to return the results of a string comparison. If the third argument is 1, a textual comparison is performed; if the third argument is 0 or omitted, a binary comparison is performed.


Dim MyStr1, MyStr2, MyComp
MyStr1 = "ABCD": MyStr2 = "abcd"    ' Define variables.
MyComp = StrComp(MyStr1, MyStr2, 1)    ' Returns 0.
MyComp = StrComp(MyStr1, MyStr2, 0)    ' Returns -1.
MyComp = StrComp(MyStr2, MyStr1)    ' Returns 1.

 

 

 

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

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

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

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

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

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

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

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

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

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

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




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