Lập trình vẽ các đối tượng trong Inventor

H
Bình luận: 0Lượt xem: 4,686

haui

Tài xế O-H
Chào các bạn!
Inventor cho chúng ta khá nhiều công cụ để thiết kế đồ họa, bên cạnh đó nó còn cho phép chúng ta sử dụng các ngôn ngữ lập trình để vẽ các đối tượng. Bài viết này tôi sẽ hướng dẫn các bạn sử dụng VBA để lập trình vẽ một đối tượng trong Inventor.
Các kiến thức cần chuẩn bị:
- Có kiến thức cơ bản về ngôn ngữ lập trình VBA hoặc Visual Basic
- Sử dụng thành thạo các lệnh trong Inventor để vẽ các đối tượng
Bắt đầu:
- Mở cửa sổ lập trình từ chương trình Inventor: Vào Tools/Macro/Visual Basic Editor hoặc nhấn Alt+F11
Cửa sổ lập trình hiện ra:
- Insert một user form sau đó kéo một button từ Toolbox vào UserForm như hình:



- Double Click vào button để vào cửa sổ code:
Đầu tiên, ta phải khai báo khởi tạo một File, sử dụng câu lệnh sau:
Mã:
Mã:
'tao file
    ' Create a new part document, using the default part template.
    Dim oPartDoc As PartDocument
    Set oPartDoc = ThisApplication.Documents.Add(kPartDocumentObject, _
                ThisApplication.FileManager.GetTemplateFile(kPartDocumentObject))
Tiếp theo, tạo công cụ thiết kế

Mã:
' tao cong cu thiet ke
' Set a reference to the component definition.
Dim oCompDef As PartComponentDefinition
Set oCompDef = oPartDoc.ComponentDefinition

' Create a new sketch on the X-Y work plane. Since it's being created on
' one of the base workplanes we know the orientation it will be created in
' and don't need to worry about controlling it. Because of this we also
' know the origin of the sketch plane will be at (0,0,0) in model space.

' Tao WorkPlane
Dim WORKPLANE As WORKPLANE
Set WORKPLANE = oCompDef.WorkPlanes.Item(3)

' Tao Sketch
Dim oSketch As PlanarSketch
Set oSketch = oCompDef.Sketches.Add(WORKPLANE)

' Set a reference to the transient geometry object.
Dim oTransGeom As TransientGeometry
Set oTransGeom = ThisApplication.TransientGeometry
Tiếp theo, vẽ một hình chữ nhật, ta đưa vào tham số là hai điểm ở hai góc chéo nhau của HCN

Mã:
' Draw a 4cm x 3cm rectangle with the corner at (0,0)
Dim oRectangleLines As SketchEntitiesEnumerator
Set oRectangleLines = oSketch.SketchLines.AddAsTwoPointRectangle( _
oTransGeom.CreatePoint2d(0, 0), _
oTransGeom.CreatePoint2d(4, 3))
Vẽ trục quay:

Mã:
Mã:
Dim truc As SketchLine
    Set truc = oSketch.SketchLines.AddByTwoPoints(oTransGeom.CreatePoint2d(0, 4),_
    oTransGeom.CreatePoint2d(4, 3))
Tạo profile

Mã:
Mã:
' Create a profile.
    Dim oProfile As Profile
    Set oProfile = oSketch.Profiles.AddForSolid
Cuối cùng, sử dụng lệnh Revolve để quay

Mã:
Mã:
 	Dim oRevolve As RevolveFeature
    Set oRevolve = oCompDef.Features.RevolveFeatures.AddFull(oProfile, truc, kJoinOperation)

Như vậy là đã hoàn tất, các bạn nhấn F5 để chạy, click chọn Commandbutton như hình dưới



Và đây là kết quả:



Các bạn tải và giải nén file Defaul.ivb.rar để xem code cụ thể nhé. Trong file này có hai UserForm, cái thứ nhất là bài vẽ Bulong, các thứ hai là bài vẽ đối tượng mình vừa demo cho các bạn.
Cách mở file ivb: Trong cửa sổ lập trình(Alt+F11), các bạn chọn File/Load Project và chọn file .ivb muốn xem

DOWNLOAD Defaul.ivb.rar

Trên đây là toàn bộ bài viết của mình, bạn nào quan tâm có thể nêu thắc mắc trong topic này mình và bác hardfarmer sẽ giải đáp cho các bạn.

Chúc các bạn thành công!
 

Bạn hãy đăng nhập hoặc đăng ký để phản hồi tại đây nhé.

Bên trên