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

Autocad.Net : Change hatch boundary

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

8 giờ trước, minhtuan57hk đã nói:

Hi anh. Anh ơi em tìm được trên mạng đoạn code ntn. Nhờ anh build giúp để sử dụng được trong CAD được không ạ.

https://www.keanw.com/2010/06/tracing-a-boundary-defined-by-autocad-geometry-using-net.html

Em cảm ơn anh!

Mục tiêu của em để làm gì, bởi đã có lệnh BO trong Cad để tạo Boundary rồi.

Code của Kean chỉ mang ý nghĩa học thuật, hầu hết phục vụ cho coder về mặt hướng dẫn chứ không phải cho người vẽ.

  • Vote tăng 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
14 giờ trước, cuongtk2 đã nói:

Mục tiêu của em để làm gì, bởi đã có lệnh BO trong Cad để tạo Boundary rồi.

Code của Kean chỉ mang ý nghĩa học thuật, hầu hết phục vụ cho coder về mặt hướng dẫn chứ không phải cho người vẽ.

Chắc bạn ấy đang cần lệnh bo đổi màu tăng dần đó bác. :))

à dạo này em đang bắt đầu nghiên cứu c# bác cho em xin vài link hướng dẫn cài debug CAD với ạ. em làm chưa được. toàn buid ra dùng netload để test.

  • 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
14 giờ trước, cuongtk2 đã nói:

Mục tiêu của em để làm gì, bởi đã có lệnh BO trong Cad để tạo Boundary rồi.

Code của Kean chỉ mang ý nghĩa học thuật, hầu hết phục vụ cho coder về mặt hướng dẫn chứ không phải cho người vẽ.

Dạ anh, Em sử dụng Revit để vẽ đường ống gió (là các hình chữ nhật), nhưng khi Export sang Cad thì các nét  đường ống lại là các đường line rời rạc. Em muốn sử dụng để tạo Boundary kiểu Polyline theo tất cả các đường line đó. Kiểu như kết quả đạt được như file đính kèm ạ!

TEST.dwg

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

Bạn dùng thử cái này, lisp này là lisp hach các đoạn giao nhau trên forum, tuy nhiên một phần tính năng của lisp cũng là tạo đường bo cho các đoạn giao nhau như yêu cầu của bạn.

Tên lệch: taovungpolylinekin

Tao vung kin tu cac duong giao nhau.lsp

  • Vote tăng 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
Vừa xong, conghoa đã nói:

Bạn dùng thử cái này, lisp này là lisp hach các đoạn giao nhau trên forum, tuy nhiên một phần tính năng của lisp cũng là tạo đường bo cho các đoạn giao nhau như yêu cầu của bạn.

Tên lệch: taovungpolylinekin

Tao vung kin tu cac duong giao nhau.lsp

Em cảm ơn anh! Em có test qua rất nhiều lisp rồi. Nhưng nó đều chạy rất chậm và không hiệu quả, lúc tạo được, khi lại không tạo được. 

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

Bạn dùng thử cái này, lisp này là lisp hach các đoạn giao nhau trên forum, tuy nhiên một phần tính năng của lisp cũng là tạo đường bo cho các đoạn giao nhau như yêu cầu của bạn.

Tên lệch: taovungpolylinekin

Tao vung kin tu cac duong giao nhau.lsp

Em vừa sử dụng lisp nhưng thì có lúc tạo được, có lúc lại tạo lỗi, tạo ra trùng sau, chạy nhiều 1đối tượng chút sẽ bị đơ luôn anh ạ.

 

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ề thứ bạn muốn thì lisp của conghoa sẽ phù hợp hơn, vì chỉ cần 1 lần select. Để mình test qua, nếu chưa phù hợp sẽ viết code khác cho bạn. 

  • Vote tăng 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

trên mạng có cái lisp chạy max nhanh, nhưng mất phí bạn ah. Chịu khó khoanh ít một thôi :D

Mình test cho cái ví dụ của bạn thì cũng khá nhanh. Tuy nhiên sẽ xuất hiện 1 đường bo bao trùm lên các hình liền nhau.

  • 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
6 giờ trước, conghoa đã nói:

trên mạng có cái lisp chạy max nhanh, nhưng mất phí bạn ah. Chịu khó khoanh ít một thôi :D

Mình test cho cái ví dụ của bạn thì cũng khá nhanh. Tuy nhiên sẽ xuất hiện 1 đường bo bao trùm lên các hình liền nhau.

Vâng, nó tạo đường bao trùm, ngoài ra có 1 số đường chỉ tạo ra polyline không kín nữa.

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

Về thứ bạn muốn thì lisp của conghoa sẽ phù hợp hơn, vì chỉ cần 1 lần select. Để mình test qua, nếu chưa phù hợp sẽ viết code khác cho bạn. 

Em gửi lại anh file test. Anh xem thử trên file này ạ.

MẶT BẰNG THÔNG GIÓ TẦNG 5 - VÙNG 4 - TỜ 01.dwg

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

@minhtuan57hk xem video về phương thức thực hiện .

Em cảm ơn anh! Lisp hoạt động tốt nhưng vẫn là nằm ở vấn đề tốc độ chạy lệnh. và anh có thể làm cho các đoạn không chạm nhau ( nếu đủ nhỏ) thì vẫn tạo ra được Boundary không ạ!

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

@cuongtk2:

Dùng detect boundary theo điểm click thì có chung đường cạnh biên vẫn ra kết quả tốt đấy. 

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

@anhcos

Vấn đề là click nhiều mỏi tay, đôi khi click bị trật vào cạnh còn hiện thông báo lỗi. Do đó nên dùng select objects.

Còn vấn đề để cho nó chạy nhanh được thì em chưa đủ khả năng học thứ đó chứ chưa nói đến làm ra.

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 9/11/2024 tại 14:54, cuongtk2 đã nói:

@minhtuan57hk xem video về phương thức thực hiện .

Em đã từng viết lisp này và thấy hoạt động dựa trên region cũng không hề chậm chỉ khoảng 5s là xong rồi ạ.

còn về gap equal thì giải quyết bằng cách lấy điểm giao cắt Extends both ,rồi so sánh với startpoint, end point. 

Sau này có điều kiện chuyển lisp sang .net có lẽ công cụ sẽ chạy nhanh hơn.

giphy.gif

  • Vote tăng 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
Vào lúc 11/11/2024 tại 04:38, cuongtk2 đã nói:

@anhcos

Vấn đề là click nhiều mỏi tay, đôi khi click bị trật vào cạnh còn hiện thông báo lỗi. Do đó nên dùng select objects.

Còn vấn đề để cho nó chạy nhanh được thì em chưa đủ khả năng học thứ đó chứ chưa nói đến làm ra.

À click tự động ấy chứ, dùng Editor.TraceBoundary, như cái video này:

 

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

Cái này tìm các điểm mốc/điểm giao của các hình, xong tính ra lưới tam giác (delaunay) rồi lấy trọng tâm tam giác, có thêm chút gia giảm nữa là có điểm chèn.

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 13/11/2024 tại 14:31, cuongtk2 đã nói:

Bác chia lưới m x n theo bound tổng để traceboundary à.

Chia lưới này cũng dc, nhưng fải tính ra cái bao lồi (convexhull) của tập đối tượng chọn sẽ giảm đi số lượng điểm và loại bỏ bớt điểm ngoà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

×