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

Есть ли простой способ связать размеры в сборке?


i3draven

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

Здравствуйте. Уже пару недель изучаю солид. Сборки делаю, очень удобно.

Но надо сделать, например (просто пример), вал и кольцо на вале. Диаметр отверсти я в кольце и диаметр вала, очевидно, равны.

Еще там есть небольшой допуск с натягом (опять же например).

Небходимо:

1. Парой кликов задать равенство диаметров. Именно, что парой кликов. Я прочел часто задаваемые вопросы и вообще поискал ответ прежде чем спросить. Я уже нашел дико длинные ссылки с бесконечными @@@@ на нужный размер, таблицы в экселе (дикость по моему), неужели нельзя показать мышкой, что "вот эти два размера свяжи" если сборка открыта? Я нашел один способ, но так как в нем описано не получается сделать. Везде пишут, что способов море, а конкретно не описывают. Конкретно найдены только @@@@@ ссылки длинной в километр и один нерабочий способ в котором сказали "создаешь уравнение на одном размере и потом просто два раза щелкаешь на другом"...пробовал, но не нашел. Версия солида 2014

2. Связать допуски.

 

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

Перечислите хотя бы названия инструментов, если уж способ не опишите.

Заранее спасибо за ответ.

 

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


А что в теме про "новичков" не спросить?

1) Так спроектируйте ваше кольцо в сборке, иначе говоря в контексте сборки. И ваши диаметры навсегда будут связаны.

2) Что такое "связать допуски"? Верёвкой или канатом хотите?

П.С. выложите пример такой сборки, уточните что с чем соединить и может вам покажут как мышкой за пару кликов это сделать, потому что способов действительно несколько и с разными плюсами/минусами.

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

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

1. Что бы связи были указаны в деталях. Тогда при редактировании одной детали, должна менятся другая (может и не парой кликов мышкой).

2. Что бы связи были указаны в сборке. Тогда при редактировании деталей в сборке соответственно они взаимно менялись (максимально простой метод).

 

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

Сборка.zip

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

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

 

Что за зависимость?

Конфигурациями не хотите воспользоваться?

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

Допуск можно указывать на чертеже в виде двух предельных отклонений, например +0,31 и -0,2 Это вал. И соответственно мне надо что бы кольцо было сделано грубее (пример высосан из пальца что бы разобраться) и допуск на диаметр отверстия в нем в два раз отличается +0,62 и -0,4.

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


Пардон, я нашел подробный ответ....и очень просто все описано, даже до меня допрет (если сработает) :)

В любом случае спасибо!

 

http://forum.rcdesign.ru/blogs/61489/blog13954.html

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

Я так понимаю, если вышеописанный метод применить внутри сборки, то все будет как раз как надо. Вот только ссылки из одной детали в другую я так понял моэжно только в виде длиннющих @@@ писать. Странно, что в солиде такой по сути примитивный способ сделан...сам солид мне нравится. Еще глянул DriveWorks но пока не понял как он работает.

 

Мне надо две вещи.

1. Связь между размерами в разных деталях.

2. Связь между размерами в открытой сборке у двух деталей.

 

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

 

Еще очень важный для меня вопрос. Можно ли размерам назначать глобальные псевдонимы? Как в driveworks, но без него. что бы назвать размер "Диаметр отвестия кольца" и все детали, которые лежат в той же папке знали, что это за размер без длиннющих @@@.

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

@@i3draven,

Думаю в Вашем случае подойдёт - "Связывание значений размеров с помощью функции "Связать значения"...

 

Или в дереве следующий пункт ...

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

К сожалению нет. Внутри сборки этот инструмент доступен только в рамках детали и связывает размеры только внутри детали, а не между деталями. Я так понимаю, придется пользоваться уравнениями и километровыми ссылками. Но я нашел обсуждение этого вопроса:

 

http://cccp3d.ru/topic/33129-sviaz-razmerov/

 

Там говорят, что в солиде действительно это геморное и плохо сделанное дело. Бду пользоваться тем, что есть....если кто то не предложит лучшего решения.

 

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

 

Позже добавил:

Да, связь с внешним файлом вполне подходит. Это позволит вынести все уравнения в один файл...я так пока думаю. Работает вполне. В текстовике значения поправил, он в открывшейся сборке все перестроил по новым размерам. Сойдет, не тк удобно как можно было бы придумать, но вполне удобно.

 

Еще один момент, который я с трудом нашел. Оказывается длинные ссылки на размеры нет смысла писать ручками, достаточно при редактировании уравнения просто щелкнуть по рамеру мышкой (как раз то, что без уравнений не работает, а только при редактировании уравнения). Дальше разберусь, принцип ясен...я думал что без экселя никак не выйдет, а оказывается все было просто.

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

В общем для следующих искателей ответа приведу окончательный способ для моего случая. Этот способ учитывает один геморрой, который существует в солиде по недомыслию (или переумности). Итак:

Что бы УДОБНО создать все уравнения, придется делать это в сборке (я пробовал делать это на двух открытых деталях, не вышло).

1. Есть две детали. Вал (В) и кольцо (К), надетое на вал. Колько надето на вал в сборке (С)

2. В сборке выбираем детали с нажатой ctrl, которые надо связать и используем инструмент "Изолировать". Что бы не мучится потом с выбором нужных размеров.

3. В сборке, нажимаем на правую кнопку на пункте "Примечания" (у самой сборки) в дереве построения и ставим там галочку "Отобразить размеры элемента". Что бы все размеры в сборке были показаны все время. Если заранее не изолировать нужные детали, то там будет каша, а так, терпимо.

4. В сборке нажимаем Инструменты->Уравнения (есть и другие способы достать то же самое меню из дерева построения например, нажав ПКМ на пункте "Уравнения").

3. В открывшемся окне сначала в пункте "Глобальные переменные", создаем все переменные, которые в будущем зададут начальные параметры для деталей (в моем примере я назвал такую переменную "диаметр") имена переменных написать в кавычках. Задаем значения переменных.

4. В подпункте "Уравнения-компоненты", нажимаем "Добавить уравнение".

5. Потом находим в модели нужный размер, значение которого хотим что бы вычислялось. Нажимаем на нем ЛКМ и его полное имя вставляетсяя само в строку с уравнением. Именно это и есть удобство, которое есть только в сборке и его нельзя достичь при открытии двух деталей в разных окнах (я не нашел).

6. Потом вводим выражение, которое будет вычислять значение размера из п.5, но если опять щелкнуть ЛКМ на каком то размере, его полное имя будет вставлено в редактируемую строку так что легко можно делать вычисляемые размеры еще можно включать в уравнение имена глобальных переменных.

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

8. Теперь если отредактировать значения переменных или уравнений в файле, а потом перестроить сборку, она возьмет значения своих параметров в файле.

9. Тут есть важный момент. Имена деталей в сборке выглядят так

"D1@Бобышка-Вытянуть1@Деталь1<1>.Part". Потому, когда вы в сборке, щелчком ЛКМ укажете размер он будет назван именно так, а в файл сохранен в виде "D1@Бобышка-Вытянуть1@Деталь1-1.Part"

При этом имена тех же размеров, заданных в уравнении внутри детали будут такими

"D1@Бобышка-Вытянуть1@Деталь1.Part"

Разница в <1> в интерфейсе солида и в "-1" в файле нужна что бы можно было в сборку вставлять много одинаковых деталей, которые нумеру.тся последней цифрой (эти "умники" не придумали ничего лучше).

10. Таким образом, этот связанный файл будет работать только в сборке! Открыв детали по отдельности, вы не увидите никаких уравнений, и связать эти детали с готовым файлом из сборки не выйдет, так как в нем имена другие. Потому, если надо связать именно детали (без сборки). То сначал аделаем сборку, генерим этот файл, открываем его в текстовом редакторе и удаляем все "-1" и прочие номера вставки из имен. Тогда можно этот автоматически сделанный файл использовать для связи деталей без сборки, просто связав с ним все детали, которые берут из него значения.

11. Еще есть DriveWorksExpress, но он больше для красивых каталогов подходит, чем для нормальной работы (как на мой вкус).

 

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

 

В общем есть две схемы проектирования как я сейчас думаю:

1. Создаем сборку, в ней делаем все нужные уравнения и ими управляем размерами деталей. При этом, открыв детал просто так, никаких изенений в ней вы не увидите. Но, открыв ее из сборки на редактирование (даже пункт "открыть") вы изменения увидите. Тем самым по сути, вы выносите размеры деталей на уровень сборки...что вообще то глупо по моему...но то беда всех ООП подходов.

2. Создаем детали, связываем их через внешний файл как описано выше. Тогда включив их в сборку вы настраиваете сопряжения (это уровень сборки) и открыв детали смело крутите уравнения в них, они влияют друг на друга и спокойно редактируются. Но сделать такой связующий файл в солиде, дело неудобное. При этом размеры остаются на уровне деталей, а в сборке как и положено есть только сопряжения. Все уравнения же хранятся в отдельном файле с уравнениями.

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

А по грамотному надо было бы сделать штаный редактор связей, который бы хранил связи в отдельном формате файла. Выводил их в виде графа, показывая все детали, которые в связях учавствуют и позволял бы редактировать уравнения связей. Тем самым можно было бы видеть ход вычислений модели и спокойно редактировать. Конечно это можно написать на скрипте...но мне разбираться лень, потому кидаю идею :) Несерьезно как то это все в солиде сделано.

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

Я потому подробно написал, что ваши "жмакнуть" понятны когда уже десять лет работаешь в солиде. Что я указал перед написанным, для следующих искателей.

 

Второе. Вышеописанный способ будет работать и без таблицы параметров...но вы не прочли.

 

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

 

Червертое. Допуски были просто примером, параметров модели может быть множество и как сделать их вычисляемыми...судя по всеу никак.

 

В общем не распыляйтесь, лучшебы что полезное расскзали.

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

 

Да не нужны никакие имена.

 

 

1. Парой кликов задать равенство диаметров.

 

 

То есть вы хотите связать сборку и детали таким образом, чтобы открыв один из документов и там перестроив значения - изменились все остальные?

Почему не хотели чтобы работало только на уровне сборки?

 

Чем текстовичок не подошёл сразу?

Аттач: изменяете в текстовике диаметр = меняется везде. В сборке даже ввёл глобальную.

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

Не хочу что бы работало только на уровне сборки потому, что пара деталей может входить в несколько сборок и быть зависимыми друг от друга. В каждой сборке надо будет выставлять параметры зново (либо я что то не понял). Ну и не нравится, что зайдя в редактирвоание детали, я теряю возможность управлять деталью с сохранением ее влияния на сборку...проектировние снизу вверх сразу накрывается меднум тазом. Я ведь только осваиваю эту САПР, так что может быть что то не понимаю.

 

Текстовичек подошел сразу. Но. Я его нашел не сразу, а после того как тут спросил о том как решить вопрос. Как нашел, сразу накатал инструкцию тем, кто будет искать после меня...я так нередко делаю, что бы закрыть вопрос. Следующий после меня из поисковика попадет на страницу и все найдет. Правда в моем случае я еще и связи типа "Внешний_диаметр_вала@Эскиз1@Вал-1.Part" вынес в этот текстовик, что бы они в одном месте были. Но, из имен убрал "-1" что бы ссылки были в деталях посчитанны верно. Так как если их в файл вынести с теми именами, которые сборка проставила, будут ошибки в деталях.

 

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

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

 

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

 

 

 

Нет в солиде нормального инструмента для решения вопроса

 

Нет в Solidworks большой и толстой красной кнопки, а есть логика работы, которой надо придерживаться и с которой надо уметь обращаться.

 

Скажите: зачем вы в текстовый файл запихивали имена размеров?

 

А ещё лучше, приложите, пожалуйста, простенькую сборку с результатом ваших трудов.

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

Вопервых солид мне очень понравился...да и перешел на него я потому, что там есть прочностные рассчеты и кинематика...чего, например, в нормальном виде нет в Компасе. Это уже третья САПР, что я осваиваю плотно...и еще куча "посмотреть". Я их преподавал несколько лет, пришлось :)

 

В приложении файл. В нем в текстовик вынесены как диаметр, так и значения размеров в деталях. В самой сборке никаких уравнений нет. Это позволяет в одном месте (текстовик) видеть все нужные значения и примечания к ним и не лазить по куче деталей что бы что то вспомнить. Но, к сожалению, вроде бы не позволяет вычислять значения в одной детали, на основе значений другой детали, это возможно только при задании вычислений в сборке. Так что такой способ, как я понял, работает только путем задания общих исходных переменных для всех деталей, а уже в каждой вычисляются только свои локальные значения...что костыль...индусский :)

 

Что до логики работы...она сейчас практически во всех САПР одинаковая, просто где то одно лучше, где то другое. Да к тому же солид и еще куча сапров на одном ядре сделаны, просто интерфейс разный.

Сборка.zip

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

@@i3draven, на этом форуме есть одна особенность. Когда прикладываете файл - озвучивайте версию Solidworks. У программы нет обратной совместимости, и файлы вашего 2014 не откроются в 20...

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

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

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

"последнее тяв" - если ещё не поздно  :biggrin:

 

На моё взгляд, конфигурации всё же выход и скорее всего, нужно сделать подсборки с изменяемыми деталями (1 конфигурация = 1 варинт размеров деталей)...

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

Я до сих пор не понимаю почему вал не проектировать в контексте сборки?

http://help.solidworks.com/2012/Russian/SolidWorks/sldworks/Creating_a_Part_in_an_Assembly.htm?id=62fd0a86a3a344d2a563f8b57ebdd6bf#Pg0

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

Примеры открыть не могу, у меня 2013 только есть.

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • Kelny
      Если этой ссылки достаточно для отображения материала и материал уже есть в обозначенной модели, то возможно подойдёт TabBuilder: https://help.solidworks.com/2023/russian/SolidWorks/SWHelp_List.html?id=e68c1877b4fa431483f8c751bd9fcc78&_gl=1*lby1j3*_up*MQ..*_ga*NTEyNjA5NDQ3LjE3MTQxMTU3MzA.*_ga_XQJPQWHZHH*MTcxNDExNTcyOS4xLjEuMTcxNDExNTczNy4wLjAuMA..#Pg0   В старых версиях при написанни ссылок такого радо в некоторых случаях можно было не писать имя файла, а достаточно было вместо имени файла модели оставить ПРОБЕЛ.SLDPRT и имя после этого подставлялось само. Пробовать надо.   Так же можете глянуть макрос по изменению свойств файла (методы и функции там устаревшие, но возможно даже будет работать и можно поковыряться в коде): https://kelnyproject.ucoz.ru/load/6-1-0-8 по програмированию так же есть справка (версию в ссылке поменяйте на свою, что бы справка была актуальна для вашей версии): https://help.solidworks.com/SearchEx.aspx?query=get custom property&version=2010&lang=english,enu&prod=api
    • gudstartup
      только перед обновлением обязательно выполните  все что написано в руководстве и касается сохранения состояния станка и чпу. и обязательно сделайте образ диска и помните что слишком новые версии могут не заработать на вашем чпу относительно безопасно ставить только сервиспаки
    • NordCom
      Большое спасибо! Через это меню удалось зайти в меню. 95148->MOD
    • Danil89nur
      Доброе время суток. Столкнулся с проблемой на новой работе. Много деталей у который в свойствах отсутствует раздел "Материал" и приходится каждый раз вручную заходить туда, создавать раздел и выбирать там ""SW-Material@Name.SLDPRT". Возможно кто-то знает, либо сможет помочь с написанием простенького макроса, при нажатии на который в свойствах детали будет создаваться необходимый раздел и в нем сразу написан выбранный материал (желательно, чтоб там было указано сразу наименование материала, а не формула для его получения ""SW-Material@Name.SLDPRT"). Пытался самостоятельно через ChatGPT, но так как в програмировании я 0, то ничего не получилось)
    • Bot
      Коллеги, Благодарю вас за интерес к проекту электронной энциклопедии в области инженерного программного обеспечения PLMpedia, который более 15 лет развивался группой компаний ЛЕДАС. Представленный ниже скриншот передаёт содержание и структуру базы данных энциклопедии, накопленной за эти годы: именно такую начальную страницу, можно было до сегодняшнего дня увидеть, придя по адресу https://plmpedia.ru/ В последние несколько лет ЛЕДАС особенно интенсивно и результативно вкладывает все ресурсы в развитие своего основного бизнеса: см. ниже «О компании ЛЕДАС». Сегодня я с некоторым сожалением констатирую, что у компании ЛЕДАС более нет возможности отвлекать ресурсы своих сотрудников на некоммерческий (фактически волонтерский) проект PLMpedia. Вся база данных ресурса может быть безвозмездно передана любому юридическому или физическому лицу с единственным условием: наш преемник должен будет публично объявить о состоявшейся передаче и взятии на себя [...] View the full article
    • gudstartup
      @NordCom  у вас наверное это так происходит читайте этот раздел itnc_530.pdf
    • fenics555
      интересный индус. А нового то чего?
    • gudstartup
      откудова качаете мне интересно?
    • ДОБРЯК
      Совсем забыл про собственные вектора       собственный тон частота           0.013                        1   Расчет собственных форм и частот   1         1   7.0711E-01   0.0000E+00   0.0000E+00   0.0000E+00   0.0000E+00   0.0000E+00   1         2   7.0711E-01   0.0000E+00   0.0000E+00   0.0000E+00   0.0000E+00   0.0000E+00       собственный тон частота       15910.75                         2   Расчет собственных форм и частот   1         1   7.0711E-01   0.0000E+00   0.0000E+00   0.0000E+00   0.0000E+00   0.0000E+00   1         2  -7.0711E-01   0.0000E+00   0.0000E+00   0.0000E+00   0.0000E+00   0.0000E+00        
    • gudstartup
      так я это и написал
×
×
  • Создать...