Jump to content

Создание Обозначения с помощью уравнения в СВ 2022.


Recommended Posts

В СВ 2022 в свойствах файла появилась возможность писать уравнения. Решил попробовать с их помощью сформировать Обозначения для деталей с конфигурациями, чтобы при конфигурации 00 в Обозначение заносилось только имя файла (у меня имя файла=обозначение), при любой другой конфигурации, соответственно, имя файла-имя конфигурации. Внес формулу: if ( $PRP:"SW-Configuration Name" = 00 , $PRP:"SW-File Name" , $PRP:"SW-File Name" - $PRP:"SW-Configuration Name" ) и что-то ничего не выходит. При типе Уравнение - пишет ошибку, при типе Текст - пишет см. скрин. Кто-то занимался этим вопросом, как побороть, если возможно?

 

image.png

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


UnPinned posts
streamdown

Открываю секрет. Там (внутри уравнений) даже можно писать макросы с использованием VBA!

Link to post
Share on other sites

Это, наверное, ценный совет, но как он поможет приблизится к решению проблемы?

Link to post
Share on other sites
maxx2000

 

16 минут назад, kkk сказал:

как он поможет приблизится к решению проблемы?

Также как и при подобной ошибке в случае с использованием VBA - искать и исправлять ошибку в синтаксисе. 

Цикл if-else должен заканчиваться оператором end насколько мне известно. 

Link to post
Share on other sites

Там нет ошибки в синтаксисе, насколько я понимаю. Нижняя строчка в свойствах это косвенно подтверждает (там в скобках все правильно считается). Да и если в данной формуле убрать свойства и внести обычные цифры, то все будет работать исправно. 

Link to post
Share on other sites
streamdown

В вашем синтаксисе есть логика, которая не совпадает с разработчиковской. Но даже последняя тупИт, потому что по ходу только с числами рабоатет.

 

 

SLDWORKS_ND7gYUWvSB.png

Edited by streamdown
Link to post
Share on other sites
Snake 60
3 часа назад, streamdown сказал:

Открываю секрет. Там (внутри уравнений) даже можно писать макросы с использованием VBA!

этот баг уже давно пофиксили

Link to post
Share on other sites
3 часа назад, streamdown сказал:

Но даже последняя тупИт, потому что по ходу только с числами рабоатет.

Вот и я смотрю, уравнения ввели, а работать с ними не ввели.

Link to post
Share on other sites

Тоже бьюсь над подобной задачей - организовать свойства "Обозначение" и "Наименование" через имя файла (название файла - "Обозначение - Наименование.<расширение>"). Имею сборку - шаблон готового изделия, у которого в зависимости от изменения габаритов задаются индивидуальные обозначения (по формату AA.BBBB.CCCC), плюс в процессе разработки могут измениться и названия деталей. Сохраняя эту сборку через Pack&Go, меняю у всех файлов разом обозначения, и хотелось бы, чтобы при открытии чертежа на любую деталь этой сборки, она имела актуально заполненный штамп.

Я пытался организовать динамическую смену свойств через костыль - таблицу параметров, созданную в каждой детали/подсборке, ведь это так удобно - в ячейке A1 всегда есть название файла, и из него через формулы Excel можно получить отдельно Наименование и Обозначение при помощи функций поиска, подмен и т.д. Только по завершению создания сборки-шаблона я обнаружил, что проделал пустую работу, ведь значение в ячейке А1 остается неизменным, задается при создании таблицы параметров и не изменяется при сохранении файла под другим названием.

Хорошо хоть есть возможность добавить свойство файла $PRP:"SW-File Name" и извлекать нужные мне свойства через него. Хотел было уже исправлять все таблицы параметров деталей, но вспомнил про недавно добавленные уравнения в свойства файла. 

Теперь бы понять, каким образом составляются уравнения в свойствах файла, на каком "языке" и какие есть для этого функции. По справке нашел только эту страницу, а как формулы писать - не понятно. 

UPD

Нашел статью (EN), в которой показан пример работы уравнений в свойствах. Видимо да, работает только в качестве "калькулятора", высчитывая величины из других свойств. Список операторов из справки, ни о каких if и речи нет. Очень жаль, придется возиться с таблицами параметров.

Edited by RedCuc
Link to post
Share on other sites
brigval
29.10.2022 в 17:43, kkk сказал:

Внес формулу: if ( ...

Я бы еще попробовал написать не if, а iif

Link to post
Share on other sites
pps270391
4 часа назад, RedCuc сказал:

Тоже бьюсь над подобной задачей - организовать свойства "Обозначение" и "Наименование" через имя файла (название файла - "Обозначение - Наименование.<расширение>"). Имею сборку - шаблон готового изделия, у которого в зависимости от изменения габаритов задаются индивидуальные обозначения (по формату AA.BBBB.CCCC), плюс в процессе разработки могут измениться и названия деталей. Сохраняя эту сборку через Pack&Go, меняю у всех файлов разом обозначения, и хотелось бы, чтобы при открытии чертежа на любую деталь этой сборки, она имела актуально заполненный штамп.

Я пытался организовать динамическую смену свойств через костыль - таблицу параметров, созданную в каждой детали/подсборке, ведь это так удобно - в ячейке A1 всегда есть название файла, и из него через формулы Excel можно получить отдельно Наименование и Обозначение при помощи функций поиска, подмен и т.д. Только по завершению создания сборки-шаблона я обнаружил, что проделал пустую работу, ведь значение в ячейке А1 остается неизменным, задается при создании таблицы параметров и не изменяется при сохранении файла под другим названием.

Хорошо хоть есть возможность добавить свойство файла $PRP:"SW-File Name" и извлекать нужные мне свойства через него. Хотел было уже исправлять все таблицы параметров деталей, но вспомнил про недавно добавленные уравнения в свойства файла. 

Теперь бы понять, каким образом составляются уравнения в свойствах файла, на каком "языке" и какие есть для этого функции. По справке нашел только эту страницу, а как формулы писать - не понятно. 

UPD

Нашел статью (EN), в которой показан пример работы уравнений в свойствах. Видимо да, работает только в качестве "калькулятора", высчитывая величины из других свойств. Список операторов из справки, ни о каких if и речи нет. Очень жаль, придется возиться с таблицами параметров.

Почему вас не устроила таблица параметров? Вполне себе годная штука. Не понял смысл вашей задачи в "у которого в зависимости от изменения габаритов задаются индивидуальные обозначения (по формату AA.BBBB.CCCC". Это как? Приведите пример

Link to post
Share on other sites
Snake 60
4 часа назад, brigval сказал:

Я бы еще попробовал написать не if, а iif

Те же яйца, только с боку - так же работает только с числами.

Link to post
Share on other sites
1 час назад, pps270391 сказал:

Почему вас не устроила таблица параметров? Вполне себе годная штука. Не понял смысл вашей задачи в "у которого в зависимости от изменения габаритов задаются индивидуальные обозначения (по формату AA.BBBB.CCCC". Это как? Приведите пример

Таблица параметров устраивает во всём, и я часто ей пользуюсь, но конкретно в этом случае она не помогает. Нужно в каждую деталь и сборку добавить таблицу, Затем добавить свойство для каждой конфигурации $PRP:"SW-File Name" (у меня не получилось сослаться на свойство из вкладки Настройки, которое общее для всего файла). И самое главное, что меня остановило от этой затеи - после копирования проекта с новым именем, необходимо будет в каждом элементе сборки заново открыть таблицу параметров, чтобы обновить данные.

Касаемо смысла задачи - есть шкафы. У каждого свои габариты и обозначение согласно внутреннему классификатору. Но конструктивно они одинаковые, поэтому я решил сделать шаблон одного шкафа с внешним файлом параметров (уравнения). Как я себе это вижу - у меня есть последняя актуальная версия шаблона со всеми изменениями и доработками. Когда мне нужен новый шкаф, я задаю размеры через файл параметров, копирую проект через Pack and Gо, через замену имен присваиваю новое обозначение и имею настроенную сборку, со связями в деталях, с чертежами, в которых нужно только передвинуть размеры если они съехали. 

До последнего был уверен, что в таблице параметров в ячейке A1 всегда пишется актуальное имя файла, хотя это надо было проверить в первую очередь. Уравнениями в свойствах выяснил, что тоже не получится. Остается вариант только через макросы, и я нашел такой от ув. @Snake 60 , называется FromFilenameToProperties. Перейти на вариант названий файлов "Обозначение_Наименование" не проблема (через тот же Pack and Go), как и один раз запустить макрос после создания новой копии. 

Link to post
Share on other sites
pps27031991
1 час назад, RedCuc сказал:

Таблица параметров устраивает во всём, и я часто ей пользуюсь, но конкретно в этом случае она не помогает. Нужно в каждую деталь и сборку добавить таблицу, Затем добавить свойство для каждой конфигурации $PRP:"SW-File Name" (у меня не получилось сослаться на свойство из вкладки Настройки, которое общее для всего файла). И самое главное, что меня остановило от этой затеи - после копирования проекта с новым именем, необходимо будет в каждом элементе сборки заново открыть таблицу параметров, чтобы обновить данные.

Касаемо смысла задачи - есть шкафы. У каждого свои габариты и обозначение согласно внутреннему классификатору. Но конструктивно они одинаковые, поэтому я решил сделать шаблон одного шкафа с внешним файлом параметров (уравнения). Как я себе это вижу - у меня есть последняя актуальная версия шаблона со всеми изменениями и доработками. Когда мне нужен новый шкаф, я задаю размеры через файл параметров, копирую проект через Pack and Gо, через замену имен присваиваю новое обозначение и имею настроенную сборку, со связями в деталях, с чертежами, в которых нужно только передвинуть размеры если они съехали. 

До последнего был уверен, что в таблице параметров в ячейке A1 всегда пишется актуальное имя файла, хотя это надо было проверить в первую очередь. Уравнениями в свойствах выяснил, что тоже не получится. Остается вариант только через макросы, и я нашел такой от ув. @Snake 60 , называется FromFilenameToProperties. Перейти на вариант названий файлов "Обозначение_Наименование" не проблема (через тот же Pack and Go), как и один раз запустить макрос после создания новой копии. 

Итак. Как я понимаю: У вас есть шкаф. Но этих шкафов у вас множество. Так почему бы не сделать так, как я описывал вот тут: https://cccp3d.ru/topic/113850-новый-взгляд-на-автоматизацию-solidworks/. Тем более у вас шкафы. Забудьте раз и навсегда про ваши труднозапоминаемые обозначения. У вас будет только один чертеж и одно обозначение - С.ШФ.001-В-Ш-Г, где В, Ш, Г - габариты вашего шкафа. Например боковые стенки будут иметь обозначение Д.СТ.001-В-Г, задняя Д.СТ.002-В-Ш, верхняя и нижняя Д.СТ.003-Ш-Г, а дверь - Д.ДВ.001-В-Ш. Всего 5 чертежей + СП перекрывают все возможные шкафы этой конфигурации. Шкаф С.ШФ.002 - будет с полками, шкаф С.ШФ.003 - будет с определенными петлями и т.д. Можно кучу всяких новых параметров внедрить, вплоть до количества перегородок в шкафу, и все будет автоматически расставлено в зависимости от размеров самого шкафа

Link to post
Share on other sites
Maik812
1 час назад, RedCuc сказал:

У каждого свои габариты и обозначение согласно внутреннему классификатору

Если версия старая Солида  то в свойства файла можно легко проставлять габариты  исполнения по умолчанию что.

Для СВ 2015 и выше нужен другой плагин по работе свойств.

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

1 час назад, RedCuc сказал:

Когда мне нужен новый шкаф, я задаю размеры через файл параметров, копирую проект через Pack and Gо, через замену имен присваиваю новое обозначение и имею настроенную сборку, со связями в деталях, с чертежами, в которых нужно только передвинуть размеры если они съехали. 

Я делал такое с метало конструкцией и у меня ввод был через внутренний 3д эскиз, так как по уравнениям не сохранялись как конфигурации с разными данными. По этому я ушел на 3д эскиз как сохранение конфигурации обьекта.

Было много подобных метало конструкции и они в одной сборки общей шли. И Конфигурации нужны были для сохранения чертежей с разными по сути видами и дальнейшими небольшими изменнеиями если вводятся.

Я не менял имена файлам, они просто были все разные, я дописывал постоянно некие индекся или имена дополнительно к имени типа "труба нижняя". По этому в сборках не пересекались имена файлов.

Менять приходилось только в спецификации индексы проекта , значения.

 

 

Edited by Maik812
Link to post
Share on other sites
Sturmann

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

Тем более уверен такие решения уже есть. 

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    No registered users viewing this page.




×
×
  • Create New...