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

"[Yêu cầu] Lisp đo chiều dài đoạn thẳng và chia cho một số bất kì"

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

Ý tưởng của em là vậy:

1. Nhập lệnh lisp, ví dụ " chiachia"

2. Chọn đối tượng cần đo ( gồn line, pline,...),

3. Chọn 1 text có số, vd text đó "100" hay "300"

4. Ra kết quả

Mong mấy anh giúp em 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

Ý tưởng của em là vậy:

1. Nhập lệnh lisp, ví dụ " chiachia"

2. Chọn đối tượng cần đo ( gồn line, pline,...),

3. Chọn 1 text có số, vd text đó "100" hay "300"

4. Ra kết quả

Mong mấy anh giúp em với!

Đây bạn!

(defun C:HA()
(setq cmold (getvar "cmdecho"))
(setvar "cmdecho" 0)
(princ "\nChon doi tuong can do chieu dai...")
(command "lengthen" (entsel) "")
(princ "\nChon Text de lam so chia...")
(prompt (strcat "\nKet qua cua phep chia la " (rtos (/  (getvar "perimeter") (atof (cdr (assoc 1 (entget (car (entsel))))))) 2)))
(setvar "cmdecho" cmold)
(princ))

  • 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

Anh Hà ơi, chính xác rồi anh Hà. Nhưng mà em chọn nhiều đường thẳng gồm ( line, pline ), rồi chia cho một số trong text thì không được.

Anh Hà nâng cấp giúp em nha.

Em cám ơn 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

Anh Hà ơi, chính xác rồi anh Hà. Nhưng mà em chọn nhiều đường thẳng gồm ( line, pline ), rồi chia cho một số trong text thì không được.

Anh Hà nâng cấp giúp em nha.

Em cám ơn nhiều.

Lấy tổng chiều dài các đường rồi chia cho text, hay lấy từng đường rồi chia cho text? Kết quả trả về thông báo như vậy hay kiểu khác?

Thôi thì phang đại theo nguyên tắc tính tổng chiều dài các đối tượng rồi chia cho Text, nếu không ưng bụng thì sẽ sửa lại:

(defun C:HA()	;Doan Van Ha CADViet.com
(setq cmold (getvar "cmdecho") cd 0)
(setvar "cmdecho" 0)
(princ "\nChon cac doi tuong LINE/PLINE can do chieu dai...")
(foreach ent (acet-ss-to-list (ssget '((0 . "*LINE"))))
 (command "lengthen" ent "")
 (setq cd (+ cd (getvar "perimeter"))))
(princ "\nChon Text de lam so chia...")
(prompt (strcat "\nKet qua cua phep chia la: " (rtos (/  cd (atof (cdr (assoc 1 (entget (car (entsel))))))) 2)))
(setvar "cmdecho" cmold)
(princ))

  • 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  

×