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

Макрос сохранения развертки в 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 пользователей

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




  • Сообщения

    • stanislavz
      Спасибо за ответ. Так этот и был заказан на запас. В машине живой рабочий. Носителя нету, все в памяти hm628128-10 + ээпром.
    • gudstartup
      @stanislavz вы уж сразу еще один контроллер закажите а потом этот доламывайте. а со старым комбинировать не пробовали? у вас там диск или ssd в качестве носителя? может hdd загибается а вы сразу в мат.плату полезли. дисковые операции тоже ввод вывод тормозят...
    • maxx2000
      Подушную малость. Чё там. Уже в упор научились резьбу резать без выходной канавки?
    • ispite
      Здравствуйте, не могу построить стандартную сетку, что не позволяет дальше провести расчёт. Получается сделать сетку "на основе кривизны", но солид отказывается считать, после нажатия кнопки "запустить исследование" происходит сбой. https://disk.yandex.ru/d/D8wvRbYMW1lWjQ
    • ddm
      изготовить по чертежу с последующим покрытием,цинкование ,по 1000 шт каждой позиции ,предложение отправить на почту qwer463@yandex.ru
    • sklide008
      И еще можно ли задать горчие клавиши на кнопки открыть, скрыть и тд?
    • sklide008
      Подскажите, пожалуйста, в инвенторе есть такой пункт упорядочи по алфавиту дерево. Здесь найти такого не могу, пытался treesorter ставить но он добавляет просто в папку а не сортирует в дереве. Есть ли такой макрос чтобы все детали в дереве по порядку и алфавиту шли?
    • stanislavz
      Есть станок с данным контроллером. Все работает. Недавно была проблема с передачей данных - установил запасной контроллер. А запасной контроллер сказал нет работе. Проблема была в программе компьютера для передачи данных. Грустно, досадно, контроллер был куплен как рабочий. Как бы и не горит, но необходимо поправить. Плата управления с процессором mc68020, память hm628128-10. Память буферным питанием от 3 батареек + 0,5 Фарада на плате как буфер для замены батареек на 1 сутки. Лежало долго, без батареек. Симптомы: После первого включения, в памяти были и программы и параметры (0 странность). Честно, удивило. Но - система жутко тормозит, отклик на нажатие кнопки 3-5 секунд. В таком режиме сумел закачать машинные параметры под свой станок. Но это заняло час.. 4 строки и ждет секунд 10 итд. Есть видео. Перекинул с рабочего контроллера, БП, плату плц, ээпром плц - все то же. Проверил осциллографом кварцы живые , частота есть, амплитуда хорошая. 1 странность - после манипуляций по замене батарейки, старые записи из памяти исчезли. Ничего не коротнул. Возможно 0,5 Ф был не заряжен. Там тоже необходимы сутки для зарядки. Но как оно было запечатоно до этого - мистика. 2 странность. Если плата лежит ночь без питания, только с буфером - потом 2-3 минуты работает хорошо. 3 аналогично работает 2-3 минуты если питание отключить и очистить питание памяти (выпаял 0,5 Ф буфер с платы) Проверка памяти на старте есть. Проходит хорошо. На зависает, на холодную пайку не похоже. Шевелил / двигал все. Да и не виснет, именно тормозит. При том если оставить на час - тоже все стабильно плохо. Если набрать быстро 5 символей- экран сразу пуст, но после задержки символы будут на экране. Заказал второй процессор и память. 10 штук. Подавал прямо 5 вольт на память - все так же. Токи потребления между плохой и хорошей платой смогу проверит.    
    • brigval
    • Ветерок
      "увеличение оптимизации". Оптимизацию невозможно ни увеличить, ни уменьшить.
×
×
  • Создать...