rj7775

Вырезы в деталях из листового металла в разных конфигурациях

10 posts in this topic

Pinned posts

ID: 1   Posted (edited)

Здравствуйте.

Если в сборке есть деталь из листового металла в разных конфигурациях, то при создании выреза невозможно распространить этот вырез в детали. Возникает ошибка You may not propagate features in assemblies that have multiple instances of the same sheetmetal parts. Причем вырез может эти детали и не пересекать. Но если использовать инструмент Hole wizard, то такой ошибки не возникает. Что нужно делать, чтобы и при "простом" вырезе из эскиза не было такой ошибки?

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

SW14.

 

Edited by rj7775

Share this post


Link to post
Share on other sites


UnPinned posts
8 часов назад, rj7775 сказал:

Здравствуйте.

 Что нужно делать, чтобы и при "простом" вырезе из эскиза не было такой ошибки?

Ставить галку "Связать с толщиной" пробовали?

Share this post


Link to post
Share on other sites

Спасибо, но не вижу такой галки. Скриншот прилагаю.

Сборка, две детали по центру - это одна в разных конфигурациях. И Ошибка.

Вот когда деталь редактируешь, там есть привязки к вершинам, поверхностям... А в сборке - только насквозь или на заданную глубину. 

Или в других версиях иначе? У меня SW14 SP3.0.

screen1.png

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

ID: 5   Posted (edited)

В 14.10.2019 в 14:31, rj7775 сказал:

Что нужно делать, чтобы и при "простом" вырезе из эскиза не было такой ошибки?

Возможно поможет в настройках программы отключить запрет множественных ссылок (но с некоторой долей вероятности можно создать циклическую ссылку которая как минимум приведёт к ошибки и/или краху файла), меню: Инструменты-Параметры...-Настройи пользователя-Внешние ссылки и галочка Разрешить множество контекстов...

 

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

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

Ещё один вариант, делать вырезы в деталях, а в сборке позиционироваться сопряжениями на эти отверстия без добавления внешних ссылок вовсе.

Edited by Kelny

Share this post


Link to post
Share on other sites

@Kelny, спасибо.

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

галочка Разрешить множество контекстов...

Не помогло.

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

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

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

Но самое прекрасное, что иногда проходит без ошибки! Редко, правда.

 

Остальные варианты тоже пробовал, мне больше понравилось гасить "конфликтные" детали.

Просто случайно наткнулся на то, что "Hole wizard" все делает сам безо всяких дополнительных действий. Вот и подумал, что есть простой путь. 

Share this post


Link to post
Share on other sites

ID: 7   Posted (edited)

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

Просто случайно наткнулся на то, что "Hole wizard" все делает сам безо всяких дополнительных действий. Вот и подумал, что есть простой путь.

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

Edited by Kelny

Share this post


Link to post
Share on other sites

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

А у Вас такая ошибка не проявляется?

 

Share this post


Link to post
Share on other sites

ID: 9   Posted (edited)

44 минуты назад, rj7775 сказал:

А у Вас такая ошибка не проявляется?

Просто не использую зависимости построений в сборке, т.к. это может сыграть плохую службу при изменении конструкции.

Больше использую другой принцип: строить детали отдельно, а потом сопряжения в сборке.

 

Простой пример.

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

В варианте внешних ссылок будет всё замечательно в модели, а если забыли заказать/перевыпустить вторую деталь и чертёж на неё - не соберётся.

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

 

Но как проектировать, что бы потом не было мучительно больно и голодно, всё же выбирать вам.

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

 

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

 

 

 

Edited by Kelny

Share this post


Link to post
Share on other sites

Не делать себе больно - это слишком очевидный ответ))) 

 

Если серьезно. Я думал, что идея как раз в том, чтобы была возможность в сборках редактировать одну деталь (или сборку деталей) относительно другой. Например, нужно мне прикрутить одну деталь к сборке из двух других. В первой я сразу сделал место для крепления, а в других - в общей сборке. И потребуется в общей сборке сделать вырез в двух деталях. Разве не так? 

 

 

 

Share this post


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.



  • Сообщения

    • KorovnikovAV
      Editor -> Global Setup -> General -> Language 
    • AlexKaz
      @12Х18Н10Т 1) http://cccp3d.ru/topic/86489-методичка-основы-ls-dyna/ 2) http://cccp3d.ru/topic/96276-библиотечка-ls-dyna/ 4) Explicit - это lsdyna должно быть. 5) хомячкам (то бишь тяп-ляп инженерам) нравится - этот метод пришёл из компьютерной графики. точность вроде как в последние годы достаточно подтянули.
    • anser89
      Вы хоть пытались настройки открывать? Свойства документа - чертёжный стандарт - размеры. Ну и в эти свойствах документа много разных настроек шрифта. И это надо изменять в шаблоне чертежа
    • ТатьянаКо
      Весь 41 пункт относится к независимому пункту формулы.
    • Aleksandar
      Почему у меня как на картинке получаются очень большие цифры и стрелки, что-то не так в настройках программы:   Как и где настроить что бы меры были вот такие аккуратные и как надо всё выглядело, вот так:    
    • lmmnd9
      Здравствуйте, объясните пожалуйста по анализу результата, - не могу понять один момент... мне нужно расчитать прогиб конструкции... - указываю материал, создаю сетку, указываю действующую силу на 4 элемента весом 50кг с геометрическим распределением, т.е. всего будет сила в 50кг. материал - алюминий. по результатам исходя из легенды, максимальный прогиб будет 0,412мм..  тут и вопрос, - почему сама сетка всегда вмята одинакого при разном весе? и по умолнчанию это 10% от всей симуляции.. (и это никак не привязано к % постепенной нагрузки) т.е. получается, что результат я могу прочитать только по легенде справа, где говорится о том что красный полигон - это столько то отклонения... возможно вопрос мой утверждающий, но я просто представлял что симуляция так работает.. просто на утро уже результат нужен, и такие вот сомнения.. p.s. в книжках искал...  т.е. вопрос - это правда так как я думаю? спасибо.
    • Blurp
      О! Думал, что уже всё поперещёлкал в опциях уклона, ан нет.   @AlexK76 Подтверждаю для 6. Результат лучше, чем в Catia.
    • MiLloeDelo
       Попробуйте все варианты в ShopMill , прмямоугольняа цаппфа или караман , можете менять направление траектории во внутрь и с наружу .     а если это не прямоугольник? ......покажите и уточните точно что если не прямоугольник , телепатических способностей у многих отсутствуют на этом форуме . Давай логические вопросы с подкрепленными точным фактами !
    • MiLloeDelo
      KISSsoft  не подходит ?  https://www.youtube.com/watch?v=d6cEjNk8ZAY    
    • FCLM
      Люди добрые, помогите разобраться в скрипте, буду благодарен любому комменту, совершенно не с кем поговорить на эту тему =(((    global mom_cycle_spindle_axis mom_sys_work_plane_change
         global traverse_axis1 traverse_axis2 mom_motion_event mom_machine_mode
         global mom_pos mom_prev_pos mom_from_pos mom_last_pos mom_sys_home_pos
         global mom_sys_tool_change_pos
         global spindle_first rapid_spindle_inhibit rapid_traverse_inhibit    if { ![info exists mom_from_pos($mom_cycle_spindle_axis)] &&\
               [info exists mom_sys_home_pos($mom_cycle_spindle_axis)] } {       set mom_from_pos(0) $mom_sys_home_pos(0)
            set mom_from_pos(1) $mom_sys_home_pos(1)
            set mom_from_pos(2) $mom_sys_home_pos(2)    } elseif { ![info exists mom_sys_home_pos($mom_cycle_spindle_axis)] &&\
                     [info exists mom_from_pos($mom_cycle_spindle_axis)] } {       set mom_sys_home_pos(0) $mom_from_pos(0)
            set mom_sys_home_pos(1) $mom_from_pos(1)
            set mom_sys_home_pos(2) $mom_from_pos(2)    } elseif { ![info exists mom_sys_home_pos($mom_cycle_spindle_axis)] &&\
                    ![info exists mom_from_pos($mom_cycle_spindle_axis)] } {       set mom_from_pos(0) 0.0 ; set mom_sys_home_pos(0) 0.0
            set mom_from_pos(1) 0.0 ; set mom_sys_home_pos(1) 0.0
            set mom_from_pos(2) 0.0 ; set mom_sys_home_pos(2) 0.0
         } Что имменно непонятно:
      1. вот этот фрагмент:
       { ![info exists mom_from_pos($mom_cycle_spindle_axis)] &&\  [info exists mom_sys_home_pos($mom_cycle_spindle_axis)] } 
       На сколько я понял порядок чтения примерно следующий: если условие [info exists mom_from_pos($mom_cycle_spindle_axis)] не выполняется а условие [info exists mom_sys_home_pos($mom_cycle_spindle_axis)] } выполняется то тогда мы присваиваем значения переменным. А если первое условие выполняется вместе со вторым то тогда мы пропускаем присвоение переменных. Или другими словами 
      если оба условия после обработки первого оператором ! (лог отрицание) равны нулю или единице то тогда мы выполняем присвоение значений переменным а если они не равны между собой то мы идём к elseif.     2. Не понятен формат записи [info exists mom_from_pos($mom_cycle_spindle_axis)], вроде бы как после оператора info exists должен следовать аргумент в данном случае mom_from_pos а тут дополнительно ещё один аргумент запилили причём без пробела и в 
      скобках в итоге мы имеем [info exists mom_sys_home_pos($mom_cycle_spindle_axis)].   3. При присваивании значений переменным также странный формат записи например выше объявляется переменная mom_from_pos, при присваивании ей значения она уже превращается в mom_from_pos(0), а значение ей присваивается из переменной mom_sys_home_pos(0) 
      которая выше объявлялась как mom_sys_home_pos.   4. Знак \ после оператора && означает простой перенос строки после объявления оператора?   5. В описании указано: info exists varName Возвращает 1, если переменная varName существует в текущем контексте как локальная или как глобальная переменная. В противном случае возвращает 0. Что понимается под понятием текущий контекст? Не он ли указан в скобках и тогда строка [info exists mom_from_pos($mom_cycle_spindle_axis)] расшифровывается как если значение переменной mom_from_pos равняется значению переменной mom_cycle_spindle_axis то тогда в квадратных скобках мы имеем "1" в противном случае "0"? Но в описании переменных они как то с друг дружкой не очень вяжутся mom_cycle_spindle_axis - это вроде как рабочая плоскость, а mom_from_pos это координаты исходной точки?