• Добро пожаловать на Форум пользователей ПО АСКОН. Пожалуйста, авторизуйтесь.
 

Уважаемые пользователи,

Хотим проинформировать вас о режиме работы регистрации на нашем сайте.

Зарегистрироваться возможно в рабочие дни, с 8:00 до 20:00 (мск).

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

Благодарим вас за понимание и сотрудничество. Мы ценим ваше терпение и стремимся предоставить вам лучший опыт использования нашего сервиса.

С уважением,
Команда Ascon

Смена раздела Спецификации

Автор fdbir, 15.09.17, 08:22:22

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

fdbir

Как программно сменить у компонента сборки раздел Спецификации, например с Материалов на Деталь?

KrissKross

Думаю напрямую такой функции нет

но ни что не мешает написать свою
в 3 действия

1. Читаем значение необходимого элемента спецификации
2. Удаляем исходный элемент
3. Создаем новый с известными значениями в нужном разделе

fdbir

Делаю так:
     
  Dim SPdescrip As KompasAPI7.ISpecificationDescriptions = docSBkompas.SpecificationDescriptions
        Dim ActivSPdescrip As KompasAPI7.ISpecificationDescription = SPdescrip.ActiveFromLibStyle
        Dim SPbaseObs As KompasAPI7.ISpecificationBaseObjects = ActivSPdescrip.BaseObjects
        Dim SpStyle As KompasAPI7.ISpecificationStyle = ActivSPdescrip.SpecificationStyle
        Dim SpStyleSect As KompasAPI7.ISpecificationSectionStyles = SpStyle.Sections
        Dim mDoc
        Dim mPartDEL As KompasAPI7.IPart7 = Nothing
        Dim mObjDEL As Object = Nothing

        For Each SpBaseOb As KompasAPI7.ISpecificationBaseObject In SPbaseObs
            mDoc = SpBaseOb.Geometry
            Dim mPart As KompasAPI7.IPart7 = mDoc(0)
            mPartDEL = mDoc(0)
            mObjDEL = SpBaseOb.Geometry
            If mPart.FileName = "D:\КомпасAPI\!Сборка\Корзинка\Сеточка.m3d" Then 'имено та деталь
                SpBaseOb.Delete()
            End If
        Next
        Dim SpBaseObnew As KompasAPI7.ISpecificationBaseObject = SPbaseObs.Add(20, 0) 'в деталь
        SpBaseObnew.SyncronizeWithProperties = True
        SpBaseObnew.EditSourceObject = True
        SpBaseObnew.Geometry = mObjDEL ' mPartDEL
        SpBaseObnew.Update()
        mPartDEL.Update()
        ActivSPdescrip.Update()


У файла модели раздел меняется. Но у компонента нет ... Может еще что обновить надо)))