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

Требуется помощь в улучшении API SolidWorks


andrey1307n2

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

Доброе время суток, прошу откликнуться людей не равнодушных к чужому горю и имеющих активную подписку на SolidWork года выпуска ниже 2012. Фирма не станет тратить деньги на это дело. Сам использую 2008. Ковыряясь в API отыскал косячок- в активной конфигурации сборки добавляется деталь. Если, не переключая активную конфигурацию получить компоненты на любую другую конфигурацию, не используемую более нигде, то добавляемого элемента там не будет, до тех пор, пока не сделаешь требуемую конфигурацию активной. Тоже при замене или удалении компонента. Пример кода ниже. Поднимал вопрос на форуме SolidWorks <noindex>https://forum.solidworks.com/message/295423</noindex> там можно посмотреть прикрепленное видео иллюстрирующее проблему, узнал, что в версии года 2012 такой проблемы нет, в SW 2011 и ниже она присутствует.(но надо уточнять) Написал письмо в тех поддержку. Меня отфутболии т.к. нет активной подписки. Ну не заинтересованы они в улучшении качества свой продукции предыдущих версий. Единственное что смог выбить это ссылку на документ <noindex>https://forum.solidworks.com/docs/DOC-1564</noindex> , который тоже не могу посмотреть без подписки.

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

Активная конфигурация Conf1

string NameConf = "Conf2";

SldWorks _P_swApp=null;

_P_swApp = (SldWorks)Marshal.GetActiveObject("SldWorks.Application");

ModelDoc2 MD = _P_swApp.OpenDoc("C:\\Базы Солида\\test\\UP.SLDASM",(int)swDocumentTypes_e.swDocASSEMBLY);

((AssemblyDoc)MD).ResolveAllLightWeightComponents(false);

Configuration conf = MD.GetConfigurationByName(NameConf);

Component2 comp = (Component2)conf.GetRootComponent();

object child1 = comp.GetChildren();

((AssemblyDoc)MD).AddComponent("C:\\Базы Солида\\test\\podel\\BoltM.sldprt", 0, 0, 0);

// BoltM.sldprt предварительно открыт

object child2 = comp.GetChildren();

MD.ShowConfiguration2(NameConf);

object child3 = comp.GetChildren();

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


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

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

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

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

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

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

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

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

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

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




×
×
  • Создать...