Перевод сборки из старой версии в новую

Автор Дим, 14.12.10, 13:07:50

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

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

Дим

Помню вроде что то такое было на форуме, но не могу найти(или правильно сформулировать) эту тему.
В общем мне нужно из сборки вытащить материал деталей. Сборка сделана в 9-ке.
Чтобы в отчете прописался материал - деталь нужно открыть, перестроить и сохранить.
Но в Сборке более 7000 деталей!

Вроде кто то даже библиотеку написал для такой перегонки "на автомате" - помогите найти :`(! горю!


Дим

ВАХ, это что то заумное, уже некогда разбираться.
Ну если другого нет, на досуге буду пробовать :)

:fr:

chelkar

Тоже макрос, но попроще.
Открыть сборку и запустить макрос. Он откроет все компоненты "в темную", перестроит их и сохранит.
Не знаю че такое "Чтобы в отчете прописался материал", проверить не могу.
И на 7-ми тыщах тоже, не пробовал :o:

Дим

Хорошо, попробую.
Цитата: chelkar от 14.12.10, 14:39:13
Не знаю че такое "Чтобы в отчете прописался материал", проверить не могу.
Материл, вернее масса в отчет не передается пока не перестроится деталь в отдельном окне.

Дим

#5
:j: :j: :j: :j: :j: :j: :fr: :fr: :fr: :fr: :beer: :beer: :beer: :beer:
РАБОТАЕТ!!!
Спасибо! проверил на подсборке все ок!
На общей проверю только завтра!

chelkar

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

Дим

А первый макрос у меня и подсборки сделал! :o
Правда вложенность была не более трех уровней :)

А на тысячах - завтра проверю.

Дим

 :`(не прошла большая сборка

chelkar

Упс!
Чета не получается новый документ для перестроения.
Попробуйте заменить последнюю часть макроса на вот это
-------
#Получаем список компонентов всей сборки с учетом вложенности
sp = PartRec (TopPart)
#Открыть, престроить и сохранить компоненты сборки
for item in sp:
    fileName = item.fileName
    RebuildDocument3D = iKompasObject.Document3D()
    if RebuildDocument3D != None :
        RebuildDocument3D.Open (fileName, 1)
        RebuildDocument3D.RebuildDocument ()
        RebuildDocument3D.Save ()
        RebuildDocument3D.close ()

#Перестраиваем документ
iDocument3D.RebuildDocument ()

iKompasObject.ksMessage ('Готово!')
-----------------
Ну или пересохраните по частям  :(

Дим


chelkar

Ну не знаю в чем беда. Может не учел чего ...
Попробуйте вот в этой строчке поменять 1 на 0
        RebuildDocument3D.Open (fileName, 0)
тогда документы визуально будут открываться, может быть увидете на ком спотыкается.
"Плохой" файл будет сразу за последним открытым перед ошибкой.

А по частям тоже не выходит?