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

[Đã xong] Nhờ các bác pro viết dùm đoạn lisp copy này với

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

Em có một đoạn thao tác như sau:

Có 2 nhóm đối tượng A và B.

 

Tiến hành:

Lệnh c1: Chọn nhóm đối tượng A. Chọn gốc copy cho nhóm đối tượng A.

Chọn nhóm đối tượng thay thế B. Chọn gốc thay thế cho nhóm B.

Kết quả là nhóm B mất đi và nhóm A đc copy thay thế cho nhóm B với điểm copy và điểm đến của nhóm A là 2 điểm đã chọn trong đầu vào.

À mà làm multi lệnh như kiểu lệnh copy đc càng tốt các bác nhé.

Có nghĩa là cứ chọn nhóm A gốc và sau đó lần lượt chọn các nhóm thay thế B - điểm thay thế B; nhóm C - điểm thay thế C; v.v

em thấy khá hay dùng mặc dù có thể thao tác bằng lệnh nhưng sẽ tốn nhiều thời gian cho quá trình zoom và erase rất mất việc.

Các bác bớt chút time viết dùm em với nhé. thanks các bác nhiều nhiề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

Bạn cho mình hỏi bạn chỉ có 1 nhóm B và muốn thay thế bằng 1 nhóm A thôi ah. nếu thế thì copy và paste cho nhanh. còn nếu có nhiều nhóm như vậy thì sao bạn ko tạo 2 block A, B, rùi dùng lệnh "Replace block with another block" trong express tool.

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ám ơn bác đã góp ý. Nhưng ở đây mình có các nhóm đối tượng bất kỳ và tính thêm cả thời gian thao tác nữa. Khi bác tạo block rùi thay thế block nữa e rằng còn lâu hơn là bác dùng lệnh erase rồi copy. Minh thấy là đoạn công việc này có thể làm bằng tay nhưng nếu có auto lisp và thì sẽ kỳ diều hơn nhiều. hì :)

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

Em có một đoạn thao tác như sau:

Có 2 nhóm đối tượng A và B.

 

Tiến hành:

Lệnh c1: Chọn nhóm đối tượng A. Chọn gốc copy cho nhóm đối tượng A.

Chọn nhóm đối tượng thay thế B. Chọn gốc thay thế cho nhóm B.

Kết quả là nhóm B mất đi và nhóm A đc copy thay thế cho nhóm B với điểm copy và điểm đến của nhóm A là 2 điểm đã chọn trong đầu vào.

À mà làm multi lệnh như kiểu lệnh copy đc càng tốt các bác nhé.

Có nghĩa là cứ chọn nhóm A gốc - điểm gốc copy và sau đó lần lượt chọn các nhóm thay thế B - điểm thay thế B; nhóm C - điểm thay thế C; D; E v.v

em thấy khá hay dùng mặc dù có thể thao tác bằng lệnh nhưng sẽ tốn nhiều thời gian cho quá trình zoom và erase rất mất việc.

Các bác bớt chút time viết dùm em với nhé. thanks các bác nhiều nhiều :)

Của bạn đây:

http://www.cadviet.com/upfiles/3/copy_delete.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

Em có một đoạn thao tác như sau:

Có 2 nhóm đối tượng A và B.

 

Tiến hành:

Lệnh c1: Chọn nhóm đối tượng A. Chọn gốc copy cho nhóm đối tượng A.

Chọn nhóm đối tượng thay thế B. Chọn gốc thay thế cho nhóm B.

Kết quả là nhóm B mất đi và nhóm A đc copy thay thế cho nhóm B với điểm copy và điểm đến của nhóm A là 2 điểm đã chọn trong đầu vào.

À mà làm multi lệnh như kiểu lệnh copy đc càng tốt các bác nhé.

Có nghĩa là cứ chọn nhóm A gốc - điểm gốc copy và sau đó lần lượt chọn các nhóm thay thế B - điểm thay thế B; nhóm C - điểm thay thế C; D; E v.v

em thấy khá hay dùng mặc dù có thể thao tác bằng lệnh nhưng sẽ tốn nhiều thời gian cho quá trình zoom và erase rất mất việc.

Các bác bớt chút time viết dùm em với nhé. thanks các bác nhiều nhiều :)

Hề hề hề,

Cái vụ bạn yêu cầu này coi bộ khó à nghen.

Bạn cần nói ky kỹ chút nữa mới hy vọng có thể làm được. Tỷ như vị trí tương dối giữa các đối tương trong nhóm đối tượng A có giống với vị trí tương đối của các các đối tượng trong nhóm đối tượng B hay không ??? Nếu như không thì sau khi copy xong nó sẽ thành cái chi hỉ???

Rồi nữa, số lượng các đối tượng trong nhóm đối tượng A có bằng số lượng các đối tượng trong nhóm đối tượng B không nữa chứ???

Và thứ tự của các đối tượng trong nhóm đối tượng A có nhất thiết phải đúng như thứ tự của các đối tượng trong nhóm đối tượng B không nữa???

Hề hề hề,

Hy vọng bạn sẽ suy nghĩ thấu đáo về các vấn đề trên và các vấn đề khác có liên quan rồi post lại nhé.

Hề hề hề,....

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

Hề hề hề,

Cái vụ bạn yêu cầu này coi bộ khó à nghen.

Bạn cần nói ky kỹ chút nữa mới hy vọng có thể làm được. Tỷ như vị trí tương dối giữa các đối tương trong nhóm đối tượng A có giống với vị trí tương đối của các các đối tượng trong nhóm đối tượng B hay không ??? Nếu như không thì sau khi copy xong nó sẽ thành cái chi hỉ???

Rồi nữa, số lượng các đối tượng trong nhóm đối tượng A có bằng số lượng các đối tượng trong nhóm đối tượng B không nữa chứ???

Và thứ tự của các đối tượng trong nhóm đối tượng A có nhất thiết phải đúng như thứ tự của các đối tượng trong nhóm đối tượng B không nữa???

Hề hề hề,

Hy vọng bạn sẽ suy nghĩ thấu đáo về các vấn đề trên và các vấn đề khác có liên quan rồi post lại nhé.

Hề hề hề,....

 

Ý mình là coi như bằng thực hiện lệnh erase xóa nhóm B đi và sau đó thực hiện lệnh copy nhóm A với 2 điểm để copy và điểm đến là 2 điểm mình pick tự chọn trong lisp bác ạ. thật ra thì theo mình nghĩ như thế không cần quan trọng là các đối tượng đó có tương ứng hay không nữa và sẽ tổng quát đc cho các trường hợp. Bác xem ý em thế có đc ko?

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 là coi như bằng thực hiện lệnh erase xóa nhóm B đi và sau đó thực hiện lệnh copy nhóm A với 2 điểm để copy và điểm đến là 2 điểm mình pick tự chọn trong lisp bác ạ. thật ra thì theo mình nghĩ như thế không cần quan trọng là các đối tượng đó có tương ứng hay không nữa và sẽ tổng quát đc cho các trường hợp. Bác xem ý em thế có đc ko?

Hề hề hề,

Vậy mình hiểu như sau có đúng không nhỉ???

Bạn muốn copy một nhóm các đối tượng A từ vị trí thứ nhất do bạn chọn tới vị trí thứ hai cũng do bạn chọn. Tuy nhiên trước đó bạn lại muốn xóa bớt đi một số đối tượng B nào đó để bản vẽ đỡ rối rắm. Các đối tượng trong nhóm B này có thề là bất cứ anh cu nào mà bạn ghét. Sau đó tiếp tục copy nhóm đối tượng A tới vị trí mới nữa và trước khi copy thì cũng lại cho bạn xóa bớt dăm thằng ghét mặt đi. Cứ vậy cho đến khi bạn hết muốn copy hỉ????

Hề hề hề,.....

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

Hề hề hề,

Vậy mình hiểu như sau có đúng không nhỉ???

Bạn muốn copy một nhóm các đối tượng A từ vị trí thứ nhất do bạn chọn tới vị trí thứ hai cũng do bạn chọn. Tuy nhiên trước đó bạn lại muốn xóa bớt đi một số đối tượng B nào đó để bản vẽ đỡ rối rắm. Các đối tượng trong nhóm B này có thề là bất cứ anh cu nào mà bạn ghét. Sau đó tiếp tục copy nhóm đối tượng A tới vị trí mới nữa và trước khi copy thì cũng lại cho bạn xóa bớt dăm thằng ghét mặt đi. Cứ vậy cho đến khi bạn hết muốn copy hỉ????

Hề hề hề,.....

 

Đúng thế đó bác. bác xem có chế đc em cái lisp đó vớ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

Đúng thế đó bác. bác xem có chế đc em cái lisp đó với?

Tôi đã viết giùm bạn ở trên (trang #3734, Doan Van Ha). Bạn xem có đúng ý không 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

Đúng thế đó bác. bác xem có chế đc em cái lisp đó với?

Hề hề hề,

Nếu đúng vậy thì bạn có thể dùng cái lisp của bác Đoan Van Ha hay xài thử cái ni coi có ưng cái bụng không hè????

(defun c:copnh (/ ss1 p1 p2 ss2)
(command "undo" "be")
(alert "\n Chon nhom doi tuong can copy")
(setq ss1 (ssget )
        p1 (getpoint "\n Chon diem goc ")
        p2 (getpoint p1 "\n Chon diem dich")
)
(while p2
      (alert "\n Chon nhom doi tuong can xoa")
      (setq ss2 (ssget))
      (command "erase" ss2 "")
      (command "copy" ss1 "" p1 p2)
      (setq p2 (getpoint p1 "\n Chon diem dich ke tiep"))
)
(command "undo" "e")
(princ)
)

Hề hề hề,'

Chúc bạn vui.

Chỉnh sửa theo phamthanhbinh
Post nhầm tên tác giả
  • 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

Hề hề hề,

Nếu đúng vậy thì bạn có thể dùng cái lisp của bác Đoan Van Ha hay xài thử cái ni coi có ưng cái bụng không hè????

(defun c:copnh (/ ss1 p1 p2 ss2)
(command "undo" "be")
(alert "\n Chon nhom doi tuong can copy")
(setq ss1 (ssget )
        p1 (getpoint "\n Chon diem goc ")
        p2 (getpoint p1 "\n Chon diem dich")
)
(while p2
      (alert "\n Chon nhom doi tuong can xoa")
      (setq ss2 (ssget))
      (command "erase" ss2 "")
      (command "copy" ss1 "" p1 p2)
      (setq p2 (getpoint p1 "\n Chon diem dich ke tiep"))
)
(command "undo" "e")
(princ)
)

Hề hề hề,'

Chúc bạn vui.

Sorry bác Phamthanhbinh! Nếu biết bác giúp thì tôi đã không viết giúp như trên.

Chỉnh sửa theo phamthanhbinh
Post nhầm tên tác giả
  • 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

Sorry bác Phamthanhbinh! Nếu biết bác giúp thì tôi đã không viết giúp như trên.

Hề hề hề,

Ấy chết, Sao bác lại nói vậy???? Chẳng qua là mình có tí nhầm lẫn cái tên mà bác giận vậy sao???? Xin lỗi bác nha , bác cho xin hai chữ ĐẠI XÁ để mình còn được sống thêm dăm bữa bác nhé.....

Cái việc viết lách này âu cũng là do cái khoái mà ra. Đôi lúc có hơi quá khoái mà lú lẫn thì mong các bác thông cảm, chớ trách giận nhau mà chi.

Hề hề hề,...

  • 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

Hi, đúng ý mình rồi. dùng ngon, giao diện thân thiện. thanks bác nhé!!

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ám ơn bác đã góp ý. Nhưng ở đây mình có các nhóm đối tượng bất kỳ và tính thêm cả thời gian thao tác nữa. Khi bác tạo block rùi thay thế block nữa e rằng còn lâu hơn là bác dùng lệnh erase rồi copy. Minh thấy là đoạn công việc này có thể làm bằng tay nhưng nếu có auto lisp và thì sẽ kỳ diều hơn nhiều. hì :)

 

Các bạn có thể xem tham khảo lisp nè nhé. Mình đã nhờ đc các bác viết. Nay up lên cho ai có nhu cầu có thể dùng thử.

http://www.cadviet.c...copy_delete.lsp

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  

×