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

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


Павлуха

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

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

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

Кто поможет?

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

 

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


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 пользователей

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




  • Сообщения

    • Bot
      Команда CSD пообщалась с представителями компании «КС-ПРО» и выяснила, как происходило внедрение G-Station, сколько времени занял процесс перехода на новую платформу, узнала об организации совместной работы и о функционале платформы. Основное направление компании «КС-ПРО» — оказание комплекса услуг технического заказчика, в том числе и для крупных офисных девелоперов. Внедрение G-Station в «КС-ПРО» проходило в ноябре 2022 года. G-Station — это всего лишь один из модулей комплексной платформы G-Tech Suite. Специалисты компании отмечают, что G-Station действительно стала хорошей альтернативой BIM 360. Специалисты «КС-ПРО» получили доступ к полноценной единой информационной среде с облачным хранилищем файлов и моделей, а также такими возможностями, как: Управление проектами, пользователями и подрядчиками; Создание чек-листов; Создание шаблонов чек-листов с процессами согласования; Передача документации на строительную площадку; Просмотр 3D- и 2D моделей [...] View the full article
    • Bot
      АСКОН, российский разработчик инженерного программного обеспечения и ИТ-интегратор, подвел итоги 2023 года. Выручка компании выросла на 47% и достигла 5,6 млрд рублей, штат сотрудников увеличился до 1250 человек. Клиентская база пополнилась тысячью предприятий, и сегодня с решениями АСКОН работают почти 16 000 заказчиков из всех отраслей промышленности и строительства. На динамику бизнеса положительно повлияли рост промышленного производства, сопровождающийся инвестициями в цифровизацию, крупные инфраструктурные проекты и курс страны на технологический суверенитет. Лидерские позиции компании в разработке и интеграции подтверждены профессиональными рейтингами. АСКОН, единственный из разработчиков инженерного ПО, вошел в ТОП-100 российских ИТ-компаний в рейтинге CNews; второй год подряд — в десятку крупнейших ИТ-поставщиков в сфере промышленности и строительства по данным TAdviser; впервые назван в тройке ведущих proptech-компаний как [...] View the full article
    • esergey
      это всего лишь видео - я не шарю в этом ...  
    • lem_on
      ну с дуру известно что сломать можно.
    • Viktor2004
      руку привязки так сломать легко
    • lem_on
      По моему вполне логично если станок вывалится в ошибку если рука не доехала до места. У меня так же если кулачки или деталь на пути, просто пихаеш ее до места и станок опять активен. Но нынешние пановья даже не могут написать модель станка.
    • Viktor2004
      Я согласен что скорее всего проблема механическая Но если логика прописана криво и возможно не предусмотрела остановку в промежуточном состоянии, разве не логично будет попробовать принудительно подав напряжение дернуть эту руку вверх-вниз? Возможно то что туда попало выпадет  
    • Guhl
      Если оставить за скобками вопрото том, что до м19 работает нормально, а после нет, то вы не считали сколько у него реально импульсов на оборот? с помощью стороннего плк, например  А если ориентацию м5 снимать, а не м20?
    • lem_on
      Что это за станок такой в котором сразу ладер ковырять надо, даже не смотря на возможность механической проблемы? Или профдеформация?
    • Viktor2004
      не сразу я понял в чем вопрос. Долго соображал что такое режим управления скоростью. При завершении ориентации PMC снимает сигнал G70.6 ? И если он после снятия сигнала продолжает удерживать шпиндель, при каких условиях эта ориентация все же снимается? После нажатия аварийного грибка или еще как?
×
×
  • Создать...