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

Hoán đổi vị trí hai đối tượng cho nhau

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

Em muốn hoán đổi vị trí hai đối tượng cho nhau khi có 2 điểm làm chuẩn thì có lệnh nào không. Bác nào biết giúp em với. Bản vẽ sau:Đường link: http://www.cadviet.com/upfiles/Translate.dwg

Lệnh là SW:

(defun c:sw()
 (princ "\nChon doi tuong 1: ")
 (setq ss1 (ssget)
p1 (getpoint "\nDiem chuan 1")
 )
 (princ "\nChon doi tuong 2: ")
 (setq ss2 (ssget)
p2 (getpoint "\nDiem chuan 2")
 )
 (setq oldos (getvar "osmode"))
 (setvar "osmode" 0)
 (command ".move" ss1 "" p1 p2)
 (command ".move" ss2 "" p2 p1)
 (setvar "osmode" oldos)
 (princ)
)

  • Vote tăng 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
Bác Hoành ơi. Em thấy đây là 1 lệnh cũng khá hay mà em không hiểu tại sao trong CAD lại không có.

Xin lỗi bác Hoành cho em ném đá hội nghị 1 phát nhá:

Trong CAD không có vì chưa đến tuổi phải có.

Bao giờ có tự nó sẽ có

Dúng như râu đến tuổi tự nhiên mọc....

Dúng như trăng đến rằm trăng tròn

Dúng như người con gái ...

Em càng lớn càng xinh đẹp hơ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

Bác Hoành ơi cho em hỏi thêm chút được không. Giờ cũng với lệnh này nhưng em muốn chọn cả hai đối tượng cùng lúc bằng của sổ Window và chọn điểm chuẩn 1,điểm chuẩn 2 trước sau tuỳ ý có được 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
Bác Hoành ơi cho em hỏi thêm chút được không. Giờ cũng với lệnh này nhưng em muốn chọn cả hai đối tượng cùng lúc bằng của sổ Window và chọn điểm chuẩn 1,điểm chuẩn 2 trước sau tuỳ ý có được không.

chưa hiểu ý bạn, bạn hãy mô tả rõ hơn về chọn cả hai đối tượng cùng lúc bằng cửa sổ window?

 

Theo tôi hiểu sơ bộ là bạn chỉ cần hoán đổi 2 đối tượng, dùng drag chuột để chọn 2 đối tượng này, sau đó thì pick 2 điểm để tạo điểm hoán đổi? Nếu như vậy thì file bạn upload lên không đúng như ý này, vì trong file bạn đã upload mỗi cụm có đến mấy đối tượng chứ không phải là 1.

  • 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âng đúng như ý bác rồi đấy, file CAD trước là em lấy làm Ví dụ thôi mà, em nói thêm ý em là sau khi ta quét chọn tất cả các đối tượng đó thì ta có thể chọn 2 điểm để hoán đổi theo ý mình tức là chọn điểm nào trước cũng được miễn là sau khi chon 2 điểm này thì 2 nhóm đối tượng này sẽ hoán đổi vị trí cho nhau.

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

Lệnh là SW:

 

(defun c:sw()
(princ "\nChon doi tuong 1: ")
(setq ss1 (ssget)
p1 (getpoint "\nDiem chuan 1")
)
(princ "\nChon doi tuong 2: ")
(setq ss2 (ssget)
p2 (getpoint "\nDiem chuan 2")
)
(setq oldos (getvar "osmode"))
(setvar "osmode" 0)
(command ".move" ss1 "" p1 p2)
(command ".move" ss2 "" p2 p1)
(setvar "osmode" oldos)
(princ)
)

Em muốn hoán đổi vị trí 2 text cho nhau, dùng lệnh này cũng đc nhưng phải làm nhièu thao tác qua,mà em cần phải hoán đổi vị trí text rất nhiều. Em muốn chỉ cần chon 2 text là nó tự chuyển vị trí cho nhau. Bac nào có thể sửa lại cho em đc không?Cam ơn các bá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

Em muốn hoán đổi vị trí 2 text cho nhau, dùng lệnh này cũng đc nhưng phải làm nhièu thao tác qua,mà em cần phải hoán đổi vị trí text rất nhiều. Em muốn chỉ cần chon 2 text là nó tự chuyển vị trí cho nhau. Bac nào có thể sửa lại cho em đc không?Cam ơn các bác!!

Thử cái này xem thế nào: http://www.cadviet.com/upfiles/7/159678_doitext.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

Em muốn hoán đổi vị trí 2 text cho nhau, dùng lệnh này cũng đc nhưng phải làm nhièu thao tác qua,mà em cần phải hoán đổi vị trí text rất nhiều. Em muốn chỉ cần chon 2 text là nó tự chuyển vị trí cho nhau. Bac nào có thể sửa lại cho em đc không?Cam ơn các bác!!

Nghịch cái này nhìn 2 text hoàn đổi vui phết ^_^

(defun c:test ()
  (while (and (setq a (car (entsel "\nChon text 1: ")))
	      (setq b (car (entsel "\nChon text 2: ")))
	      )
    (setq b_ins (assoc 10 (entget b)))
    (entmod (subst (assoc 10 (entget a)) (assoc 10 (entget b)) (entget b)))
    (entmod (subst b_ins (assoc 10 (entget a)) (entget a)))
    )
  (princ)
  )

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

 

Nghịch cái này nhìn 2 text hoàn đổi vui phết ^_^

(defun c:test ()
  (while (and (setq a (car (entsel "\nChon text 1: ")))
	      (setq b (car (entsel "\nChon text 2: ")))
	      )
    (setq b_ins (assoc 10 (entget b)))
    (entmod (subst (assoc 10 (entget a)) (assoc 10 (entget b)) (entget b)))
    (entmod (subst b_ins (assoc 10 (entget a)) (entget a)))
    )
  (princ)
  )

Thử cái này nhưng không đượ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

×