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

lisp thêm dung sai

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

em tìm trên group thì lấy 1 lisp của bác Doan Van Ha nhưng mà em muốn thay dung sai dưới khác số 0 thì có được không ạ? ví dụ từ 6-10: dung sai trên là +0,015, dung sai dưới là 0,006 chứ kh như trong lisp là dung sai trên là +0,015, dung sai dưới là 0 ạ
(defun C:H7( / ass ss elst len dsai suff exdata) (setq ass (list '(0 3 0.010) '(3 6 0.012) '(6 10 0.015) '(10 18 0.018) '(18 30 0.021) '(30 50 0.025) '(50 80 0.030) '(80 120 0.035) '(120 180 0.040) '(180 250 0.046) '(250 315 0.052) '(315 400 0.057))) (regapp "ACAD") (princ "\nChon cac Dim can ghi dung sai...") (if (setq ss (ssget '((0 . "DIMENSION")))) (progn (foreach ent (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss))) (setq elst (entget ent)) (setq len (cdr (assoc 42 elst))) (foreach n ass (if (and (> len (car n)) (<= len (cadr n))) (setq dsai (caddr n)))) (if dsai (progn (setq suff (strcat "\\C5;\\H0.5X;\\S+" (rtos dsai 2 3) "^" "-0.0;")) (setq exdata (list (list -3 (cons "ACAD" (list (cons 1000 "DSTYLE") (cons 1002 "{") (cons 1070 3) (cons 1000 suff) (cons 1002 "}")))))) (setq elst (append elst exdata)) (entmod elst) (entmod (subst (cons 1 (strcat "%%C<>" (cdr (assoc 1 elst)))) (assoc 1 elst) elst))))))) (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
8 giờ trước, ppiu8703 đã nói:

em tìm trên group thì lấy 1 lisp của bác Doan Van Ha nhưng mà em muốn thay dung sai dưới khác số 0 thì có được không ạ? ví dụ từ 6-10: dung sai trên là +0,015, dung sai dưới là 0,006 chứ kh như trong lisp là dung sai trên là +0,015, dung sai dưới là 0 ạ
(defun C:H7( / ass ss elst len dsai suff exdata) (setq ass (list '(0 3 0.010) '(3 6 0.012) '(6 10 0.015) '(10 18 0.018) '(18 30 0.021) '(30 50 0.025) '(50 80 0.030) '(80 120 0.035) '(120 180 0.040) '(180 250 0.046) '(250 315 0.052) '(315 400 0.057))) (regapp "ACAD") (princ "\nChon cac Dim can ghi dung sai...") (if (setq ss (ssget '((0 . "DIMENSION")))) (progn (foreach ent (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss))) (setq elst (entget ent)) (setq len (cdr (assoc 42 elst))) (foreach n ass (if (and (> len (car n)) (<= len (cadr n))) (setq dsai (caddr n)))) (if dsai (progn (setq suff (strcat "\\C5;\\H0.5X;\\S+" (rtos dsai 2 3) "^" "-0.0;")) (setq exdata (list (list -3 (cons "ACAD" (list (cons 1000 "DSTYLE") (cons 1002 "{") (cons 1070 3) (cons 1000 suff) (cons 1002 "}")))))) (setq elst (append elst exdata)) (entmod elst) (entmod (subst (cons 1 (strcat "%%C<>" (cdr (assoc 1 elst)))) (assoc 1 elst) elst))))))) (princ))

 

 

 

Tôi thấy nếu ghi dung sai thì bạn dùng phần mềm autocad mechanical, ghi dung sai rất nhanh và tiện, có thể tra được cả chế độ lắp ráp theo tiêu chuẩn quốc tế ( H7, k6 ....) các loại cấp chính xác dung sai và các loại kích thướ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
10 giờ trước, nguyen 1linh đã nói:

Tôi thấy nếu ghi dung sai thì bạn dùng phần mềm autocad mechanical, ghi dung sai rất nhanh và tiện, có thể tra được cả chế độ lắp ráp theo tiêu chuẩn quốc tế ( H7, k6 ....) các loại cấp chính xác dung sai và các loại kích thước.

Em làm trong công ty sử dụng  cad bình thường nên mỗi lần ghi dung sai là em phải vào propertie mới làm dc á 

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

 

18 giờ trước, ppiu8703 đã nói:

Em làm trong công ty sử dụng  cad bình thường nên mỗi lần ghi dung sai là em phải vào propertie mới làm dc á 

Cái dung sai của Mechanical thì không chê vào đâu được. Nhưng edit mấy dim thông thường thì thằng Mechanical lại cảm giác rối hơn.

Gửi bạn cái mình đang dùng. Do có nhu cầu nên tự mày mò công cụ. Chỉ có những dung sai hay dùng thôi. Muốn thêm dung sai thì thêm vào file data.txt

Bạn bỏ file vào ổ C:\Dung_Sai

thích dùng menu thì menuload > Browse ->C:\Dung_Sai\menu_ds.cuix

thích dùng mình lisp thôi thì AP -> C:\Dung_Sai\Tolerance.lsp

Gọi lệnh ds1 hoặc menu. hỗ trợ 3 kiểu dung sai. Đổi kiểu bằng lệnh (kieudungsai) hoặc trên menu.

thêm lệnh tắt bằng cách sửa file C:\Dung_Sai\Tolerance.lsp, như ví dụ dưới

 

(defun c:th7 (/ mds)
	(setq mds "h7")
	(c:ds1)
(princ)
)

(defun c:H7 (/ mds)
	(setq mds "H7")
	(c:ds1)
(princ)
)

P/S: Bạn muốn sửa dung sai H7 thành 0.006 thì bạn copy cái vùng H7 trong Data.txt ra. Ctrl+H để thay thế +0.000 thành +0.006.

Nhớ phân biệt H7 với h7 nha. Với Back up file trước khi làm cho an toàn

 

 

Dung_Sai.zip

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  

×