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

Lỗi lisp cad

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

chào tất cả mọi ng!

tôi là 1 thành viên mới của diễn đàn, là 1 ng mới học cad có thắc mắc mog mọi ng giúp đỡ.

trong bản vẽ tôi có sử dụng lisp cad để chỉnh lại chiều cao của chữ số ghi kích thước, sau khi viết lệnh chọn và điền trị số chiều cao mới thì cad báo là nil và chiều cao của chữ số kích thước k thay đổi. Mong mọi ng giải đáp giúp.

Cảm ơ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

 

chào tất cả mọi ng!

tôi là 1 thành viên mới của diễn đàn, là 1 ng mới học cad có thắc mắc mog mọi ng giúp đỡ.

trong bản vẽ tôi có sử dụng lisp cad để chỉnh lại chiều cao của chữ số ghi kích thước, sau khi viết lệnh chọn và điền trị số chiều cao mới thì cad báo là nil và chiều cao của chữ số kích thước k thay đổi. Mong mọi ng giải đáp giúp.

Cảm ơn!!!

Phải có lisp thì mới chuẩn đoán được, mò thế này không tiện, up file lisp+ up file mà lisp không có tác dụng nhé, cũng nên kiểm tra xem nếu là lisp không có tác dụng với mọi file, mọi Dimstyle thì chắc là ..chẹp chẹp.. 

  • 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

Phải có lisp thì mới chuẩn đoán được, mò thế này không tiện, up file lisp+ up file mà lisp không có tác dụng nhé, cũng nên kiểm tra xem nếu là lisp không có tác dụng với mọi file, mọi Dimstyle thì chắc là ..chẹp chẹp.. 

cảm ơn bạn! bạn giúp t với, lisp đây.

http://www.cadviet.com/upfiles/3/119309_hdim_1.lsp

t đã kiểm tra với file # và thực hiện đc.  :) 

sao lại như đấy hả bạ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

Ủa LISP của bạn xài tốt mà, không biết bạn áp dụng vào bản vẽ ntn, và áp dụng như thế nào mà không được nhỉ?!!!

Sau khi bạn pick một DIM, Height text sẽ thay đổi đối với các DIM: cùng DIMstyle và cùng chiều cao nữa.

 

Tuy nhiên, mình thấy rằng trong một bản vẽ thống nhất, mặc dù có nhiều DIMstyle khác nhau về Scale Factor, nhưng Height text của các DIMstyle phải bằng nhau chứ? (thường bằng 2.5; 3 hay 3.5 gì đó, trong LISP sau, mình để sẵn giá trị tham chiếu là 3)

Vì vậy mình nghĩ, ý bạn là chuyển tất cả DIM trong bản vẽ (mặc dù khác DIMstyle và khác chiều cao) về cùng một Height text do bạn nhập vào, nếu vậy bạn xài thử LISP sau đây:

 

 

 
(defun c:HDA (/ th)
(command "undo" "be")
(defun tab (s / d r)
(while   (setq d (tblnext s (null d)))
(setq r  (cons (cdr (assoc 2 d)) r))))
(setq th (getreal "\nNhap chieu cao moi <3.0>:\n")) (if (= th nil) (setq th 3.0))
(setvar "cmdecho" 0)
(mapcar '(lambda(x) (command "DIMSTYLE" "R" x) (setvar "DIMTXT" th) (command "DIMSTYLE" "S" x "Y")) (tab "DIMSTYLE"))
(command "undo" "en") (command "-dimstyle" "A" "all" "")
(prompt (strcat "\nDa thay chieu cao DimText thanh: [" (rtos th) "]\n")))
(defun c:HDA (/ th);;; Height Dimensions All ;;;
(command "undo" "be")
(defun tab (s / d r)
(while   (setq d (tblnext s (null d)))
(setq r  (cons (cdr (assoc 2 d)) r))))
(setq th (getreal "\nNhap chieu cao moi <3.0>:\n")) (if (= th nil) (setq th 3.0))
(setvar "cmdecho" 0)
(mapcar '(lambda(x) (command "DIMSTYLE" "R" x) (setvar "DIMTXT" th) (command "DIMSTYLE" "S" x "Y")) (tab "DIMSTYLE"))
(command "undo" "en") (command "-dimstyle" "A" "all" "")
(prompt (strcat "\nDa thay chieu cao DimText thanh: [" (rtos th) "]\n")))
[/lisp]
(defun c:HDA (/ th)   ;;; Height Dimensions All ;;;
(command "undo" "be")
(defun tab (s / d r)
(while   (setq d (tblnext s (null d)))
(setq r  (cons (cdr (assoc 2 d)) r))))
(setq th (getreal "\nNhap chieu cao moi <3.0>:\n")) (if (= th nil) (setq th 3.0))
(setvar "cmdecho" 0)
(mapcar '(lambda(x) (command "DIMSTYLE" "R" x) (setvar "DIMTXT" th) (command "DIMSTYLE" "S" x "Y")) (tab "DIMSTYLE"))
(command "undo" "en") (command "-dimstyle" "A" "all" "")
(prompt (strcat "\nDa thay chieu cao DimText thanh: [" (rtos th) "]\n")))
[/lisp]
 
Chúc bạn vui!
  • 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

 

Ủa LISP của bạn xài tốt mà, không biết bạn áp dụng vào bản vẽ ntn, và áp dụng như thế nào mà không được nhỉ?!!!

Sau khi bạn pick một DIM, Height text sẽ thay đổi đối với các DIM: cùng DIMstyle và cùng chiều cao nữa.

 

Tuy nhiên, mình thấy rằng trong một bản vẽ thống nhất, mặc dù có nhiều DIMstyle khác nhau về Scale Factor, nhưng Height text của các DIMstyle phải bằng nhau chứ? (thường bằng 2.5; 3 hay 3.5 gì đó, trong LISP sau, mình để sẵn giá trị tham chiếu là 3)

Vì vậy mình nghĩ, ý bạn là chuyển tất cả DIM trong bản vẽ (mặc dù khác DIMstyle và khác chiều cao) về cùng một Height text do bạn nhập vào, nếu vậy bạn xài thử LISP sau đây:

 


 

(defun c:HDA (/ th);;; Height Dimensions All ;;;
(command "undo" "be")
(defun tab (s / d r)
(while   (setq d (tblnext s (null d)))
(setq r  (cons (cdr (assoc 2 d)) r))))
(setq th (getreal "\nNhap chieu cao moi <3.0>:\n")) (if (= th nil) (setq th 3.0))
(setvar "cmdecho" 0)
(mapcar '(lambda(x) (command "DIMSTYLE" "R" x) (setvar "DIMTXT" th) (command "DIMSTYLE" "S" x "Y")) (tab "DIMSTYLE"))
(command "undo" "en") (command "-dimstyle" "A" "all" "")
(prompt (strcat "\nDa thay chieu cao DimText thanh: [" (rtos th) "]\n")))
(defun c:HDA (/ th)   ;;; Height Dimensions All ;;;
(command "undo" "be")
(defun tab (s / d r)
(while   (setq d (tblnext s (null d)))
(setq r  (cons (cdr (assoc 2 d)) r))))
(setq th (getreal "\nNhap chieu cao moi <3.0>:\n")) (if (= th nil) (setq th 3.0))
(setvar "cmdecho" 0)
(mapcar '(lambda(x) (command "DIMSTYLE" "R" x) (setvar "DIMTXT" th) (command "DIMSTYLE" "S" x "Y")) (tab "DIMSTYLE"))
(command "undo" "en") (command "-dimstyle" "A" "all" "")
(prompt (strcat "\nDa thay chieu cao DimText thanh: [" (rtos th) "]\n")))
[/lisp]
 
Chúc bạn vui!

Cảm ơn bạn!!!

cái lisp ban đầu của tôi áp dụng với bản vẽ đầu tiên thì k đc, t thử với bản vẽ # và đã thực hiện đ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


×