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

 

 

 

Loop

Close #1 Закрытие файла

'Kill FileName2 Удаление файла

N = i

N1 = N / 2

For j = 0 To N1 - 5 Step 3

Построение сторон треугольника, объединение их в область и экструдирование

Задание координат точек линии

startPoint(0)=data(j): startPoint(1)=data(j+1): startPoint(2)=data(j+2)

endPoint(0)=data(j+3): endPoint(1)=data(j+4): endPoint(2)=data(j+5)

Создание линии – 1-го элемента области

Set Line(0) = ThisDrawing.ModelSpace.AddLine(startPoint, endPoint)

Задание координат точек линии

startPoint(0)=data(j): startPoint(1)=data(j+1): startPoint(2)=data(j+2)

endPoint(0)=data(N1+j): endPoint(1)=data(N1+j+1): endPoint(2)=data(N1+j+2)

Создание линии – 2-го элемента области

Set Line(1) = ThisDrawing.ModelSpace.AddLine(startPoint, endPoint)

Задание координат точек линии

startPoint(0)=data(j+3): startPoint(1)=data(j+4): startPoint(2)=data(j+5)

endPoint(0)=data(N1+j): endPoint(1)=data(N1+j+1): endPoint(2)=data(N1+j+2)

Создание линии – 3-го элемента области

Set Line(2) = ThisDrawing.ModelSpace.AddLine(startPoint, endPoint)

Создание треугольной области из трех линий, имеющих общие вершины

regionObj = ThisDrawing.ModelSpace.AddRegion(Line)

Выдавливание (экструдирование) области на заданную высоту в заданном направлении

Set solidObj = ThisDrawing.ModelSpace.AddExtrudedSolid(regionObj(0), h, Angle)

 

Построение сторон треугольника, объединение их в область и экструдирование

startPoint(0)=data(N1+j+3): startPoint(1)=data(N1+j+4): startPoint(2)=data(N1+j+5)

endPoint(0)=data(j+3): endPoint(1)=data(j+4): endPoint(2)=data(j+5)

Set Line(0) = ThisDrawing.ModelSpace.AddLine(startPoint, endPoint)

startPoint(0)=data(N1+j+3): startPoint(1)=data(N1+j+4): startPoint(2)=data(N1+j+5)

endPoint(0)=data(N1+j): endPoint(1)=data(N1+j+1): endPoint(2)=data(N1+j+2)

Set Line(1) = ThisDrawing.ModelSpace.AddLine(startPoint, endPoint)

startPoint(0)=data(j+3): startPoint(1)=data(j+4): startPoint(2)=data(j+5)

endPoint(0)=data(N1+j): endPoint(1)=data(N1+j+1): endPoint(2)=data(N1+j+2)

Set Line(2) = ThisDrawing.ModelSpace.AddLine(startPoint, endPoint)

regionObj = ThisDrawing.ModelSpace.AddRegion(Line)

Set solidObj = ThisDrawing.ModelSpace.AddExtrudedSolid(regionObj(0), h, Angle)

Next j

 

ZoomAll

End Sub

 

 

 

Особенностью построения твердотельной модели является использование треугольных областей (Region). Объект область (Region) в AutoCAD подвергается действию метода - выдавливание .AddExtrudedSolid(regionObj(0), h, Angle), в результате действия которого получается пространственная фигура – призма. Область формируется в AutoCAD только как плоская фигура, поэтому для создания областей использованы треугольники, являющиеся плоскими фигурами по определению.

 

6-й этап – создание расчетных программ в программе Mathcad:

Расчет геометрических параметров плуга реализует методику Летошнева [Летошнев М.Н. Сельскохозяйственные машины. М., Госсельхозиздат, 1955], позволяющую по заданным глубине и ширине пласта, углу установки плуга и углу врезания лемеха в почву определить координаты поперечного контура отвала и направляющей цилиндроидальной кривой.

Расчеты включают в себя:

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

б) расчет двумерных координат направляющей кривой поверхности плуга;

в) расчет пространственных координат контура отвала.

 

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

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

- открыть файл-чертеж AutoCAD с созданной программой;

- выбрать команду меню «ToolsMacroMacros», указать макрос Start_01 и нажать кнопку «Выполнить» (Run);

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

- после ввода данных следует последовательно выполнить расчетные программы в Mathcad. Об успешном выполнении программ будет сообщать информационная форма;

- после выполненных расчетов можно выполнять построения модели или лобового сечения на выбор. Результат построения модели представлены на рис.17;

- для определения массогабаритных свойств полученной твердотельной модели следует воспользоваться командой AutoCAD MASSPROP, для чего:

1. Выбрать изометрическое изображение объекта на экране командой: View3D ViewsSW Isometric. Уменьшить изображение модели так, чтобы вся модель была видна в поле экрана.

 

 

2. Выбрать в меню команду ToolsInquiryMass Properties и в ответ на приглашение указать объекты рамкой указать всю модель (следует учесть, что модель состоит из «набора» призм с треугольным основанием).

 

 

Рис.17. Модель отвала плуга

 

3. Получить перечень массовых, геометрических и инерционных характеристик объекта: массу, объем, центр масс, моменты инерции, центробежные моменты, радиусы инерции, центральные моменты.

 

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

1. Разработать VBA-приложение создания твердотельной модели шатровой поверхности:

- крыши в виде полуцилиндра (ангар);

- крыши в виде параболоида (седловидная поверхность).

 

 

 

Построение твердотельной модели пружины в SolidWorks 2001.

САПР AutoCAD не относится к «удобным» системам трехмерного параметрического моделирования. Большим недостатком AutoCAD можно считать отсутствие менеджера построений, позволяющего отследить этапы создания модели и внести в них изменения. Ведь один и тот же объект разные конструкторы разрабатывают по разному.

САПР SolidWorks 2001 является простой и удобной системой, позволяющей строить параметрические модели деталей и сборочных единиц, при этом построениями можно управлять из VBA. SolidWorks имеет свой редактор Visual Basic и позволяет сохранять процедуры VBA в файлах специального типа, которые можно выполнять с помощью команды «СервисМакросВыполнить», а также внести изменения в существующие процедуры командой «СервисМакросИзменить». Процедуры VBA, управляющие построениями в SolidWorks, можно создавать и в других приложениях, например Microsoft Excel.

Задача – разработать VBA-приложение, позволяющее создавать твердотельную модель пружины по следующим исходным данным:

Радиус пружины, м

Шаг пружины, м

Конусность, град

Количество витков

Радиус прутка, м

VBA-приложение может быть разработано в среде Visual Basic for Microsoft Excel. В простейшем виде проект может включать в себя: исходные данные на Листе книги Microsoft Excel и процедуры построения, размещенные в модуле VBA.

Ниже приведем текст процедуры построения модели пружины при условии, что программа SolidWorks активна и создан объект «деталь»:

Область описания переменных

Dim swApp As Object

Dim Part As Object

Dim boolstatus As Boolean

Dim longstatus As Long

Dim Annotation As Object

Dim Gtol As Object

Dim DatumTag As Object

Dim FeatureData As Object

Dim Feature As Object

Dim Component As Object

Процедура построения модели

Sub Пружина_модель()

задание констант

alfa0 = 1.570796326795 'угол начала спирали, рад

fi = 0.5235987755983 'угол поворота плоскости круга тела спирали, рад

 

 

чтение исходных данных из ячеек активного листа книги Excel

 

R = Cells(6, 4) радиус пружины, м

Step = Cells(7, 4) высота витка, м

Nstep = Cells(10, 4) количество витков

gammaGrad = Cells(8, 4) угол конусности пружины, град

rPrutka = Cells(9, 4) радиус прутка

 

gamma = gammaGrad * 3.14159265358979 / 180

 

связь с активным объектом-приложением SolidWorks

Set swApp = CreateObject("SldWorks.Application")

 

связь объектом-деталь

Set Part = swApp.ActiveDoc

 

Построение пространственной спирали, которая послужит направляющей для создания модели пружины

выбор плоскости построения эскиза

Part.SelectByID "Спереди", "PLANE", 0, 0, 0

 

создание эскиза

Part.InsertSketch

 

вычерчивание окружности радиусом R с координатами центра 0,0

Part.CreateCircle 0, 0, 0, R, 0, 0

 

выход из эскиза

Part.ClearSelection

Part.InsertSketch

 

создание объекта спираль

Part.InsertHelix 0, 1, 1, 0, 0, 0.2, Step, Nstep, gamma, alfa0

 

Построение окружности, которая послужит основанием для формирования пружины (радиус окружности = радиусу прутка пружины)

выбор плоскости «Справа»

Part.SelectByID "Справа", "PLANE", 0, 0, 0

 

создание эскиза в выбранной плоскости

Part.InsertSketch

создание осевой линии

Part.CreateLine2(0, 0.05, 0, 0, -0.05, 0).ConstructionGeometry = True

Part.SetPickMode

Part.ClearSelection

Part.InsertSketch

 

 

 

Создание плоскости, повернутой относительно созданной осевой линии на угол fi относительно плоскости «Справа»

Part.SelectByID "Справа", "PLANE", 0, 0, 0

Part.AndSelectByID "Линия1@Эскиз2", "EXTSKETCHSEGMENT", 0, -0.01092507630943, 0

Part.CreatePlaneAtAngle fi, 0

 

Создание эскиза и построение окружности на созданной плоскости

Part.InsertSketch

Part.CreateCircle 0, R, 0, 0, R - rPrutka, 0

Part.ClearSelection

Part.InsertSketch

 

Построение модели пружины

Выбор окружности как основы «выдавливания» пружины по направлению

Part.SelectByMark "Эскиз3", "SKETCH", 0, 0, 0, 1

Выбор спирали как направления для выдавливания

Part.AndSelectByMark "Спираль1", "REFERENCECURVES", -0.01708010583218, -0.0375323476687, 0.1565494011601, 4

Выдавливание (экструдирование) пружины

Part.InsertProtrusionSwept4 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0

Скрытие объектов построения

Part.SelectByID "Плоскость1", "PLANE", 0, 0, 0

Part.UnBlankRefGeom

Part.SelectByID "Эскиз2", "SKETCH", 0, 0, 0

Part.BlankSketch

Part.SelectByID "Плоскость1", "PLANE", 0, 0, 0

Part.BlankRefGeom

Part.SelectByID "Эскиз1", "SKETCH", 0, 0, 0

Part.BlankSketch

Вывод на экран всей модели пружины в изометрии

Part.ViewZoomtofit2

End Sub

 



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