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

Помогите разобраться с API


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

Определить, что создал польльзователь можно только исключениями. То есть запонимаешь все папки, что создает сам солид и те, что есть по умолчанию. Остальное будет считать созданно пользоваетелем

BSTR bFeatName,bFeatureTypeName;



hres = pFeature->get_Name( &bFeatName );	// считать имя feature 

CString featName( bFeatName );



hres = pFeature->GetTypeName(&bFeatureTypeName);   // считываем тип feature 

CString featureTypeName(bFeatureTypeName);
Ссылка на сообщение
Поделиться на других сайтах


А как поместить Деталь1-1 в Папку1?

Код

Sub main()

Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set swFeat = swModel.FeatureByName("Деталь1-1")

Set swFolder = swModel.FeatureByName("Папка1")

bRet = swModel.ReorderComponents(swFeat, swFolder, swReorderComponents_LastInFolder)
Debug.Print "bRet = " & bRet
End Sub

не работает :surrender:

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

А как поместить Деталь1-1 в Папку1?

......

не работает

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

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

Option Explicit



Dim swApp As SldWorks.SldWorks

Dim swModel As SldWorks.ModelDoc2

Dim swAssembly As SldWorks.AssemblyDoc

Dim swSelMgr As SelectionMgr

Dim swFolder As SldWorks.Feature

Dim swComponent As SldWorks.Component2

Dim bres As Boolean



Sub main()



	Set swApp = Application.SldWorks

	Set swModel = swApp.ActiveDoc

	Set swSelMgr = swModel.SelectionManager

	Set swAssembly = swModel

	bres = swModel.Extension.SelectByID2("Деталь1-1", "COMPONENT", 0, 0, 0, False, 0, Nothing, 0)

	Set swComponent = swSelMgr.GetSelectedObject5(1)

	

	Set swFolder = swAssembly.FeatureByName("Папка1")

	bres = swAssembly.ReorderComponents(swComponent, swFolder, swReorderComponents_LastInFolder)



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

В АПИ 2007 есть появилась в SW 2005

Этот метод перемещает выбранную характеристику или папку в Менеджере Характеристики Твердого проектого дерева структуры Тел в определенную папку в Менеджере Характеристики Твердого проектого дерева структуры Тел.

IFeatureManager	  pFeatureManager = NULL;



pModelDoc2->get_FeatureManager ( &pFeatureManager);

ASSERT(pFeatureManager!=NULL);



pFeatureManager->MoveToFolder ( MoveToFeat, MoveFromFeat, isFolder, &retval);
Ссылка на сообщение
Поделиться на других сайтах

Shvg, так тоже не работает

bres = swAssembly.ReorderComponents(swComponent, swFolder, swReorderComponents_LastInFolder)

возвращает False

TEM, функция MoveToFolder как я понял из справки работает только с Solid Bodies и не работает с компонентами

А мне нужно в сборке детали разложить по папкам

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

Shvg, так тоже не работает

У меня прекрасно работал, правда в моей сборке. Проверь возвращенный результат из функции:

bres = swModel.Extension.SelectByID2("Деталь1-1", "COMPONENT", 0, 0, 0, False, 0, Nothing, 0)
Если False, то присмотрись к правильности имен деталей и папок.
Ссылка на сообщение
Поделиться на других сайтах

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • kkk
      Так я не о тех, кому и так хорошо, а о тех, кто хочет научиться. Собственно сужу по себе - считаю, что знаю и владею СВ на высоком уровне (по крайней мере тот функционал, который у меня востребован), и всегда подтягивают тех, сослуживцев, кто высказывает заинтересованность. Этакое бесплатное обучение, причем на реальных задачах. :) В мелких конторах не раз видел, когда сидит, к примеру, 3 конструктора и каждый ваяет в своем софте. Пиратском, понятное дело.  
    • Fedor
      https://files.stroyinf.ru/Data/740/74099.pdf   судя по этому  ( 9.1   9.2 ) атмосферное давление на грунт не учитывается хотя действует ... 
    • maxx2000
      @РоманВ ответ на этот вопрос должны дать правила оформления чертежей и как следовательно правила простановки угловых размеров. Т.е. указывается положение одного элемента относительно оси, а второго относительно положения первого. Независимо от того чертёж это или эскиз. В эскизе можно наложить ограничение симметрии относительно оси и указать угол между элементами. Т.е. первоначально дать себе ответ -  чертёж это или эскиз.
    • Shura762
      @mamomot , вы "за лесом деревья не видите", процесс перехода на единую систему проектирования (не факт что на ТФ) в рамках предприятия идет, но только на предприятиях которые могут себе позволить. В большинстве же в КБ работают конструкторы кто в чем силен и не заморачиваются, ведь требуют результат в виде конструкции соответствующей ТЗ а чертежи дело второе, (военку не рассматривать в принципе) и в чем будет решена задача начальству наср.... Речь идет как человеку изучить ТФ когда он силен в Крео, пересесть с Феррари на ладу калину надо иметь очень большое желание
    • Fedorly
      1. Если бы не было смысла, то никто не заказывал бы разработку "сиго" 2. Смысл программы в том, что она позволяет получать данные о DXF файле, без CAD-программ(типа AutoCAD, Компас, SW и др), таким образом, программа может работать на любом "офисном" ПК. Полученные в программе данные, идут в подготовленный шаблон excel, где также быстро получаются расчеты себестоимости. Возможно "сие" не такое и законеченное решение, но у заказчика это получается очень быстро, и не дорого
    • РоманВ
      В эскизах солида при простановке линейных размеров от осевой можно ставить диаметральный размер, сместив курсор за осевую. Как ставить подобные размеры угловые?
    • Anat2015
      Скорее видеокарта, компьютер там, если не ошибаюсь, один, моноблок. Знатоки поправят.
    • clavr
      Для солида есть встроенный Costing. который прекрасно справляется с этим, и даже сразу стоимость напишет. есть ли смысл сиго чуда для солида?
    • si-64
      привязана до и после. да, пользователем ограничено, но не программой 
    • fenics555
      Если ставить новые размеры в чертежах, то нужно и таблицы допусков к ним подтягивать. файл- подготовить- свойства чертежа - стандарт проставления допусков - таблица допусков- загрузить - и в окне просто все выбираешь и ок.   Это не размеры модели. Правильно будет: выбираешь вид- "показать аннотации модели"- и выбираешь нужные размеры.  Или вместо вида можно выбирать элементы построения в дереве. Чертежными лучше не пользоваться.
×
×
  • Создать...