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

[Yêu cầu] Cải tiến lệnh trim theo yêu nhu cầu

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

Mình có nhu cầu như hình sau:

Vì cần làm với khoảng 2000 cấu kiện nên phương án làm tay là không tiện

Nhu cầu như sau:

1. Nhập tên lệnh

2. Select nhiều Polyline kín

3. Trim Polyline như hình với kết quả là Layer hiện hành

4. Hỏi có xóa đối tượng cũ hay không (để mặc định là không xóa)

* Cảm ơn các bạn đã đọc nhiều

Ps: Mình chỉ biết tý ty về Vba Excel chứ món này thì mình chịu hẳn nên không làm gì được ạ

(Hình như sau ạ)

DDDDD.jpg

Link file như sau ạ:

https://file.io/whBqvxL0u6V6

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

Rồi xác định toạ độ Y 2 bên thế nào bạn?

Như trường hợp đầu tiên, có 2 đỉnh bên trái có toạ độ X giống nhau, sao ko phải là điểm bên dưới mà là điểm bên trên?

  • Like 2

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
16 phút trước, CadExTools đã nói:

Rồi xác định toạ độ Y 2 bên thế nào bạn?

Như trường hợp đầu tiên, có 2 đỉnh bên trái có toạ độ X giống nhau, sao ko phải là điểm bên dưới mà là điểm bên trên?

Mình sửa lại và bổ sung "Dữ liệu đầu vào rồi ạ!. Cảm ơn bạn đã chỉ ra thiếu sót của mình

  • Like 1

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
23 phút trước, SoftvnBin đã nói:

Mình sửa lại và bổ sung "Dữ liệu đầu vào rồi ạ!. Cảm ơn bạn đã chỉ ra thiếu sót của mình

Vâng bạn, cơ hội kiếm ly cafe đây roài. 

 

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

Xuất tọa độ các đỉnh. Tìm Xmin và Xmax. Nếu Xmin trùng nhau thì Y nào lớn hơn chọn nó là điểm chặn. Tương tự Xmax trùng nhau thì xét Y nào lớn hơn chọn chặn. Vậy ta có 2 điểm chặn. Có thể sắp xếp lại đỉnh rồi vẽ lại, xóa đối tượng cũ đi.

  • Like 1

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

Đúng vậy em.

Lấy bounds để tìm Xmin, Xmax. Lấy toạ độ các điểm có Xmin Xmax để sort theo Y.

Change pline startpoint về ptXmin để đảm bảo không break thành > 2 pline. Splits pline bởi 2 điểm đó. Chọn lấy cái có Y Trung bình lớn hơn. Vẽ cái đã chọn.

Cái này làm bằng Net dễ hơn lisp.

  • Like 2

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
Vào lúc 8/4/2023 tại 19:20, cuongtk2 đã nói:

Lệnh đã xong

breakpline (2).gif

Em cảm ơn anh ạ, giờ em mới đọc được bài của anh ạ. Vì cần gấp nên em nhờ bác CadExTools xử lý giúp em rồi ạ

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

×