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

Move text theo trục Z

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

Bạn đang có trong tay một bản vẽ trắc địa. Trong bản vẽ đó, các điểm cao độ được xác định bằng giá trị các đối tượng text. Làm sao để move các đối tượng text này lên cao độ đúng như trong giá trị của nó?

 

Bạn copy đoạn lisp sau vào một file .lsp, rồi sau đó appload lên ACAD và dùng lệnh movetextz là ok:

 

(defun c:movetextz()

(defun mtone(ent)

(setq tt (enteget ent)

gt (cdr (assoc 1 tt))

old (assoc 10 tt)

new (list 10 (car old) (cadr old) (atof gt))

tt (sub new old tt)

)

(entmod tt)

)

(setq ss (ssget '((0 . "TEXT")))

lstent (ss2ent ss)

)

(foreach pp lstent

(mtone lstent)

)

)

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

file cua bác chạy báo lỗi bác ui.

Em viết theo vòng lặp repeat, bác tham khảo:

 

 

(defun C:mz()

(setq ds (ssget '((0 . "TEXT"))))

(setq I (sslength ds))

(setq N 0)

(repeat I

(setq Z (atof (cdr (assoc 1 (entget (ssname ds N))))))

(setq text (entget (ssname ds N)))

(setq ttext (cdr (assoc 10 text)))

(setq text (subst (cons 10 (list (car ttext) (cadr ttext) z)) (assoc 10 text) text ))

(entmod text)

(entupd (ssname ds N))

(setq N (+ N 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
(defun c:movetextz()

(defun mtone(ent)

(setq tt (enteget ent)

gt (cdr (assoc 1 tt))

old (assoc 10 tt)

new (list 10 (car old) (cadr old) (atof gt))

tt (sub new old tt)

)

(entmod tt)

)

(setq ss (ssget '((0 . "TEXT")))

lstent (ss2ent ss)

)

(foreach pp lstent

(mtone lstent)

))

 

Vừa thiếu vừa sai, không báo lỗi mới lạ! Đề nghị ResArchi xem lại các chỗ đánh dấu bold.

Ssg xin góp vui một chiêu khác, dùng whilessdel:

 

(defun C:mz2 (/ ss e data Z old new )

(setq ss (ssget '((0 . "TEXT"))))

(while (setq e (ssname ss 0))

(setq

data (entget e)

Z (atof (cdr (assoc 1 data)))

old (assoc 10 data)

new (list 10 (cadr old) (caddr old) Z)

)

(entmod (subst new old data))

(ssdel e ss)

)

)

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
(defun C:mz2 (/ ss e data Z old new )

....

)

 

Cái này sao chọn text xong thì ko thấy gì nữa 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

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  

×