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

[Hỏi] Lisp chọn tập hợp đối tượng gần nhất được sinh ra bởi 1 lênh.

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

Các đối tượng tạo mới bởi 1 module VBA k được, e đoán có khả năng với arx hoặc Net cũng .....

A Thái muốn ứng dụng lisp này vào việc j thế 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

he he. Mình post ẩu khi copy không đúng biến. đã sửa

Đọc qua đoạn này của bạn ở bài trước: start lisp - invoke command (trong lisp) - end lisp - end command (ngoài lisp). thì có vẻ như bạn cũng có hướng đi giống như mình để giải quyết vấn đề nan giải này nhỉ. nhức hết cả đầu với nó.

Code của mình sử dụng các event sau trong code:

  • CommandWillStart ~ :vlr-commandWillStart
  • CommandEnded ~ :vlr-commandEnded
  • LispWillStart ~ :vlr-lispWillStart
  • LispEnded ~ :vlr-lispEnded
  • ObjectAppended ~ :vlr-objectAppended
  • ObjectReappended ~ :vlr-objectReAppended // for undo command
  • ObjectUnappended ~ :vlr-objectUnAppended // for redo command
  • ObjectErased ~ :vlr-objectErased

Ngoài ra mình dùng 2 list để lưu các ent trước và sau khi lisp/command end, để quyết định xem nên lấy list nào là list sẽ trả về nếu user gọi lệnh get selection.

Let me know if you need my Code for reference

Good luck!

p/s: đã test với mấy cái dim thì thấy nó OK hết.

 

http://www.youtube.com/watch?v=3ga6QpkjSzw

  • 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

Mình đã nghĩ rằng không thể làm được nó. nhưng khi bạn đưa lên Clip đầu tiên thì mình đã thấy có cơ sở để thực hiện được. Nhìn qua các even bạn sử dụng thì đúng là cùng 1 thuật toán để giải, có thể khác nhau chút xíu.

 

@ketxu: bạn cứ vẽ nhiều thì sẽ thấy lệnh SX mình viết trên là cần thiết. Nếu chưa bao giờ dùng cách này để select đối tượng thì sẽ nghĩ rằng không cần nó bởi chúng ta quen với việc select theo cách khác rồi. Nhưng nếu dùng quen thì thấy...sướng! đỡ được tương đối nhiều thời gian cho việc select đối tượng. Bản thân các lệnh hỗ trợ chọn đối tượng nhanh của cad cũng không có lựa chọn để select loại đối tượng này nên việc viết nó là cần thiết chứ.

Vấn đề dim thì có thể sửa khá đơn giản. nhưng dùng cho các lệnh của ngôn ngữ khác thì chắc là chịu rùi. thôi đành vậ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ác lệnh của ngôn ngữ khác thì chắc là chịu rùi. thôi đành vậy

ngôn ngữ nào cũng sẽ Append Ent vào database cả. catch cái đó là OK

Good luck!

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ác Thaistreetz ơi,bác có có phiên bản mới của lisp sx không cho em xin với ạ!em thấy lisp này của bác có ý tưởng rất hay,chỉ tiếc là khi lisp chạy không ổn định ,lúc chạy đúng lúc không chạy đúng bác ạ,ví dụ với lệnh copy cùng một nhóm đối tượng khi thì nó chọn đủ các đối tượng mới sinh ra,lúc lại chọn thiếu,các lệnh khác cũng như thế.Mong sớm nhận được hồi âm của bác ạ.Em cảm ơn bác trướ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

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  

×