Лабораторный практикум «Автоматизация работ в AutoCAD средствами Visual Basic for Applications» для студентов «Механизация сельского хозяйства» |
Добавил(а) Administrator |
25.01.11 13:57 |
Страница 16 из 17
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 с созданной программой; - выбрать команду меню «ToolsMacroMacros», указать макрос Start_01 и нажать кнопку «Выполнить» (Run); - в поля открывшейся формы следует ввести исходные данные и нажать кнопку «Ввод данных». Если данные введены некорректно, на экране появится соответствующее сообщение с предложением исправить ввод данных. При попытке выполнить расчеты или построения без ввода данных программа вернет сообщение, что файл данных не создан; - после ввода данных следует последовательно выполнить расчетные программы в Mathcad. Об успешном выполнении программ будет сообщать информационная форма; - после выполненных расчетов можно выполнять построения модели или лобового сечения на выбор. Результат построения модели представлены на рис.17; - для определения массогабаритных свойств полученной твердотельной модели следует воспользоваться командой AutoCAD MASSPROP, для чего: 1. Выбрать изометрическое изображение объекта на экране командой: View3D ViewsSW Isometric. Уменьшить изображение модели так, чтобы вся модель была видна в поле экрана.
2. Выбрать в меню команду ToolsInquiryMass 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 |