Chuyển đến nội dung
Diễn đàn CADViet
  • Thông báo

    • Nguyen Hoanh

      CADViet đã hoàn tất nâng cấp   14/09/2017

      Chào các bạn, CADViet đã hoàn tất việc nâng cấp lên phiên bản mới. Tất cả các chức năng đã hoạt động theo kỳ vọng của ban quản trị. Nếu có vấn đề gì cần phản hồi, các bản post ở đây nhé: Trân trọng, Nguyễn Hoành.
Updatelisp

Cần lisp đo khoảng cách và góc nghiêng đoạn thẳng

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

Updatelisp    8

Trên diễn đàn mình có đọc được đoạn lisp FL.lsp đo chiều dài và góc nghiêng đoạn thẳng nhưng hình như chiều dài là đơn vị inch thì phải. Vậy có lisp nào ghi đơn vị là cm,m,mm và giá trị ghi phải có đơn vị ở sau (ví dụ 20cm chẳng hạn )?Theo mình thì lisp FL.lsp khá hay nhưng còn gặp vướn mắt 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
Nguyen Hoanh    4.524
Trên diễn đàn mình có đọc được đoạn lisp FL.lsp đo chiều dài và góc nghiêng đoạn thẳng nhưng hình như chiều dài là đơn vị inch thì phải. Vậy có lisp nào ghi đơn vị là cm,m,mm và giá trị ghi phải có đơn vị ở sau (ví dụ 20cm chẳng hạn )?Theo mình thì lisp FL.lsp khá hay nhưng còn gặp vướn mắt như vậy!

Cụ thể, bạn muốn gì?

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
Updatelisp    8
Tức mình muốn lisp có thể ghi chiều dài đoạn thẳng theo đơn vị bản vẽ và góc nghiêng của đoạn thẳng đó

Mình đng rất cần Lisp ghi chiều dài đoạn thẳng theo đơn vị bản vẽ và góc nghiêng của đoạn thẳng đó. Mong các pro chỉ giup!!

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
vndesperados    253
Mình đng rất cần Lisp ghi chiều dài đoạn thẳng theo đơn vị bản vẽ và góc nghiêng của đoạn thẳng đó. Mong các pro chỉ giup!!

 

 

Cái này đơn giản quá nên chẳng ai muốn giúp. Hehehe

Thui chịu khó đọc sách ở chổ nói về dimstyle và Unit là biết liền.

Tìm lisp làm gì cho mất thời gian.

Bác Hòanh hỏi xong mà không thèm trả lời là do thấy bạn lười quá đó.

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
Updatelisp    8
Cái này đơn giản quá nên chẳng ai muốn giúp. Hehehe

Thui chịu khó đọc sách ở chổ nói về dimstyle và Unit là biết liền.

Tìm lisp làm gì cho mất thời gian.

Bác Hòanh hỏi xong mà không thèm trả lời là do thấy bạn lười quá đó.

Đối với các Pro thì đơn giản chứ đối với mình thật là khó.thật sự mình không biết làm cách nào. Còn về lisp mình càng mù tịt thêm..Hôm trưóc mình có đọc lisp Fl.lsp trên diễn đàn nhưng không biết cách nào viết chiều dài đoạn thẳng theo yêu cầu của mình( Mình chỉ biết cách sử dụng chứ không viết được lisp mà ). Thà không chứ biết Lisp đó rồi mà không sử dụng thì tiếc quá .

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
Nguyen Hoanh    4.524
Tức mình muốn lisp có thể ghi chiều dài đoạn thẳng theo đơn vị bản vẽ và góc nghiêng của đoạn thẳng đó

 

lệnh dn (đo nghiêng) dưới đây sẽ giúp bạn.

(defun c:dn ()
 (defun str (n)
   (vl-string-right-trim "." (vl-string-right-trim "0" (rtos n)))
 )
 (setq	sel (entsel "\nPick vao 1 line:")
ent (car sel)
tt  (entget ent)
p1  (cdr (assoc 10 tt))
p2  (cdr (assoc 11 tt))
goc (str (/ (* (angle p1 p2) 180) pi))
dai (str (distance p1 p2))
 )
 (wtxt (strcat "l=" dai "; g=" goc "%%d") (cadr sel))

)

(defun wtxt (txt p / sty d h)
 (setq
   sty	(getvar "textstyle")
   d	(tblsearch "style" sty)
   h	(cdr (assoc 40 d))
 )
 (entmake (list (cons 0 "TEXT")
	 (cons 7 sty)
	 (cons 1 txt)
	 (cons 10 p)
	 (if (> h 0)
	   (cons 40 h)
	   (assoc 40 d)
	 )
	 (assoc 41 d)
   )
 )
)

  • 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
Updatelisp    8
lệnh dn (đo nghiêng) dưới đây sẽ giúp bạn.

(defun c:dn ()
 (defun str (n)
   (vl-string-right-trim "." (vl-string-right-trim "0" (rtos n)))
 )
 (setq	sel (entsel "\nPick vao 1 line:")
ent (car sel)
tt  (entget ent)
p1  (cdr (assoc 10 tt))
p2  (cdr (assoc 11 tt))
goc (str (/ (* (angle p1 p2) 180) pi))
dai (str (distance p1 p2))
 )
 (wtxt (strcat "l=" dai "; g=" goc "%%d") (cadr sel))

)

(defun wtxt (txt p / sty d h)
 (setq
   sty	(getvar "textstyle")
   d	(tblsearch "style" sty)
   h	(cdr (assoc 40 d))
 )
 (entmake (list (cons 0 "TEXT")
	 (cons 7 sty)
	 (cons 1 txt)
	 (cons 10 p)
	 (if (> h 0)
	   (cons 40 h)
	   (assoc 40 d)
	 )
	 (assoc 41 d)
   )
 )
)

Thanks Bác Hoành nhiều !Nhưng lisp này thì text ghi lại không theo phương của đường thẳng mà mình vẽ ra .Làm cách nào để khắc phục lỗi đố vậy 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
crazylisp    14
Thanks Bác Hoành nhiều !Nhưng lisp này thì text ghi lại không theo phương của đường thẳng mà mình vẽ ra .Làm cách nào để khắc phục lỗi đố vậy Bác !

Xin được gánh vác cùng bác Hoành!

bạn chèn thêm mấy dòng code tại chỗ tôi đã tô đỏ vào code ban đầu thì text sẽ nghiêng theo line:

 

(defun c:dn ()

(defun str (n)

(vl-string-right-trim "." (vl-string-right-trim "0" (rtos n)))

)

(setq sel (entsel "\nPick vao 1 line:")

ent (car sel)

tt (entget ent)

p1 (cdr (assoc 10 tt))

p2 (cdr (assoc 11 tt))

goc (str (/ (* (angle p1 p2) 180) pi))

dai (str (distance p1 p2))

)

(wtxt (strcat "l=" dai "; g=" goc "%%d") (cadr sel))

(setq DuLieu (entget (entlast))

DuLieu (subst (cons 50 (angle p1 p2)) (assoc 50 DuLieu) DuLieu)

)

(entmod DuLieu)

)

 

(defun wtxt (txt p / sty d h)

(setq

sty (getvar "textstyle")

d (tblsearch "style" sty)

h (cdr (assoc 40 d))

)

(entmake (list (cons 0 "TEXT")

(cons 7 sty)

(cons 1 txt)

(cons 10 p)

(if (> h 0)

(cons 40 h)

(assoc 40 d)

)

(assoc 41 d)

)

)

)

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


×