Jump to content

Creopyson


Max999

Recommended Posts

Creopyson - модуль для Python, позволяющий программе, написанной на Python, взаимодействовать с Creo. На мой взгляд, его преимущества для тех, кто "программист не настоящий", следующие:
1. Простая установка, не требующая админских прав на машине. В комплекте с portable версией Python - самое то. Опять же, не требуется регистрация в самом Creo, как при использовании Toolkit.

2. Наличие готовых модулей Python чуть ли не на все случаи жизни. Это расширяет возможности взаимодействия с Creo.

3. Поскольку Python - интерпретатор, разработка быстрых решений про конкретную задачу ("Тяп-ляп, и в продакшн!") значительно упрощается.

Данный модуль - реализация на Python проекта CREOSON

На форуме я нашел следующую информацию:
Установка Creopyson на компьютер.
Примеры скриптов: тут, тут (смотри обсуждение ниже и на следующей странице) и тут.

  • Нравится 1
Link to post
Share on other sites


UnPinned posts
maxx2000

Вот и первое заданье

В Три пятнадцать, возле бани остановится такси

Надо...

Картинка для примера

5.jpg

 

Пусть это будет импортированная многотельная модель в STEP(В CREO обычно импортируется как сборка) или многотельная деталь изначально построенная в CREO. 

 

Задача пронумеровать детали по порядку и получить чертёж, в который будут помещены контуры всех деталей\тел с порядковыми номерами , а лучше именами тел\деталей. Чтобы можно было получить схему сборки .

"Этих команд я не знаю и никогда не юзал."@Dimetil Gidrozin (С)

"Солид это не геометрия и не тригонометрия и не алгебра это программа объёмного моделирования. возьми свою геометрию и дай мне 3-D модель развертки для станка.@Dimetil Gidrozin(С)

"Я децилион лет работаю в солиде но ни разу не читал стандартной чуши про настройки)) вообще не шарю в настройках)) короче это бред))" @Dimetil Gidrozin Dnepr (С)

"Много волшебных крутилок-перделок как в Power mill. Именно в этом и заключается комфорт работы и предупреждение ошибок в УП." @vik300001 (C)

"В случае одной координаты достаточно одного пальца - среднего@Ветерок (С)

"Пробовал померить силу показывает какие-то ньютоны." @Engineering(С)

"Это только в интернетах некоторые персонажи все умеют и знают, а на деле у них тупняк и нытье начинается." @lem_on(С)

Link to post
Share on other sites
maxx2000

@davidovka Задание да, но не задача :pardon:

  • Нравится 1

"Этих команд я не знаю и никогда не юзал."@Dimetil Gidrozin (С)

"Солид это не геометрия и не тригонометрия и не алгебра это программа объёмного моделирования. возьми свою геометрию и дай мне 3-D модель развертки для станка.@Dimetil Gidrozin(С)

"Я децилион лет работаю в солиде но ни разу не читал стандартной чуши про настройки)) вообще не шарю в настройках)) короче это бред))" @Dimetil Gidrozin Dnepr (С)

"Много волшебных крутилок-перделок как в Power mill. Именно в этом и заключается комфорт работы и предупреждение ошибок в УП." @vik300001 (C)

"В случае одной координаты достаточно одного пальца - среднего@Ветерок (С)

"Пробовал померить силу показывает какие-то ньютоны." @Engineering(С)

"Это только в интернетах некоторые персонажи все умеют и знают, а на деле у них тупняк и нытье начинается." @lem_on(С)

Link to post
Share on other sites

Немного наблюдений.
1. CREOSON Server не любит сбоев при работе скриптов и в этом случае часто зависает. Рекомендую при отладке в случае сбоев его перезапускать.

2. Не нравится мне штатная функция запуска Creo start_creo. Она требует создания bat-файла, который, в свою очередь, запускает PSF-файл. Формат последнего в свободном доступе найти не удалось, а мне нужно запустить Creo со своим config.pro. К тому же лично у меня Creo с этого батника просто отказался запускаться. Потому по-быстрому родил свой вариант данной функции, который запускает Creo с помощью того же ярлыка, что и при ручном запуске:

# my_launcher_Creo.py
# Поместить в <...Каталог с Python>\Lib\site-packages
import subprocess, psutil, time

# Путь для запуска Creo. Замените на свой
path_launch_Creo = r'C:\Users\...\Desktop\Creo5.lnk'

# Время на инициализацию Creo
timer = 20

# Поиск указанного процесса в "Диспетчере задач"
def search_programm(Name):
    while True:
        for process in psutil.process_iter():
            if (process.name() == Name):
                print(Name + " is launch!")
                return
        time.sleep(1)
        
# Основная программа.
def launch_Creo():
    print("Starting Creo...")
    subprocess.Popen(['start', path_launch_Creo], shell = True)
    search_programm('parametric.exe')
    print("Wait" + str(timer) + " sec...")
    time.sleep(timer)

Использование в пользовательских скриптах:
 

...
from my_launcher_Creo import launch_Creo
...
if (c.is_creo_running() == False):
    c.disconnect()
    launch_Creo()
    c.connect()

Функция, впрочем, требует доработки, поскольку 20 секунд для запуска Creo может оказаться мало.
3. Функции работы с размерами типа dimension_... , похоже, работают лишь с размерами модели, но не чертежа. Последние я смог лишь просмотреть функцией dimension_list, но и только.

Link to post
Share on other sites

интересно а что хочется с делать с помощью этой приблуды?

Link to post
Share on other sites
Ветерок
2 часа назад, Max999 сказал:

запустить Creo со своим config.pro

и в чем проблема? Создается иконка запуска Крео, в которой указывается рабочая пака с нужным конфигом, и Крео запускается с этим конфигом.

Link to post
Share on other sites
19.01.2025 в 13:52, Maik812 сказал:

интересно а что хочется с делать с помощью этой приблуды?

Классификатор. Выбрать (естественно, автоматически), например, все чертежи с наименованием (в параметрах модели) "Кронштейн", настрогать для них картинок в две (хотя бы) проекции в одном экранном масштабе. Затем скормить их какой-либо нейросетке, распознающей образы. В качестве последней, кстати, может быть и собственный мозг - классификация сотни картинок много времени не займет. А рутинную подготовительную работу пусть скрипт делает.

 

19.01.2025 в 15:26, Ветерок сказал:

и в чем проблема? Создается иконка запуска Крео, в которой указывается рабочая пака с нужным конфигом, и Крео запускается с этим конфигом.

Так я и сделал. Штатная функция работает по-иному. 

Link to post
Share on other sites
  • 10 months later...
Когда-нибудь я стану гуру

Решил поделиться своим опытом с creopyson. Так как я полный 0 в программировании, в написании кода мне помогала нейросеть. Задавая ей правильно запросы и прикладывая описание функции, получалось все довольно круто.
Изначально нужно было сделать простой скрипт, который позволит добавлять ревизию крео в имя при экспорте в step\igs. Вполне получилось. 
Далее пошли скрипты для изменения масштаба в чертеже (так как почему-то макрос не работает), изменение форматки (через проверку условия).
Так же скрипт на формирование имени с кол-вом, материалом и толщиной.

Далее решил сделать отдельную программу(выложить не могу, но расскажу), с различными функциями (подстраивалось под наши нужды):

  • Создание эксель таблицы по сборке, с нужными параметрами (например кол-во в сборке, толщина, материал и так далее)
  • Массовый экспорт из сборки деталей по выбранному значению параметра
  • Массовый экспорт всех чертежей в pdf
  • Массовая замена материалов
  • Массовое добавление параметров в детали сборки\изменение значений
  • Отчет по сборке(кол-во деталей, крепежа, колв-во деталей по параметрам (например по методу изготовления)
  • Чистка папки проекта от библиотечных деталей и чистка итераций (последнее всеми известный Spurge)


Так что довольно полезная вещь


 

Edited by Когда-нибудь я стану гуру
Исправления.
Link to post
Share on other sites
davidovka

Классно!

Есть штука чуть сложнее, но с гораздо большими возможностями: Web.Link (как его часть, есть еще creojs (Common Files/app/creojs/creojsweb/creo_js_tests.html, и там script_engine_testing), открывать в браузере Крео.)

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

Минусы: сложнее в написании (ии не пробовал использовать)

 

По сути это страница в браузере, т.е. легко рисовать UI (тут ИИ точно справится): всякие таблицы, списки, сортировки.

Link to post
Share on other sites
Когда-нибудь я стану гуру
35 минут назад, davidovka сказал:

Web.Link (как его часть, есть еще creojs

Я изначально пробовал работать напрямую с api creo, но у меня не получилось нормально установить\взаимодействовать на C и на js. Почему - непонятно.  Хотя принцип работы creopyson - посылать через сервер creoson json запросы. И так оно работает) 

Но пока единственный недостаток, с которым столкнулся - ограничение работы с несколькими сессиями creo. Поэтому везде в скрипта есть проверка на наличие нескольких сессий) 

 

Link to post
Share on other sites
davidovka
13 минут назад, Когда-нибудь я стану гуру сказал:

у меня не получилось нормально

попробуй ту ссылку из моего сообщения выше. 

С/С++ и js - это надо компилировать, это еще большая сложность. То что я описывал - работает без компиляции, как creopyson

И там с десяток простых примеров, для проверки работоспособности

Edited by davidovka
Link to post
Share on other sites
Когда-нибудь я стану гуру
5 минут назад, davidovka сказал:

компилировать

Ну компиляция не особо проблема. Свою программку я компилирую как раз таки. IDE одной строчкой собирает мне все в один экзешник. 

данного расположения у меня нет
есть по отдельности creojs и weblink
в последнем есть примеры скриптов js. надо будет глянуть. Благодарю!

Link to post
Share on other sites
davidovka
2 минуты назад, Когда-нибудь я стану гуру сказал:

данного расположения у меня нет

попробовать установку заново запустить и поставить нужную галочку :)

Link to post
Share on other sites
davidovka
16 минут назад, Когда-нибудь я стану гуру сказал:

у меня

creo.PNG

 должно быть..

  • Нравится 1
Link to post
Share on other sites
Когда-нибудь я стану гуру
3 часа назад, davidovka сказал:

 должно быть..

фанфакт: на рабочем 11.0.6.0 - данных файлов нет
на домашнем 11.0.3.0 - файлы есть) Буду изучать, спасибо!

Link to post
Share on other sites
Когда-нибудь я стану гуру
15.12.2025 в 13:05, davidovka сказал:

Web.Link (как его часть, есть еще creojs

Еще не начинал разбираться но сразу такой вопрос задам: может ли данный модуль напрямую взаимодействовать с файлами на пк? 
Была такая проблема: creopyson не ел русский при сохранении. Через питон это решалось тем, что файл сохраняется через creopyson с временным названием, а затем файл просто переименовывается обратно как и был. 
 

Link to post
Share on other sites
davidovka
1 час назад, Когда-нибудь я стану гуру сказал:

creopyson не ел русский при сохранении

Такого не замечал. Есть подробности?

1 час назад, Когда-нибудь я стану гуру сказал:

напрямую взаимодействовать с файлами на пк

С этим скорее чего через костыли, так как работа через браузер. Я не сильно вникал, так как использую Toolkit C++, таких проблем не возникает.

Link to post
Share on other sites
Когда-нибудь я стану гуру
31 минуту назад, davidovka сказал:

Такого не замечал. Есть подробности?

2 часа назад, Когда-нибудь я стану гуру сказал:

Если точнее - при экспорте. (Забыл уже) )
Перепроверил file_rename и file_save - работает.
 

import creopyson

c = creopyson.Client()
c.connect()

c.interface_export_file(
    file_type='STEP',
    filename='имя'
)
import creopyson

c = creopyson.Client()
c.connect()

c.interface_export_file(
    file_type='STEP',
    filename='имя'
)

 



image.png

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Сообщения

    • andryushik280188
      Спасибо, сделал карту под себя.
    • Fedor
      Экспорт мухоморов из России активно растет, так как на Западе и в Азии этот гриб стал популярным сырьем для альтернативной медицины и биодобавок.  Основные причины и цели экспорта: Фармакология и косметология: За рубежом компоненты мухомора (после специальной обработки) используют для создания мазей от ревматизма, артрита и кожных заболеваний. Тренд на микродозинг: В ряде стран (например, в США) существует высокий спрос на сушеные шляпки для употребления в сверхмалых дозах. Сторонники метода утверждают, что это помогает бороться с бессонницей, тревожностью и депрессией. Альтернативная медицина: Интерес к грибам резко подскочил в период пандемии, когда люди начали искать нетрадиционные способы укрепления иммунитета. Доступность сырья: В России мухомор распространен повсеместно, а его сбор и экспорт в сушеном виде юридически не запрещены (если вид не занесен в Красную книгу).  Основные покупатели российских мухоморов — США, Филиппины, Германия, Италия и Киргизия. Только из Пермского края в 2023 году вывезли более полутонны сушеных грибов.    Во тема для бизнеса .  Летом и осенью их как грязи в лесу :)  На внутреннем рынке цены на красный мухомор (Amanita muscaria) в среднем составляют: Опт (заготовители): от 10 000 до 15 000 рублей за килограмм. Розница (маркетплейсы и спецмагазины): от 18 000 до 35 000 рублей за килограмм (в пересчете из мелкой фасовки по 50–100 г). Пантерный мухомор (Amanita pantherina) стоит значительно дороже — от 50 000 до 80 000 рублей за кг, так как он более редкий и содержит более высокую концентрацию действующих веществ.    В Германии В Европе мухоморы позиционируются как экзотическое сырье для коллекционирования или косметологии, что диктует более высокую стоимость: Средняя цена: от 400 до 600 евро за килограмм (около 40 000 – 60 000 рублей). Мелкая розница: на европейских сайтах и в специализированных «этноботанических» магазинах цена может достигать 1–1,5 евро за грамм (до 1000–1500 евро за кг), если товар позиционируется как продукт высшего качества (Grade A).  Почему такая разница? Основная наценка в Германии связана с логистикой, необходимостью прохождения таможенного контроля (который становится всё строже) и рисками, связанными с правовым статусом продукта в разных странах ЕС.  Важно: Помните, что мухомор является ядовитым грибом. В России его продажа в качестве пищевого продукта запрещена, а употребление может привести к тяжелому отравлению.     Для мухоморов и большинства трубчатых грибов действуют следующие пропорции: Коэффициент усушки: в среднем 10:1. Вес: из 10 кг свежих грибов получается примерно 1 кг сушеных. Если говорить конкретно о мухоморах, то их шляпки теряют в весе чуть меньше, чем ножки, но общее правило сохраняется. Чтобы получить 1 кг сушеного продукта, который в Германии стоит 400–600 евро, заготовителю нужно собрать и переработать не менее 10–12 кг свежего сырья. Ай да ИИ  всему научит :)  5 кГ собрать в сезон в день вообще не проблема, а легкая прогулка. А это 250 евриков в день. За 20 дней 5000 евриков. А если организовать бабушек в деревне на сбор и платить по штуке евриков примерно в месяц, то за сезон можно лимон евриков заработать :) 
    • maxx2000
      жутко интересно, но ни хрена непонятно. какая ему в жопу разница старая там сборка или новая. он должен проецировать что угодно и куда угодно если он может это проецировать
    • tiomat
      Экспериментировал с деталью (алюминиевая оребренная труба длиной 2 метра) по умолчанию система подхватывает либо точки по углам плоскостей (если они активны), либо неопределенные точки на поверхности детали и когда начинаешь вращать сцену труба вращается, скажем так, по не очень предсказуемой, далеко не предсказуемой траектории. Следуя логике системы, чтобы комфорта крутить модель надо вначале курсором поймать ее центр, ну и далее вертеть. Я моделирую уже более 20 лет, вначале немного был Компас, ну а потом Солид, ну почему в этих, как я понял, менее профессиональных программах это решение реализовано гораздо комфортней и понятней. Я еще не встречался с ситуацией, когда деталь надо вертеть вокруг какой-то неопределенной точки с непредсказуемым результатом, если есть такие, отзовитесь. Один из тех случаев, где чрезмерная "гибкость" выходит боком. Хороший функционал -"вам как вертеть-через ...опу или нормально", если нормально, то выберите в настройках "не вертеть через ...опу". Не судите строго, понятное дело, что еще не привык, но в данном случае дело не в привыкании.
    • Fedor
      Это для нестационарных задач, а что можно сказать об устойчивости  нелинейных задач ?  
    • SergAG
      Просто чтобы не осталось в ветке нерешенных вопросов. В общем, солид не дает создавать на детали зависимостей в новой сборке, если присутствуют таковые в старой. Просто редактировать можно. Но преобразование объекта такие зависимости создает, и чтобы они не конфликтовали со старой сборкой, эти связи можно только разорвать. При этом не важно, относятся ли связи к тем же или другим элементам эскиза - вот что для меня было неожиданно. Отверстия, которые я хотел создать в новой сборке, отсутствовали в старой. И тем не менее... Геометрия детали при разрыве не меняется, но, потеряв связи, эскиз детали становится не полностью определенным. Это я проверил на простых примерах сборок.
    • Foksmen
      Как правило, если используется МКЭ, то для дискретизации используются неявные методы. В таком случае с устойчивостью проблем быть не должно.
    • maxx2000
    • maxx2000
      @Fedorly насколько я помню, Компас вообще не сертифицирован для DXF. Есть только поддержка. Начиная с  DXF 13 версии появилась возможность выбирать как экспортировать сплайны(сплайнами или полилинией). Компас 23 при экспорте в DXF 2018 сохраняет сплайн как сплайн. CREO этот DXF импортирует как сплайн. Ищи проблему в своей программе куда ты импортируешь, она преобразует сплайн в поллинию или удаляет.
    • Fedorly
      Проблема со сплайнами в DXF из КОМПАС-3D 24 Несколько раз обращались с жалобой - при экспорте в DXF через DXF-Auto часть объектов просто пропадает. На первый взгляд кажется, что проблема в DXF-Auto, но все оказалось интереснее. В новом видео подробно показана, где на самом деле возникает ошибка.  Спойлер: причина не в DXF-Auto, а в некорректной работе стандартного модуля экспорта DXF в КОМПАС-3D 24, из-за которого не выводятся сплайны. Будет полезно пользователям DXF-Auto КОМПАС-3D 24 YouTube RuTube 
×
×
  • Create New...