| TỔNG HỢP MỘT SỐ LISP CƠ BẢN | |
|
+13trangkutehd cd2k44 qkhs.live ro88 batitus thuancauduong philong3112 ken"s phuquang113 khaosat2009 philipdn sonxaydung Admin 17 posters |
|
Tác giả | Thông điệp |
---|
batitus Thành viên chính thức
Tổng số bài gửi : 35 Ngày đăng ký : 26/08/2009
| Tiêu đề: Re: TỔNG HỢP MỘT SỐ LISP CƠ BẢN Tue Apr 20, 2010 11:10 am | |
| Cho mình hỏi có lisp nào giúp nhân 2 số với nhau ko, hay công 2 số với nhau ko. Mong đc giúp đớ , chân thành cảm ơn ! | |
|
| |
ro88 Thành viên chính thức
Tổng số bài gửi : 9 Age : 35 Đến từ: : Nha Trang_Khanh Hoà Nghề nghiệp: : Khảo sát trắc địa Ngày đăng ký : 01/08/2010
| Tiêu đề: Re: TỔNG HỢP MỘT SỐ LISP CƠ BẢN Sun Aug 01, 2010 12:40 pm | |
| em mới gia nhập diễn đàn.anh thuancauduong hay anh philipdn viet dum em lisp này nhé.em cảm on trước. em dang vẽ bản đồ địa hình nhung mỗi khi em tìm điểm rồi dùng lệnh pline nối các điểm đó lại với nhau ,như vậy thì lau quá.em muốn nhờ các anh viết giúp em một lisp có thể đánh những điểm cần nối lại với nhau lên excell rồi sau đó chạy một phát là những điểm đó tự động nối lại với nhau được không. | |
|
| |
qkhs.live Thành viên năng động
Tổng số bài gửi : 186 Age : 42 Đến từ: : XXXX Nghề nghiệp: : YYYY Sở thích : ZZZZ Ngày đăng ký : 13/07/2010
| Tiêu đề: Re: TỔNG HỢP MỘT SỐ LISP CƠ BẢN Sun Aug 01, 2010 7:51 pm | |
| (DEFUN c:+() ; (prompt "\n *************") (setq a nil) (prompt "\n Ch�n c�c s� c�n t�nh t�ng: ") (setq a (ssget ' ((0 . "text")))) (setq i 0) (setq tong 0.0) (setq mang (ssname a i)) (while (/= mang nil) (setq c (entget mang)) (setq d (cdr (assoc 1 c))) (setq tong (+ (atof d) tong)) (setq i (+ i 1)) (setq mang (ssname a i)) ) (setq p1 (getpoint "\n �i�m ghi k�t qu�: ")) (command ".TEXT" "r" p1 "0" (rtos tong 2 2)) ) ;******************************************************* (DEFUN c:-() (prompt "\n *************") (setq a nil) (prompt "\n Ch�n c�c s� b� tr�: ") (setq a (ssget ' ((0 . "text")))) (setq i 0) (setq sotru 0.0) (setq mang (ssname a i)) (while (/= mang nil) (setq c (entget mang)) (setq d (cdr (assoc 1 c))) (setq sotru (+ (atof d) sotru)) (setq i (+ i 1)) (setq mang (ssname a i)) ) (setq a nil) (prompt "\n Ch�n c�c s� tr�: ") (setq a (ssget ' ((0 . "text")))) (setq i 0) (setq sobitru 0.0) (setq mang (ssname a i)) (while (/= mang nil) (setq c (entget mang)) (setq d (cdr (assoc 1 c))) (setq sobitru (+ (atof d) sobitru)) (setq i (+ i 1)) (setq mang (ssname a i)) ) (setq hieu (- sotru sobitru)) (setq p1 (getpoint "\n �i�m ghi k�t qu�: ")) (command ".TEXT" "r" p1 "0" (rtos hieu 2 2)) ) ;******************************************************* (DEFUN c:*() (prompt "\n *************") (setq a nil) (prompt "\n Ch�n s� h�ng th� nh�t: ") (setq a (ssget ' ((0 . "text")))) (setq nhan 0.0) (setq mang (ssname a 0)) (setq c (entget mang)) (setq d (cdr (assoc 1 c))) (setq nhan (atof d)) (setq a nil) (prompt "\n Ch�n s� h�ng th� 2: ") (setq a (ssget ' ((0 . "text")))) (setq binhan 0.0) (setq mang (ssname a 0)) (setq c (entget mang)) (setq d (cdr (assoc 1 c))) (setq binhan (atof d)) (setq tich (* nhan binhan)) (setq p1 (getpoint "\n �i�m ghi k�t qu�: ")) (command ".TEXT" "r" p1 "0" (rtos tich 2 2)) ) ;******************************************************* (DEFUN c:/() (prompt "\n *************") (setq a nil) (prompt "\n Ch�n s� b� chia: ") (setq a (ssget ' ((0 . "text")))) (setq bichia 0.0) (setq mang (ssname a 0)) (setq c (entget mang)) (setq d (cdr (assoc 1 c))) (setq bichia (atof d)) (setq a nil) (prompt "\n Ch�n s� chia: ") (setq a (ssget ' ((0 . "text")))) (setq chia 0.0) (setq mang (ssname a 0)) (setq c (entget mang)) (setq d (cdr (assoc 1 c))) (setq chia (atof d)) (setq thuong (/ bichia chia)) (setq p1 (getpoint "\n �i�m ghi k�t qu�: ")) (command ".TEXT" "r" p1 "0" (rtos thuong 2 2)) ) ;(setq b (ssname a 0)) ;lay doi tuong dau tien duoc chon ;(setq c (entget b)) ;liet ke cac dac trung cua doi tuong (theo truong) ;(setq d (cdr (assoc 1 c))) ;lay gia tri cua truong 1 (gia tri text) ;(setq so (+ (atof d) 1)) ;chuyen text -> so
| |
|
| |
philipdn Moderator
Tổng số bài gửi : 320 Age : 40 Đến từ: : Việt Nam Nghề nghiệp: : Xây dựng cầu đường Sở thích : Học tập, nghiên cứu và vi tính Ngày đăng ký : 16/11/2008
| Tiêu đề: Re: TỔNG HỢP MỘT SỐ LISP CƠ BẢN Sun Aug 01, 2010 9:40 pm | |
| - ro88 đã viết:
- em mới gia nhập diễn đàn.anh thuancauduong hay anh philipdn viet dum em lisp này nhé.em cảm on trước.
em dang vẽ bản đồ địa hình nhung mỗi khi em tìm điểm rồi dùng lệnh pline nối các điểm đó lại với nhau ,như vậy thì lau quá.em muốn nhờ các anh viết giúp em một lisp có thể đánh những điểm cần nối lại với nhau lên excell rồi sau đó chạy một phát là những điểm đó tự động nối lại với nhau được không. Bạn nói rõ hơn về yêu cầu của bạn nhé, mình chưa hiểu lắm, bạn nên đưa hình vẽ hoặc file minh hoạ lên để mọi người dể dàng giúp bạn Bạn dùng pline nối các điểm đó (điểm đó là điểm gì: point hay text hay cái gì đó) Nối theo thứ tự nào hay tuỳ ý, bạn đánh những điểm cần nối là đánh cái gì vậy .... | |
|
| |
ro88 Thành viên chính thức
Tổng số bài gửi : 9 Age : 35 Đến từ: : Nha Trang_Khanh Hoà Nghề nghiệp: : Khảo sát trắc địa Ngày đăng ký : 01/08/2010
| Tiêu đề: Re: TỔNG HỢP MỘT SỐ LISP CƠ BẢN Mon Aug 02, 2010 2:39 pm | |
| Bạn nói rõ hơn về yêu cầu của bạn nhé, mình chưa hiểu lắm, bạn nên đưa hình vẽ hoặc file minh hoạ lên để mọi người dể dàng giúp bạn Bạn dùng pline nối các điểm đó (điểm đó là điểm gì: point hay text hay cái gì đó) Nối theo thứ tự nào hay tuỳ ý, bạn đánh những điểm cần nối là đánh cái gì vậy ....[/quote] ví dụ mình có một http://www.mediafire.com/file/pccfrt146ic0ycp/mo dat ninh than ( phuong ).dwg mình muốn nối các diểm như trong bản vẽ lại với nhau.nhưng khi mình tìm từ điểm này dể nối với diểm khác thì mất thời gian quá.những diểm mình muốn nối lại với nhau là những số thứ tư như trong bản vẽ .nó dươc láy ra từ dữ liệu may đo diện tử toan đạc.có cả cao đọ và toạ độ luôn.nếu như có ai đã vẽ bản đồ địa hình chắc sẽ biết.nhờ các bác xem dùm có giải quyết được không nha.
| |
|
| |
philipdn Moderator
Tổng số bài gửi : 320 Age : 40 Đến từ: : Việt Nam Nghề nghiệp: : Xây dựng cầu đường Sở thích : Học tập, nghiên cứu và vi tính Ngày đăng ký : 16/11/2008
| Tiêu đề: Re: TỔNG HỢP MỘT SỐ LISP CƠ BẢN Mon Aug 02, 2010 4:58 pm | |
| - ro88 đã viết:
ví dụ mình có một http://www.mediafire.com/file/pccfrt146ic0ycp/mo dat ninh than ( phuong ).dwg mình muốn nối các diểm như trong bản vẽ lại với nhau.nhưng khi mình tìm từ điểm này dể nối với diểm khác thì mất thời gian quá.những diểm mình muốn nối lại với nhau là những số thứ tư như trong bản vẽ .nó dươc láy ra từ dữ liệu may đo diện tử toan đạc.có cả cao đọ và toạ độ luôn.nếu như có ai đã vẽ bản đồ địa hình chắc sẽ biết.nhờ các bác xem dùm có giải quyết được không nha. File bị lỗi ko giải nén được, bạn xem lại nhé | |
|
| |
ro88 Thành viên chính thức
Tổng số bài gửi : 9 Age : 35 Đến từ: : Nha Trang_Khanh Hoà Nghề nghiệp: : Khảo sát trắc địa Ngày đăng ký : 01/08/2010
| Tiêu đề: Re: TỔNG HỢP MỘT SỐ LISP CƠ BẢN Mon Aug 02, 2010 6:02 pm | |
| - philipdn đã viết:
- ro88 đã viết:
ví dụ mình có một http://www.mediafire.com/file/pccfrt146ic0ycp/mo dat ninh than ( phuong ).dwg mình muốn nối các diểm như trong bản vẽ lại với nhau.nhưng khi mình tìm từ điểm này dể nối với diểm khác thì mất thời gian quá.những diểm mình muốn nối lại với nhau là những số thứ tư như trong bản vẽ .nó dươc láy ra từ dữ liệu may đo diện tử toan đạc.có cả cao đọ và toạ độ luôn.nếu như có ai đã vẽ bản đồ địa hình chắc sẽ biết.nhờ các bác xem dùm có giải quyết được không nha. File bị lỗi ko giải nén được, bạn xem lại nhé mình vẫn mở file ra được ma hay để mình gửi qua mail cho bạn nhé.up lên lại nè coi thử mở được ko nhé http://www.mediafire.com/file/vzbpktndjzb3dpy/mo dat ninh than ( phuong ).rar | |
|
| |
thuancauduong Thành viên chính thức
Tổng số bài gửi : 38 Ngày đăng ký : 29/04/2008
| Tiêu đề: Re: TỔNG HỢP MỘT SỐ LISP CƠ BẢN Tue Aug 03, 2010 8:47 am | |
| Mình có mở bản vẽ của bạn, song không hiểu được bạn cần gì. Mình đoán cái text nhỏ màu tím (nằm trên lớp TT) là số thứ tự, nhưng với cách nối của bạn mình thấy nó không có quy luật nào.
Mình diễn giải thế này không biết có đúng ý bạn không: - Chọn một tập hợp các text. - Nối các text đó theo thứ tự tăng dần.
Bạn copy toàn bộ phần text bên dưới (màu xanh, giữa hai hàng gạch ngang) dán vào dòng lệnh của AutoCAD (phiên bản nào cũng được) rồi gõ lệnh NoiText thử xem sao. Hy vọng giúp được bạn!
;-------------------------------------------------------------------------------------- (defun c:NoiText(/ chon dem dstext ds stt toado text textdau textdau sodinh) (command ".cmdecho" 0) (command ".ucs" "w") (command ".osnapcoord" 1) (princ "\nChon cac TEXT de noi theo thu tu: ") (if (setq chon (ssget '((0 . "TEXT")))) (progn (setq dem 0 dstext '()) (while (< dem (sslength chon)) (progn (setq ds (entget (ssname chon dem)) stt (atof (cdr (assoc 1 ds))) toado (cdr (assoc 11 ds)) text (list stt toado) dstext (append dstext (list text)) dem (1+ dem)))) ;Sap xep dstext tang dan theo stt (setq dstext (vl-sort dstext (function (lambda (e1 e2) (< (car e1)(car e2)))))) (setq textdau (car dstext) textcuoi (last dstext) sodinh (length dstext)) ;Noi cac diem theo thu tu (if (> sodinh 1) (progn (command ".3DPOLY") (while dstext (progn (command (car (cdr (car dstext)))) (setq dstext (cdr dstext)))) (command "") ;(command ".zoom" "o" (entlast) "") (alert (strcat "\nDa ve 3DPOLYLINE co " (rtos sodinh 2 0) " dinh, bat dau tu " (rtos (car textdau) 2) " den " (rtos (car textcuoi) 2) ". ")) (princ (strcat "\nDa ve 3DPOLYLINE co " (rtos sodinh 2 0) " dinh, bat dau tu " (rtos (car textdau) 2) " den " (rtos (car textcuoi) 2) ". ")) ) ) ) ) (command ".ucs" "p") (princ) ) ;-------------------------------------------------------------------------------------- | |
|
| |
ro88 Thành viên chính thức
Tổng số bài gửi : 9 Age : 35 Đến từ: : Nha Trang_Khanh Hoà Nghề nghiệp: : Khảo sát trắc địa Ngày đăng ký : 01/08/2010
| Tiêu đề: Re: TỔNG HỢP MỘT SỐ LISP CƠ BẢN Tue Aug 03, 2010 10:22 am | |
| - thuancauduong đã viết:
- Mình có mở bản vẽ của bạn, song không hiểu được bạn cần gì. Mình đoán cái text nhỏ màu tím (nằm trên lớp TT) là số thứ tự, nhưng với cách nối của bạn mình thấy nó không có quy luật nào.
Mình diễn giải thế này không biết có đúng ý bạn không: - Chọn một tập hợp các text. - Nối các text đó theo thứ tự tăng dần.
Bạn copy toàn bộ phần text bên dưới (màu xanh, giữa hai hàng gạch ngang) dán vào dòng lệnh của AutoCAD (phiên bản nào cũng được) rồi gõ lệnh NoiText thử xem sao. Hy vọng giúp được bạn!
;-------------------------------------------------------------------------------------- (defun c:NoiText(/ chon dem dstext ds stt toado text textdau textdau sodinh) (command ".cmdecho" 0) (command ".ucs" "w") (command ".osnapcoord" 1) (princ "\nChon cac TEXT de noi theo thu tu: ") (if (setq chon (ssget '((0 . "TEXT")))) (progn (setq dem 0 dstext '()) (while (< dem (sslength chon)) (progn (setq ds (entget (ssname chon dem)) stt (atof (cdr (assoc 1 ds))) toado (cdr (assoc 11 ds)) text (list stt toado) dstext (append dstext (list text)) dem (1+ dem)))) ;Sap xep dstext tang dan theo stt (setq dstext (vl-sort dstext (function (lambda (e1 e2) (< (car e1)(car e2)))))) (setq textdau (car dstext) textcuoi (last dstext) sodinh (length dstext)) ;Noi cac diem theo thu tu (if (> sodinh 1) (progn (command ".3DPOLY") (while dstext (progn (command (car (cdr (car dstext)))) (setq dstext (cdr dstext)))) (command "") ;(command ".zoom" "o" (entlast) "") (alert (strcat "\nDa ve 3DPOLYLINE co " (rtos sodinh 2 0) " dinh, bat dau tu " (rtos (car textdau) 2) " den " (rtos (car textcuoi) 2) ". ")) (princ (strcat "\nDa ve 3DPOLYLINE co " (rtos sodinh 2 0) " dinh, bat dau tu " (rtos (car textdau) 2) " den " (rtos (car textcuoi) 2) ". ")) ) ) ) ) (command ".ucs" "p") (princ) ) ;-------------------------------------------------------------------------------------- Cảm ơn bạn đã viết giúp mình.mình đã dùng lisp của ban viết cho mình rồi.nhưng lisp của ban viết la những text nôi với nhau theo thứ tự tang dần rồi.ý mình là không chạy theo quy luật nào cả chỉ nhập điểm nào trước là nối tiếp theo điểm đó.ví du như trong bản vẽ mình muốn nối con đường lại với nhau.mà con đường thì có lề trái và lề phải,mình nối lề trái trước ví dụ lề trái là những text có số là 1,3,5,7,2,4,8 không theo quy luât nào cả.lisp trên bạn viết cho mình là đúng rồi nhung ban đừng cho nó chạy theo thứ tụ tăng dần hay gì hét ma là mình chọn điểm nào thì nối lại với điểm đó.cảm ơn bạn rát nhiều.mà mổi lần mình sử sụng là phải copy nó dán vào dòng lẹnh hả bạn.không có cách nào cho nó mặc định luôn sao,mỗi lần mình gõ lệnh noitext la tự nó hiểu luôn được không bạn.cảm ơn nhé.giúp dùm mình nha bạn.mình cần gấp lắm. | |
|
| |
thuancauduong Thành viên chính thức
Tổng số bài gửi : 38 Ngày đăng ký : 29/04/2008
| Tiêu đề: Re: TỔNG HỢP MỘT SỐ LISP CƠ BẢN Tue Aug 03, 2010 11:01 am | |
| Thành thật xin lỗi, vì mình vẫn ... chưa hiểu ý bạn. Nếu bạn muốn "chọn điểm nào thì nối lại với điểm đó" thì cần gì đến Lisp hả bạn, chỉ cần gõ lệnh PL, bật chế độ bắt điểm insertion là có thể bắt được text đó rồi nối bằng tay có phải hơn không! Cách làm thế nào nhé: - Trong AutoCAD, gõ OS, check vào insertion (trên cùng bên phải), nhấn OK. - Gõ PL, đưa con trỏ vào gần text bạn muốn nối, nó sẽ bắt điểm của text đó cho bạn (nếu chưa được thì nhấn F3 trên bàn phím). Theo thứ tự đó bạn cứ nối bằng tay đến khi kết thúc. Mình có thể cải tiến Lisp đó theo yêu cầu của bạn, nhưng quả thực mình chưa biết bạn cần gì!Đối với một tiện ích Lisp nào đó bạn muốn sử dụng nhiều lần thì làm như sau: - Nhấn nút Start, vào Run..., gõ Notepad, OK. - Copy và dán đoạn code vào đó. - Nhấn Ctrl+S, ở dòng "Save as type" xổ xuống chọn All files, bạn chỉ đến nơi cần lưu, đặt tên có phần mở rộng là LSP, ví dụ NoiText.LSP. - Vào AutoCAD, gõ lệnh AP. Chỉ đến nơi bạn đã lưu file và nhấn nút Load. - Nếu bạn muốn nó tự chạy cùng AutoCAD thì với lệnh AP đó, nhấn vào nút Contents... ở góc dưới bên phải, nhấn nút Add và chỉ đến file cần chạy. Hy vọng có thể giúp bạn! | |
|
| |
ro88 Thành viên chính thức
Tổng số bài gửi : 9 Age : 35 Đến từ: : Nha Trang_Khanh Hoà Nghề nghiệp: : Khảo sát trắc địa Ngày đăng ký : 01/08/2010
| Tiêu đề: Re: TỔNG HỢP MỘT SỐ LISP CƠ BẢN Tue Aug 03, 2010 11:45 am | |
| - thuancauduong đã viết:
- Thành thật xin lỗi, vì mình vẫn ... chưa hiểu ý bạn.
Nếu bạn muốn "chọn điểm nào thì nối lại với điểm đó" thì cần gì đến Lisp hả bạn, chỉ cần gõ lệnh PL, bật chế độ bắt điểm insertion là có thể bắt được text đó rồi nối bằng tay có phải hơn không! Cách làm thế nào nhé: - Trong AutoCAD, gõ OS, check vào insertion (trên cùng bên phải), nhấn OK. - Gõ PL, đưa con trỏ vào gần text bạn muốn nối, nó sẽ bắt điểm của text đó cho bạn (nếu chưa được thì nhấn F3 trên bàn phím). Theo thứ tự đó bạn cứ nối bằng tay đến khi kết thúc.
Mình có thể cải tiến Lisp đó theo yêu cầu của bạn, nhưng quả thực mình chưa biết bạn cần gì!
Đối với một tiện ích Lisp nào đó bạn muốn sử dụng nhiều lần thì làm như sau: - Nhấn nút Start, vào Run..., gõ Notepad, OK. - Copy và dán đoạn code vào đó. - Nhấn Ctrl+S, ở dòng "Save as type" xổ xuống chọn All files, bạn chỉ đến nơi cần lưu, đặt tên có phần mở rộng là LSP, ví dụ NoiText.LSP. - Vào AutoCAD, gõ lệnh AP. Chỉ đến nơi bạn đã lưu file và nhấn nút Load. - Nếu bạn muốn nó tự chạy cùng AutoCAD thì với lệnh AP đó, nhấn vào nút Contents... ở góc dưới bên phải, nhấn nút Add và chỉ đến file cần chạy. Hy vọng có thể giúp bạn! anh cho em sood điện thoại của anh đi em nói chac sẽ sễ hiểu hơn | |
|
| |
philipdn Moderator
Tổng số bài gửi : 320 Age : 40 Đến từ: : Việt Nam Nghề nghiệp: : Xây dựng cầu đường Sở thích : Học tập, nghiên cứu và vi tính Ngày đăng ký : 16/11/2008
| Tiêu đề: Re: TỔNG HỢP MỘT SỐ LISP CƠ BẢN Tue Aug 03, 2010 5:51 pm | |
| Mình xem file và những ý bạn nói ở trên mình cũng ko hiểu rõ yêu cầu của bạn, cái thứ tự mà bạn nói 1,3,5,7,... ở bài viết trên là số nào trong file bản vẽ, và những số này (tạm gọi là số thứ tự) có duy nhất hay ko? Theo mình hiểu, khi bạn trút số liệu từ máy đo ra sẽ kèm theo số thứ tự điểm đo, một số điểm đo này bạn lưu bằng sổ đo là kí hiệu của các vị trí ghi chú, giờ bạn muốn nối chúng lại bằng đường pline??? Kô biết đó có fải là ý của bạn ko? Thân | |
|
| |
ro88 Thành viên chính thức
Tổng số bài gửi : 9 Age : 35 Đến từ: : Nha Trang_Khanh Hoà Nghề nghiệp: : Khảo sát trắc địa Ngày đăng ký : 01/08/2010
| Tiêu đề: Re: TỔNG HỢP MỘT SỐ LISP CƠ BẢN Wed Aug 04, 2010 10:51 pm | |
| - philipdn đã viết:
- Mình xem file và những ý bạn nói ở trên mình cũng ko hiểu rõ yêu cầu của bạn, cái thứ tự mà bạn nói 1,3,5,7,... ở bài viết trên là số nào trong file bản vẽ, và những số này (tạm gọi là số thứ tự) có duy nhất hay ko?
Theo mình hiểu, khi bạn trút số liệu từ máy đo ra sẽ kèm theo số thứ tự điểm đo, một số điểm đo này bạn lưu bằng sổ đo là kí hiệu của các vị trí ghi chú, giờ bạn muốn nối chúng lại bằng đường pline??? Kô biết đó có fải là ý của bạn ko? Thân bạn có phần mềm chạy bình đồ địa hình không.chay khoảng một nghìn điểm đó .cho mình xin nhé.kèm theo hướng dẫn sử sụng thì càng tốt.cảm ơn bạn nhiều. | |
|
| |
cd2k44 Thành viên năng động
Tổng số bài gửi : 244 Age : 38 Đến từ: : TP Hồ Chí Minh Nghề nghiệp: : Kỹ Sư Cầu Đường Ngày đăng ký : 24/02/2009
| Tiêu đề: Re: TỔNG HỢP MỘT SỐ LISP CƠ BẢN Thu Aug 05, 2010 8:22 am | |
| - ro88 đã viết:
- philipdn đã viết:
- Mình xem file và những ý bạn nói ở trên mình cũng ko hiểu rõ yêu cầu của bạn, cái thứ tự mà bạn nói 1,3,5,7,... ở bài viết trên là số nào trong file bản vẽ, và những số này (tạm gọi là số thứ tự) có duy nhất hay ko?
Theo mình hiểu, khi bạn trút số liệu từ máy đo ra sẽ kèm theo số thứ tự điểm đo, một số điểm đo này bạn lưu bằng sổ đo là kí hiệu của các vị trí ghi chú, giờ bạn muốn nối chúng lại bằng đường pline??? Kô biết đó có fải là ý của bạn ko? Thân bạn có phần mềm chạy bình đồ địa hình không.chay khoảng một nghìn điểm đó .cho mình xin nhé.kèm theo hướng dẫn sử sụng thì càng tốt.cảm ơn bạn nhiều. Bạn dùng topo của hài hòa đi bạn. Trên diễn đàn có bộ cài và khóa đó. Nếu bạn tìm không được mình gửi cho, cả hướng dẫn sử dụng bằng video và file pdf luôn | |
|
| |
ro88 Thành viên chính thức
Tổng số bài gửi : 9 Age : 35 Đến từ: : Nha Trang_Khanh Hoà Nghề nghiệp: : Khảo sát trắc địa Ngày đăng ký : 01/08/2010
| Tiêu đề: Re: TỔNG HỢP MỘT SỐ LISP CƠ BẢN Fri Aug 06, 2010 8:05 pm | |
| - cd2k44 đã viết:
- ro88 đã viết:
- philipdn đã viết:
- Mình xem file và những ý bạn nói ở trên mình cũng ko hiểu rõ yêu cầu của bạn, cái thứ tự mà bạn nói 1,3,5,7,... ở bài viết trên là số nào trong file bản vẽ, và những số này (tạm gọi là số thứ tự) có duy nhất hay ko?
Theo mình hiểu, khi bạn trút số liệu từ máy đo ra sẽ kèm theo số thứ tự điểm đo, một số điểm đo này bạn lưu bằng sổ đo là kí hiệu của các vị trí ghi chú, giờ bạn muốn nối chúng lại bằng đường pline??? Kô biết đó có fải là ý của bạn ko? Thân bạn có phần mềm chạy bình đồ địa hình không.chay khoảng một nghìn điểm đó .cho mình xin nhé.kèm theo hướng dẫn sử sụng thì càng tốt.cảm ơn bạn nhiều. Bạn dùng topo của hài hòa đi bạn. Trên diễn đàn có bộ cài và khóa đó. Nếu bạn tìm không được mình gửi cho, cả hướng dẫn sử dụng bằng video và file pdf luôn bạn cho mình xin phần mềm đó đi,cả khoá va file hướng dẫn sử dụng luôn nhé.cảm ơn bạn nhiều.ma phần mềm chạy bình đồ bạn nói chạy trên cad14 phải ko?nếu vay thì cho mình xin luôn phan mềm cad14 luôn nhé.hi` cảm ơn nhiều nhé. | |
|
| |
qkhs.live Thành viên năng động
Tổng số bài gửi : 186 Age : 42 Đến từ: : XXXX Nghề nghiệp: : YYYY Sở thích : ZZZZ Ngày đăng ký : 13/07/2010
| Tiêu đề: Re: TỔNG HỢP MỘT SỐ LISP CƠ BẢN Sat Aug 07, 2010 8:45 am | |
| Có phải đang nói đến Surfer ko? Mình có bản 6 và 9, mình chỉ biết sử dụng sơ qua bản 6 bản 9 chưa biết hết. Nếu đúng cái này thì tối về mình UP lên cho. | |
|
| |
trangkutehd Thành viên chính thức
Tổng số bài gửi : 4 Ngày đăng ký : 19/08/2010
| Tiêu đề: Re: TỔNG HỢP MỘT SỐ LISP CƠ BẢN Tue Aug 24, 2010 7:46 pm | |
| thanks bạn ________________________ tin tuc || bong da || tin tuc trong ngay || ket qua bong da || game || nhac
| |
|
| |
ro88 Thành viên chính thức
Tổng số bài gửi : 9 Age : 35 Đến từ: : Nha Trang_Khanh Hoà Nghề nghiệp: : Khảo sát trắc địa Ngày đăng ký : 01/08/2010
| Tiêu đề: Re: TỔNG HỢP MỘT SỐ LISP CƠ BẢN Sat Sep 25, 2010 12:30 pm | |
| Ơ đây có anh em nào có páss của phân mêm mápsite ko vay?cho mình xin nhé.mình đang rât cânf mong các bạn giúp đơ cảm ơn nhiêù | |
|
| |
eaglesvmouse Thành viên chính thức
Tổng số bài gửi : 1 Ngày đăng ký : 17/01/2011
| Tiêu đề: Re: TỔNG HỢP MỘT SỐ LISP CƠ BẢN Mon Jan 17, 2011 10:18 am | |
| bác nào chỉ hộ mình cách dùng lệnh "c1" vẽ cửa một cánh với? | |
|
| |
xuantruong Thành viên năng động
Tổng số bài gửi : 87 Ngày đăng ký : 18/10/2010
| Tiêu đề: Re: TỔNG HỢP MỘT SỐ LISP CƠ BẢN Sun Jan 23, 2011 5:27 pm | |
| | |
|
| |
contrung Thành viên chính thức
Tổng số bài gửi : 42 Age : 36 Đến từ: : Thanh Hóa Nghề nghiệp: : Kỹ sư địa chất công trình - Địa chất kỹ thuật Sở thích : Bóng đá Ngày đăng ký : 24/07/2010
| Tiêu đề: Re: TỔNG HỢP MỘT SỐ LISP CƠ BẢN Sun Aug 21, 2011 10:56 am | |
| Xin chào tất cả các anh em! mình có một cái LISP này ki load lên cad thì chạy không được. mong các bác chỉ giáo và giúp mình chỉnh lại để chạy được trên cad nha!mình chayjcad2007. vì mình cũng đang làm quen với cad nên chưa rành lắm. mình muốn vẽ một bản vẽ theo tỷ lệ mình chọn nhưng lại không biết được định tỷ lệ cho bản vẽ như thế nào cả: ví dụ mình muốn vẽ một bản vẽ tỷ lệ 1/100 ; 1/150 ; 1/200; 1/250; 1/500...thì định tỷ lệ ra làm sao, chữ và kích thước chiều cao theo tỷ lệ là bao nhiêu. mình cũng mới học cad nên các bạn đừng chê mình gà nha! mong các bạn chỉ giáo thật cụ thể cho mình biết với nha. mình cũng có tham khảo trên mạng nhưng mọi người nói chung chung quá. mình chưa hiểu hết được. ví dụ muốn vẽ nhiều tỷ lệ trên một bản vẽ như thế nào? dim,text ra làm sao... mong anh em tận tình chỉ giáo nha nếu bạn nào có lisp giúp mình như trên thì thật là tốt quá! có thể gửi mại cho mình cũng được: hoandck29@gmail.com mình chân thành cảm ơn! còn đây là lisp mình nhờ các bạn sửa lại lỗi để chạy được trên cad với nha: file của nó đây: http://www.mediafire.com/?5fdlfw4hfm50voe xin chân thành cảm ơn các anh em! | |
|
| |
thandieudaihiep Thành viên năng động
Tổng số bài gửi : 92 Ngày đăng ký : 07/04/2012
| Tiêu đề: Re: TỔNG HỢP MỘT SỐ LISP CƠ BẢN Thu Dec 04, 2014 4:24 pm | |
| - Admin đã viết:
- Bài 7: Offset line sang 2 bên
- Trích dẫn :
(defun c:oo(/ data_m)
(defun import_data(/ i) (setq data_m (ssget)) (if (= nil distan_m) (setq distan_m 110.0)) (princ "Distance (") (princ distan_m) (princ "):") (setq i (getreal )) (if (not (= nil i)) (setq distan_m i)) )
(defun process(/ ent check)
(defun p_check() (setq check 0) (if (= "LINE" (cdr (assoc 0 ent))) (setq check 1)) (princ) )
(defun p_d_offset(/ p1 p2 p3 p4)
(defun makeline(/ e2 e5) ; (princ ent) ; (setq e5 nil) ; (setq e5 (cdr (assoc 5 ent))) ; (princ e5) ; (if (= nil e5) (setq e5 ))
(setq la (list (cons 0 "LINE") (cons 5 (cdr (assoc 5 ent)) ) (cons 8 (cdr (assoc 8 ent)) ) (cons 10 p3) (cons 11 p4) )) ; (princ la) (entmake la) (princ) )
(setq p1 (cdr (assoc 10 ent)) p2 (cdr (assoc 11 ent)) ) (if (not (= p1 p2)) (progn (if (< (abs (- (nth 0 p1) (nth 0 p2))) 0.000001) (progn (setq p3 (list (+ (nth 0 p1) distan_m) (nth 1 p1) (nth 2 p1) ) ) (setq p4 (list (+ (nth 0 p2) distan_m) (nth 1 p2) (nth 2 p2) ) ) (makeline) (setq p3 (list (- (nth 0 p1) distan_m) (nth 1 p1) (nth 2 p1) ) ) (setq p4 (list (- (nth 0 p2) distan_m) (nth 1 p2) (nth 2 p2) ) ) (makeline) )) (if (< (abs (- (nth 1 p1) (nth 1 p2))) 0.000001) (progn (setq p3 (list (nth 0 p1) (+ (nth 1 p1) distan_m) (nth 2 p1) ) ) (setq p4 (list (nth 0 p2) (+ (nth 1 p2) distan_m) (nth 2 p2) ) ) (makeline) (setq p3 (list (nth 0 p1) (- (nth 1 p1) distan_m) (nth 2 p1) ) ) (setq p4 (list (nth 0 p2) (- (nth 1 p2) distan_m) (nth 2 p2) ) ) (makeline) ))
)) (princ) )
(if (not (= nil data_m)) (progn (setq i 0) (while (< i (sslength data_m)) (progn (setq ent (entget (ssname data_m i))) (p_check) (if (= 1 check) (p_d_offset)) (setq i (+ i 1)) )) )) (princ) ) (import_data) (ai_undo_push) (process) (ai_undo_pop) (princ) )
Lênh để offset line sang 2 bên là oo. Bản vẽ cũng ổn rồi. chuẩn bị viết TEXT và Dim thôi. Nhưng trước khi chuyển sang phần mới. Tôi muốn cho cho các bạn biết thêm 2 mẹo nữa khi vẽ.
Bài 8: Break đối tượng Nhiều người sẽ bảo có lệnh Break (br) rồi cần gì LISP. Nhưng không! Lệnh BR thường không chặt điểm mà chặt đoạn nếu ta không cẩn trọng.
- Trích dẫn :
(defun c:bf (/ dt diem) (setq dt (car (entsel "\nVao doi tuong can chat"))) (if dt (progn (redraw dt 3) (setq diem (getpoint "\nVao diem chat: ")) (redraw dt 4) ) ) (if (and dt diem) (command ".break" dt diem diem) ) )
Lệnh bf sẽ giúp ta chặt đối tượng tại một điểm.
Bài 9: Nối 2 đường Line bị ngặt quãng
Hãy tưởng tượng bạn có 1 đương Line. Bạn Br nó. Đường Line giờ đã trở thành 2 đường riêng biệt, cách nhau 1 đoạn. Không cần thiết phải xoa 1 đường và EX đường kia khi bạn muốn 2 đường làm 1.
- Trích dẫn :
(defun c:jl (/ p1 p2 p3 ssdt entla entlb tt p1a p2a tt p1b p2b layermoi TAPLINEMOI TENLAYERMOI) (defun thanghang (p0 p1 p2 / dx1 dy1 dx2 dy2 x1 y1 x2 y2 x0 y0) (setq x0 (car p0) y0 (cadr p0) x1 (car p1) y1 (cadr p1) x2 (car p2) y2 (cadr p2) dx1 (- x1 x0) dy1 (- y1 y0) dx2 (- x2 x0) dy2 (- y2 y0) ) (if (equal (* dx1 dy2) (* dx2 dy1) 0.01) t nil ) ) (defun noiline (p1 p2 p3 p4 / kq dmax) (if (and (thanghang p1 p2 p3) (thanghang p1 p2 p4)) (progn (setq d1 (distance p1 p3) d2 (distance p1 p4) d3 (distance p2 p3) d4 (distance p2 p4) dmax (max d1 d2 d3 d4) kq (cond ((= dmax d1) (list p1 p3)) ((= dmax d2) (list p1 p4)) ((= dmax d3) (list p2 p3)) ((= dmax d4) (list p2 p4)) (t nil) ) ) kq ) nil ) ) (init) (setq p1 (getpoint "\ngocdau: ") p2 (getcorner p1 "\ngocsau: ") ssdt (ssget "c" p1 p2 '((0 . "LINE"))) entla (ssname ssdt 0) entlb (ssname ssdt 1) tt (entget entla) p1a (cdr (assoc 10 tt)) p2a (cdr (assoc 11 tt)) tt (entget entlb) p1b (cdr (assoc 10 tt)) p2b (cdr (assoc 11 tt)) tenlayermoi (cdr (assoc 8 (entget entla))) ) (if (setq taplinemoi (noiline p1a p2a p1b p2b)) (progn (command ".erase" ssdt "") (entmake (list (cons 0 "LINE") (cons 8 tenlayermoi) (cons 10 (car taplinemoi)) (cons 11 (cadr taplinemoi)) ) ) (traos) ) (princ "\nKhong the noi line duoc !") ) (done) )
Lệnh jl rất tiện. Bạn thử dùng mà xem...
Bài 10: Hiệu chỉnh Hatch
- Trích dẫn :
(defun c:hc () (setq elist (entget (car (entsel "\nLUA CHON MAU HATCH DE SAO CHEP: "))) etyp (cdr (assoc 0 elist)) old (getvar "clayer") );setq
(if (/= etyp "HATCH") (prompt "\nKHONG PHAI DOI TUONG HATCH! HAY THU LAI!") (progn (setq layn (cdr (assoc 8 elist))) (setvar "HPNAME" (cdr (assoc 2 elist))) (setvar "HPSCALE" (cdr (assoc 41 elist))) (setvar "HPANG" (cdr (assoc 52 elist))) (setq pt1 (getpoint "\nCHON MOT DIEM TRONG VUNG SE HATCH: ")) (setvar "clayer" layn) (command "bhatch" pt1 "") (setvar "clayer" old) );progn );if (princ) );defun ;****** mk ****** mk ****** mk ****** mk ****** mk ****** mk ****** (defun c:hm () (setq ename (entsel "\nLUA CHON MAU HATCH DE DI CHUYEN: ") elist (entget (car ename)) etyp (cdr (assoc 0 elist)) old (getvar "clayer") );setq
(if (/= etyp "HATCH") (prompt "\nKHONG PHAI DOI TUONG HATCH! HAY THU LAI!") (progn (setq layn (cdr (assoc 8 elist))) (setvar "HPNAME" (cdr (assoc 2 elist))) (setvar "HPSCALE" (cdr (assoc 41 elist))) (setvar "HPANG" (cdr (assoc 52 elist))) (setq pt1 (getpoint "\nCHON MOT DIEM TRONG VUNG SE HATCH: ")) (setvar "clayer" layn) (entdel (car ename)) (command "bhatch" pt1 "") (setvar "clayer" old) );progn );if (princ) );defun ;****** mk ****** mk ****** mk ****** mk ****** mk ****** mk ****** (defun c:ha () (setq ename(entsel "\nLUA CHON MAU HATCH DE THAY DOI GOC : ") elist(entget (car ename)) etyp(cdr (assoc 0 elist)) oang(assoc 52 elist) );setq
(if (/= etyp "HATCH") (prompt "\nKHONG PHAI DOI TUONG HATCH! HAY THU LAI!") (progn (setq ang (getangle (strcat "\nSO DO GOC MOI <" (rtos (cdr oang) 2) ">:")) nang (cons 52 ang) nlst (subst nang oang elist) ) (entmod nlst) (command "hatchedit" ename "" "" "" "") );progn );if (princ) );defun ;****** mk ****** mk ****** mk ****** mk ****** mk ****** mk ****** (defun c:hs () (setq ename (entsel "\nLUA CHON MAU HATCH DE THAY DOI TY LE : ") elist (entget (car ename)) etyp (cdr (assoc 0 elist)) oscl (assoc 41 elist) );setq
(if (/= etyp "HATCH") (prompt "\nKHONG PHAI DOI TUONG HATCH! HAY THU LAI!") (progn (setq hscl (getreal (strcat "\nTY LE MAU HATCH MOI <" (rtos (cdr oscl) 2) ">:")) nscl (cons 41 hscl) nlst (subst nscl oscl elist) ) (entmod nlst) (command "hatchedit" ename "" "" "" "") );progn );if (princ) );defun
Trong lisp này cung cấp cho chúng ta những lệnh sau 1. hc: Copy Hatch 1. hm: Move Hatch 1. ha: Chỉnh góc của mấu Hatch 1. hs: Chỉnh độ Scale của mẫu Hatch Thanks __________________________________________ http://www.thuvienxaydung.forumvi.com | |
|
| |
Sponsored content
| Tiêu đề: Re: TỔNG HỢP MỘT SỐ LISP CƠ BẢN | |
| |
|
| |
| TỔNG HỢP MỘT SỐ LISP CƠ BẢN | |
|