duytrung 2 Báo cáo bài đăng Đã đăng Tháng 10 6, 2009 Các bạn có Lisp nào mà chỉnh đối tượng xiên đi 1 góc cho trước không. Mình có up lên bản vẽ, mong các bạn giúp đỡ. http://www.cadviet.com/upfiles/2/07mo_caurach_ngay_tren.dwg 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
tnt298 2 Báo cáo bài đăng Đã đăng Tháng 10 6, 2009 Nhờ các anh trên diễn đàn viết giùm em 1 lisp như sau: Nội suy các đường đồng mức phụ từ các đường đồng mức chính Đường đồng mức phụ là các pl giống đường đồng mức chính Cao độ của đường đồng mức phụ là trung bình cộng của các đường đồng mức chính Text ghi cao độ của đường đm phụ giống với text ghi cao độ của đường DM chính File đính kèm: http://www.cadviet.com/upfiles/2/cadviet_3.dwg 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
MANHHUNGXDA 458 Báo cáo bài đăng Đã đăng Tháng 10 7, 2009 Chào MANHHUNGXDA Gửi bạn Lisp có chức năng đánh số thứ tự các block thuộc tính ATTDEF theo yêu cầu. Link download Nhớ chép file ATTI.dcl vào Support File Search Path. EM cảm ơn anh gia_bach nhiều, kết quả thật bất ngờ Nhưng mà không hiểu sao, em chọn cái đối tượng khác VIDU: dientich hoặc khối lượng ...thì lại báo lỗi như sau: anh chỉnh hộ em với!, Thực tế, em muốn chọn block ở dạng tổng quát, không chỉ chọn cố định là "SO", mà chọn loại tên Block thuộc tính bất kì, nó đều đánh số được anh à! Cảm ơn anh! 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
tonducduong 0 Báo cáo bài đăng Đã đăng Tháng 10 7, 2009 Tôi muốn khai triển hình côn và côn lệch ra mặt phẳng. Có ai giup tôi không vậy? Cố gắng giúp tôi một lisp nhé! 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
thiep 365 Báo cáo bài đăng Đã đăng Tháng 10 7, 2009 Tôi muốn khai triển hình côn và côn lệch ra mặt phẳng. Có ai giup tôi không vậy? Cố gắng giúp tôi một lisp nhé! Có phải lisp Thiep đã viết như thế này không: http://www.cadviet.com/forum/index.php?s=&...ost&p=71661 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
thiep 365 Báo cáo bài đăng Đã đăng Tháng 10 7, 2009 Chào các bác,Vừa rồi có tìm thấy 1 cái ứng dụng, của lệnh ATTI http://www.cadviet.com/upfiles/2/sannen.rar http://www.cadviet.com/upfiles/2/control.rar (phải apload cả 2 file mới dùng được) .... đây là file sau khi biên dịch, nhờ các bác sửa dùm để có lệnh ATTI như file gốc Trân thành cảm ơn! Chào MANHHUNGXDA, bạn dùng lisp này xem, nó chưa có hộp thoại như trong hình, nhưng vẫn chạy tốt! http://www.cadviet.com/upfiles/2/changeattrib.lsp 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
gia_bach 1.549 Báo cáo bài đăng Đã đăng Tháng 10 7, 2009 EM cảm ơn anh gia_bach nhiều, kết quả thật bất ngờNhưng mà không hiểu sao, em chọn cái đối tượng khác VIDU: dientich hoặc khối lượng ...thì lại báo lỗi như sau: anh chỉnh hộ em với!, Thực tế, em muốn chọn block ở dạng tổng quát, không chỉ chọn cố định là "SO", mà chọn loại tên Block thuộc tính bất kì, nó đều đánh số được anh à! Cảm ơn anh! Đó không phải là lỗi, mà là thông báo đại khái là Code chưa hoàn thiện. Do bạn chỉ yêu cầu phần đánh số thứ tự nên LISP chỉ chạy khi bạn Click chọn vào Tag = SO, với các Tag thuộc tính khác ("COSBQ" "COSTK" "DTICH" "KLUONG") LISP chưa đáp ứng đuơc. Thực tế là tui cũng không biết cách tính các thuộc tính này như thế nào. Thuộc tính DTICH thì có thể hiểu đuợc, nhưng KLUONG, COSBQ, COSTK thì pó tay. 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
MANHHUNGXDA 458 Báo cáo bài đăng Đã đăng Tháng 10 7, 2009 Đó không phải là lỗi, mà là thông báo đại khái là Code chưa hoàn thiện.Do bạn chỉ yêu cầu phần đánh số thứ tự nên LISP chỉ chạy khi bạn Click chọn vào Tag = SO, với các Tag thuộc tính khác ("COSBQ" "COSTK" "DTICH" "KLUONG") LISP chưa đáp ứng đuơc. Thực tế là tui cũng không biết cách tính các thuộc tính này như thế nào. Thuộc tính DTICH thì có thể hiểu đuợc, nhưng KLUONG, COSBQ, COSTK thì pó tay. Đó chỉ là tên của block thuộc tính, tên củađôis tượng ATT thôi Cái lisp cũ của em nó làm kiểu gì ấy anh nhỉ?? 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
hoanghaiyp 244 Báo cáo bài đăng Đã đăng Tháng 10 7, 2009 Công ty mình đang thiết kế máy tự động, chỉ sử dụng cam tròn lệch tâm. Mình được giao nhiệm vụ thiết kế cam tròn lệnh tâm, công việc chỉ giản đơn là vẽ đường tròn biết chu vi, nghĩa là có chu vi lựa chọn trước. Chẳng hạn vẽ cam tròn lệnh tâm biết chu vi của cam là 52mm. Để vẽ được đường tròn có chu vi 52 mình tính theo công thức R = chu vi /(2*3.14). Cách này lâu vì số lượng cam tròn lớn, hơn nữa độ chính xác khi tính R không cao. Mình cần lisp tự động vẽ đường tròn hoặc cung tròn mà chỉ cần chọn vị trí tâm và chu vi đường tròn. Mong được các anh, và các bạn giúp đỡ, cảm ơn nhiều! :cheers: :cheers: :cheers: 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
tivanteo 18 Báo cáo bài đăng Đã đăng Tháng 10 7, 2009 Công ty mình đang thiết kế máy tự động, chỉ sử dụng cam tròn lệch tâm. Mình được giao nhiệm vụ thiết kế cam tròn lệnh tâm, công việc chỉ giản đơn là vẽ đường tròn biết chu vi, nghĩa là có chu vi lựa chọn trước. Chẳng hạn vẽ cam tròn lệnh tâm biết chu vi của cam là 52mm. Để vẽ được đường tròn có chu vi 52 mình tính theo công thức R = chu vi /(2*3.14). Cách này lâu vì số lượng cam tròn lớn, hơn nữa độ chính xác khi tính R không cao. Mình cần lisp tự động vẽ đường tròn hoặc cung tròn mà chỉ cần chọn vị trí tâm và chu vi đường tròn. Mong được các anh, và các bạn giúp đỡ, cảm ơn nhiều! :cheers: :cheers: :cheers: thử nhé (defun c:vc () (setq tam (getpoint "\nNhap tam duong trong:") cv (getreal "\nNhap chu vi duong tron:") bk (/ cv (* 2 3.14)) ) (command "circle" tam bk ) (princ) ) 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
Tue_NV 3.912 Báo cáo bài đăng Đã đăng Tháng 10 7, 2009 Chẳng hạn vẽ cam tròn lệnh tâm biết chu vi của cam là 52mm. Để vẽ được đường tròn có chu vi 52 mình tính theo công thức R = chu vi /(2*3.14). Cách này lâu vì số lượng cam tròn lớn, hơn nữa độ chính xác khi tính R không cao. Chào bạn 'hoanghaiyp' với cách tính R = chu vi /(2*3.14) thì rõ ràng rằng trong cách tính của bạn sẽ có sai số. Và sai số sẽ càng lớn khi chu vi càng lớn bởi lẽ số là một số vô tỷ. để tránh sai số và như bạn nói về độ chính xác của R thì theo Tue_NV, bạn nên thay cách tính của bạn -> trở thành R = chu vi /(2* ) LỊCH SỬ CỦA SỐ Số pi là gì?PI là mẫu tự thứ 16 trong bảng chữ cái Hi Lạp, nhưng chữ pi viết thường lại là một hằng số quan trọng trong toán học. Đó là một số siêu việt, xấp xỉ bằng 3,14159, biểu diễn cho tỉ số giữa chu vi và đường kính của một đường tròn. Một giá trị xấp xỉ của số là 22/7. Khá nhiều giá trị xấp xỉ khác của được dùng đến trong kinh thánh và suốt thời gian dài sau đó. Trong kinh thánh, giá trị này bằng 3. Sau đó, nhà toán học Hi Lạp Acsimét (Archimedes) xác nhận lại một cách chính xác là giá trị nằm trong khoảng 3 10/70 và 3 11/70. Với sự trợ giúp của máy tính, người ta đã tính được số với hơn 200 tỉ chữ số thập phân vào cuối năm 1999 (trong 40 giờ, với bộ nhớ trên 800GB). Tuy nhiên, các kết quả tính toán này không có ứng dụng trong thực tế, vì chỉ với 30 chữ số chính xác của đã đủ cho người ta làm bất cứ công việc tính toán nào. Tỉ số này là một số vô tỉ, nên số chữ số thập phân sẽ cứ kéo dài mãi. Kí hiệu được sử dụng lần đầu vào năm 1706 bởi nhà toán học Anh William Jones, nhưng nó chỉ trở nên phổ biến sau khi nhà toán học Thụy Sĩ Ơ-le (Leonhard Euler) chấp nhận sử dụng năm 1737. Vào năm 1882, nhà toán học Đức Ferdinand Lindemann chứng minh được rằng là một số siêu việt, nghĩa là nó không là nghiệm của bất cứ đa thức với hệ số hữu tỉ nào. Từ đó, ông chỉ ra rằng không thể giải bài toán viên phương và cầu phương (nghĩa là, dựng hình vuông có diện tích bằng hình tròn cho trước, hay dựng hình lập phương có thể tích bằng hình cầu cho trước, và ngược lại, bằng thước và compa). * Năm 1609 Ludolph von Ceulen nhờ phương pháp của Archimède, đã tính được con số Pi với 34 số lẻ mà người ta đã khắc số này trên mộ bia của ông. Cuối thế kỷ thứ 20 số Pi đã tính với độ chính xác tơi con số thứ 200 tỉ (200 000 000 000) Ngày 11 tháng 9 năm 2000: con số lẻ thứ một triệu tỉ số không (1.000.000.000.000.000) Cũng mạn phép bạn tivateo -> sửa lại code của bạn 1 tí nhé : (defun c:vc (/ tam cv bk) (setq tam (getpoint "\nNhap tam duong trong:") cv (getreal "\nNhap chu vi duong tron:") bk (/ cv (* 2 pi)) ) (command "circle" tam bk ) (princ) ) 3 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
thiep 365 Báo cáo bài đăng Đã đăng Tháng 10 8, 2009 Chào MANHHUNGXDA, bạn dùng lisp này xem, nó chưa có hộp thoại như trong hình, nhưng vẫn chạy tốt!http://www.cadviet.com/upfiles/2/changeattrib.lsp Chào MANHHUNGXDA, Lisp changeattrib.lsp, Thiep đã có hộp thoại. @ Gia_bach, Vì đỡ mất thời gian tạo hộp thoại, Thiep đã lấy hộp thoại của bác Gia_bach, file ATTI.dcl giữ nguyên, và vì vậy phải lấy 1 số mã điều khiển hộp thoại luôn. Cảm ơn Gia_bach rất nhiều. ;| Lisp thay doi gia tri thuoc tinh cua cac block reference CHANGE-ATTRIB.LSP V1: 10-2009 ---------------------------------------------------------|; (defun SS-enlst (ss / c L) (setq c -1) (repeat (sslength ss) (setq L (cons (ssname ss (setq c (1+ c))) L)) ) (reverse L) ) (defun getatt (itm) (vlax-safearray->list (vlax-variant-value (vla-GetAttributes itm) ) ) ) (defun List->String (Lst Del) (apply 'strcat (cons (car Lst) (mapcar '(lambda (l) (strcat Del l) ) (cdr Lst) ) ) ) ) (defun dxf (id en) (cdr (assoc id (entget en)))) ;;;----------------------------------------------------------- (vl-load-com) (defun c:chatt (/ blSet attLst lstbl bkname enblock) (setq enblock (car (entsel "\nPick a blockref for get name"))) (while (null enblock) (princ "\nIncorrect, Please pick again:") (setq enblock (car (entsel "\nPick a blockref for get name"))) ) (setq lstTag (getatt (vlax-ename->vla-object enblock))) (setq lstTag (mapcar 'vla-get-TagString lstTag)) ;;;----------------------------- (setq dcl_id (load_dialog "ATTI.dcl")) (if (not (new_dialog "Atti" dcl_id)) (alert "\nKhong tim duoc file ATTI.dcl !") ) ;;;------- DCL Init ------------ (start_list "attdata" 3) (mapcar 'add_list lstTag) (end_list) ;;;------------------------------ (set_tile "attdata" "0") (setq att_list "0" order 1 star 1 delta 1 ) (action_tile "okay" "(done_dialog 1)") (action_tile "cancel" "(done_dialog)") (action_tile "attdata" "(setq att_list $value)") (action_tile "startstr" "(setq star (atoi $value))") (action_tile "increment" "(setq delta (atoi $value))") (action_tile "order1" "(setq order 1)") (action_tile "order2" "(setq order 0)") (setq execute_it (start_dialog)) (unload_dialog dcl_id) ;;;------- Main Program ----------- (if (= execute_it 1) (progn (setq bkname (cdr (assoc 8 (entget enblock)))) (princ "<<< Select blocks to change attributes >>>") (if (setq blSet (ssget (list (cons 0 "INSERT") (cons 8 bkname) (cons 66 1)) ) ) (progn (cond ((= order 1) (setq lstbl (vl-sort (SS-enlst blSet) '(lambda (x y) (if (equal (car (setq x1 (trans (dxf 10 x) 0 1) ) ) (car (setq y1 (trans (dxf 10 y) 0 1) ) ) ) (< (cadr x1) (cadr y1)) (< (car x1) (car y1)) ) ) ) ) ) ((= order 0) (setq lstbl (vl-sort (SS-enlst blSet) '(lambda (x y) (if (equal (car (setq x1 (trans (dxf 10 x) 0 1) ) ) (car (setq y1 (trans (dxf 10 y) 0 1) ) ) ) (> (cadr x1) (cadr y1)) (> (car x1) (car y1)) ) ) ) ) ) ) (setq blSet (mapcar 'vlax-ename->vla-object lstbl)) (setq TAG (nth (atoi att_list) lstTag)) (setq n star) (foreach itm blSet (setq attLst (getatt itm)) (foreach att attLst (if (eq (strcase (vla-get-TagString att)) (strcase Tag)) (progn (vla-put-textstring att (itoa n)) (setq n (+ n delta)) ) ) ) ) );;END progn (princ ">>> Nothing blockref selected! <<<") );end if ) );end if (princ "\nTHANK YOU FOR USE LISP CHANGE ATTRIBUTES. THIEP") (princ) ) @MANHHUNGXDA, - Hôm qua thấy MANHHUNGXDA post bài: Lisp CHANGE-ATTRIB.LSP thêm hộp thoại, bây giờ lại không thấy bài post nữa, phải chăng mình có thể xóa bài mình đã post được? lâu nay thiep không biết có thể xóa được! - Về thuật toán tính khối lượng san nền, trong lisp sannen dùng thuật toán phương pháp khối, có nghĩa là cộng thể tích các khối trụ lại. Thuật toán này, yêu cầu trắc đạc phải đo diện tích san nền với điểm đo theo 1 mạng lưới ô vuông. Thiep xin đề xuất 1 thuật toán tính khối lượng san nền khác, bằng phương pháp mặt cắt song song, Thuật toán này, yêu cầu trắc đạc đo diện tích san nền với điểm đo theo 1 mạng lưới tự do đủ yêu cầu đo vẽ địa hình của quy phạm đo vẽ, sau đó vẽ các đường bình độ, lập các mắt cắt địa hình song song, tính diện tích mặt cắt, tính thể tích từng cặp mặt cắt song song gần nhất, cộng các thể tích này lại. Đây là kiểu tính thể tích của 1 hình thể 3 D theo kiểu tích phân thể tích. 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
MANHHUNGXDA 458 Báo cáo bài đăng Đã đăng Tháng 10 8, 2009 Chào MANHHUNGXDA,- Hôm qua thấy MANHHUNGXDA post bài: Lisp CHANGE-ATTRIB.LSP thêm hộp thoại, bây giờ lại không thấy bài post nữa, phải chăng mình có thể xóa bài mình đã post được? lâu nay thiep không biết có thể xóa được! - Về thuật toán tính khối lượng san nền, trong lisp sannen dùng thuật toán phương pháp khối, có nghĩa là cộng thể tích các khối trụ lại. Thuật toán này, yêu cầu trắc đạc phải đo diện tích san nền với điểm đo theo 1 mạng lưới ô vuông. Thiep xin đề xuất 1 thuật toán tính khối lượng san nền khác, bằng phương pháp mặt cắt song song, Thuật toán này, yêu cầu trắc đạc đo diện tích san nền với điểm đo theo 1 mạng lưới tự do đủ yêu cầu đo vẽ địa hình của quy phạm đo vẽ, sau đó vẽ các đường bình độ, lập các mắt cắt địa hình song song, tính diện tích mặt cắt, tính thể tích từng cặp mặt cắt song song gần nhất, cộng các thể tích này lại. Đây là kiểu tính thể tích của 1 hình thể 3 D theo kiểu tích phân thể tích. Trân thành cảm ơn sự nhiệt tình của anh THIEP và GIA_BACH Bài toán của em đã được giải một cách mãn nguyện Trân trọng 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
funnyzui 1 Báo cáo bài đăng Đã đăng Tháng 10 8, 2009 Chào các bạn! Mình tuy không phải thành viên mới, nhưng với autolisp thì thật tình mình chỉ biết xài thui mà ko có khả năng đọc-hiểu-sửa. Cách đây vài tháng, mình được ông anh cho cái lisp thống kê thép, thấy khá hay, nhưng qua vài tháng sử dụng có 1 số điểm mình mong muốn được hoàn thiện thêm nên lên đây xin nhờ mấy anh em cao thủ trên diễn đàn chỉnh sửa lại giúp. - Đây là form lúc đầu: http://www.cadviet.com/upfiles/2/form_luc_dau.jpg - Đây là form mong muốn: http://www.cadviet.com/upfiles/2/form_mong_muon.jpg - file thống kê thép : http://www.cadviet.com/upfiles/2/chinh.rar - Đây là file mẫu mà mình làm: http://www.cadviet.com/upfiles/2/new_block_14.dwg Cách sử dụng lisp: - Đầu tiên, các bạn phải add 2 folder CHINH, THONGKE vao support của cad. http://www.cadviet.com/upfiles/2/cai_dat_lisp_chinh.jpg - Apload 3 file lisp ACAD.lsp,CHINH.lsp, THONGKE.lsp Trước khi thống kê thép, phải tạo layer thongke. Các lệnh trong lisp: -BTK : tạo bảng thống kê. -BTKL: tạo bảng tổng kết thép theo D. -THEP : tạo từng thanh thép theo mẫu cho sẵn. -Sua : sửa lại thah thép đã tạo. -Doi : dời qua trái qua phải hình dạng thanh thép. .... còn 1 số lệnh nữa mà mình ko xài đc cũng ko biết sao :bigsmile: Cám ơn tác giả của lisp này :bigsmile: Theo cá nhân mình thấy lisp này xài cũng hay, và vì mình xài quen rồi nên mong muốn nó đc hoàn thiện hơn để trợ giúp công việc thống kê thép được tốt hơn link mediafire.com: http://www.mediafire.com/file/mny54g4nrjt/Form luc dau.JPG http://www.mediafire.com/file/bmazj5jyegj/Form mong muon.JPG file thống kê thép : http://www.mediafire.com/file/wzbf1j1uczn/CHINH.rar 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
minhnghi 3 Báo cáo bài đăng Đã đăng Tháng 10 8, 2009 Em có lisp copy thứ tự này thấy dùng khá hay : http://www.cadviet.com/upfiles/2/copy_thu_tu_coo.lsp Nhưng e có một thắc mắc nhỏ thế này, lisp này là copy theo thứ tự tăng dần với hệ số là +1, khi e vẽ đường đồng mức san nền thì không phải hệ số lúc nào cũng là +1 mà có thể khác đi, vậy các bác giúp em chỉnh lại lisp trên có hệ số mà do ta tự chọn khi copy nhé. Nghĩa là khi đánh lệnh COO thì hiện ra dòng command là lựa chọn hệ số (ví dụ ta có thể nhập vào là -1,-0.5,-0.2, 0.2, 0.5...v.v sau đấy copy là số tự động nhảy khi cộng trừ hệ số đó. Thanks các bác nhiều nhé !!! :bigsmile: 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
Tue_NV 3.912 Báo cáo bài đăng Đã đăng Tháng 10 8, 2009 Em có lisp copy thứ tự này thấy dùng khá hay : http://www.cadviet.com/upfiles/2/copy_thu_tu_coo.lspNhưng e có một thắc mắc nhỏ thế này, lisp này là copy theo thứ tự tăng dần với hệ số là +1, khi e vẽ đường đồng mức san nền thì không phải hệ số lúc nào cũng là +1 mà có thể khác đi, vậy các bác giúp em chỉnh lại lisp trên có hệ số mà do ta tự chọn khi copy nhé. Nghĩa là khi đánh lệnh COO thì hiện ra dòng command là lựa chọn hệ số (ví dụ ta có thể nhập vào là -1,-0.5,-0.2, 0.2, 0.5...v.v sau đấy copy là số tự động nhảy khi cộng trừ hệ số đó. Thanks các bác nhiều nhé !!! :bigsmile: Chủ đề này đã có người hỏi rồi. Và được trả lời tại đây : Topic Viết Lisp theo yêu cầu Phần 1 - Bài viết số 1962 @All : Việc tìm kiếm lại bài viết của mình rất khó trong topic, nhất là topic Viết Lisp theo yêu cầu. Thực sự là rất khó khăn mới tìm được đúng bài viết đã post để giúp cho bạn Minhnghi. Nên cũng dám mong các bạn không nên post các bài viết có nội dung chẳng liên quan đến topic, nhất là topic này -> nhằm tạo điều kiện thuận lợi cho người tìm kiếm. Thanks 2 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
hoanghaiyp 244 Báo cáo bài đăng Đã đăng Tháng 10 8, 2009 Cảm ơn bạn Tue_NV đã nói về số PI Mình hay phải làm công việc xác định đường kính của hình trụ D khi biết thể tích V ( thể tích cần coi như đã biết) và chiều cao H (đã biêt) hình trụ bằng công thức: V= Pi *( D ^2) * H / 4 >>> D= ( V*4/ Pi/H)^0.5 Cách này tính cũng đơn giản nhưng tính nhiều cũng nhàm chán và nhức đầu. Nhờ các bạn viết hộ cái lisp để tính nhanh. Ví dụ mình vẽ solid hình trụ đường kính 155 cao 25 biết được thông số về thể tích: Select objects: 1 found Select objects: ---------------- SOLIDS ---------------- Mass: 471729.7719 Volume: 471729.7719 Từ D= 155, H= 25 biết được thể tích của nó là 471729.7719 vậy V= 450000, H= 25 thì >>> 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
Tue_NV 3.912 Báo cáo bài đăng Đã đăng Tháng 10 9, 2009 Cảm ơn bạn Tue_NV đã nói về số PIMình hay phải làm công việc xác định đường kính của hình trụ D khi biết thể tích V ( thể tích cần coi như đã biết) và chiều cao H (đã biêt) hình trụ bằng công thức: V= Pi *( D ^2) * H / 4 >>> D= ( V*4/ Pi/H)^0.5 Cách này tính cũng đơn giản nhưng tính nhiều cũng nhàm chán và nhức đầu. Nhờ các bạn viết hộ cái lisp để tính nhanh. Ví dụ mình vẽ solid hình trụ đường kính 155 cao 25 biết được thông số về thể tích: Select objects: 1 found Select objects: ---------------- SOLIDS ---------------- Mass: 471729.7719 Volume: 471729.7719 Từ D= 155, H= 25 biết được thể tích của nó là 471729.7719 vậy V= 450000, H= 25 thì >>> D= ? Bạn sử dụng Code này thử nhé : (defun c:dk (/ V H tam) (setq tam (getpoint "\nNhap tam cua solid hinh tru:")) (setq V (getreal "\nNhap the tich cua solid hinh tru:") H (getreal "\nNhap chieu cao cua solid hinh tru: ") D (sqrt (/ (* V 4) (* H pi))) ) (command "cylinder" tam (/ D 2) H) (alert (strcat "\n The tich cua solid hinh tru la : " (rtos V 2 3) "\n\n Chieu cao cua solid hinh tru la : " (rtos H 2 3) "\n\n Ket qua tinh duong kinh cua solid hinh tru : " (rtos D 2 3) ) ) (princ) ) 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
svba1608 627 Báo cáo bài đăng Đã đăng Tháng 10 9, 2009 Hôm trước anh Tue_NV đã viết giúp em lisp sapxep.lsp để thống kê các text trong một bản vẽ vào một bảng. Vậy nay anh và mọi người có thể viết giúp em một lisp có công dụng ngược lại không ạ? Đặt vấn đề: Sau khi tính toán thủy lực mạng lưới, em xuất kết quả từ Epanet sang Excel, và nhờ sự giúp đỡ của anh anhcos, lại xuất được từ Excel sang Autocad. Và em có một file cad như sau: http://www.cadviet.com/upfiles/2/doantonghopk.dwg Trong đó có một bên là sơ đồ mạng lưới đường ống và một bên là bảng thống kê các số liệu của đường ống và nút. Công việc của em là cần thay các số liệu từ bảng vào bản đồ cho phù hợp với kết quả tính toán mới. Vậy cho em hỏi, có cách nào giải quyết nào giải quyết công việc này nhanh hơn phương pháp thủ công. Liệu có thể sử dụng được Attribute block? Dữ liệu đầu vào gồm: + Bảng thống kê nút, gồm các thông tin: tên nút, cao độ, áp lực dư + Bảng thống kê đường ống, gồm các thông tin: số thứ tự ống, từ nút đến nút, chiều dài, đường kính, lưu lượng, vận tốc. + Sơ đồ mạng lưới. Dữ liệu đầu ra: Sơ đồ tính toán thủy lực, trong đó: + Tại nút: thông tin cao độ ở nửa đường tròn phía dưới. + Trên đường ống: 5 thông tin gồm: chiều dài, lưu lượng, đường kính, vận tốc, độ dốc sắp xếp như hình vẽ. Trong đó, độ dốc được tính như trong hình vẽ. Rất mong được 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
conghoan1003 0 Báo cáo bài đăng Đã đăng Tháng 10 9, 2009 Nhờ các bác viết giúp cái lisp như thế này: bản vẽ của mình có một số đường có cao độ z, khi thao tác gặp rất nhiều bất tiện, mình muốn đưa các đối tượng đó cao độ z=0. Nhưng sau khi dung lisp supeiron trên diễn đàn thì các đối tượng nhảy lung tung hết. Nhờ các bác viết dùm lisp đưa các đối tượng về 0 nhưng không làm thay đổi vị trí của nó trên bản vẽ. file chạy thử: http://www.cadviet.com/upfiles/2/bd.dwg 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
thiep 365 Báo cáo bài đăng Đã đăng Tháng 10 9, 2009 Nhờ các bác viết giúp cái lisp như thế này:bản vẽ của mình có một số đường có cao độ z, khi thao tác gặp rất nhiều bất tiện, mình muốn đưa các đối tượng đó cao độ z=0. Nhưng sau khi dung lisp supeiron trên diễn đàn thì các đối tượng nhảy lung tung hết. Nhờ các bác viết dùm lisp đưa các đối tượng về 0 nhưng không làm thay đổi vị trí của nó trên bản vẽ. file chạy thử: http://www.cadviet.com/upfiles/2/bd.dwg Đưa các đường contour về cao độ 0, có đưa cả text cao độ về cao độ 0 luôn không conghoan? 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
nataca 554 Báo cáo bài đăng Đã đăng Tháng 10 9, 2009 Nhờ các bác viết giúp cái lisp như thế này:bản vẽ của mình có một số đường có cao độ z, khi thao tác gặp rất nhiều bất tiện, mình muốn đưa các đối tượng đó cao độ z=0. Nhưng sau khi dung lisp supeiron trên diễn đàn thì các đối tượng nhảy lung tung hết. Nhờ các bác viết dùm lisp đưa các đối tượng về 0 nhưng không làm thay đổi vị trí của nó trên bản vẽ. file chạy thử: http://www.cadviet.com/upfiles/2/bd.dwg Sao bác không dùng lệnh Flatten của Cad? 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
zippo.113 0 Báo cáo bài đăng Đã đăng Tháng 10 9, 2009 Xin các cao thủ chỉ giáo ! Trong cad em thấy để sửa nhiều đối tượng cùng một thật dài dòng, ví dụ như sủa text trong bình đồ cứ phải ghõ như sau: SSX / select/ enter/ - CHT / select +P/ enter rồi tiếp tục chọn chiều cao, rộng...., mỗi lần làm như vậy thật khó chịu, em mong các bác cao thủ giúp em một cái lisp nào đó đơn giản hơn, ngắn hơn. Cảm ơn các bác 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
zippo.113 0 Báo cáo bài đăng Đã đăng Tháng 10 9, 2009 Xin các cao thủ chỉ giáo ! Trong cad em thấy để sửa nhiều đối tượng cùng một thật dài dòng, ví dụ như sủa text trong bình đồ cứ phải ghõ như sau: SSX / select/ enter/ - CHT / select +P/ enter rồi tiếp tục chọn chiều cao, rộng...., mỗi lần làm như vậy thật khó chịu, em mong các bác cao thủ giúp em một cái lisp nào đó đơn giản hơn, ngắn hơn. Cảm ơn các bác 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
nataca 554 Báo cáo bài đăng Đã đăng Tháng 10 9, 2009 Xin các cao thủ chỉ giáo !Trong cad em thấy để sửa nhiều đối tượng cùng một thật dài dòng, ví dụ như sủa text trong bình đồ cứ phải ghõ như sau: SSX / select/ enter/ - CHT / select +P/ enter rồi tiếp tục chọn chiều cao, rộng...., mỗi lần làm như vậy thật khó chịu, em mong các bác cao thủ giúp em một cái lisp nào đó đơn giản hơn, ngắn hơn. Cảm ơn các bác nhiều ! Bạn chọn các text cần thay đổi. Nhấn Ctrl+1 Cad sẽ hiện lên bảng Properties. Trong bảng đó nó có chiều cao, độ rộng...bạn có thể chỉnh trực tiếp trong đó 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