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

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


Павлуха

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

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

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

Кто поможет?

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

 

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


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

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




  • Сообщения

    • Viktor2004
    • vad0000
      Нет, просто отключаете, и забываете о ней   Не надо ничего делать   Откуда приходит сигнал 24 вольта на 7 вход сервоусилителя? Фото другой страницы схемы
    • maxx2000
    • vladimir.songin
      То есть отключаю аналоговую обратную связь от аналогового входа, и подключаю вместо энкодера? Так не делал но сомнения у меня: Вход энкодера может  быть 12 или 5 вольт. У нас 12. Два пина питание, два пина Каналы A B соответственно, один пин REF (непонятно что он означает и как работает). Остальные соеденены вместе. На какие из них подавать аналаговый вход обратной связи дефлектора.  сигналы от энкодера приходят, проверял осцилографом на самом разьёме непосредственно на входе DM02, и некое значение уже могло бы отобразиться в поле энкодера при отключенном аналаговом входе.  Если отключить аналоговый вход, то видим единичку в обоих полях, но уже писал об этом.  
    • Алексей 1977
      Кто знает подскажите как отключить этот ненужный набор букв и символов в готовой УП? Я так думаю надо редактировать постпроцессор? Заранее спасибо ( Общая длина: 130.0) ( Заготовка:) ( MIN X: -10.970) ( MIN Y: -10.970) ( MIN Z: -6.500) ( MAX X: 10.970) ( MAX Y: 10.970) ( MAX Z: 0.000) ( COORDINATE SYSTEM: Глобальная СК) ( Кончик инструмента:) (   X: -0.000) (   Y: 0.000) (   Z: 10.000) ( Рекомендованная длина: 50.000) ( Количество кромок: 4) ( Инструмент:   Концевая фреза) ( DIAMETER: 10.000) ( Безопасность:) ( Рабочие ходы инструмента: Безопасная БЕЗ зарезов) ( Подводы инструмента: Безопасная БЕЗ зарезов) ( Переходы инструмента: Безопасная БЕЗ зарезов) ( Рабочие ходы патрона: Столкновения НЕ проверялись) ( Подводы патрона: Столкновения НЕ проверялись) ( Переходы патрона: Столкновения НЕ проверялись) ( Траектория: Шаблон) ( STEPOVER: 5.000) ( ДОПУСК:0.100) ( THICKNESS:0.000) ( Статистика:) ( LENGTH: 95.318)( LIFTS: ( TIME: 0/00/05) 1) G0X0Y0 G43Z10.H13 X4.75Y-8.227 Z5. G1Z0F500 X9.5Y-5.485F1000 Y5.485 X0Y10.97 X-9.5Y5.485 Y-5.485 X0Y-10.97 X4.75Y-8.227 G0Z10.
    • gudstartup
      считывание происходит при помощи вх\вых сигналов контроллера plc 
    • gudstartup
      @Maks Horhe так все таки скиньте бэкап эмулируем ваше чпу в cncguide и посмотрим куда поедет?  можете снять видео с фиксацией координатных позиций после каждого кадра. Выложу вашу программу пусть программисты посмотрят все ли в ней ок. %O0002 G40 G17 G94 G90 G49 G80 N1 G91 G28 Z0.0 N2 G91 G28 X0.0 Y0.0 N3 G91 G28 B0.0 C0.0 N4 M03 S200 N5 G90 G0 G53 B0.0 C0.0 N6 G54 N7 X0.0 Y0.0 N8 G90 G43 H01 N9 G90 G0 X0.0 Y0.0 N10 G90 G0 Z200.0 N11 G01 Z10.0 F1500. N12 M00 N13 G00 Z200.0 N14 G40 G49 G69 N15 G00 G53 Z0.0 N16 G00 G54 B0.0 C0.0 N17 G68.2 X0.0 Y0.0 Z0.0 1135. J39.2044 K-129.2315 N18 G53.1 N19 G01 X0.0 Y0.0 F1500 N20 G90 G43 H01 N21 G90 G01 X0.0 Y0.0 F1500 N22 G90 G01 Z200. F1500 N24 M00 N25 G00 Z200. N26 G40 G49 G69 N27 G91 G28 Z0.0 N28 G28 X0.0 Y0.0 N29 G91 G28 B0.0 C0.0 N30 M5 N31 M30
    • gudstartup
      @karlf 530 считывает ключ по специальному протоколу при помощи plc и получает его серийный номер а из него определяет возможные режимы доступа. там нет драйвера а есть plc модуль или несколько эти модули написаны на питоне  надпись smartkey исчезает с экрана при запуске чпу??
    • ДОБРЯК
      Для того, чтобы получить правильные высшие) формы при виртуальном эксперименте, нужно сделать грамотную КЭ модель. От разговора на эту тему вы постоянно уклоняетесь.  То нет компьютера под рукой, сделать простейший тест, то теряете интерес. :=) Сходимости энергии деформации при расчетах статики, недостаточно для точного определения высших собственных форм и частот.  Для того, чтобы грамотно использовать метод конечных элементов, нужно сделать много-много тестов в статике, динамике и ... Одной кнопки и двух конечных элементов в 3Д программе недостаточно для определения высших собственных форм...  У вас в качестве инструмента всего два конечных элемента, шести узловая несовместная оболочка Тимошенко и десяти узловой тетраэдр. И еще контакты при решении задачи на собственные числа. Вам ли говорить про правильность определения высших собственных форм для сложных изделий... :=)    
    • vad0000
      Покажите схему с разрешением на движение
×
×
  • Создать...