kts.ngocquan 37 Báo cáo bài đăng Đã đăng Tháng 8 6, 2007 Ong Nguyen Hoanh oi !!!!!!!!!!!!!!!!!! :unsure: Mình thử nghĩ 1 cách này xem có được không nhé! *chạy lệnh lisp: ----> lisp bắt chọn hàng dim thứ 1 (mình chọn hàng dim 3,5,3,5,3,5...) ----> lisp bắt chọn hàng dim thứ 2 (mình chọn hàng dim 10) ----> lisp bắt chọn hàng dim thứ 3 (mình chọn hàng dim 30) ----> lisp bắt nhập khoảng cách các dim (mình nhập vào 5) ----> kết thúc lệnh Lisp sẽ thực hiện công việc move hàng dim3,5,3,5,3,5... cách hàng dim10 1 khoảng la` 5 và .... move hàng dim30 cách hàng dim10 1 khoảng la` 5 Nhìn thì hơi dài dòng nhưng thực hiện lệnh chắc cũng không lau lắm thế cái này ông đã làm chưa vậy . Tôi khoái cái này quá . Cố lên nhé OKIE :unsure: 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
xaydung 12 Báo cáo bài đăng Đã đăng Tháng 8 6, 2007 Bác Hoanh ơi, cho em hỏi 1 chút cái lisp mcaltext bác post đúng ý em rùi tuy nhiên vẫn còn 1 điểm chưa hoàn chỉnh bác à: đó là với những số có dấu phẩy thì lisp không chạy VD: 2,2*2=8 khi chọn thì kết quả giữ nguyên vì 2,2 là số lẻ không phải số nguyên, chả lẽ lisp chỉ tác dụng với số nguyên hở 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
Nguyen Hoanh 4670 Báo cáo bài đăng Đã đăng Tháng 8 6, 2007 Bác Hoanh ơi, cho em hỏi 1 chútcái lisp mcaltext bác post đúng ý em rùi tuy nhiên vẫn còn 1 điểm chưa hoàn chỉnh bác à: đó là với những số có dấu phẩy thì lisp không chạy VD: 2,2*2=8 khi chọn thì kết quả giữ nguyên vì 2,2 là số lẻ không phải số nguyên, chả lẽ lisp chỉ tác dụng với số nguyên hở bác!? Đơn giản là vì 2,2 không phải là số. Với máy tính thì 2.2 mới là số. Kết quả 2.2*2=8 sẽ được tự động sửa thành 2.2*2=4.4 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
xaydung 12 Báo cáo bài đăng Đã đăng Tháng 8 6, 2007 Em hiểu rồi! vậy bác có thể cho em xin cái lisp có nội dung sau đựơc không: Khi chọn dòng text thì tất cả dấu "," chuyển hết thành dấu "." sau đó sẽ tính toán giống như mcaltext bình thường thanks 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
kts.ngocquan 37 Báo cáo bài đăng Đã đăng Tháng 8 6, 2007 Xin chào các cao thủ LISP Tôi có ý này ko biết là cac ae có giúp tôi ko 1.Tạo 1 lisp , cho nó chạy trong acad 1 lần Lần sau nó tự chạy 2.Nó sẽ tự động saveas copy file của mình ra 1 thư mục nào đấy (có thể là cùng 1 folder) Các cao thủ ra tay nhé Ngày xưa tôi có lisp này nhưng bị mất rồi Mong ae giúp tôi nhé :unsure: 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
Jin Yong 337 Báo cáo bài đăng Đã đăng Tháng 8 9, 2007 Chào mọi ngườiiMình có nhiều bản vẽ trong 1 file. Mình muốn ở phần khung tên sẽ không có các chữ lặp đi lặp lại giống nhau. Nhưng khi in ra thì nó tự động in thêm những chữ đó vào đúng vị trí. Mong mọi người giúp tôi với. Cảm ơn! Jin thì nghĩ Khung Tên nên được làm thành một Block Attrributes, như vậy thì mình có thể copy thoải mái mà không sợ sót, và chỉ cần chỉnh sửa một vài khoản mục cần thiết (tên công trình, tên bản vẽ...) 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
Jin Yong 337 Báo cáo bài đăng Đã đăng Tháng 8 9, 2007 Anh Hoành viết hộ Jin cái lisp cho phép chọn các đường thẳng và đưa ra tổng chiều dài của chúng với, cái này mấy bác làm Điện ở chỗ Jin đang cần lắm! 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 4670 Báo cáo bài đăng Đã đăng Tháng 8 9, 2007 Anh Hoành viết hộ Jin cái lisp cho phép chọn các đường thẳng và đưa ra tổng chiều dài của chúng với, cái này mấy bác làm Điện ở chỗ Jin đang cần lắm!Jin xem ở đây: http://www.cadviet.com/forum/index.php?showtopic=763 Các bác có thể viết cho em 1 đoạn mã để gia hạn sử dụng cho 1 người sử dụng file vlx được không? khi hết hạn thì file đó sẽ không được sử dung cho dù sang bất cứ máy nào khác, và lisp để tạo các mã số bản quyền chương trình dùng ổ cứng làm thứ để xác nhận mã đó! tức là chương trình cài lên mỗi một ổ cứng sẽ có mã khoá riêng!Congtrinhthuy05 xem ở đây: http://www.cadviet.com/forum/index.php?showtopic=1024 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
xaydung 12 Báo cáo bài đăng Đã đăng Tháng 8 10, 2007 tìm lisp dạng : chọn 2 điểm point cho ra 2 toạ độ của điểm đó ra dạng text điểm chèn là 2 điểm point (dạng bottom left) text có dạng (x,y) thanks các 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
Nguyen Hoanh 4670 Báo cáo bài đăng Đã đăng Tháng 8 10, 2007 tìm lisp dạng : chọn 2 điểm point cho ra 2 toạ độ của điểm đó ra dạng text điểm chèn là 2 điểm point (dạng bottom left) text có dạng (x,y) thanks các bác! không hiểu ý bạn muốn gì nữa. Đang chờ bạn nói kỹ hơ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
conghoa 137 Báo cáo bài đăng Đã đăng Tháng 8 10, 2007 @Nguyen Hoanh ơi, cho mình hỏi cái lisp của mình có làm được không 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 4670 Báo cáo bài đăng Đã đăng Tháng 8 10, 2007 @Nguyen Hoanh ơi, cho mình hỏi cái lisp của mình có làm được không vậy? Mình đang nghiên cứu để cố gắng có được 1 lisp: chọn các đối tượng Dim rồi chương trình sẽ tự dàn các dim ra theo các khoảng bằng nhau, chứ không chọn làm nhiều lần. Hy vọng sẽ sớm post lên chia sẻ với mọi người. 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 4670 Báo cáo bài đăng Đã đăng Tháng 8 10, 2007 Xin chào các cao thủ LISPTôi có ý này ko biết là cac ae có giúp tôi ko 1.Tạo 1 lisp , cho nó chạy trong acad 1 lần Lần sau nó tự chạy 2.Nó sẽ tự động saveas copy file của mình ra 1 thư mục nào đấy (có thể là cùng 1 folder) Các cao thủ ra tay nhé Ngày xưa tôi có lisp này nhưng bị mất rồi Mong ae giúp tôi nhé :unsure: Tự động thì khó, vì để lisp thao tác sâu vào hệ thống sẽ phức tạp. Nhưng nếu dùng 1 lệnh để làm điều bạn muốn thì đây: http://www.cadviet.com/forum/index.php?showtopic=1259 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
xaydung 12 Báo cáo bài đăng Đã đăng Tháng 8 10, 2007 không hiểu ý bạn muốn gì nữa.Đang chờ bạn nói kỹ hơn! Có nghĩa là vẽ 2 điểm point trên màn hinh Sau đó chạy lisp hỏi chọn các point lisp sẽ tự động nhận ra toạ độ(x,y) của các điểm đó và chèn các toạ độ đó vào gần các điểm point và điểm chèn text (tức là khi pick chuột vào text có 1 ô vuông màu xanh ở góc dưới bên trái đó) ở đúng vị trí điểm point ! Bác hiểu chưa ạ! 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 4670 Báo cáo bài đăng Đã đăng Tháng 8 10, 2007 Có nghĩa là vẽ 2 điểm point trên màn hinhSau đó chạy lisp hỏi chọn các point lisp sẽ tự động nhận ra toạ độ(x,y) của các điểm đó và chèn các toạ độ đó vào gần các điểm point và điểm chèn text (tức là khi pick chuột vào text có 1 ô vuông màu xanh ở góc dưới bên trái đó) ở đúng vị trí điểm point ! Bác hiểu chưa ạ! Tên lệnh là P2T (point to text) (defun c:p2t() (princ "\nPoint to text - © CADViet.com") (setq ss (ssget '((0 . "POINT"))) caochu (getdist "\nVao chieu cao text ket qua: ") index -1) (repeat (sslength ss) (setq p (cdr (assoc 10 (entget (ssname ss (setq index (1+ index))))))) (entmake (list (cons 0 "TEXT") (cons 10 p) (cons 11 p) (cons 1 (strcat "(" (rtos (car p) 2 2) "," (rtos (cadr p) 2 2) ")")) (cons 40 caochu) (cons 72 4)) ) ) ) (princ "\nP2T - free lisp from www.cadviet.com") (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
xaydung 12 Báo cáo bài đăng Đã đăng Tháng 8 11, 2007 Thanks bác Hoanh, em đang cần 1 lisp nữa có nội dung như sau lấy tất cả các kết quả sau dấu "=" rồi cộng lại với nhau Ví dụ: trên màn hình có 2 text là 2+2=4 3+3=6 chạy lisp hỏi: chọn 2 text trên, nhập điểm chèn kết quả thì sẽ cho ra là 10 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
xaydung 12 Báo cáo bài đăng Đã đăng Tháng 8 11, 2007 À quên, phiền Bác Hoành 1 chút nữa về lisp p2t nha: bác sửa hộ em điểm chèn dòng text là điểm góc dưới bên trái (tức là bottom left đó) và trùng với điểm point. thanks ! 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 4670 Báo cáo bài đăng Đã đăng Tháng 8 11, 2007 À quên, phiền Bác Hoành 1 chút nữa về lisp p2t nha:bác sửa hộ em điểm chèn dòng text là điểm góc dưới bên trái (tức là bottom left đó) và trùng với điểm point. thanks ! bạn xóa mã (70 4) đi là đượ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
kts.ngocquan 37 Báo cáo bài đăng Đã đăng Tháng 8 11, 2007 Mình đang nghiên cứu để cố gắng có được 1 lisp: chọn các đối tượng Dim rồi chương trình sẽ tự dàn các dim ra theo các khoảng bằng nhau, chứ không chọn làm nhiều lần. Hy vọng sẽ sớm post lên chia sẻ với mọi người. Cái này hay đấy xong chưa hả NH ơi :unsure: 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
kts.ngocquan 37 Báo cáo bài đăng Đã đăng Tháng 8 11, 2007 Ae trên diễn đàn cho tôi hỏi Có lisp nào để thay đổi dimension associate thành dimension an associate không ? Đây là bản vẽ có sẵn Trong ACAD có cách vào bảng Option nhưng tôi thấy ko hiệu quả Tôi bị dính mấy bản vẽ này khó chịu quá Đừng bảo tôi Explode Nếu ko ai có thì lại nhờ ae viết hộ cái lisp này 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
Nguyen Hoanh 4670 Báo cáo bài đăng Đã đăng Tháng 8 11, 2007 Thanks bác Hoanh, em đang cần 1 lisp nữa có nội dung như saulấy tất cả các kết quả sau dấu "=" rồi cộng lại với nhau Ví dụ: trên màn hình có 2 text là 2+2=4 3+3=6 chạy lisp hỏi: chọn 2 text trên, nhập điểm chèn kết quả thì sẽ cho ra là 10 Lệnh là CONG. (defun c:cong (/ tt ss tong) (defun congone (ent /) (setq tt (entget ent) gt (cdr (assoc 1 tt)) vt (vl-string-position (ascii "=") gt) vt (cond (vt vt) (t 0) ) tong (+ tong (atof (substr gt (+ vt 2 ) ) ) ) ) ) (defun sudung (ham ss / sodt index entdt soapp) (setq sodt (cond (ss (sslength ss)) (t 0) ) soapp 0 index 0 ) (repeat sodt (setq entdt (ssname ss index) index (1+ index) ) (if (ham entdt) (setq soapp (1+ soapp)) ) ) soapp ) (princ "\nCong text sau dau bang - © CADViet.com") (setq ss (ssget '((0 . "TEXT"))) tong 0.0 ) (sudung congone ss) (entmake (list (cons 0 "TEXT") (assoc 40 tt) (cons 10 (getpoint "\nVao diem chen cua text ket qua: ")) (cons 1 (vl-string-trim "." (vl-string-trim "0" (rtos tong 2))) ) ) ) (princ) ) (princ "\nCong text sau dau bang - CONG - free lisp from www.cadviet.com" ) (vl-load-com) 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
Nguyen Hoanh 4670 Báo cáo bài đăng Đã đăng Tháng 8 11, 2007 Ae trên diễn đàn cho tôi hỏi Có lisp nào để thay đổi dimension associate thành dimension an associate không ? Đây là bản vẽ có sẵn Trong ACAD có cách vào bảng Option nhưng tôi thấy ko hiệu quả Tôi bị dính mấy bản vẽ này khó chịu quá Đừng bảo tôi Explode Nếu ko ai có thì lại nhờ ae viết hộ cái lisp này nhé bạn xem ở đây: http://www.cadviet.com/forum/index.php?showtopic=1220 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
kts.ngocquan 37 Báo cáo bài đăng Đã đăng Tháng 8 11, 2007 bạn xem ở đây: http://www.cadviet.com/forum/index.php?showtopic=1220 :unsure: Cảm ơn NH nhé ! NH đã viết cái LISP về Dim xong chưa ? Khi nào xong cho ae sử dụng với nhé :unsure: 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
xaydung 12 Báo cáo bài đăng Đã đăng Tháng 8 12, 2007 Em đang cần 1 lisp cps nội dung như sau: khi chạy lisp hỏi chọn đôí tượng(hoặc các đối tượng), sau đó lisp hỏi chọn thêm 1 điểm cơ sở để di chuyển, kết quả là sẽ di chuyển(move) các đối tượng trên về gốc (0,0) sau đó xoay (rotage 3D) theo trục nằm ngang(dĩ nhiên là trục đi qua điểm cơ sở) 1 góc 90 độ. ví dụ: trên màn hình là 1 rectang , chạy lisp chọn rectang, sau đó chọn điểm cơ sở là điểm góc đưới bên trái của hình chữ nhật. kết quả trên màn hình chỉ nhìn thấy 1 line(vì đã xoay 3D-90 độ rồi) 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
ssg 1104 Báo cáo bài đăng Đã đăng Tháng 8 13, 2007 Em đang cần 1 lisp cps nội dung như sau:khi chạy lisp hỏi chọn đôí tượng(hoặc các đối tượng), sau đó lisp hỏi chọn thêm 1 điểm cơ sở để di chuyển, kết quả là sẽ di chuyển(move) các đối tượng trên về gốc (0,0) sau đó xoay (rotage 3D) theo trục nằm ngang(dĩ nhiên là trục đi qua điểm cơ sở) 1 góc 90 độ. ví dụ: trên màn hình là 1 rectang , chạy lisp chọn rectang, sau đó chọn điểm cơ sở là điểm góc đưới bên trái của hình chữ nhật. kết quả trên màn hình chỉ nhìn thấy 1 line(vì đã xoay 3D-90 độ rồi) Tên lệnh là MR3 (move & rotate3d): (defun C:MR3( / ss p0) (setq ss (ssget) p0 (getpoint "\nBase point:") ) (command "move" ss "" p0 (list 0 0 0)) (if (not geom3d) (arxload "geom3d")) (command "rotate3d" ss "" (list 0 0 0) (list 1 0 0) 90) (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