Đến nội dung


Hình ảnh
- - - - -

VBA vẽ hình tròn trong AutoCad3D


  • Please log in to reply
1 reply to this topic

#1 geomechanic

geomechanic

    biết pan

  • Members
  • Pip
  • 5 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 23 December 2010 - 07:45 PM

Chào cả nhà,

Mình hiện nay có 1 bài toán "Vẽ tự động hình tròn trong không gian 3D bằng AutoCad" muốn tham khảo ý kiến của các bạn

Như các bạn đã biết thì 1 hình tròn trong không gian đuợc xác định bởi tâm C, bán kính R và vector pháp tuyến n(nx,ny,nz) gồm 3 thành phần (nx**2+ny**2+nz**2=1.0). Như vậy một hình tròn sẽ hoàn toàn được xác định trong không gian 3D nếu chúng ta biết được 6 thông số: 3 thông số toạ độ của tâm C(Xc,Yc,Zc), bán kính R và 2 trong 3 thành phần của vector pháp tuyến.

Giả sử mình có 1 files text (*.txt) chứa thông số của N hình tròn như sau:
----------------------------------------------
1 Xc1 Yc1 Zc1 R1 n1 n2 n3
....
N XcN YcN ZcN RN nN nN nN
----------------------------------------------
Bây giờ mình muốn vẽ tự động các hình tròn này trong không gian Cad. Mình hiện nay chưa biết một chút nào về VBA cho Cad và Autolisp, nhưng theo mình nghĩ thì VBA và Autolisp đều có thể làm được việc này.

Nhờ mọi người tư vấn giúp mình là mình nên sử dụng chương trình nào VBA hay Autolisp thì sẽ tiện lợi hơn? Thực ra đây chỉ là bước đầu của một bài toán lớn, còn rất nhiều câu hỏi ở phía sau hy vọng mình sẽ nhận được sự giúp đỡ của mọi người để có thể hoàn thành được bài toán này.

Cám ơn mọi người và chúc tất cả có một giáng sinh vui vẻ
  • 0

#2 anhcos

anhcos

    biết lệnh hatchedit

  • Advance Member
  • PipPipPipPip
  • 260 Bài viết
Điểm đánh giá: 170 (tàm tạm)

Đã gửi 23 December 2010 - 09:34 PM

Bạn có thể tạo ra đường tròn trước

Dim center(2) as double
center(0) = 0
center(1) = 1

Dim vecto_phap_tuyen(2) as double
vecto_phap_tuyen(0) = 0
vecto_phap_tuyen(1) = 1
vecto_phap_tuyen(2) = 1

Dim cricle_obj as AcadCircle
set circle = ThisDrawing.ModelSpace.AddCircle(center, 4)

'Sau đó đặt vecto pháp tuyến cho nó
cricle.Normal = vecto_phap_tuyen
  • 0
Clear sky!

MF Rock collection.