Jump to content

Помощь новичку Solidworks


yuri-pet

Recommended Posts

si-64
26 минут назад, Ветерок сказал:

Очередной наглядный пример того, что надо спрашивать не о каком-то отдельном шаге неизвестнокуда, а о результате. Вместо вопроса "как вставить деталь в деталь?" нужно было спросить "Как вычесть одну деталь из другой?". И сразу получить нужный ответ.

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

Link to post
Share on other sites


si-64
58 минут назад, Ветерок сказал:

Очередной наглядный пример того, что надо спрашивать не о каком-то отдельном шаге неизвестнокуда, а о результате. Вместо вопроса "как вставить деталь в деталь?" нужно было спросить "Как вычесть одну деталь из другой?". И сразу получить нужный ответ.

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

Link to post
Share on other sites
Ветерок
5 минут назад, si-64 сказал:

получается деталь с "импортированной" геометрией

А когда вы впихиваете в деталь другую деталь, разве геометрия впихуемой детали не является такой же "импортированной" по сути?

Link to post
Share on other sites
si-64
1 минуту назад, Ветерок сказал:

А когда вы впихиваете в деталь другую деталь, разве геометрия впихуемой детали не является такой же "импортированной" по сути?

является, но от нее большего и не нужно...

Link to post
Share on other sites
Ветерок
Только что, si-64 сказал:

является, но от нее большего и не нужно...

а что такое "большее" есть в геометрии при сборочной операции? почему в одном случае это для вас приемлемо, а в другом нет?

Link to post
Share on other sites
si-64
Только что, Ветерок сказал:

а что такое "большее" есть в геометрии при сборочной операции? почему в одном случае это для вас приемлемо, а в другом нет?

ок, рассмотрим два варианта:

1. со сборкой

- в файл сборки вставляю две детали, делаю булеву операцию, делаю другие построения.

- сохраняю сборку как деталь, делаю чертеж из детали.

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

2. деталь в деталь

тут все ясно, при корректировке чертеж сохраняет связи с построениями

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

в файл сборки вставляю две детали,

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

 

6 минут назад, si-64 сказал:

сохраняю сборку как деталь

Зачем это? У вас уже есть деталь с вырезом. не надо ничего дополнительно сохранять.

7 минут назад, si-64 сказал:

потребовалась корректировка: открываю сборку, корректирую, сохраняю

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

7 минут назад, si-64 сказал:

открываю чертеж - все, приехали, все сломалось.

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

Link to post
Share on other sites
si-64
8 минут назад, Ветерок сказал:

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

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

Link to post
Share on other sites
Ветерок

Создайте в каждой детали систему координат с нужным расположением и ориентацией и сопрягайте по СК.

Link to post
Share on other sites
si-64
13 минут назад, Ветерок сказал:

Создайте в каждой детали систему координат с нужным расположением и ориентацией и сопрягайте по СК.

тоже вариант. но пока обошелся меньшей кровью - альтернативными сопряжениями. как то не прижилась практика с СК..

Link to post
Share on other sites
PB3473
6 часов назад, si-64 сказал:

Не строит взаимосвязь "угол" совместно с другими сопряжениями при вставке детали в деталь

баг?

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

Link to post
Share on other sites
si-64
51 минуту назад, PB3473 сказал:

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

аналогично поступил

Link to post
Share on other sites
Snake 60
6 часов назад, si-64 сказал:

со сборкой

- в файл сборки вставляю две детали, делаю булеву операцию, делаю другие построения.

- сохраняю сборку как деталь, делаю чертеж из детали.

В 2024-том солиде сделали классную кнопку "Создать многотельную деталь" Данная команда аналог Сокранить сборку как деталь, только круче. Любые изменения сборки автоматом переносятся в многотел. А многотел весит в 2 раза меньше сборки.

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

Всем доброго утра.Никто не подскажет почему вот сфетофор постоянно висит. в уравнениях все четко.Случилось после того,как у пункта в уравнениях появилось два пункта в меню- Погасить И Отключить...Я вместо отключить нажал погасить...и все теперь вот такой баг постоянно..а тот пункт из дерево пропал и не появляется,получается не могу включитьimage.png

Link to post
Share on other sites
ГЕЛА

Доброго всем дня. Подскажите - возможно ли в чертеже на виде развертки отобразить линии начала и конца гиба.

Link to post
Share on other sites
Snake 60
6 минут назад, ГЕЛА сказал:

отобразить линии начала и конца гиба.

Как это? Есть же просто линия гиба (теоретически середина разогнутого радиуса).

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

image.png

Можно ли изменить названия элементов по-умолчанию? Например:

Ребро-кромка -> Ребро
Вырез-вытянуть -> Вырез

Link to post
Share on other sites
Ветерок

Имеется деталь, сделанная поверхностями. Имеются некоторые сечения (в виде эскизов) этих поверхностей.

Вопрос. Можно ли на чертеже показать только эти эскизы (как отдельные сечения модели) без отображения кромок поверхностей?

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.



  • Сообщения

    • AlexKaz
      В пнд-вт 9-10 дек. у Логос проходит оффлайн-онлайн конфа.  Регистрация для участия онлайн и оффлайн https://cae-conference.ru/   Примерная программа: - практики применения российских решений от представителей промышленности - доклады разработчиков и интеграторов рынка CAE - показ обновлённых возможностей пакета программ мат. моделирования и инженерного анализа «Логос» - открытая дискуссия пользователей, преподавателей и разработчиков ПО и продуктов СAE - участие в голосовании и опросах очно и онлайн ...   Неплохо бы добавить в дискуссию инженеров-конструкторов/проектировщиков. Послушаю, может что удастся выцепить из критичного.
    • Slavdos
      цитата не от того автора
    • s_liam
      А что измеряет и что задано изначально в длине? Сложно сказать так, нужны все циклы и подциклы. И в какой подпрограмме ошибка прописана, чтобы понять, что приводит к её возникновению. 
    • IgP
      Аааа, ну это стандартное решение от АСКОН: сделать тоже самое заново ... В данном случае установить ПО на ПК.
    • NDE
      Собственно доработка ПО, различные утилиты DLL (User functions), написанные с помощью UGOpen. Из NX необходимо читать (и по возможности записывать) атрибуты в BOM Teamcenter.  Ограничение версии NX - 10. А он, как известно, не умеет работать с атрибутами BOM line, с типами, отличающимися от строковых.   Пример, есть атрибут в BOM - номер вхождения с типом integer. При работе в NX необходимо знать, какой атрибут присвоен конкретному компоненту. Штатными средствами увидеть это невозможно (в сборку входит деталь несколько раз с разными значениями этого атрибута и просто визуально посмотреть в Менеджере структуры и потом в навигаторе сборки NX и понять, что к чему относится - невозможно). Да и каменный век это
    • IgP
      Ни hrena не понял ... Задачу бы лучше с технической/материалистичной стороны описали ...  
    • NDE
      Предисловие: "Или я слишком глубоко копаю и не вижу ответа на поверхности, или тут что-то действительно не так". Как организована интеграция NX и Teamcenter в части загрузки сборок и хранения информации о компонентах. Исходные данные: NX10, Teamcenter 11.6, испоьзование SOA из поставки NX, язык C/C++. Задача: из User Function NX читать атрибуты строк BOM и записывать их. Как я реализовал это сейчас:: Получаю сессию, открытую NX: NXOpen::Session *theSession = NXOpen::Session::GetSession(); NXOpen::PDM::PdmSession *thePdmSession = theSession->PdmSession(); connectionHandle = thePdmSession->GetSoaConnectionHandle(); Teamcenter::Soa::Client::Connection* tcSoaConnection = reinterpret_cast<Teamcenter::Soa::Client::Connection*>(connectionHandle->GetHandle()); Нахожу в базе ревизию сборки: dmSrev = Teamcenter::Services::Core::DatamanagementService::getService(tcSoaConnection); std::vector< Teamcenter::Services::Core::_2007_01::Datamanagement::GetItemFromIdInfo > query(1); Teamcenter::Services::Core::_2007_01::Datamanagement::GetItemFromIdPref pref; Teamcenter::Soa::Client::Model::ItemRevision *itemRevision; Teamcenter::Soa::Client::Model::Item *item; std::vector< Teamcenter::Soa::Client::ModelObject * > objs(1); query[0].itemId = object_id.GetUTF8Text(); query[0].revIds.push_back(object_rev.GetUTF8Text()); Teamcenter::Services::Core::DatamanagementService::GetItemFromIdResponse item_bom_response = dmSrev->getItemFromId(query, 1, pref); Создаю новое окно BOMWindow: itemRevision = item_bom_response.output[0].itemRevOutput[0].itemRevision; item = item_bom_response.output[0].item; bom_info[0].item = item; bom_info[0].itemRev = itemRevision; bom_info[0].clientId = "InfoDSERequest"; bom_info[0].bomView = nullptr; bom_info[0].objectForConfigure = nullptr; bom_info[0].activeAssemblyArrangement = nullptr; bom_info[0].revRuleConfigInfo = revRuleConfigInfo; Teamcenter::Services::Cad::StructuremanagementService *structServ = Teamcenter::Services::Cad::StructuremanagementService::getService(tcSoaConnection); Teamcenter::Services::Cad::_2007_01::Structuremanagement::CreateBOMWindowsResponse bomWindow = structServ->createBOMWindows(bom_info); topLine = bomWindow.output[0].bomLine; Дальше перебираю BOMLine, ищу UG ENTITY HANDLE, совпадающие с хэндлом в NX (с отбрасыванием от хэндла версионной информации, т.е. первые 28 символов): cur_line = dynamic_cast<Teamcenter::Soa::Client::Model::BOMLine *>(child_lines[i]); ent_handle = cur_line->get_UG_ENTITY_HANDLE(); UF_TAG_decompose_handle ((char*)ent_handle.c_str(), &file_data, &sub_file_id, &versio); child_file_data = file_data; UF_free(file_data); instance_file_data.resize(28); child_file_data.resize(28); if (!instance_file_data.compare(child_file_data) && instance_sub_file_id==sub_file_id) // Сравнение искомого компонента с каждой строкой BOMLine { Чтение атрибутов, например, seq_no = cur_line->get_bl_occ_int_order_no(); }   Считаю что это неэффективно, да и вообще неправильно. Если посмотреть, что создаёт NX в кэше SOA с помощью Teamcenter::Soa::Client::ModelObjectVector all_objs; tcSoaConnection->getModelManager()->getObjectsFromStore(all_objs); То мы увидим там и BOMWindow  и BOMLine и PSOccurrence и PSOccurrenceThread. Т.е. уже всё открыто и по идее надо работать именно с этими объектами. Но я, хоть убей, не могу найти связь между компонентом сборки NX и объектом TC. Максимум, что я накопал штатными средствами: Можно получить хэндл в БД для PendingComponents (естественно, NX Component для них ещё отсутствует). Хэндл имеет следующий вид: "wCpJ4WwyhfM7oB 0WhJ4WwyhfM7oB 2tpdxbGAhfM7oB". Это 3 UIds в Teamcenter. Первый - это UId айтема/ревизии, второй - PSBOMView, третий PSOccurrenceThread. Не штатными средствами, если импортировать функцию UGMGR_NX_ask_db_comp_handle_uids из LIBUGMR.DLL, можно получить такой же набор UIds для любого компонента NX или только PSOccurrenceThread  с помощью UGMGR_NX_ask_occ_thread_of_instance: HINSTANCE lib = nullptr; typedef int(__cdecl *INT_TAG_CHAR_PROC)(tag_t, char **); typedef int(__cdecl *INT_TAG_CHAR3_PROC)(tag_t, char **,char ** ,char **); INT_TAG_CHAR3_PROC UGMGR_NX_ask_db_comp_handle_uids; INT_TAG_CHAR_PROC UGMGR_NX_ask_occ_thread_of_instance; lib = LoadLibraryA("LIBUGMR.DLL"); UGMGR_NX_ask_db_comp_handle_uids = (INT_TAG_CHAR3_PROC)GetProcAddress(lib, "?UGMGR_NX_ask_db_comp_handle_uids@@YAHIPEAPEAD00@Z"); UGMGR_NX_ask_occ_thread_of_instance = (INT_TAG_CHAR_PROC)GetProcAddress(lib, "?UGMGR_NX_ask_occ_thread_of_instance@@YAHIPEAPEAD@Z"); tag_t inst_tag = UF_ASSEM_ask_inst_of_part_occ(pComponent->Tag()); UGMGR_NX_ask_db_comp_handle_uids(inst_tag, &buf, &buf1, &buf2); UGMGR_NX_ask_occ_thread_of_instance(inst_tag, &buf);   Эти функции написаны на C без использования ООП, поэтому мне удалось их использовать. Аналогичных функций в UGOpen я не нашёл. В принципе в LIBUGMR.DLL имеются функции для работы с BOM, но они уже на C++  с использованием классов, а лезть в это без исходной документации не лучшая идея. Да и противоречит лицензионной политике .   И вот собственно вопросы. 1. Как перейти от PSOccurrenceThread к PSOccurrence или BOMLine? (Для этого нужно знать, в каком BOMWindow искать). 2. Как найти нужный BOMWindow?   Примечания: 1. Может быть есть штатные функции получения хэндла в БД на основе instance или occurrence в NX? 2. NX создаёт BOMWindow в следующих случаях: при первом открытии сборки. отдельные BOMWindow для подсборок не создаются. Но если сначала открыть подсборку, а потом вышестоящую сборку, то в системе будет создано 2 BOMwindow. 3. NX не закрывает созданные BOMWindow до конца сессии (видимо поэтому и память потребляет как не в себя). Например, если открыть сборку, потом закрыть её и снова открыть, NX создаст 2 BOMWindow.
    • KSVSVK
      При расчете оболочечной конструкции требуется указать толщину. Этот же размер используется при построении стыкуемых с ней элементов. Естественно хочется задавать его только один раз. Использование размера с эскиза - скелетона в сборке оказывается невозможным. Поэтому в сборке задаю глобальную переменную и присваиваю ее размеру. Теперь нужно установить ее в качестве связанного значения толщины оболочки в Simulation. Объединяю несколько оболочек в группу и в ее свойствах пытаюсь поставить значение. В выборе параметров определяю новый и задаю значение глобальной переменной При этом, несмотря на то, что переменная выше определена с размерностью "мм", здесь единица измерения оказывается "N/A" После применения изменений возвращается предыдущее окно с пустым списком, т.е. введенная переменная не отобразилась. Как задать такую связь?
    • Maik812
      Ты просто хамло и с тобой нет разговора. я вопрос задал как печать сложные детали. что касаемо больших и сложных был вопрос кстати!
    • mamomot
      Никто не "подставляется". Процесс создания качественной отливки не столь однозначен. В подавляющем числе случаев это только путь опыта конкретных решений...  
×
×
  • Create New...