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

Помогите разобраться с 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 пользователей

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




  • Сообщения

    • Fedor
    • Fedor
      Различие и повторение важнейшие концепты постмодернизма.   https://ru.wikipedia.org/wiki/Различие_и_повторение  :) Несерьезно же в механике континуума отвергать сам континуум как пытаются в некоторых новомодных теориях прочности.  При реальном проектировании конструктор все равно будет  опираться на допускаемые напряжения или предельные состояния устраняя их превышения  :) 
    • Snake 60
      А в чём кривоватость? Мне кажется всё зависит от настроек шаблона чертежей. Пример чертежа сохраненного стандартными средствами через макрос: https://cloud.mail.ru/public/g8Gv/oYXYVh8U5
    • Борман
    • Fedo81
      Здравствуйте, подскажите может кто сталкивался, установил Солид кам 2022, в переходах фрезерование пропала операция 3д модель! Так же с версией 2023
    • Bot
      От редакции isicad.ru: 29 мая в Москве прошло очередное ежегодное мероприятие компании «Топ Системы» — «Форум T‑FLEX PLM 2024». Это важное событие, несомненно, будет отражено в многочисленных публикациях, посвященных различным решениям и продуктам компании, а пока с общим содержанием и настроением форума можно познакомиться в кратком пресс-релизе «Новейшие разработки компании «Топ Системы» представлены на главном ежегодном событии года — Форуме T‑FLEX PLM 2024». В статье, предлагаемой вам сегодня, отражены новые результаты одного из самых заметных проектов компании «Топ Системы» — геометрического ядра RGK. Редакция портала isicad.ru с удовлетворением отмечает, что зарождение и развитие этого проекта регулярно и подробно освещалось и освещается в наших публикациях: одних только статей, заголовок которых содержит волнующее сокращение «RGK» (российское геометрическое ядро), насчитывается десяток. Особое внимание в статье Леонида Баранова привлекает замечание [...] View the full article
    • Kelny
      Очень давно как раз было хорошо, когда Solidworks печатал ещё через встроенный виртуальный принтер BlueBeam эдак в версиях Solidworks 2004-2006, но потом перешли на Adobe и стало кривовато, да так что до сих пор аукается.   В винде такая же сторонняя программа, удалите ту что там и поставьте PDFCreator (если будете использовать макрос, то ту версию, которая рядом лежит, т.к. последние версии не подходят под старый макрос).   Дык это же разные программы и не факт что у последней есть API для встройки в макрос, а у PDFCreator API есть.   Если есть готовое, то зачем мучиться? Ну тогда можете просто в ручную печатать через этот встроенный виртуальный принтер.
    • Артур8991
      А можите скинуть пожалуйста какая у вас есть?)
    • lem_on
      Как хорошо когда вокруг все дураки, а Шура один умный ))) ещё предложи тюремный вариант провоза, для личного пользования. 
    • gudstartup
      вы лично таким маршрутом пользовались? а еще можно через Гималаи на лыжах махнуть или дипломатической почтой  реально подождать и ничего с вашим станком не случится к тому же нормальное производство имеет мощности для резервирования. 45 дней подождать или под лавину в Гималаях!! он что время до взрыва бомбы отсчитывал!? а можно на подводной лодке еще, вы серьезно что ли. досматривают в любом случае хоть туда хоть оттуда а может надо нанять гипнотизера и он стоя рядом внушит таможеннику что вы утюг вместо привода везете тогда путь свободен!
×
×
  • Создать...