Jump to content

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


yuri-pet

Recommended Posts

malvi.dp
7 часов назад, ANT0N1DZE сказал:

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

Есть такой в соседней теме BlankDatums2a

Edited by malvi.dp
Дополнил
Link to post
Share on other sites


7 часов назад, ANT0N1DZE сказал:

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

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

Разворачиваю  "4 столбца" в дереве и там отображаю или скрываю и т. д. что необходимо по мере надобности.

 

Link to post
Share on other sites
bubl leg

Всем добрейшего! :-)

Вопрос такой друзья: для одного самодельного проекта делаю конвейер металлический, из 380х40х2 мм алюминиевых пластин. Пластины будут присобачены к резиновой ленте :-)

 

Суть вопроса вот в чём: есть 2 варианта, как понять, какого диаметра должны быть шкивы на концах конвейера, чтобы он был заданной длины: 1 вариант - расчитать; 2 - вариант - прикинуть "наживую" нарисовав овальный лежачий путь и по нему пустив 40 мм отрезки - чтобы глянуть, сколько таких отрезков (то бишь пластин) влезет в этот овал. И вот этот второй путь мне видится приятней.

 

Начал реализовывать в солиде и осознал - что никогда не делал такого - не пускал отрезки не вкруговую, вокруг некоего центра - а чтобы они шли  по пути (овальному, как у меня) :-)

 

Итак, сам вопрос - как такое провернуть? ;-) Заранее всем спасибо! Отрезки прямые - гнуть их не надо. Надо только расположить по овалу, чтобы играяясь диаметром шкивов, наживую понять - сколько надо пластин. Картинку приложил.

 

Без-имени-1.jpg

Edited by bubl leg
Link to post
Share on other sites
maxx2000
6 часов назад, bubl leg сказал:

как такое провернуть

как и везде, массив вдоль кривой (пути если угодно)

Link to post
Share on other sites
25.10.2024 в 17:55, Ветерок сказал:

Вот что меня ещё бесит. Длинное дерево модели, редактирую операцию в конце (или ближе к концу)

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

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

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

Screenshot_2.jpg

Edited by si-64
Link to post
Share on other sites

можно ли без доп. построений сделать среднюю линию окружностей?

Screenshot_3.jpg

типа аналога симметрии:

Screenshot_4.jpg

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

можно ли без доп. построений сделать среднюю линию окружностей?

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

p89cjv0.gif

  • Нравится 1
  • Чемпион 1
  • Хаха 1
Link to post
Share on other sites
10 часов назад, Snake 60 сказал:

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

p89cjv0.gif

проблем нет, как всегда оптимизации хочется, минимизировать построения

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

проблем нет, как всегда оптимизации хочется, минимизировать построения

Ну размеры то всё равно надо бы поставить, тогда с эими вопросом можно расквитаться с помощью размеров:

один размер между крайних дуг и один между средней дугой,

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

 

Что бы отдельно не ставить размеры и не привязывать дуги друг к другу, можно создать дуги/окружности инструментом СМЕЩЕНИЕ ОБЪЕКТОВ уже с размерами, останется связать один размер со вторым уравнением.

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

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

 

Screenshot_5.jpg

Link to post
Share on other sites
maxx2000

@si-64 а ты не дёргай руками, а то оторвёшь. Редактируй нужный размер.

  • Хаха 1
Link to post
Share on other sites
Kelny
2 часа назад, si-64 сказал:

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

Вам шашечки? Или ехать?

 

После подвижек нажмите CTRL+Q или для исключения соблазна дёргать размеры отключите опцию Инструменты-Настройки эскиза-Корректировка размеров при перетаскивании/перемещении и как посоветовали выше не тяните, а редактируйте размеры, ведь после ваших потягушек всё равно придётся отредактировать размер.

 

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

Edited by Kelny
  • Нравится 2
Link to post
Share on other sites
maxx2000
2 часа назад, si-64 сказал:

ха!

не знаю кстати или нет, НО. В Крео если тянуть за среднюю окружность формула тоже работает :bleh:

Link to post
Share on other sites

Свойство $PRP:"SW-Имя папки(Folder Name)". Можно ли  как-то подсократить путь, чтобы отображались только последние папки?

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

Свойство $PRP:"SW-Имя папки(Folder Name)". Можно ли  как-то подсократить путь, чтобы отображались только последние папки?

Если речь о чертеже, то можно вынести за поле чертежа, что бы в печетаемое поле попала лишь часть длинной заметки.

  • Нравится 2
Link to post
Share on other sites
Kelny
20 часов назад, kkk сказал:

Можно ли  как-то подсократить путь, чтобы отображались только последние папки?

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

 

Есть пример такого макроса для центра масс, который живёт в файле модели, который пересчитывает центр масс при изменении модели:

 

CG(ЦентрМасс-МакросВМодель).rar

Edited by Kelny
  • Чемпион 1
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.



  • Сообщения

    • IgP
      Аааа, ну это стандартное решение от АСКОН: сделать тоже самое заново ... В данном случае установить ПО на ПК.
    • NDE
      Собственно доработка ПО, различные утилиты DLL (User functions), написанные с помощью UGOpen. Из NX необходимо читать (и по возможности записывать) атрибуты в BOM Teamcenter.  Ограничение версии NX - 10. А он, как известно, не умеет работать с атрибутами BOM line, с типами, отличающимися от строковых.
    • 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
      Никто не "подставляется". Процесс создания качественной отливки не столь однозначен. В подавляющем числе случаев это только путь опыта конкретных решений...  
    • Radon
      Самое прямое.  А по рекламе, вуза такого более нет.
    • Killerchik
      Да вот на выходе с принтера - без проблем поверю. А вот через пару месяцев описанной выше эксплуатации получается "не совсем" :) Это я конечно о пластиках, напечатанные металлы ведут себя куда стабильнее.
    • ДОБРЯК
      Это же "Учебное пособие предназначено для выполнения курсового проекта по курсу «Надежность АД и ЭУ» " Какое отношение это учебное пособие имеет к реальному проектированию.:=) Если только реклама «САМАРСКИЙ ГОСУДАРСТВЕННЫЙ АЭРОКОСМИЧЕСКИЙ УНИВЕРСИТЕТ имени академика С.П. КОРОЛЕВА» 
×
×
  • Create New...