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

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


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

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

 

image.png

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


UnPinned posts

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

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

 

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

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

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

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

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

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

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

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

 

 

SLDWORKS_ND7gYUWvSB.png

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

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

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

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

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

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

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

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

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

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

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

UPD

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

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

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

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

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

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

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

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

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

UPD

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

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

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

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

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

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

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

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

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

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

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

@RedCuc Есть расширенная версия этого макроса, пишите в личку...

Ссылка на сообщение
Поделиться на других сайтах
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 - будет с определенными петлями и т.д. Можно кучу всяких новых параметров внедрить, вплоть до количества перегородок в шкафу, и все будет автоматически расставлено в зависимости от размеров самого шкафа

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

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

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

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

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

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

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

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

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

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

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

 

 

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

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

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

Ссылка на сообщение
Поделиться на других сайтах
  • 8 месяцев спустя...
Технолог Денис

Уравнения тут работают только для цифр, и даже если вы выполните вычисление в отдельной строке, а потом будете ссылаться на результат в другом пользовательском свойстве, то SW не примет результаты вычислений, отобразит формулу, которая была вписана в ячейку пользовательского свойства...

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

Лично я сделал в шаблоне деталей и сборок набор свойств, которые, ссылаясь друг на друга, формируют итоговое обозначение и наименование. Такие вещи, как шифр проекта, номер сборки, номер детали, указываются вручную, остальное - автоматически (ну, или полуавтоматически).

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

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

О Боже! 

Вы сначала изобретаете проблему а потом героически ищите её решение! 

Найдите макрос для редактирования свойств, который умеет в конфигурациях. Напишите условие что если вот это тогда аот это если нет тогда это. 

Запускаете его один раз для сборки и готово

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

В макросы я, к сожалению не умею, ни разу ими не пользовался. Нужно изучать тему, давно уже этот вопрос висит, всё никак не дойду...

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

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

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

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

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

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

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

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

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

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

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



  • Сообщения

    • Snake 60
      Скорее всего исправляли в конкретной сборке, для конкретных тел. Насколько я помню, надо в самом эскизе профиля заполнить свойство Description
    • Snake 60
      Делаете дырку в свае - вставляете в нее трубу и 2 человеко-силы крутят сваю ) Дёшево и сердито и не нужен никакой планетарный редуктор ))
    • gudstartup
      вы всегда ищите свой путь или будете делать то что вам советуют? с самого начала прежде чем приступать к экспериментам вам нужно было вынуть носитель и сделать образ. diskcopy делает копию гибкого диска на другой а вам надо сделать образ жесткого диска или карты памяти. делайте как советует @Viktor2004 иначе еще чего нибудь сломаете или вам станок не нужен и вы его приобрели для экспериментов ? вот а печатной машинке из прошлого нельзя а вот на синумерике можно - удивительные вещи в настоящем происходят!! на 100 % уверен что там не модуль а либо писимиси ай либо жд @mircomax81 хотите работать в дос почитайте помощь по командам 
    • PuKoLLleT
      Доброго дня всем. Поделитесь опытом,раньше такое не доводилось делать. На торце фланца нужно сделать  восемь отверстий ф17H7 на токарно-фрезерном станке с осью Y ,имеется ManualGuide.В моем понимании нужно просверлить,а затем торцевой фрезой расточить нужный диаметр.Получится такой фокус,или надо разверткой доводить нужный размер?  Стойка Fanuc 0i-Tf.
    • Snake 60
      Всё верно, я даже русификатор делал для него (ушло на это где-то около года). Хороший софт был, я всех знакомых на него подсадил в свое время :) У меня даже где-то образ на виртуалке лежит с SW2014+MechSoft, Жаль, что автодеск его поглотил, а не DS :( А по сути вопроса, проектировал двухступенчатый планетарный редуктор в свое время. Что было нужно: Справочник по планетаркам (автора не помню, если надо поищу), из софта MathCAD + GearTeq (софтина идет вместе с GearTrax, только рассчитывает и моделирует несколько зацеплений согласно выбранной схеме, в том числе планетарки) Ой и ошибаетесь. Звездочки - не равно зубчатые колеса в планетарке) Мы намучились с малой точностью изготовления на эл.эрозии, а Вы лазером ))) Был собран опытный образец редуктора с незакаленными деталями, чисто проверить геометрию, отладить сборку. Так потом начальство этот редуктор сказало испытать в бою, как я не противился)) Помер за пару дней интенсивных нагрузок ))) Материал, термообработка и точности изготовления решают )
    • Snake 60
      @Тихоход  Ещё один вариант - изучать программирование и писать свою программу/макрос. Вот пример конфигуратора двери: https://www.youtube.com/watch?v=wv4HryWQBSk
    • mircomax81
      Посредством Diskcopy можно сделать адекватную копию на флоппи диск?
    • Andrey_kzn
      Да, ведь советовали автору вытащить жёсткий диск и сделать образ. Неужели самому не интересно, как устроен этот старый промкомпьютер? Там может стоять как жёсткий диск, так и CF-карта, или же Disc-on-chip или Disc-on-module.  Как-то очень давно, на подобном промышленном оборудовании (большая печатная машина) я не смог перенести  ПО с родной CF - карты на другую, такого же размера но другой фирмы. Была также станочная оболочка под досом.  Образ я делал Нортон гостом, развернул его на другую CF-карту без проблем. Машина загрузилась нормально и работала ровно 2 дня, на неродной CF-карте,  потом зависла, и отказалась загружаться. Пришлось вызывать сервисника. От него мы узнали, что нельзя просто так взять и заменить карту  - носитель системного ПО, на другую. А полезли мы туда, так как руководство захотело печатать отчёты по работе машины. В станочном ПО такая функция была. Вот только принтер надо было купить у фирмы - производителя этой самой машины. В попытках заставить работать другой принтер мы редактировали файл  AUTOEXEС.BAT, на предмет загрузки драйвера принтера, ничего не получилось, зато перестали открываться некоторые страницы станочного ПО.  Образ у нас был давно снят, и мы развернули его на другую карту памяти. Родную карту я трогать не стал (как чувствовал, что нельзя ). Сервисник восстановил ПО с архивной дискеты на родную карту памяти, и всё заработало. Дискеты с архивами ПО шли вместе с документацией к машине.  Там были дискеты с Досом, станочной оболочкой, параметрами приводов, программой ПЛК. Он же и предупредил нас о предельно аккуратном обращении с родной картой памяти, и посоветовал немедленно сделать образы с архивных дискет, что мы сразу и проделали.. Вот такой сюрприз от машины эпохи Дос.
    • Борман
    • gudstartup
      а ведь все работало...
×
×
  • Создать...