Chuyển đến nội dung
Diễn đàn CADViet
Đăng nhập để thực hiện theo  
711a041092

Lisp vát góc giữa hai đường thẳng (chiều dài vát phụ thuộc vào góc)

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

8 phút trước, tannguyen291 đã nói:

Cố lên bạn nhé. Đâu đó cỡ 600 dòng code thôi. :))

Mình không dùng lệnh (command ...) trong lisp nên hơi dài.

Có những cái mình dùng command không phát sinh lỗi thì dùng cho gọn chứ 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
1 phút trước, limfx đã nói:

Có những cái mình dùng command không phát sinh lỗi thì dùng cho gọn chứ a?

  

Bạn còn nhớ lệnh muli Boundary bạn lên nhóm hỏi mọi người không. Dùng command thì lisp chạy chậm. 

Ví dụ trường hợp bạn explode 1 pline và dùng (command "chamfer" pt1 pt2 ) chẳng hạn. Làm sao biết pt1 đã chọn đúng đối tượng được explode ra hay đối tượng ban đầu.

command có quá nhiều hạn chế. 

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

Cố lên bạn nhé. Đâu đó cỡ 600 dòng code thôi. :))

Mình viết xong cái này khả năng suy luận logic nó lạ lắm. If else liên tục. :)) bây giờ bảo sửa nó là chịu. K biết sửa kiểu gì luôn.

Mình không dùng lệnh (command ...) trong lisp nên hơi dài.

image.png.c8875cfff32b6d3ade662b4e7b2e8abf.png

 

Em không nghĩ phải mất tới 600 dòng đâu!

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

Xoá 599 ký tự xuống dòng thì lisp chỉ có 1 dòng.;-D

 Lúc này đến tác giả cũng không biết nội dung của nó. 

Em từng làm cái trò mèo này 1 lần. KK. Thật là vi diệu.

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

Ngắn được thì ngon. :))

image.thumb.png.bac01f980eb95556e90796552a219d42.png

Mới trim được điểm giao nhau đuối rồi anh tannguyen291. Vậy làm cách nào để biết các đối tượng sinh ra  khi mình đã trim 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

thay vì dùng ssget để quét chọn  thử dùng cách này để quét chọn sau đó chọn lại các đối tượng đã xử lý ở vùng chọn đó lần nữa.

(setq p1 (getpoint "\nPick point1 window: "))
(setq p2 (getcorner p1 "\nPick point2 corner: "))
(setq ss  (ssget "w" p1 p2 (list (cons 0 "*LINE"))))

 

 

  • Vote tăng 1
  • Vote giảm 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
5 giờ trước, DungNguyen685 đã nói:

thay vì dùng ssget để quét chọn  thử dùng cách này để quét chọn sau đó chọn lại các đối tượng đã xử lý ở vùng chọn đó lần nữa.


(setq p1 (getpoint "\nPick point1 window: "))
(setq p2 (getcorner p1 "\nPick point2 corner: "))
(setq ss  (ssget "w" p1 p2 (list (cons 0 "*LINE"))))

  

 

để làm gì vậy bạn. Mình có thể dùng ssnamex là lấy đựa toạ độ quét trúng đối tượng khi dùng ssget mà. Mất công vậy, trải nghiệm người dùng lại bị kém đ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
9 giờ trước, limfx đã nói:

 

Mới trim được điểm giao nhau đuối rồi anh tannguyen291. Vậy làm cách nào để biết các đối tượng sinh ra  khi mình đã trim nó anh?

Mình dùng hàm riêng của mình để trim đối tượng. Nếu bạn dùng command để trim thì dùng entlast sau khi trim là được mà 

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

để làm gì vậy bạn. Mình có thể dùng ssnamex là lấy đựa toạ độ quét trúng đối tượng khi dùng ssget mà. Mất công vậy, trải nghiệm người dùng lại bị kém đi. 

Mình đang hiểu là như này, bạn ấy quét chọn nhóm đối tượng xong xử lý trim hết thì sẽ tạo thành 1 nhóm đối tượng mới giờ muốn chọn toàn bộ nhóm đó để xử lý bước tiếp theo.

Mình đưa ra 1 hướng là chọn lại vùng chọ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

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
Đăng nhập để thực hiện theo  

×