Jump to content

Использование уравнений в сборке с несколькими конфигурациями


Recommended Posts

Например у меня есть сборка с двумя конфигурациями (Конфигурация 1 и Конфигурация 2).

В сборке есть один глобальный эскиз (например линия с размером длина) и две детали (Деталь 1 и Деталь 2).

В Конфигурации 1 - Деталь 2 погашена.

В Конфигурации 2 - Деталь 1 погашена.

В детали 1 и 2 есть эскизы где есть размер длина детали.

 

Связываю в уравнении размер длины детали 1 и размером длины в глобальном эскизе.

Связываю в уравнении размер длины детали 2 и размером длины в глобальном эскизе.

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

Все логично, потому что отсутствует один параметр (для конфигурации 1 отсутствует длина детали 2, для конфигурации 2 отсутствует длина детали 1)

 

Как сделать чтобы не высвечивало ошибку.

 

Заранее извините эсли такой вопрос уже обсуждали.

 

Link to post
Share on other sites


UnPinned posts
Kelny
15 часов назад, QWAN сказал:

Как сделать чтобы не высвечивало ошибку.

Зависит от того для чего это нужно.

Как вариант не гасить, а скрыть деталь, в этом случае вы просто не видете деталь.

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

Так же можно ознакомиться с принципом проектирования СВЕРХУ-ВНИЗ:

https://help.solidworks.com/2010/russian/SolidWorks/SWHelp_List.html?id=9cb2ab2424b84483ada4bd6f932a8543#Pg0

 

 

 

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

Kenly, спасибо что ответили!

Я сейчас так и делаю, скрываю детали или сборки и это работает. 

 

Я пытаюсь сделать библиотеку для проектирования окон. 

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

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

Сборка окна (рама + створка) содержит общий эскиз прямоугольник (ширина и высота окна). 

Я бы хотел вставить в сборку окна четыре рамы и четыре створки, и меняя в общем эскизе размеры ширины и высоты получать разные окна.

 

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

 

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

 

 

 

 

Link to post
Share on other sites

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

Link to post
Share on other sites
Kelny
24 минуты назад, QWAN сказал:

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

 

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

Как написал выше рассмотрите принцип СВЕРХУ-ВНИЗ с управляющими эскизами или, думается, для такой задачи стоит рассмотреть возможности DriveWorks/DriveWorksXpress.

8 минут назад, QWAN сказал:

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

Да, при проектировании СВЕРХУ-ВНИЗ например КОМПОНОВОЧНЫЙ ЭСКИЗ (в меню может быть обозначено как Вставка->РАСПОЛОЖЕНИЕ):

https://help.solidworks.com/2021/russian/solidworks/sldworks/c_assembly_layout_sketch.htm

Edited by Kelny
Link to post
Share on other sites
VOleg
2 часа назад, Kelny сказал:

Как вариант не гасить, а скрыть деталь, в этом случае вы просто не видете деталь.

Самый плохой вариант. Бр-р-р-р. Я бы сказал "НЕДОПУСТИМЫЙ".

Link to post
Share on other sites
kkk
47 минут назад, QWAN сказал:

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

Можно пойти другим путем - сначала создать глобальные переменные со значениями. Затем всю геометрию повесить на эти переменные. Тогда погашение какого-либо компонента не будет выдавать ошибку.

Link to post
Share on other sites
Kelny
16 минут назад, VOleg сказал:

Самый плохой вариант. Бр-р-р-р. Я бы сказал "НЕДОПУСТИМЫЙ".

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

 

@VOleg Что именно плохого и не допустимого? Или что плохо или не допустимо в решаемой задаче автором темы?

Link to post
Share on other sites
2 hours ago, kkk said:

Можно пойти другим путем - сначала создать глобальные переменные со значениями. Затем всю геометрию повесить на эти переменные. Тогда погашение какого-либо компонента не будет выдавать ошибку.

Я не совсем понимаю как это должно работать.

Я создал деталь (например горизонтальный профиль створки) длина которой должна управляются глобальной переменной (которая находиться в сборке створки). 

В сборке створки я задаю две глобальные переменные ширина и высота створки. Связываю эти глобальные переменные с длиной горизонтального и вертикального профиля и это работает. 

Я создаю сборку окна, задаю глобальные переменные ширина и высота окна. В сборку окна вставляю сборку рамы и сборку створки (со своими глобальными переменными).

Как связать глобальные переменные в сборке окна с глобальными переменными в сборке рамы и створки?

2 hours ago, VOleg said:

Самый плохой вариант. Бр-р-р-р. Я бы сказал "НЕДОПУСТИМЫЙ".

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

2 hours ago, kkk said:

Можно пойти другим путем - сначала создать глобальные переменные со значениями. Затем всю геометрию повесить на эти переменные. Тогда погашение какого-либо компонента не будет выдавать ошибку.

Или вы имеете ввиду, что нужно использовать глобальные переменные в сборке окна (не нужно использовать глобальные переменные в сборке створки и сборке рамы) напрямую в горизонтальном и вертикальном профилях створки и рамы?

Link to post
Share on other sites
Kelny
17 минут назад, QWAN сказал:

Я не совсем понимаю как это должно работать.

Редактировать деталь в контексте сборки, потом редактировать нужный размер и добавить уравнение, для добавления значения выбрать глобальную переменную(константу) в папке Уравнения дерева сборки и должно получиться для размера детали что-то вроде этого:

"D1@Бобышка-Вытянуть1" = "ИмяПеременной@ИмяСборки.SLDASM"

 

Если добавлять уравнение в размер просто в сборке (не переходя в режим редактирования детали в контексте сборки), то будет что-то вроде этого:

"D1@Бобышка-Вытянуть1@ИмяДетали.Part" = "ИмяПеременной"

 

Вероятно как-то так.

Link to post
Share on other sites
kkk
44 минуты назад, Kelny сказал:

что-то вроде этого:

"D1@Бобышка-Вытянуть1" = "ИмяПеременной@ИмяСборки.SLDASM"

Или через внешний файл. 

 

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

Edited by kkk
Link to post
Share on other sites
Ветерок
16 минут назад, kkk сказал:

Или через внешний файл. 

Наверное, в данном случае это лучший вариант.

 

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

Edited by Ветерок
Link to post
Share on other sites
kkk
6 минут назад, Ветерок сказал:

Хотя, не очень понятно почему не проходит вариант с управляющим эскизом. Я такое не использовал, поэтому нюансов не знаю. 

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

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

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

 

@VOleg Что именно плохого и не допустимого? Или что плохо или не допустимо в решаемой задаче автором темы?

Невидимые детали/сборки все равно отображаются в спецификации и учитываются в массе...

Мне уже передавали такую сборочку - и даже не предупредили. Ну я ее и вставил в свое изделия. А я не сильно проверяю спецификации и вообще не проверяю массу... От производства получил большую бочку с разным содержимым...

  • Нравится 1
Link to post
Share on other sites
56 minutes ago, Ветерок said:

Наверное, в данном случае это лучший вариант.

 

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

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

 

Link to post
Share on other sites
Krusnik
50 минут назад, QWAN сказал:

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

Да уравнения то зачем? И глобальные переменные тоже зачем?

3 часа назад, QWAN сказал:

Я создал деталь (например горизонтальный профиль створки) длина которой должна управляются глобальной переменной (которая находиться в сборке створки). 

В сборке створки я задаю две глобальные переменные ширина и высота створки. Связываю эти глобальные переменные с длиной горизонтального и вертикального профиля и это работает. 

Я создаю сборку окна, задаю глобальные переменные ширина и высота окна. В сборку окна вставляю сборку рамы и сборку створки (со своими глобальными переменными).

Как связать глобальные переменные в сборке окна с глобальными переменными в сборке рамы и створки?

Вот это прямо первоклассный 3D-модельный разврат.

 

Можно же легче.

Создал сборку,

  Нарисовал в этой сборке эскиз. Тупо прямоугольник с длиной и шириной. Потом этот эскиз можно (и нужно) скрыть.

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

      Так в сборку напихиваются все детали рамы.

        После вставляется также пустая деталь. Снова редактирование в контексте. Рисуется эскиз профиля створки в нужном месте. И вытягивается. В этот раз до уже созданной рамы.

       Повторить нужное количество раз.

        ...

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

    Profit.

 

Недостатком этого метода является то, что эти детали могут использоваться только в ЭТОЙ сборке. Для другой сборки нужно создавать другие детали.

  • Нравится 1
Link to post
Share on other sites
1 hour ago, Krusnik said:

Да уравнения то зачем? И глобальные переменные тоже зачем?

Вот это прямо первоклассный 3D-модельный разврат.

 

Можно же легче.

Создал сборку,

  Нарисовал в этой сборке эскиз. Тупо прямоугольник с длиной и шириной. Потом этот эскиз можно (и нужно) скрыть.

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

      Так в сборку напихиваются все детали рамы.

        После вставляется также пустая деталь. Снова редактирование в контексте. Рисуется эскиз профиля створки в нужном месте. И вытягивается. В этот раз до уже созданной рамы.

       Повторить нужное количество раз.

        ...

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

    Profit.

 

Недостатком этого метода является то, что эти детали могут использоваться только в ЭТОЙ сборке. Для другой сборки нужно создавать другие детали.

Возможно для более простых сборок такой метод подойдёт.

У меня случай намного сложнее. В мною создаваемую деталь профиля рамы вставляются как детали пластиковый профиль, уплотнители и армирующие профиля  (все эти детали из базы данных зарегистрированы и текущей редакции). Затем с помощью инструментов SolidWorks все дорабатывается и я получаю первый кирпичик (деталь) в моей библиотеке с примерно 20 конфигурациями. Из таких 4 деталей  я получаю первую сборку рамы окна (количество конфигураций примерно тоже 20).

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

 

 

 

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

 

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

И вытягивается. В этот раз до уже созданной рамы.

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

  • Нравится 1
Link to post
Share on other sites
14 hours ago, Krusnik said:

Нарисовал в этой сборке эскиз. Тупо прямоугольник с длиной и шириной. Потом этот эскиз можно (и нужно) скрыть.

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

      Так в сборку напихиваются все детали рамы.

Спасибо! Сегодня попробую создать такую сборку. 

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

Link to post
Share on other sites
Krusnik

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

 

Это усложнит управляющий эскиз (возможно очень сильно усложнит).

И утратится некая "гибкость" модели. Если поменять профиль рамы на более "толстый" - то створка останется прежней. Нужно будет лезть в управляющий эскиз, и менять его, а потом проверять зазоры.

  • Нравится 1
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.




  • Сообщения

    • Viktor2004
      А вот тут откровенно пишут что калибровочная линия шпинделя почти на миллиметр вглубь шпинделя
    • A_1
      Наверно, многие наладчики и программисты станков с ЧПУ сталкивались с тем, что при переходе с одной системы ЧПУ на другую часто возникают различные затруднения. Чтобы их избежать, нужно как можно лучше изучить эти системы. Например, в Sinumerik есть команда OFFN, которая назначает припуск к запрограммированному контуру. Прямого аналога такой команде в системе FANUC нет, и поэтому при "переводе" программы из Sinumerik, содержащей эту команду на стойку FANUC приходится как-то преодолевать это препятствие. Можно поступить следующим образом. Чтобы воспроизвести смещение фрезы на некоторую величину от запрограммированного контура нам просто нужно, чтобы в корректоре на радиус инструмента было записано значение этого радиуса, увеличенное на эту величину смещения. Изменять значение корректора мы можем из программы, но "трогать" рабочий корректор крайне нежелательно, так как при прерывании программы потеряется его первоначальное значение. Для этой цели лучше использовать свободный корректор, так как количество корректоров обычно больше количества инструментов в магазине станка. Выберем, например, корректор N320. Чтобы записать или считать значение корректора следует обратиться к системной переменной #[13000+N], где N - номер корректора. Так, корректору D320 будет соответствовать переменная #13320, в неё мы и запишем некоторое значение, а потом активируем этот корректор. Но прежде нам нужно считать значение рабочего корректора, в котором записан истинный радиус фрезы. К нему мы тоже обратимся с помощью его номера, но, для универсальности нашего кода будем обращаться не к конкретному корректору, а к тому, который будет активным. Для этого существует ещё одна системная переменная #4107, в которой хранится номер этого активного корректора. Итак, считываем истинный радиус активного инструмента: #1=#[13000+#4107] Да, нужно ещё учесть значение, записанное в износе. К нему можно обратиться аналогично, с помощью переменной #[12000+N]. Тогда код считывания радиуса примет вид: #1=#[13000+#4107]+#[12000+#4107] Теперь запишем это значение в выбранный нами корректор D320: #13320=#1 Преобразуем 2 строки кода в одну заменив #1 в последней строке на её значение из предпоследней: #13320=#[13000+#4107]+#[12000+#4107] Теперь добавим в правой части этого выражения желаемое значение смещения "OFFN", предварительно указав её в той же переменной #1 (можно добавлять и отрицательные значения, впрочем команда OFFN тоже может работать с отрицательными значениями): #1=1.5 (OFFN) #13320=#[13000+#4107]+#[12000+#4107]+#1 Готово. Осталось только активировать наш новый корректор: #1=1.5 (OFFN) #13320=#[13000+#4107]+#[12000+#4107]+#1 D320   Sinumerik: расширенное программирование Параметрическое программирование станков с ЧПУ FANUC Программирование станка с системой ЧПУ FANUC (и Sinumerik) 23070703.BMP
    • Viktor2004
      ну а если инструмент на другой станок с той же оправкой и тем же штревелем переставить. Можно будет просто переписать длину инструмента замеренную на первом станке или нет?
    • soklakov
      малая боковая нагрузка по эффектам будет эквивалентна начальным несовершенствам.
    • VICT0R_1945
      Hello everybody! I present to you a detailed lesson from Ansys on the representation of a threaded connection, where bolts with nuts are represented by beam end elements and prints of contact surfaces. For easy viewing and familiarization with the material of the video, it is uploaded to YouTube: P.S. 1) After testing this technique, a technical error was revealed - contacts are not copied, in order to correct it, enter the numeric value indicated in the screenshot 1. 2) Ansys did not swear at - find the changed names (Named Selected), try it on, as shown in Figure 2.   The original lesson is located at: https://courses.ansys.com/index.php/courses/modeling-the-bolt-and-preload/lessons/homework-quizzes-and-workshop-2/ Readme - Flange_Joint (1).pdf Readme - Flange_Joint.pdf Geometry - Flange_Joint.scdoc
    • gudstartup
      Измерение производится на  tool setter ), длина без инструмента =0, деталь привязывается измерительным щупом - все!  По ходу износа корректируем ловим микроны!
    • david1920
      Вы SIK разбирали и микросхему выпаивали Или переходник паяли Тоже планирую снять   у меня 530
    • Killerchik
      В целом Вы, конечно, правы - но я вот 144% что ошибусь, если буду выставлять от разных баз.
    • lem_on
      Ну вот Виктор, Шура столько строчил, выдумывал, а тут ему все обломили. Какая разница какой инструмент, отбил один раз и потом все подходят независимо от глубины конуса.   
    • lexa345
      Смотрите постпроцессор mplmaster prmcode$ 20110
×
×
  • Create New...