duyhung
-
Số lượng nội dung
87 -
Đã tham gia
-
Lần ghé thăm cuối
Bài đăng được đăng bởi duyhung
-
-
Hi mình thấy list congT rất hay xong nếu có thêm phần 2 là update nếu copy text thì hay hơn nữa, vì khi tính toán có thể vì một lúc đãng trí sẽ không lặp lại lisp congT nên kq sẽ không update được.
Ah khi xuất kết quả có thể thêm 3 lựa chọn giống như lisp Tcal đã up lên diễn đàn thì hay.
Thanks.
-
Ah, hóa ra mình có thể sử dụng nó luôn giống như trong notepad+++ và đưa ra môi trường Cad để test ah.
Hj oki thank.
-
Tool của bạn ketxu rất hay, mình thích cái autocopy; nhưng ko biết chức năng Lib và test lisp của bạn sử dụng ntn?
-
Tiếng việt muốn hiển thị trong table của Autocad thì phải làm thế nào hả các bạn?
VD dùng lisp thống kê block của bác gia_bach mà block đặt tên là tiếng việt mã unicode thì khi thống kê xong insert bảng thì bảng hiển thị có hiển thị tiếng việt không và cách làm?
Thanks all. :)
-
Thế nghĩa là trong table của Autodesk cũng có thể viết tiếng việt phải không bác? Nếu thế thì mừng quá :D
-
Cái này nó tự nhận landscape mà bác.
Thanks bác nguyentuyen6 đã share, mong lisp ngày càng hoàn thiện.
-
Nếu muốn bạn có thể xin, mua chứ đừng làm thế. Nghĩ ra 1 ý tưởng và đưa ý tưởng ra để giải quyết bài toán công việc thực tế mất rất nhiều time và trí óc. Hj 1 cái như thế người ta mất khéo cả năm để nghĩ và làm, còn mình nhờ bẻ khóa vài s là xong; ko công bằng cho lắm.
^^
-
cảm ơn bác tú,hj dùng đơn thuần là lisp và acet nhỉ ^^ e tưởng phải dùng visual lisp nên mơ hồ.
Để em học hỏi lisp bác.
-
để em up 1 file cad lên trình bày cho bác hiểu
http://www.cadviet.com/upfiles/3/test1.dwg
đây là file cad trình bày ý tưởng của em.
-
Mình muốn mọi người giúp một chút việc thế này?
Mình muốn tạo một block att VD hình vuông tag có giá trị 10.
Lisp được tạo sẽ chọn các block trên bản vẽ, tính tổng và xuất kết quả ra text.
VD chọn được 6block att thì kết quả 10+10+10+10+10+10=60.
Code của bác Hoành trên diễn đàn post khá hay nhưng nó là visual lisp thì phải,mình chỉ biết 1 tẹo về lisp nên cái này mù mờ quá.
http://www.cadviet.com/forum/index.php?showtopic=9553
Mong mọi người chỉ giáo.
Thanks
-
Oay`, bác cường này có vợ xinh wa ta! Chúc anh chị trăm năm hạnh phúc nhé ^^!
-
Em thấy tốc độ đã cải thiện nhieu` nhưng hình như chưa có thêm phần up hình của block hả bác?
Nếu có thì có vẻ trực quan hơn.
Ah nó có thể đặt lệnh tắt hay khi dùng luôn phải chạy file .exe hả bác.
-
Tình hình là mình muốn viết 1 lisp tính toán số lượng bóng đèn có thể bố trí theo trục x và trục y, với 2 điều kiện đặt ra:
- Khoảng cách đó phải cách nhau = kc trần giả
- Tổng Số lượng bóng phải > số bóng đã tính toán.
Cái giải thuật mình đưa ra chưa hay lắm vì đang lẫn lộn, mình up lên mong mọi người cho ý kiến và giải quyết.
Ý tưởng của mình:
(defun c:test () (setvar "CMDECHO" 0) (setq cskc (list 1200 1800 2400 3000 3600 4200 4800 5400); Khoang cach giua cac den tuy vao tran gia p1 (getpoint "\nChon diem thu nhat: ") p2 (getcorner p1 "\nChon diem thu hai: ") ) (setq vx (abs (- (car p1) (car p2))) vy (abs (- (cadr p1) (cadr p2))) i 0 j 0 sl (length cskc) list1 '() ) (setq a (getreal "\nCho so bong can de tinh: ")) (while (< i sl) (setq kc (nth i cskc)) (setq x (fix (/ vx kc))) (while (< j sl) (setq kc1 (nth j cskc)) (setq y (fix (/ vy kc1))) (setq tich (* x y)) (if (> tich a) (setq list1 (append list1 (list tich))) ) (setq j (1+ j)) ) ) (kiem) (defun kiem () (while (< i sl) (setq kc (nth i cskc)) (progn (setq x (fix (/ vx kc))) (while (setq kc1 (nth j cskc)) (setq y (fix (/ vy kc1))) (setq tich (* x y)) (if (= tich (min list1) ) (princ "Pro") ) (setq j (1+ j)) ) ) ) (princ (strcat "\nTruc x co the bo tri: " (rtos x 2 0) "Bong")) (princ (strcat "\nTruc y co the bo tri: " (rtos y 2 0) "Bong")) (princ (strcat "\nSo bong tren mat bang: " (rtos (apply 'min list1) 2 0) "Bong")) (setvar "CMDECHO" 1) (princ) )
-
Oki bạn ketxu :lol: thanks
-
Cho mình hỏi chút về lisp này?
(setq ss (acet-ss-to-list ss))
hàm này có td j vậy, mình tra help mà hổng có?
và (defun dxf (dxf ent)... ko cần phải thêm dấu "/" (defun dxf (/ dxf ent)...
Có phải chỉ có "/" khi biến là biến toàn cục, còn hàm con kia là biến cục bộ?
-
Bạn ketxu ơi lisp clear của bạn khá ổn nhưng nó xóa hết tất cả các layer rồi, có cách nào chỉ chuyển sang màu 8 mà ko del các layer (giống lisp colorx, lisp colorx thì hay lỗi phông tiếng việt :().
Mình ko tìm thây layer depoin và layer text và dim của kiến trúc để làm việc cả.
thanks
-
Cách nữa là bạn search luôn cái nick của bạn ý
VD: search manhcuong_513 trong option chọn forum là ra hết.
Cứ search và search thôi.
-
Ok thanks vậy mà mình cứ backspace mãi mà không được phải thêm (" ").
hj vấn đề em đã giải quyết đc nên del đi!
-
Hj cảm ơn bác em đã sửa chuẩn rồi.
Nhưng còn vấn đề tạo khoảng trắng như trên em hỏi:
VD: em muốn kết quả trả về (MCB cua lo la 20A OR 30A).
Mà kết quả lisp của em luôn là (MCB cua lo la 20A30A.)
-
Mình dùng cái strca thì lại bị lỗi :wacko: hj mò mẫm mà chưa tìm ra lỗi này
Mình up code mình viết lên đây:
(defun c:cali ()
(setvar "CMDECHO" 0)
(setq csdl (list 1 2 3 4 6 10 16 20 25 32 40 50 63 80 100 125 160 200 250 300 400 500 630 800 1000 1250))
(setq csd (list 1 2 3 4 6 10 16 20 25 32 40 50 63))
(setq s (atof (vl-list->string (vl-remove-if '(lambda(x) (or (< x 46) (> x 57))) (vl-string->list (cdr(assoc 1 (entget(car(entsel "\n Chon text : "))))))))))
(setq cosfi (getreal "\nCho cosfi cua lo dien (0.7): "))
(if (null cosfi)(setq cosfi 0.7))
(initget 1 "3 1")
(setq as(getkword "\nTinh toan cong suat <3 1>"))
(if (= as "3")
(progn
(setq i (/ s (* 1.732 0.38 cosfi 1000)))
(setq a i)
(setq kq (mapcar '(lambda (x) (if (< (- a x) 0) x)) csdl))
(setq kq (vl-remove nil kq))
)
(setq k (rtos a 2 3))
(princ (strcat "\n Dong dien tinh toan cua lo: " k "A"))
(setq k1 (car kq))
(setq k2 (cadr kq))
(setq kq1 (rtos k1 2 3))
(setq kq2 (rtos k2 2 3))
(princ (strcat "\nMCCB tinh toan cua lo: " kq1 "A" kq2 "A"))
)
(if (= as "1")
(progn
(setq i (/ s (* 0.22 cosfi 1000)))
(setq a i)
(setq kq (mapcar '(lambda (x) (if (< (- a x) 0) x)) csdl))
(setq kq (vl-remove nil kq))
)
(princ (strcat "\n Dong dien tinh toan cua lo: " (rtos a 2 3) "A"))
(setq kq1 (rtos (car kq) 2 0))
(setq kq2 (rtos (cadr kq) 2 0))
(princ "A")
(princ (strcat "\n MCB tinh toan cua lo: " kq1 "A" "OR" kq2 "A"))
(princ)
)
)
Kiểm tra hộ mình với, mình muốn nó hiện lên giá trị của kết quả 1 và 2
VD: MCB tinh toan cua lo 20A OR 30A
mình đang còn vấn đề nữa là khoảng trắng giữa "20A" và "OR" và "30A" làm thế nào đây.
Thanks
-
Thanks ketxu và bác tú đã giải quyết xong.
@bác tú lisp của bác có lỗi là khi chọn text thì vd: 220=> ra kq:22 và 0.8=> 0. và chọn text kết quả "Chiếu sáng lộ 10" ra kq "0051" chắc là do text có tiếng việt.
Cái nữa em muốn hỏi là hàm in kết quả ra ấy, mình muốn thay vì mặc định in một kết quả thì in 2 or 3 kết quả trên 1 dòng lệnh được không ạ.
VD:
Chieu dai cua doi tuong lan luot la xm ym (với x, y là biến)
Bình thường em chỉ in được 1 hàng em dùng lệnh như sau:
(princ "\n Chieu dai cua doi tuong la: ")
(princ x)
(princ "m")
Nhưng in thêm ym vào dòng đó thì chưa biết ntn?
Mong mọi người chỉ giáo?
-
Cảm ơn bác tú và bạn ketxu đã reply.
Lisp của bác tú và bạn ketxu gặp lỗi cho em khi text có dấu (.) ngăn cách
VD: Kết quả là 15.2
Thì lisp locso của bác tú chỉ lọc khi các số là nguyên và gặp lỗi khi có dấu chấm ngăn cách
Của bạn ketxu thì nó lại nhận là 152.
Hj vẫn lỗi với mình.
Mọi người xem hộ mình nhé
Thanks
-
Chào bác, em có vài công thức tính toán và lập trình lisp dể dùng
Ý em hỏi là vd text: (Chiều dài căn hộ là 25m) thì em muốn lấy giá trị 25 ra bằng cách select text rồi gán vào 1 biến để tính toán!
Hề hề em cũng teen mà bác ^^!
-
Mình muốn chọn lấy giá trị trong text VD: Text Gia tri: 200 thì sẽ lấy được giá trị 200 ra để tính toán
Bạn ketxu đã giúp đỡ lấy giá trị trong 1 text nhưng nếu text có cả giá trị string và số thì lấy ra kiểu nào vây? :)
Hỏi về insert file xref
trong Sử dụng AutoCAD
Đã đăng · Trả lời báo cáo
Cho mình hỏi một chút?
Khi mình insert file thành file xref thì khi gõ attchach và chọn file dwg thì block unit của nó lại luôn hiện là inch và factor là 25.4.
Mình muốn chuyển cái này về hệ mm thì làm thế nào? Vì khi chọn là khác đơn vị thì file của mình luôn bị scale lên 25.4 lần.
Thanks!