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

Помогите создать Place keepout для печатной платы


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

Люди добрые! Помогите новичку, плз!

 

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

Нужно сформировать кучу зон place keepout, чтобы передать их в IDF и далее в ECAD.

 

Очевидно, нужно вначале создать деталь, которая бы заполняла собою пространство между плоскостью платы и нависающими элементами. Потом нужно поделить эту деталь на несколько, ибо IDF не поддерживает переменную высоту. Делать это всё надо с минимальным количеством ручного труда, т.к. зон очень много.

 

Как это можно сделать? Или, может быть, есть более правильный способ?

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


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

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

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

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

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

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

Вам придется плясать от высоты самых высоких элементов, периодически сверяя с моделью.

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

п.к. Я для разводчика просто делаю чертеж высот зон, из idf только габариты платы.

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

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

 

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

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

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

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

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

Спасибо, попробую завтра. Только боюсь, что придётся вручную указывать на нависающие элементы. При этом можно и пропустить чего-нибудь, а потом окажется, что ничего не собирается.

Нашел в солиде какие-то инструменты для литья. Оно не поможет (явно сходные вещи ведь)?

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

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

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

Через Shift от первого до последнего компонента в дереве. Но слабый комп за раз не потянет.

потом окажется, что ничего не собирается.

Интерференция поможет определить на пересечения тел.

какие-то инструменты для литья.

У вас же не литье, поэтому те инструменты пока оставьте в покое.

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

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

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

 

Всё-таки, хочется как-то сделать заполнение объема. Это реально похоже на жидкость и на литьё. Неужели такого нет?

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

@@vian, Не совсем понял, у Вас уже есть собранная плата (платы) или всё подгоняется т.с. по месту???

Если правильно понял вопрос:

Если есть готовая сборка платы - можете сохранить её как деталь, разделить её на зоны (можно заполнить бобышками до макс. поверхности текущий детали) и использовать, как инструмент для выдавливания объема (например по принципу Упаковки)...

Или использовать эту деталь как образец для полости...

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

Не совсем понял

Ок, попробую еще раз.

Есть одна модель, назовём её корпусом, в которую надо вставить другую - плату. Модель платы тоже есть. И компоненты на ней есть, и вообще всё есть, кроме опыта (я не механик) и допустимых зон расположения компонентов. Компоненты на плате нужно подогнать по месту, но и корпус тоже меняется (разработка идёт).

Как создать зоны?

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

Вопрос в том, как это сделать?

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

@@vian, может быть не той дорогой идёте? "Нависающие элементы" нужно учитывать как полные, т.е. всё что под ними это тоже запрещённая зона. Если у вас платы друг над другом, то выбираете максимальные высоты на обоих платах - это и будет разрешенная зона. Вырисовывать каждый компонент как бобышку по высоте - это неверно чуток. Ибо монтажница припаяет вам точно на 2 десятки выше да ещё и чуток на бок завалит))) Сейчас, к примеру, в корпусе над танталами полюбому выборку на 2-3 десятки делаю, Потому что знаю, что припаяны они будут на 90% криво.

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

@@vian, может быть не той дорогой идёте? "Нависающие элементы" нужно учитывать как полные, т.е. всё что под ними это тоже запрещённая зона. Если у вас платы друг над другом, то выбираете максимальные высоты на обоих платах - это и будет разрешенная зона. Вырисовывать каждый компонент как бобышку по высоте - это неверно чуток. Ибо монтажница припаяет вам точно на 2 десятки выше да ещё и чуток на бок завалит))) Сейчас, к примеру, в корпусе над танталами полюбому выборку на 2-3 десятки делаю, Потому что знаю, что припаяны они будут на 90% криво.

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

В общем, действительно, нужно применить что-то типа инструмента "отступ" как для упаковки. Щас буду пытаться...

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

Я почему спросил про плату - есть такая опция Соединение тел...

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

 В итоге получаете нужную полость...

Тело (из-под корпуса) можно использовать повторно, если есть другие платы или детали...

Опять же - если правильно понял задачу (после работы немного туплю blush2.gif)

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

В общем, задача, конечно, решена, но осадок остался.

Проблема в том, что нужно много ручной работы. В идеале хотелось бы получить некий отпечаток, желательно с отступом от "тела инструмента", но вот с этим инструментом как раз и проблема. Если нависающих деталей много, и они сложной формы, то во-первых их надо  объединить в одно тело. Это уже представляет трудности, т.к. не все детали могут крепиться к той части корпуса, которая находится выше платы (пока рассматриваем кипауты только выше платы). Более того, на ранних стадиях проработки конструкции некоторые детали вообще могут висеть в воздухе (их там просто поставили, а крепление ещё не придумали). Поэтому объединить все детали в одно тело сложно. Однако, даже если это удастся, то после этого будут проблемы с применением  операций "полость" или "отступ", т.к. они не смогут нормально отработать по сложным поверхностям нависающих деталей. В итоге после долгих раздумий пришлось создавать некие "габаритные бобышки" для каждой детали (вытягивать эскизы нависающих граней до корпуса, т.е. в сторону, противоположную направлению к плате). В этом есть свой плюс: можно перед вытягиванием поправить эскиз так, чтобы захватить побольше нужных областей вокруг деталей для запаса на допуск при сборке или для полключения кабелей к разъёмам, но всё равно это ручная работа.

Далее эти бобышки объединяются с корпусом - получается то самое тело интрумента. Потом далается бобышка по контуру платы до верха и из неё вычитается (операция "скомбинировать") это тело инструмента. Здесь уже может сработать и отступ и полость, т.к. тело инструмента будет относительно простым. Все эти операции надо делать в режиме редактирования детали в контексте сборки (да, я первый раз работаю в 3D-САПР). Потом надо будет разделить получившийся результат на отдельные тела командой "разделить тела". при этом лучше ещё и сохранить результаты в отдельную сборку, а получившиеся тела - каждое в свой файл (команда "сохранить тела"). Разделять надо, пользуясь эскизами, которые опять же надо будет создать на нижней плоскости (на плоскости платы), чтобы потом от них выростить бобышки до верхних граней тел (получается лишняя работа, но я сходу не нашёл, как преобразовать тела в бобышки автоматом, а Circuitworks понимает только бобышки, гад).

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

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

 

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

 

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

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

 так вы же сами себе эту трудность и создали. Для разводчика (хоть вы, хоть кто-либо ещё) минимум достаточно обычной DXF-ки с высотами в зонах. А если делать room то будет ему вообще праздник. Вы же пошли по какому то совсем сложному пути.

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

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

2vian

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

1. Создание "тела инструмента". Я бы попробовал defeature. Сделал бы конфигурацию сборки, включающую только то, что висит над платой, и применил бы эту штуку. Она, по крайней мере, автоматом объединит все в минимальное число тел, и автоматом же заполнит все внутренние полоси и удалит большинство мелких внешних деталей. А остальную мелочь можно включить в удаляемое руками. Результат - деталь, простой формы, в идеальных случаях однотельная, с меньшими требованиями к ресурсам чем при объединении тел, и (формально - пока это не проверял) с какой-то ссылкой на сборку для будущих обновлений.
2. Творчество - не алгоритмизируется, упрощению не подлежит по определению. Открыть эту деталь ("тело инструмента") отдельно и довести до простого представления - подчистить то, что не вычистила дефича, залеписть мелкие дыры, выровнять мелкие горизонтальные грани с соседями.
3. Я не стал бы делать одно большое тело будущих областей с последующим делением на тела и переделкой в бобышки. Сразу в контексте сборки лепил бы для каждой области свою деталь (ставя первый эскиз на поверхность платы, если я правильно понял задачу), проекцией нужной грани "тела инструмента" получал бы контур этой детали-области и вытягивал бы ее до все той же грани "инструмента". Для этой задачи можно подумать о программировании или макросе, чтобы только выбирать пару граней (старт и финиш), а остальную техническую работу свалить на систему. Где создавать эти детали - не понял по описанию, но раз работа уже ведется в контексте сборки, значит это известно (а с точки зрения подхода безразлично).

4. В SW есть где-то настройка типа "именовать элементы при создании". Может, понравится. В макросе (к п. 3)  имя можно присваивать автоматом.

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

 так вы же сами себе эту трудность и создали. Для разводчика (хоть вы, хоть кто-либо ещё) минимум достаточно обычной DXF-ки с высотами в зонах. А если делать room то будет ему вообще праздник. Вы же пошли по какому то совсем сложному пути.

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

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

Количество этих свисающих фиговин таково, что зон образуется около 50. И что, Вы мне предлагаете, "DXF с высотами". С высотами - это как? Внутри каждого квадратика текстом написано? Я повешусь, пока буду нажимать ctrl+c - ctrl+v. Или допущу ошибку. А пока я это делаю, у механиков передвинулся винтик, и зоны опять поехали. И так несколько раз.

 

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

Большое спасибо!

1. Всё время проходил мимо, теперь обязательно посмотрю!

2. О, да. Только задача явно не творческая, следовательно, алгоритмизируется отлично. Я уже практически готов сделать всё это макросами. Или даже психануть и написать какой-нибудь конвертор с помощью API.

Задача-то, вроде бы, не сложная. Взять и вдавить сборку в пластилин. Очень странно, что этого нет, никак не могу поверить.

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

4. Отлично, спасибо еще раз!

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

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

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

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

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

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

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

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

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

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

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

  • Сообщения

    • Viktor2004
      Но ведь в NCGUIDE если запустить 0i-MFPlus там уже есть какое-то кастомное PMC Скачать его, открыть в FLader3 посмотреть все что надо, сравнить с реальным PMC
    • Guhl
      Ошибка в теме Какой надо выбрать тип РМС в NCGUIDE для FS0iF+ (и как это сделать), чтобы нормально импортировался файл карты памяти от реальной ЧПУ? В FLADDER 3 при импорте тип РМС определяется как FS0iF+ PMC/L. После копирования этого файла в эмулятор получаю ошибку ER04 PMC TYPE UNMATCH В эмуляторе вообще вижу только типы памяти РМС А/В/С. Ни с одним из них реальный файл не работает    
    • may1on
      Как мне повторить вот эту строчку ? G83 Z-20. R-4. Q4000 F0.07
    • куркуль
      у нас 802 трёх осевая сверлилка. вторая ссылка. там всё расписано.
    • Sabadash
      Подскажите стратегию обработки в 4 осях, когда деталь обрабатывается спирально при этом инструмент ориентирован всегда по нормали к поверхности обрабатываемой детали? Роторная всегда ориентирует инструмент на ось вращения, не подходит в случаях когда деталь выходит за пределы оси вращения. Пока пробую 5Х с заблокированной 4 осью.    
    • may1on
      Посмотрел , но ничего не понял , потому что не знаю английский, а через Яндекс перевод не доходит суть его слов .
    • куркуль
      https://ya.ru/video/preview/6063553017898622447          https://bstudy.net/865175/tehnika/glubokoe_sverlenie_cycle83?ysclid=lzfqywr8k4650207379     посмотри это. 
    • may1on
      Привет , столкнулся с такой проблемой что не понимаю как работает CYCLE83 на стойке 808D токарного станка. Прощу помочь мне и указать какие параметры вбивать на Сименсе что бы получить похожий код как на FANUC .    %  O2244 G28 U0. G28 W0. G40 G80 G90 G21 G97 G18 G95 G50s2500 G54 N1 (SV D18.) T0303 G54 G97M03S800 G00 Z20. G00 X0. Z20. M08 G83 Z-20. R-4. Q4000  F0.07 G80 G00 X0. Z20.  M09 G28U0. G28W0. M05 M01 M30 %   И если есть возможность опишите русским языком что делает каждый параметр, прочитав инструкцию к  циклу я ничего не понял)    
    • gudstartup
      g96 хаас совместим по g кодам с fanuc @gunilla G96 Постоянная скорость резания включена G-код на токарный станок HAAS G96 дает команду системе управления поддерживать постоянную скорость резания на кончике инструмента. Скорость вращения шпинделя зависит от диаметра детали, в которой выполняется рез, и заданного значения S (об/мин = 3,82xSFM/DIA). Это означает, что скорость шпинделя увеличивается по мере приближения инструмента к X0. Когда для настройки 9 установлено значение ДЮЙМЫ, значение S указывает количество футов в минуту. Когда для параметра 9 установлено значение MM, значение S указывает количество поверхностных метров в минуту. ПРЕДУПРЕЖДЕНИЕ Безопаснее всего указать максимальную скорость шпинделя для функции «Постоянная скорость поверхности». Используйте G50, чтобы установить максимальное число оборотов шпинделя. Отсутствие ограничения позволяет увеличить скорость вращения шпинделя по мере того, как инструмент достигает центра детали. Чрезмерная скорость может повредить детали и инструменты. посмотрите здесь https://cnc-maniac.ru/g-kod-na-tokarnyj-stanok-haas/
    • gunilla
      Ни в книге, ни в списке G кодов на станке не значится G69. Не знаю, что это. Видимо, это что-то более новое. Нашему Haas-у лет 15, если не более.
×
×
  • Создать...