Помощь в учебе и работе
Главная
 
 
Лабораторный практикум «Автоматизация работ в AutoCAD средствами Visual Basic for Applications» для студентов «Механизация сельского хозяйства» Печать E-mail
Добавил(а) Administrator   
25.01.11 13:57

 

 

 

Шрифт ячеек с именами блоков чертежа назначает жирным

objExcelSheet.Range(Cells(1, 1), Cells(intI, 1)).Font.Bold = True

 

'Считает число вхождений каждого блока

xRow = 1

 

'Для всех элементов пространства модели выполняет

For Each objElement In objMspace

With objElement

Found = False

 

'Функция сравнения символьных строк: если объект - блок, то в цикле ищет его вхождение

If StrComp(objElement.EntityName, "AcDbBlockReference", 1)=0 Then

 

'Цикл по количеству блоков в чертеже

For intI = 1 To intTotalNumOfBlocks

If Not Found Then

 

'Сравнивает имя элемента и имя блока

If StrComp(.Name, strBlockName(intI), 1) = 0 Then

 

'Если имена совпадают, считывает атрибуты в массив objAttr

objAttr = objElement.GetAttributes

 

'Выводит в ячейки листа текст всех атрибутов блока, создавая таблицу атрибутов

For I = LBound(objAttr) To UBound(objAttr)

objExcelSheet.Cells(xRow, 5 + I) = objAttr(I).TextString

Next I

'Считает найденное вхождение блока

intNumBlockName(intI) = intNumBlockName(intI) + 1

Found = True

xRow = xRow + 1

End If

End If

Next

End If

End With

Set objElement = Nothing

Next objElement

 

'Печатает количество вхождений блока на Лист

For intI = 1 To intTotalNumOfBlocks

objExcelSheet.Cells(intI, 2) = intNumBlockName(intI)

 

 

 

Next

 

4-я часть – завершение работы программы

'Если AutoCAD активен, то запросить о выходе

If acad.Visible = True Then

Response = MsgBox("Завершить работу с AutoCAD?", 4, "AutoCAD Quit")

If Response = vbYes Then ' Подтверждение закрытия AutoCAD

acad.Quit '

Else 'Отказ от выхода из AutoCAD

Exit Sub ' Выход из программы

End If

End If

 

'Если AutoCAD работал скрытно, выгружает его

acad.Quit

 

Конец программы

End Sub

 

Использование VBA-приложения.

Для выполнения созданной программы следует:

- открыть книгу Excel с созданной программой;

- нажать на элемент управления - кнопку «Читать атрибуты»; VBA-приложение создаст в этой книге лист «Атрибуты», если его не было, или очистит от данных существующий лист с именем «Атрибуты», а затем выведет наименование каждого блока чертежа и количество "вхождений" блока в чертеж, а также список атрибутов блоков. Атрибуты каждого блока размещаются в строке.

Программа проверяет, загружен ли AutoCAD, и если нет, то загружает его в скрытом режиме. В окне диалога "Открыть файл" следует указать DWG-файл, из которого следует извлечь атрибуты блоков. В конце работы программа выгружает AutoCAD.

Если AutoCAD был уже загружен, то желательно, чтобы DWG-файл, из которого следует извлечь атрибуты блоков, был открыт. Если AutoCAD был загружен до начала работы VBA-приложения, то оно запросит, нужно ли выгружать AutoCAD, или нет.

На рис.13 приведен чертеж-схема, содержащий 2 блока: «Узел» - 5 вхождений и «Емкость» - 2 вхождения, каждое из которых имеет свои атрибуты (выведены на поле чертежа рядом с изображением блока).

На рис.14 приведен результат работы программы – перечень блоков чертежа с указанием количества вхождений и таблица атрибутов вхождений блоков в чертеж

 

 

 

 

Рис.13. Чертеж-схема

 

 

Рис.14. Таблица атрибутов блоков чертежа

 

 

Задания на разработку:

1. В приведенном VBA-приложении разработать процедуру, сортирующую таблицу атрибутов по наименованию узла.

 

Построение пространственной твердотельной модели.

 

 

 

 

 

 

Задача – разработать VBA-приложение, позволяющее по заданным глубине и ширине срезаемого пласта, углу установки и углу врезания спроектировать цилиндроидальный отвал плуга. Отвал плуга представляет собой сложное геометрическое тело, не имеющее (за исключением плоскости лезвия) плоских поверхностей. Цилиндроидальные плуги являются самыми простыми по геометрии, так как такой плуг практически можно вырезать из трубы большого диаметра. Задачей проектирования является создание твердотельной модели плуга, которая позволит определить, задавшись плотностью материала плуга, массовые, инерционные характеристики, а также позволит выполнить прочностные, вибрационные и гидродинамические расчеты.

Твердотельные модели представляют собой математические описания пространственных фигур и их сочетаний, выполненных по правилам логического сложения/вычитания. Так, например, труба есть логическое вычитание двух соосных цилиндров одинаковой длины и разного диаметра. Сами пространственные фигуры создаются заданием плоской фигуры, которая затем вращается вокруг заданной оси (фигуры вращения) или экструдируется (выдавливается) вдоль направляющей. Например, цилиндрическая пружина есть круг, выдавленный по цилиндрической спирали (см. рис.15).

 

 

 



Последнее обновление 07.02.11 15:20
 
 
Top! Top!