Chuyển đến nội dung
Diễn đàn CADViet
ngoctanvt

Nhờ sửa lỗi code VBA

Các bài được khuyến nghị

Xin chào mọi người. Mình đang làm một ứng dụng vẽ kích thước nhanh trong không gian 3D, và mình đang có một số vướng mắc. Rất mong nhận được sự giúp đỡ từ diễn đàn. Xin cảm ơn.

Các bạn xem bản vẽ ban đầu, bản vẽ kết quả và code VBA mình gửi kèm bên dưới.

Ứng dụng của mình thực hiện theo các bước:

1.    Chọn 3 điểm P1,P2,P3 trên màn hình

image.png.f033a99b612dc5c870d9861b35dab00a.png

3 điểm này sẽ phục vụ cho việc tạo UCS mới, lần lượt là gốc tọa độ, điểm trên trục X và điểm trên trục Y

2.    Nhập khoảng cách giữa các kích thước, mặc định là 200mm.

3.    Chọn đường cong phía trên (đường cong này có thể là Line, Arc, Polyline, 2DPolyline, 3D Polyline, Spline…).

image.png.0ae88cf975d894de01fb9e29244c77e6.png

 

Các bước tính toán để ra kết quả:

1.    Tạo UCS mới theo 3 điểm P1, P2, P3 ở trên

2.    Tạo 1 3DPolyline vuông góc với đoạn P1P2 có chiều dài bằng P1P2, điểm đầu của polyline nằm trên đoạn P1P2

image.png.b40b9a390185537cf2c52e56e484994b.png

3.    Tìm giao điểm của 3DPolyline vừa tạo và đường cong đã chọn

4.    Gán điểm cuối của 3DPolyline là giao điểm vừa tìm được

5.    Vẽ kích thước, 2 điểm đầu và cuối của kích thước chính là 2 điểm đầu và cuối của 3DPolyline. Điểm chèn Text của kích thước là trung điểm của 3DPolyline.

6.    Tiến hành tương tự đến hết chiều dài đoạn P1P2 với khoảng cách giữa các kích thước mặc định là 200mm.

 

Hiện tại chương trình của mình đang gặp một số lỗi:

1.    Điểm đầu và cuối của kích thước được tạo ra đã đúng yêu cầu nhưng điểm đặt của Text ghi kích thước thì chưa đúng. Mình không hiểu tại sao điểm đặt Text này luôn nằm trên mặt phẳng XY của WCS

2.    Chương trình chỉ hoạt động được nếu đường cong phía trên là 1 đường duy nhất. Nếu thay đường cong phía trên bằng 2 hay nhiều đoạn cong nối tiếp nhau thì sẽ xảy ra lỗi.

Ketqua.dwg

Test.dwg

Test.rar

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Nhờ mọi người fix giúp mình lỗi này,

Tool của mình chạy trong cad 2010-64 bit thì ok nhưng chạy sang cad 2015-64 bit nó lại báo lỗi này

Cảm ơn cả nhà trước nha.

Code.JPG

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Sửa 2 dòng màu đó báo bên trên bằng cách thêm vào từ khóa

Declare PtrSafe Function 

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Tạo một tài khoản hoặc đăng nhập để nhận xét

Bạn cần phải là một thành viên để lại một bình luận

Tạo tài khoản

Đăng ký một tài khoản mới trong cộng đồng của chúng tôi. Điều đó dễ mà.

Đăng ký tài khoản mới

Đăng nhập

Bạn có sẵn sàng để tạo một tài khoản ? Đăng nhập tại đây.

Đăng nhập ngay

×