Размеры из Drafting в Excel

Программирование для CATIA.

Размеры из Drafting в Excel

Сообщение CATmonkey » 16 апр 2009 12:26

Привет всем.
Вопрос такой. Возможно ли передать численные значения размеров из Драфтинга в Excel с помощью Automation пробегая по всем видимым размерам на чертеже?
Задача сделать код, который бы формировал Excel документ для измерительного отчета, который сейчас делается руками. Этот шаблон должет включать как сами значения размеров с допусками, так и элементы geometrical tolerance.
Интересует именно теоретическая возможность, но если у кого есть практические наработки то буду благодарен за практический совет.
CATmonkey
Новичок
Новичок
 
Сообщения: 12
Зарегистрирован: 03 апр 2008 15:02
Откуда: Denmark

Re: Размеры из Drafting в Excel

Сообщение booSter » 16 апр 2009 12:53

С теоретической частью со стороны M$.Excel никаких проблем не вижу.
Все M$.Excel (до версии 2003 включительно) имеют на борту VBA-API который без проблем должен дёргаться из CATVBA-проектов.
С 2007-ым - немного сложнее, поскольку у него уже не VBA, а .Net-API; который, впрочем, доступен и скриптам (а-ля CATVBA) через .NET COM Interoperability Layer. Т.е. с точки зрения скрипта всё как-бы по-старому (хотя и работает по-новому). ... экий :[|||]: получился то :)

Со стороны КАТЬКИ - нужно проверить доступность всех интересующих значений из-под CATVBA,
а ежели на CAA-RADE - то всё гарантированно делается.
Сделаешь доброе дело за деньги - скажут спасибо,
Сделаешь бесплатно - сядут на шею...
©пёрто
Аватара пользователя
booSter
Moderator
 
Сообщения: 227
Images: 15
Зарегистрирован: 09 фев 2008 16:48
Откуда: Minsk

Re: Размеры из Drafting в Excel

Сообщение CATmonkey » 16 апр 2009 13:00

booSter спасибо. :good: Буду ковырять.
Excel 2003 используется и вряд ли в скором времени будет апгрейд.
CATmonkey
Новичок
Новичок
 
Сообщения: 12
Зарегистрирован: 03 апр 2008 15:02
Откуда: Denmark

Re: Размеры из Drafting в Excel

Сообщение Artem » 16 апр 2009 15:04

Код: Выделить всё
Sub CATMain()
    Dim exsl As Object
    Dim pril As Excel.Application
    Dim objExcel As Excel.Application
    Dim objWorkBook As Excel.Workbook
    Dim objsheet As Excel.Worksheet

    On Error Resume Next
    Set exsl = GetObject(, "Excel.Application")
    Set pril = exsl.Application
    pril.Visible = True
    Set objWorkBook = pril.Workbooks.Item(1)
    If Err.Number <> 0 Then
        Err.Clear
        Set exsl = CreateObject("Excel.Application")
        Set pril = exsl.Application
        pril.Visible = True
        Set objWorkBook = pril.Workbooks.Add
    End If
    Set objsheet = objWorkBook.Sheets.Item(1)
    On Error GoTo 0
    Dim drawingDocument1 As DrawingDocument
    Set drawingDocument1 = CATIA.ActiveDocument
    Dim selection1 As Selection
    Set selection1 = drawingDocument1.Selection
   
    Dim aa As SelectedElement
    Dim dd As DrawingDimension
    Dim ss As DrawingDimValue

    selection1.Search "CATDrwSearch.DrwDimension,all"
    For i = 1 To selection1.Count
        Set aa = CATIA.ActiveDocument.Selection.Item(i)
        Set dd = aa.Value
        Set ss = dd.GetValue
        objsheet.Cells(i, 1) = Replace(CStr(ss.Value), ",", ".")
    Next
End Sub
animae scrinium servitus
Аватара пользователя
Artem
Активный участник
Активный участник
 
Сообщения: 387
Зарегистрирован: 14 сен 2007 07:14

Re: Размеры из Drafting в Excel

Сообщение CATmonkey » 16 апр 2009 15:34

Artem, спасибо за код.
У меня VBA ругается правда на "Dim pril As Excel.Application", пишет ошибку, что user defined type not defined. В чем может быть проблема?
CATmonkey
Новичок
Новичок
 
Сообщения: 12
Зарегистрирован: 03 апр 2008 15:02
Откуда: Denmark

Re: Размеры из Drafting в Excel

Сообщение Artem » 16 апр 2009 16:04

прилинкуй в tools/references библиотеку Microsoft Excel 11.0
animae scrinium servitus
Аватара пользователя
Artem
Активный участник
Активный участник
 
Сообщения: 387
Зарегистрирован: 14 сен 2007 07:14

Re: Размеры из Drafting в Excel

Сообщение CATmonkey » 21 апр 2009 14:53

Artem писал(а):прилинкуй в tools/references библиотеку Microsoft Excel 11.0

Отлично, спасиб, заработало все.
CATmonkey
Новичок
Новичок
 
Сообщения: 12
Зарегистрирован: 03 апр 2008 15:02
Откуда: Denmark


Вернуться в CAA-RADE

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4