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

А кто может написать макрос?


Павлуха

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

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

Задумал я одно дельце, но для этого нужен макрос разделения имени файла на наименование и обозначение.

Кто поможет?

Подробнее опишу задачи макроса.

 

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


UnPinned posts

Нет в задании о том, какие языки программирования используются, как обрабатывать файлы, либо они в папке, либо список в файле. С виду несложное задание, поищите статьи на тему регулярные выражения. Если просто список названий в файле, можно в notepad++ обработать используя регулярки. Если файлы в папке, можете подобные задачи на питон погуглить, полно таких задач. Хотя и в любом другом ЯП то же самое можно сделать

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

А чем инструменты Солида не помогают? Что есть и во что нужно имя превратить?

В Тотале командоре есть инструмент переименования.. им можно.

есть и плагин "экспандер".

Кто бы сделал АПИ плагин к ТС?!

 

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

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

Задумал я одно дельце, но для этого нужен макрос разделения имени файла на наименование и обозначение.

Кто поможет?

Подробнее опишу задачи макроса.

А чего ждать?

Пишите сразу все задачи.

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

def get_filenames(folder_path):
    filenames = []
    extensions = []
    for filename in os.listdir(folder_path):
        name, ext = os.path.splitext(filename)
        filenames.append(name)
        extensions.append(ext)
    return filenames, extensions

def save_to_csv(filenames, extensions, file_path):
    with open(file_path, 'w', newline='') as f:
        writer = csv.writer(f)
        writer.writerow(['filename', 'extension'])
        for i in range(len(filenames)):
            writer.writerow([filenames[i], extensions[i]])
 
if __name__ == '__main__':
    folder_path = 'c:/temp'
    filenames, extensions = get_filenames(folder_path)
    save_to_csv(filenames, extensions, f'{folder_path}/filenames.csv')

 

Скачайте и установите питон, pycharm бесплатную версию, создайте в нем проект и файл с расширением .py. Измените folder_path на свой, откуда читаете файлы. Программа проходит по файлам этой папки и сохраняет результат в нее же в файл filenames.csv

Или просто питон скачайте, создайте файл program.py с содержанием выше. Потом создайте батник со следующим содержимым изменив в нем путь на нужный

 

@echo off
python path\to\program.py
pause

И запускайте его

 

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

Программа проходит по файлам этой папки и сохраняет результат в нее же в файл filenames.csv

Или просто питон скачайте, создайте файл program.py с содержанием выше. Потом создайте батник со следующим содержимым изменив в нем путь на нужный

А так сможет питон ?

Переменование.gif

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

А так сможет питон ?

Переменование.gif

@Maik812 да, на Python можете написать программу, которая будет делать то, что Вам нужно. Но я эту задачу тоже выполняю в TC)

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

А так сможет питон ?

 

А ссылки при таком переименовании не теряются?

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

А ссылки при таком переименовании не теряются?

Тут теряются... так как АПИ нету плагина, давно прошу. Есть у @brigval свой файловый менеджер. Но он делать  плагин к ТС не желает. А функционал у ТС самый мощный по плагинам и др САПР поддержка в частности КОМПАС там АПИ плагин есть..

Ссылка на сообщение
Поделиться на других сайтах
06.02.2023 в 16:21, Krusnik сказал:

А чего ждать?

Пишите сразу все задачи.

Нажимаем на кнопку, и получаем следующее:
1. Если название детали без разделителя, и не содержит надпись в формате ХХ.ХХ, то заносим название в свойства под названием Имя.
2. Если название детали без разделителя, и  содержит надпись в формате ХХ.ХХ, то заносим название в свойства под названием Номер.
3. Если имеет разделитель, и выглядит как Обозначение_наименование, то первое заносим под названием Номер, второе Имя.
4. Если название конфигурации содержит 00, то ничего никуда не заносим.
5. Если название конфигурации отличается от 00,  без разделителя, и не содержит надпись в формате ХХ.ХХ, то заносим название в свойства под названием Имя конф во вкладку конфигурации.
6. Если название конфигурации отличается от 00,  без разделителя, и содержит надпись в формате ХХ.ХХ, то заносим название в свойства под названием Номер конф во вкладку конфигурации.
7. Если имеет разделитель, и выглядит как Обозначение_наименование, то первое заносим под названием Номер конф, второе Имя конф во вкладку конфигурации.

Всё.
Остальное делается в таббилдере.

Да, должно применяться для всех деталей и подсборок в сборке пакетно.

Ссылка на сообщение
Поделиться на других сайтах
07.02.2023 в 22:32, Павлуха сказал:

Нажимаем на кнопку, и получаем следующее:
1. Если название детали без разделителя, и не содержит надпись в формате ХХ.ХХ, то заносим название в свойства под названием Имя.
2. Если название детали без разделителя, и  содержит надпись в формате ХХ.ХХ, то заносим название в свойства под названием Номер.
3. Если имеет разделитель, и выглядит как Обозначение_наименование, то первое заносим под названием Номер, второе Имя.
4. Если название конфигурации содержит 00, то ничего никуда не заносим.
5. Если название конфигурации отличается от 00,  без разделителя, и не содержит надпись в формате ХХ.ХХ, то заносим название в свойства под названием Имя конф во вкладку конфигурации.
6. Если название конфигурации отличается от 00,  без разделителя, и содержит надпись в формате ХХ.ХХ, то заносим название в свойства под названием Номер конф во вкладку конфигурации.
7. Если имеет разделитель, и выглядит как Обозначение_наименование, то первое заносим под названием Номер конф, второе Имя конф во вкладку конфигурации.

Всё.
Остальное делается в таббилдере.

Да, должно применяться для всех деталей и подсборок в сборке пакетно.

1. Формат ХХ.ХХ - это буквы, цифры и точка? Больше никаких символов не используется?

3. Разделитель  _  (знак подчеркивания) используется только один раз в названии файла?

4. Название конфигурации, например, 100, содержащее 00 не бывает?

Какой SW используется? Сборка полностью решенная?

Изменено пользователем Shvg
Ссылка на сообщение
Поделиться на других сайтах
07.02.2023 в 22:32, Павлуха сказал:

Всё.

Ни хрена не понятно.. Вы бы пример прикрепили бы.. что куда заносится теряешь на 3тьем пункте..

Название где ? в Имени файла? В Имени "Обозначение " ?

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

Так никто и не поможет?

Каков бюджет и сроки?

 

07.02.2023 в 22:32, Павлуха сказал:

Нажимаем на кнопку, и получаем

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

 

06.02.2023 в 13:36, Павлуха сказал:

нужен макрос

Попробуйте сами написать - это не сложно.

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

Ни хрена не понятно.. Вы бы пример прикрепили бы.. что куда заносится теряешь на 3тьем пункте..

Название где ? в Имени файла? В Имени "Обозначение " ?

Вроде всё понятно.

Название детали = имя файла (FileName).

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

Нажимаем на кнопку, и получаем следующее:

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

А если все равно приходиться открывать каждый, тогда используйте, уже дотёртый до дыр, MProp из набора SWPlus_v2017 абсолютно бесплатный

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

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

А если все равно приходиться открывать каждый, тогда используйте, уже дотёртый до дыр, MProp из набора SWPlus_v2017 абсолютно бесплатный

 

Да, так и должно быть.

MProp не работает с М2 дисками почему-то.

Я когда комп новый собрал, так и не смог его поставить.

И тут задача чуть более специфичная, чем простой MProp.

 

9 часов назад, Shvg сказал:

1. Формат ХХ.ХХ - это буквы, цифры и точка? Больше никаких символов не используется?

3. Разделитель  _  (знак подчеркивания) используется только один раз в названии файла?

4. Название конфигурации, например, 100, содержащее 00 не бывает?

Какой SW используется? Сборка полностью решенная?

 

1. Это цифры и точки

2. Да

3. Не содержащее, 00 а именно 00.

4. 2022, ну и с переходом на будущие версии

5. Да.

 

2 часа назад, Kelny сказал:

Попробуйте сами написать - это не сложно.

 

Ткните пальце как.

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

Ткните пальце как.

https://help.solidworks.com/2010/russian/solidworks/sldworks/legacyhelp/sldworks/fundamentals/record_macro.htm

https://help.solidworks.com/2010/russian/solidworks/sldworks/legacyhelp/sldworks/fundamentals/vba.htm

Примеры в справке, например:

https://help.solidworks.com/2010/english/api/sldworksapi/get_custom_properties_for_configuration_example_vb.htm

Вопросы по VBA в справке редактора макросов или любом поисковике в интернете, например, VBA разделить строку по разделителю:

https://vremya-ne-zhdet.ru/vba-excel/funktsiya-split-parametry/

https://yandex.ru/search/?text=VBA+разделить+строку+по+разделителю&lr=216

 

 

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • Ninja
    • Ninja
      В зимнее время водители устанавливают на колёса специальные цепи против скольжения. В мире разработано множество видов цепей и способов их установки. Японцы применяют "цепи Абэ". Кто этот великий инженер? Это знаменитый японский писатель Кобо Абэ. Для уединенного писательского труда Абэ купил домик в горах. А в горах зима ранняя, снежная, затяжная. Без цепей на колёсах можно и улететь с обрыва. Абэ периодически заводил машину и спускался в долину. Почту получить/отправить, в магазине продукты купить, ящик рисовой водки. (Известное дело: насухую великую книгу не напишешь). В долине приходилось цепи снимать. По правилам цепи запрещается применять при отсутствии на дороге снежного покрова. В те времена для установки/снятия цепи требовалось домкратом поднимать каждое колесо. В машине 4 колеса. Товарищу Абэ приходилось корячиться с домкратом. При этом в самых нелитературных выражениях комментируя политику правящей партии и все домкраты в мире. Купил в магазине бухлишко-закусь. Поехал домой в горы. А там снег, скользко. Цепи требуются. Опять писатель и драматург Абэ домкрат крутит. Всё это насмерть надоело Абэ. Обратился к компаниям-производителям: придумайте способ установки цепей без домкрата! Но производители ничего не придумали. Или не захотели. Тогда Абэ сам придумал способ установки цепей без необходимости поднимать колесо. Послал изобретение на конкурс. И неожиданно получил призовое место и патент. Новый способ установки цепей быстро завоевал популярность. Так и пошло у японцев - "цепи Абэ". Кобо Абэ не получил Нобелевскую премию по литературе. Уже выдвигался, уже все были уверены в том, что он её получит. Но не успели, писатель умер. А это всё дурацкие цепи виноваты. Сколько времени он потерял в установке/снятии цепей? Сколько времени, вместо того чтобы писать, он крутил домкрат? Вот и не успел. https://ru.ruwiki.ru/wiki/Абэ,_Кобо
    • gudstartup
      приемлимо. температуру мотора посмотрите. если вентилятор нормально вращается и его скорость соответствует оригинальному а также контакт в разъеме нормальный а F все равно появляется то даже не знаю что у вас может быть так как привод у вас новый
    • Koels
      Хмм, я думал раз она вылазит даже в простое, то Z координата висит на тормозе и дело не в этом. Спасибо за мысль, щас узнаю. Вообще у нас рядом стоит точно такая же макина, точь в точь и там таким проблем нет. Много заказов и отсутствие специалистов сделало свое дело. :) @gudstartup, 58% нагрузка на координату
    • mrVladimir
      Что-то я немного засомневался. Если решим брать новое ЧПУ, то искать точно такое же необходимо по номеру сзади корпуса (пластикового пластмассового) - так? А если брать только плату (материнскую или как ее лучше назвать...), на которой установлена (запаена) микросхема 1 на моих фото выше, то искать плату необходимо по номеру, который указан на самой плате - так? В моем случае : ЧПУ : A02B-0321-B520. Код на плате : A20B-8201-0081/01A. Если, допустим, мы покупаем ЧПУ A02B-0321-B520 - будет ли это гарантией того, что в нем установлена плата A20B-8201-0081/01A. И можно ли будет его считать таким же. И с отдельно приобретаемой платой тоже самое - если номер на ней полностью совпадает с нашим, значит ли это, что она полностью идентична. P.S. : извиняюсь за , возможно, навязчивые вопросы. Просто не хотелось бы попасть впросак из-за своей некомпетентности. такой файл есть, но мне говорили, что после снятия архивов, его лучше вообще никогда нигде ни использовать. А на каком этапе он нам может понадобиться?. Если, как говорил Виктор, мы зальем архив SRAM на старый модуль (ROM-SRAM), установленный в новое ЧПУ, то и файл OPRMINF не нужен. Правильно же?
    • Slavdos
      Доброе. делюсь 1 внедренным китайцем. купили у ЛЛС MARVEL PRO 6000-3015.HGT , 2 шт , с автоматизацией. станки неплохие, интерфейс русские, достаточно дружелюбен. за автоматизацию зря переплатили, китай похоже в этом сильно уступает европе. из неожиданностей- резка воздухом дает неудаляемый грат, по сути необходимы зачистные станки.
    • Killerchik
      Я 4 комфорки на скоростной шпиндель поставил, в этом же качестве)))))
    • gudstartup
      я предлагал операторам чай кипятить чем больше и интенсивнее работают тем чаще чайку попить можно нельзя же чтобы тормозной кипятильник перегрелся
    • Viktor2004
      и этот человек смеялся когда я использовал кипятильник вместо тормозного резистора
    • gudstartup
      @mrVladimir если у вас нет копии oprminf обязательно сделайте
×
×
  • Создать...