Thứ Bảy, 22 tháng 8, 2009

Yêu cầu viết lisp

Bạn có thể gửi yêu cầu viết lisp tại đây.

-Nếu trong khả năng mình sẽ viết lisp giúp bạn và tạo bài mới trong mục Siêu thị lisp
-Khi yêu cầu bạn vui lòng mô tả rỏ cái mình muốn, tốt nhất là kèm theo file *.dwg

105 nhận xét:

  1. Mình muốn sử dụng lệnh mpedit trong cadR14 .Bạn có thể viết giúp mình một lisp như thế không. Mình cảm ơn rất nhiều

    Trả lờiXóa
  2. Lệnh mpedit trong cadR14 đã có rồi đó bạn. Nó nằm trong bộ Bonus. Khi cài thì bạn cài Full sẽ có.

    Trả lờiXóa
  3. Bạn nêu rỏ cái đầu vào và đầu ra cái! Nguyên tắc dựng hình, thông số nhập vào?

    Trả lờiXóa
  4. mình cần viết một cái lisp vẽ đường thân khai, nếu vẽ thủ công bình thường thì : vẽ đồ thị sao cho chu vi bằng 120( qua 12 điểm). Sau đó scale toàn bộ, sao cho đường kính = phi yêu cầu.
    Vẽ circle : chu vi =120 --> vẽ 12tia và 12 đoạn dài 120
    Vẽ " lưới": cắt mỗi tia 1 số đoạn theo yêu cầu ( cắt đi 10 cho dễ :-D
    Nói thía ko bít Duy đã hình dung ra chưa nữa >.<
    Có gì Duy liên lạc qua yahoo với mình được ko? baby_sanhdieu22@yahoo.com
    Cảm ơn Duy nhé ~"~

    Trả lờiXóa
  5. Còn cái hình Xicloit nữa T_T

    Trả lờiXóa
  6. *Mình đọc cái diễn giải và cái hình của bạn có 1 số chổ không khớp.
    -Bạn nói "Vẽ circle chu vi =120" nhưng mình coi trong hình thì như sau:
    +Vẽ đoạn thẳng dài 50.
    +Array nó thành 12 đối tượng theo hình tròn.
    +Vẽ hình tròn tâm tại điểm giao 12 đoạn thẳng vừa array. (như vậy hình tròn này có bán kính là 50 và chu vi 314.1593).
    +Từ giao điểm của các đoạn thẳng với đường tròn vẽ các đường thẳng nằm ngang.
    +Copy đường tròn thành 12 đối tượng cách nhau 25
    +Vẽ đường spline qua giao điểm của đường tròn và đường thẳng ngang.
    -Bạn cần cái nào có chu vi là 120. Con số này bất biến hay lisp hỏi và bạn nhập vào.
    **Cách yêu cầu viết lisp như sau:
    -Bạn muốn lisp hỏi bạn những gì.
    -Kết quả lisp xuất ra như thế nào (nguyên tắc cho ra kết quả)

    Trả lờiXóa
  7. Ặc ặc, sorry anh. Cái bài hum trước là cua thằng bạn em vẽ theo trong sách. Nhưng thầy nói vẽ như thế thì sẽ khó cho bọn em nên thầy đã cho vẽ theo cách giống em nói .
    http://www.cadviet.com/upfiles/2/bai5.dwg đây là bài em vẽ.
    Còn về việc viết lisp thì em mún viết một cái lisp để nó hỏi mình nhập chu vi...
    ( cái đoạn này thầy nói mình mún viết sao cũng được miễn là nó ra cái hình đó là được >.<)
    Anh chỉ giáo thêm cho em nhé ^^.

    Trả lờiXóa
  8. http://www.cadviet.com/upfiles/2/thankhai_xicloit.dwg
    Nó đây nè anh :-D

    Trả lờiXóa
  9. Bạn tải file này về giải nén được 3 file. Chép tất cả vào thư mục cài đặt cad. Load file vehinh.lsp lên.
    -Lệnh vethankhai và lệnh vexicloit.
    -Lisp hỏi chọn điểm bắt đầu vẽ, và hỏi chu vu hình tròn.
    http://www.4shared.com/file/190493114/4751bf9e/vehinh.html

    Trả lờiXóa
  10. Em cám ơn anh nhìu :-(

    Trả lờiXóa
  11. Anh Duy ơi, em lại làm phiền anh nữa nè ^^! Hum trước anh làm cho em đó, là nó insert một bản vẽ đã có sẵn. Nếu bản vẽ save as acad 2007 format thì chương trình sẽ bị lỗi nếu chạy trong Acad cũ hơn (ví dụ Acad 2004).
    Giờ em mong anh giúp em viết cái lisp mà nó làm từ A đến Z được không ạ, anh giúp em với >.<
    Cụ thể là em mún nó như này nè
    -Nhập số liệu, điểm bắt đầu (tâm vòng tròn).
    -Vẽ vòng tròn xuất phát
    -tính các điểm trung gian.
    -Gọi lệnh command Spline. Lần lượt xuất từng điểm ra cho command
    -Kết thúc lệnh vẽ Spline
    -Vẽ các trục oX và oY.
    Em cảm ơn anh nhiều ^^!

    Trả lờiXóa
  12. Viết được nhưng phải khoảng 7 ngày sau nha bạn!

    Trả lờiXóa
  13. Hì, em cảm ơn anh nhiều nhiều ^^!

    Trả lờiXóa
  14. Bạn tải file lisp này về load lên. Tên lệnh như cũ.
    -Về vẽ thankhai thì các điểm để vẽ thành đường spline là xác định đúng 12 điểm.
    -Còn vẽ xicloit thì trong bản vẽ mẫu của bạn đường spline xác địch chỉ bằng 3 điểm mà lại hình như không đối xứng mình cũng vẽ đúng như vậy. Nếu muốn chình thì gửi lại file xicloit chính xác cho mình.

    http://www.4shared.com/file/204556667/7fa9a30d/vehinhs.html

    Trả lờiXóa
  15. Cập nhật lại link lổi.
    http://www.4shared.com/file/204710059/2a92f96c/vehinhs.html

    Trả lờiXóa
  16. http://www.cadviet.com/upfiles/2/xicloit_1.dwg
    Chính xác là link này anh ah. Link trên bị thừa 1 vòng tròn :-D. Anh giúp em với nhé ^^!

    Trả lờiXóa
  17. Hihi, cảm ơn anh nhiều và chúc anh năm mới vui vẻ ^^!

    Trả lờiXóa
  18. Chào anh Duy ! ,anh có thể viết cho em 1 cái lisp để edit như thế này ko a ? e có 1 bản vẽ cốt thép bị lỗi như sau : 1 loại thép số hiệu 10 phi 32a200 , nhưng cũng với thép số hiệu là 10 nhưng có chỗ là phi20a200 hoặc phi 32a150 . Bây giờ e muốn sửa tất cả thép số hiệu 10 là phi32a200 , ma` trong ban ve lai co nhieu thep co so hieu khac nhau , mong anh cứu e với !

    Trả lờiXóa
  19. Bạn gửi file dwg mình xem thử.

    Trả lờiXóa
  20. Nhờ anh Duy xem lại khi mình sử dụng bộ Lisp KSVN chỉ dùng trên USB và sau khi thoát ra thì gở luôn nó ra khỏi Cad của máy đang dùng.

    Trả lờiXóa
  21. Hi, em cũng đang có ý định xây dựng 1 bộ tiện ích di động, em xin phép được tham khảo code của anh để học hỏi nha. thank anh nhiều
    PS: em là Thaistreetz bên cadviet :D

    Trả lờiXóa
  22. Bạn chỉ cần xem file run.lsp là ok. Sang cadviet mình có bài lisp di động đấy có giải thích cách làm việc cùa thèn này. Chúc thành công!

    Trả lờiXóa
  23. Nhờ anh Duy xem dùm em Lisp này với , em muốn sau khi nhập dữ kiện xong thì Lisp tự động vẽ hết mình không phải thao tác gì hi hi

    http://www.mediafire.com/?un2ztwmdzzd
    Cám Ơn Anh .

    Trả lờiXóa
  24. Cám ơn anh đã cho em thêm một chút kiến thức lúc này em cảm thấy yêu đời hơn bao giờ hết . ha ha

    Chúc anh luôn vui vẻ ! Cám ơn anh .

    Trả lờiXóa
  25. Nhờ anh chỉ giúp :
    (setq diemcmoi (cdr (assoc 10 ttdtc)))
    Làm sao mình biết được Item = 10 vậy anh ?

    Cám ơn Anh

    Trả lờiXóa
  26. Bạn xem bài hướng dẩn viết lisp số 30 để biết về các mã dxf. Thông trường nhất là bây nhiêu đấy. Còn cần thêm thì bạn xem trong sácg lisp nhé. Có gì không hiểu mình sẽ nói thêm.

    Trả lờiXóa
  27. Mình làm bên trắc đia bản đồ ,khi đo các điểm cao độ (dạng text)nhiều khi dày đặc trên bản vẽ ,vì vậy để in ra thì rất xấu.
    Do đó mình phải xóa đi các cao dộ gần nhau đẻ o bị dè nhau khi in.
    Nhờ bạn viết 1 lisp có nhiệm vụ xóa các điểm cao độ gần nhau (theo mình lựa chọn 1 giá trị nào đó ví dụ 1m,2m theo ý người dùng).Nghĩa là xóa các điểm text trong vòng đó để các điểm cao độ o gần nhau in được.
    Nếu có thể thì xuất ra 2 file tọa độ (file các điểm đã loại và file các điểm để trên bản vẽ).
    Xin cản ơn.
    trên cadviet đã có đặt ra vấn đề này (xóa cao độ gần và trùng nhau ) nhưng chưa ai giải quyết,vậy nhờ bạn viết giúp đoạn lisp cho mình nhé.Xin cảm ơn
    ndbngo@yahoo.com

    Trả lờiXóa
  28. Bạn up cho mình 1 góc file để dể hình dung nhé!

    Trả lờiXóa
  29. Mình đã gửi file bản vẽ vào cả 2 hợp thư của bạn .Mình thử dùng phần khảo sát thì có 1 số lỗi như trong bản vẽ mình đã vẽ{
    _Hatch nhảy không như yêu cầu
    _Nhờ bạn sửa hatch lúa 2 vụ như bản vẽ đó giúp (chắc phải chỉnh góc hatch...)
    Xin cảm ơn.
    ndbngo@yahoo.com

    Trả lờiXóa
  30. bản vẽ của mình .nhờ ban giúp
    http://www.2shared.com/photo/A8tNayla/BDONOP1.html
    thank

    Trả lờiXóa
  31. Vậy theo bạn thì các đối tượng hatch (mình ví dụ 2 trường hợp thôi,còn nhiều nữa...)lại có hiện tượng thế ,cách khắc phục(Chú ý: các *.pat trong chương trình của bạn là sao chép nguyên si các *. pat của chương trình Topo (Hamony Co.)đó-sợ có ảnh hưởng đến bản quyền o).Cách khắc phục để có thể dùng các hatch này .
    Về việc xóa điểm theo mình có thể xuất ra dạng file tọa độ.Lấy 1 điểm làm gốc so sánh với tất cả các điểm còn lại nếu điểm nào có khoảng cách nhỏ hơn 1 tri do cho trước ( gán hàm khi nhập...m - Theo ý người sử dụng)thì loại sang file khác ,tiếp tục vònglăp cho điểm thứ 2 ...3... end. Mình nghĩ thế ,không biết có được o,bạn xem có thể làm theo hướng đó đc o.
    Xin cảm ơn .
    Ndbngo@yahoo.com 0988529640

    Trả lờiXóa
  32. Cảm ơn bạn ,theo bạn mình chuyển về tọa độ 0,0 thì o bị phá vỡ nữa .Còn về .pat mình cũng đọc về khaosat 2009 cấp nhưng mình sợ bạn o biết về nguồn gôc các file *.pat đó mà thôi.
    Thank.

    Trả lờiXóa
  33. Chào anh...em là dân khảo sát đường nhờ anh viết hộ cho 1 cái lisp.
    -Mục đích: Xóa những text cao độ đè lên nhau.

    Khi bọn em xuất cao độ địa hình ra thì những vị trí gần nhau, text cao độ sẽ bị chèn lên nhau. Ý em muốn là xóa bớt những text cao độ sao cho cả bản vẽ ko có 2 text nào chèn lên nhau...và khoảng cách nhỏ nhất giữa 2 text ko nhỏ hơn 1 giá trị nào đó (phụ thuộc vào chiều cao text) để các text ko sít nhau quá, cho dễ nhìn 1 chút...
    Ý sơ sơ của em là như thế, em có ví dụ file *.dwg kèm theo...Rất rất mong a giúp đỡ ạ!!!

    http://www.mediafire.com/?cf7ncx36n94g5eb

    Trả lờiXóa
  34. Xin lỗi vì đã làm phiền bạn,đành phải cố gắng học theo các bài của bạn để tự viết lấy vậy thôi.
    Mình muốn hỏi là dùng lisp thì có thể viết dể xuất 1 dạng file text này sang 1 file text khác được o(nghĩa là từ file nguồn chuyển sang file đích có định dạng khác-mình sẽ gửi file).
    nếu có thể Duy viết giúp hoặc hướng dẫn mình viết nhé .Mình có 2 file file 1 số liệu ,file 2 ghi chú theo số thứ tự của cột thứ nhất.Ở file thứ nhất là các điểm từ 1,...end.
    file 2 là ghi chú sẽ gán cho các điểm đó. Mình cần 1 file tổng hợp thứ 3 gán các ghi chú ở file 2 vào các điểm của file 1.((mình gửi ở hộp thư)
    Xin cảm ơn .

    Trả lờiXóa
  35. Mình đã gửi vào hộp thư cho bạn .
    Mong tin.

    Trả lờiXóa
  36. Đã xem 3 file của bạn gửi. Hướng giải quyết thì mình đề xuất như sau:
    -Chỉ định file 1.
    -Đọc từng dòng file 1 nếu có nội dung thì xử lý (đoạn 1). Nếu dòng trống thì kết thúc lệnh.
    -Nội dung đoạn 1 như sau:
    +Đọc lần lượt từng ký tự của dòng đến khi gặp ký tự thì lấy ký tự này làm biến noidungdau tiếp tục đọc ký tự tiếp theo đến khi gặp ký tự rỗng thì kết thúc việc lấy biến noidungdau.
    +Dùng hàm điều kiện so sánh biến noidungdau (FILE 2 của bạn nếu là cố định thì nên đưa nó vào lisp chứ đọc file 2 để lấy điều kiện nửa thì rất dài dòng).
    +Ghép thêm chuổi đầu cần thêm vào sau đó ghi ra file khác.
    Bạn thấy như vậy có đúng ý không và bạn tự viết được không? Chứ mình thì có hướng như vậy nhưng đang đau nên cũng lười hoạt động, chờ thời gian nửa đã.

    Trả lờiXóa
  37. Gửi Duy rất thân. Cho mình gọi như thế ,thứ nhất là khả năng chịu học hỏi, hơn nữa nhiều khi làm không công và mã nguồn mở em biết rồi ,nhiều lúc bản quyền là vô nghĩa hơn nữa tỉnh lẻ ,huyện miền núi như Bình sơn (Vì anh đã từng ghi đấu chân và làm việc mọi vùng miền của đất Quảng ngãi (Bạn anh cùng học hiện là quan chức nhất nhì của Sở Tài nguyên và môi trường)) .Mình học hành ,cái tâm,cái tài muốn hỗ trợ cho mọi người đê trí thức Việt mình dám ngẩng đầu với thế giới là rất tốt. Nhưng anh nghĩ khi em bỏ công sức ,nhiều khi thức trắng đêm để viết và thử nghiệm phần mềm.Mình có thể o lấy nhiều ,nhưng khi sản xuất áp dụng có hiệu quả thì công ngươi viết ,lao tâm khổ tứ mà o có gì thì anh nghĩ o đc .Năm 98 anh viết 1 phần mềm vẽ nhà như em ,tất nhiên hiệu quả và hợp lý hơn (Vì anh là ngừơi chuyên ngành cơ quan đã thưởng 1 tr(Vì thế hệ cũ anh chỉ viêt trên Pascan qua đuôi Dxf).
    Vậy anh nghĩ 1 đoạn tiện ích như em viết cho khaosat2009 thì em nên cũng nên láy khoảng 1 tr.Không thì bọn anh là sản xuât thì lợi mà em o có gì thì anh nghĩ ngợi quá.
    Thân.
    Nếu có thể khác quan điểm của em thì em xóa đi.
    Chào em .Ngô Đông Phương (ndbngo,ndpngo) 0988529640.

    Trả lờiXóa
  38. Vì hơn em gần 2 thập kỷ (nêu em sinh 1968) có suy nghĩ và nhìn nhận khác em thì em thông cảm nhé.
    Mong gặp,nếu em ra Hà nội thì gọi cho anh.
    thank.

    Trả lờiXóa
  39. Anh gõ nhầm anh sinh 1964 em 1978 .

    Trả lờiXóa
  40. Thế thì Duy phải gọi bằng anh rồi. Cái vụ thù lao thì đúng là Duy chưa dám nghỉ tới vì nói chung các tiện ích viết ra còn ít nhiều tham khảo ý kiến của anh em cadviet và còn có chổ sai xót không ok hoàn toàn được. Viết giúp thì được chứ viết lấy thù lao thì chắc bị phạt hợp đồng miết quá.
    À Bình Sơn là huyện đồng bằng nằm phía bắc tỉnh Quảng Ngãi chứ ko đc sếp vào huyện miền núi anh à.

    Trả lờiXóa
  41. Đã xong lisp ghép file txtrồi anh chạy thử xem đúng ý không nhé.
    +Lệnh: GTT.
    +Load lisp, nhập lệnh, chỉ file muốn chỉnh.
    +Vào thư mục chứa file muốn chỉnh xem nội dung file mới tạo (có thêm chử duythem).
    *Lưu ý chuyển file muốn chỉnh về đuôi txt trước khi thực hiện lệnh.

    http://www.4shared.com/file/1FEIo-PE/ghepthemfiletext.html

    Trả lờiXóa
  42. Mình muốn bác viết cho mình xin cái Lisp tạo ra một text gốc chẳng han: A1
    Trong đó A: mình có thể tùy biến
    Sau khi tạo ra text gốc là A1 mình sẽ copy text gốc này ra nhiều text khác là con của text gốc A1 này mình muốn text con của nó thứ tự tăng dần sẽ là A2, A3, A4......
    Cảm ơn bác, không biết hồi xưa bác học trường nào nhỉ?@@

    Trả lờiXóa
  43. -Nếu dạng như sau thì mình viết được:
    +Bảo chọn điểm viết text,
    +Hỏi giá trị cố định phía trước,
    +Hỏi giá trị thay đổi phía sau,
    +Hỏi giá trị cộng thêm,
    +Hỏi số lượng rải tex này, hỏi khoảng cách.
    -Còn nếu muốn copy text có sẳn thì như sau:
    +Bảo chọn text mẩu
    +Hỏi giá trị cần thay đổi là mấy số tính từ sau tính tới.
    +Hỏi giá trị cộng thêm.
    +Đoạn sau làm như copy bình thường.


    @Mình học ĐHK TRÚC Hà Nội

    Trả lờiXóa
  44. Oh! Thanks bác Duy, mục đích của mình là cái vế này:
    "-Còn nếu muốn copy text có sẳn thì như sau:
    +Bảo chọn text mẩu
    +Hỏi giá trị cần thay đổi là mấy số tính từ sau tính tới.
    +Hỏi giá trị cộng thêm.
    +Đoạn sau làm như copy bình thường."
    Nếu được bác cho mình xin cái Lisp này!
    Mình học ĐH KTrúc HCM!

    Trả lờiXóa
  45. Thanks bác!
    Chúc bác sức khỏe, công tác tốt!!

    Trả lờiXóa
  46. Bác Duy làm cách nào phá Block có xài ATT mà vẫn giữ nguyên số trong Block đó nhỉ?
    Thanks bác!!

    Trả lờiXóa
  47. Lệnh burst trong EXpress có sẳn đấy bạn.

    Trả lờiXóa
  48. Anh Duy, em có vài cái file lisp em muốn add vào cad, có cái lisp nào add tự động các file .lsp, .Fas,... vào cad mà không dùng lệnh AP không nhỉ?!!
    Thanks anh!

    Trả lờiXóa
  49. Gỏ lệnh AP, chọn nút Contents..., chọn add, chọn tất cả các lisp và fas vào sau đó cứ khởi động cad thì các file nằm trong danh sách bạn đã add sẽ tự load.

    Trả lờiXóa
  50. Ý em là em có một số file .lsp, .fas, .arx đã đóng gói thành 1 ctrình nhỏ để chạy nó tự bung ra, vì vậy em muốn viết 1 file lisp với đường dẫn như thế nào để khi cài đặt ctrình thì CAD tự load lun. Em có tham khảo mấy file Lisp acaddoc.lsp và làm theo hương dẫn nhưng vẫn không load các file trên được, mong anh chỉ giáo!!

    Trả lờiXóa
  51. Dòng đó như này: NHớ là tên file không có đuôi mở rộng nhé
    (load "c:/tienich/lenh/thuvienndung")
    (load "c:/tienich/lenh/thuvienchitiet")

    Trả lờiXóa
  52. (load "C:/Program Files/AutoCAD 2007/Support/DOSLib17")
    em đánh lệnh như thế sao mấy cái file lisp thì load được nhưng cái file DOSLib17 không load được anh nhỉ?!!! CAD2007 nó báo như thế này:
    AutoCAD menu utilities loaded.; error: LOAD failed: "C:/Program Files/AutoCAD
    2007/Support/DOSLib17"

    Trả lờiXóa
  53. DOSLib17 nó là file gì bạn? Đuôi ấy!

    Trả lờiXóa
  54. file .arx đó anh
    em đánh thêm arx ở phía trước Load
    nó chạy được roài, nhưng khổ nỗi nếu nó load đến cái file nào nó báo lỗi thì các file load tiếp theo nó không thực hiện được anh ah!!
    anh có cách nào khắc phục ko?!
    Thanks anh!

    Trả lờiXóa
  55. Không! Chịu khó load thử trước khi đưa vào lisp vậy ha.

    Trả lờiXóa
  56. anh Duy có phầm mềm viết file .fas không? em đang cần nó để mã hóa 1 số file lisp. Em không hiểu lắm về file .Fas, anh có thể giúp em không?
    Thanks!!

    Trả lờiXóa
  57. Mình chưa nghiên cứu việc này nên ko trả lời bạn được.

    Trả lờiXóa
  58. anh Duy à,anh không trả lời câu hỏi của bạn Khương Duy ngày 21/7/2010 a,anh có lênh dấy không ạ ?

    Trả lờiXóa
  59. Vấn đề này đã bàn luận và giải quyết tại đây bạn vào xem nhé:
    http://www.cadviet.com/forum/index.php?showtopic=23110&st=0

    Trả lờiXóa
  60. Mình kiểm tra thì các text đã chuyển đến đường thẳng (line) nhưng đúng là khoảng cách của các text chưa khớp với các trường hợp các text này chuyển vuông góc với line.
    Về thuật toán thì cũng chưa biết được.
    Vậy duy cứ nghiên cứu và viết tiếp hộ với .
    Cảm ơn

    Trả lờiXóa
  61. http://www.mediafire.com/file/pno372it7ja64x9/truoc.dwg
    Duy thử với bản vẽ này ,sau khi thực hiện CCT các text dồn thành 1 đống với nhau
    http://www.mediafire.com/file/vcashq2pys1p28a/sau.dwg

    Trả lờiXóa
  62. OK bây giờ bài toán vuông góc là chinhính xác rồi đó anh thư xem nhé. hi vọng đúng ý anh.

    http://www.4shared.com/file/V38ddxeQ/canhchinhtextok.html

    Trả lờiXóa
  63. Đây là file đã gộp 2 lựa chọn:
    -CCTT: Chọn Line và nhập khoảng cách ảnh hưởng.
    -CCT: chọn Line và chọn các text ảnh hưởng.

    http://www.4shared.com/file/_AVcAc0F/canhchinhtextok_2.html

    Trả lờiXóa
  64. Rất đạt yêu cầu đặt ra .Không nghĩ việc lấy vuông góc phải đặt ra nhiều biến như vậy.
    Xin cảm ơn vì nhiệt tình của bạn .Hy vọng được Duy giúp cho các lisp có hiệu quả trong công việc như vậy.
    Đây là phần đầu bài toán mà mình đang giải quyết
    Phần 2 là xuất tất cả các text này ra 1 file *.txt (Theo đường dẫn ) theo 4 lựa chọn ( x tăng,x giảm,y tăng ,y giảm ).
    Nếu có thời gian rảnh ,Duy ngiên cứu viêt giúp với.
    Cảm ơn lần nữa.

    Trả lờiXóa
  65. Xuất ra file thì dể lắm nhưng thuật toán sắp sếp để Duy lội qua cadviet mót xong hiểu được thì mới viết được, anh chờ vài ngày nhé! À anh nói theo đường dẩn là cố định hay hiện hộp thoại hỏi chọn vị trí?

    Trả lờiXóa
  66. Nên cho hội thoại thì hay hơn.
    Xuất ra tọa độ thì đúng là thuật toán dơn giân,diễn đàn đã có nhiều nhưng việc phải lựa chọn (x,y tăng,giảm ) thì diễn đàn mới đặt sơ qua mà thôi
    http://www.cadviet.com/forum/index.php?s=&showtopic=13203&view=findpost&p=73455
    Thời gian thì vài ngày hay 1 tuần cũng được mà.
    Cảm ơn.

    Trả lờiXóa
  67. Theo mình thì tạo đường dẫn ( open " D:/toado/text.td " "a").
    Thời gian thì lúc rảnh Duy viết cho mình cũng được.

    Trả lờiXóa
  68. Chúc mừng bạn một năm mới tốt lành ,vui vẻ ,xóa được chữ "độc" trong phần giới thiệu.

    Trả lờiXóa
  69. Cảm ơn anh Duy nha !
    Cái Lisp anh viết tốt rồi nhưng nhờ anh sửa thêm lại dùm em 1 chút nữa,
    Kết quả L=*** là được rồi, nhưng i=*** nhờ anh sửa thành i=**% (phần trăm)
    Vì kết quả nó ra dài quá che mất 1 trong 2 text khi khoảng cách 2 text gần nhau. Anh cho text i=**% nằm dưới l=*** cho nó dễ nhìn :
    L=***
    i=**%

    Cảm ơn anh

    Trả lờiXóa
  70. http://www.4shared.com/file/A7TnHxtX/dodoc_2.html

    Đây bạn:

    Trả lờiXóa
  71. a có thể viết giúp e cái lisp vẽ các loại của 1,2,4 cánh và cửa sổ không. Em đã tìm hết rồi nhưng đều thấy chỉ là chương trình phụ trợ không dành cho win 7. và có người viết lisp rồi nhưng không dùng được. e xin cảm ơn trước ah. ( e cũng đã tìm luôn trên google nhưng khong thấy ) ai chỉ giúp e với!

    Trả lờiXóa
  72. Anh sửa lại dùm cái i=00.00%
    Độ dốc của mình là 25.24% mà trong kết quả là i=0.25%
    Anh đưa về 2 số lẻ giúp em

    Trả lờiXóa
  73. Bạn sửa dòng:
    (setq dodoc (/ gialech giatril))
    Thành:
    (setq dodoc (* (/ gialech giatril) 100))
    Là được nha!

    Trả lờiXóa
  74. Được rồi Anh Duy ơi !
    Cảm ơn anh nhiều.

    Trả lờiXóa
  75. Mình đã dow về và kiểm tra ,các kết quả đều đúng .Nhưng ý mình muốn là sau khi chọn đối tượng text tại layer 1( Layer Duy yêu cầu mình chọn ) thì sau đó mới xuât hiên 4 lựa chon:
    XT(1).XG(2).YT(3),YG(4) và người dùng chọn 1,2,3,4
    Các text được lựa chọn đánh dấu chỉ có 1 (hoặc 2 text) được chọn bằng kích chuột hoặc cửa sổ thì trong tập hợp xuât ra text này có chữ T .
    Rất cảm ơn Duy đã viết cho mình(Giải thich giúp mình về hàm vla-sort nhé).

    Trả lờiXóa
  76. http://www.4shared.com/file/rSoOMfVs/xtexrafileok_2.html

    Okay Lisp đã thêm phần đánh số thứ tự đầu dòng và tối ưu lại rồi anh Test xem nhé. Hy vọng đúng ý.

    Trả lờiXóa
  77. Rất cảm ơn vì công sức và chất xám của bạn,mình đang đi công tác nên không có cad để thử và kiểm tra kết quả,có gì mình sẽ phản hồi sau (vào tối mai) .
    Mình muốn hỏi rằng khi dùng lisp thì có thê xuất ra đồng thời 2 file( hoặc nhiều hơn-Lớn nhất là bao nhiêu file) được không ví dụ như trên là định dạng 1 ,kiểu khác nữa là định dạng 2 vi dụ:
    Định khác là 3 cột
    Thứ tự /khoảng cách giũa các text/ giá trị text .(theo chiều tăng giảm x,y trên màn hình )
    Nhờ viêt nhiều biết là phiền quá ,nên có thể lúc rỗi Duy nghiên cứu giúp minh gợi ý(tất nhiên là viết được thì quá tuyệt vời thì mình dễ học và nâng cao trình độ ,nghiên cứu lập trình nhanh hơn) .
    Xin cảm ơn bạn lần nữa.
    Mail của mình là ndbngo@yahoo.com
    or Phuongksxdhn@gmail.com

    Trả lờiXóa
  78. Hồi tối đã up sao sáng nay mất tiêu nên Duy up lại đây. Lisp đã hoàn thiện đầy đủ cả cột số thứ tự. và củng đã tối ưu hoá cho gọn lại. Lệnh như cũ.
    http://www.4shared.com/file/rSoOMfVs/xtexrafileok_2.html

    *Về lý thuyết thì 1 lúc có thể xuất ra nhiều file text ko biết giới hạn là bao nhiêu nhưng Duy thử 5 file thì vô tư.

    Trả lờiXóa
  79. Mình đẫ chạy thử và kết quả tốt ,nhưng mình muốn Duy chỉnh giúp 1 số điêu như sau:
    -Layer mặc định là "Text1" không phải chọn layer nữa
    -Lưa chọn các text (vì có vài trăm tập hợp text) băng cách kích chuột vào đường pline khép kín đã vẽ trước bao quanh từng tập hợp này)
    _vì nhiều tập hợp text nên Duy tạo cho vòng lặp liên tục chỉ kết thúc khi ấn enter.
    Sau khi ấn kết thúc có thể có được thông báo đã có bao tập hợp được chọn và số dối tượng trong từng tập hợp đó.
    Xin cảm ơn.

    Trả lờiXóa
  80. Đánh dâu text nên để ,không đánh dấu thì ấn enter bỏ qua.Để từng trường hợp thôi cũng hợp lý (4 trường hợp) ,để gọn khi sử lý số liệu cũng là 1 ý hay.Sẽ gõ lệnh XT,yt,xg,yg không dùng lệnh chung để chọn nữa cũng hay
    Có thể thế thì dễ hiêu hơn ,mình vừa học sẽ dễ hiểu và chỉnh sửa theo ý muốn hơn,còn của Hoanh nhiều khi gọn quá ,mình chưa hiểu được nên khó sửa (Dù hay mà gọn ).
    Anh thấy hàm tự tạo ssget "Wp" plst chọn đối tượng pick theo đường bao hay và nhanh trong bài toán của anh đang giải quyết.
    Lúc nào em viết gợi ý bài về từ 1 dữ liệu xuất ra cùng lúc đông thời nhiều file với với(chắc cũng chỉ cần đến 4 định dạng thôi chứ khong cần nhiều hơn.
    Xin cảm ơn.

    Trả lờiXóa
  81. Viết xong mới đọc mail ,em gửi .
    Đúng vậy trường hơp khoảng cách text nên cho bằng o ,trường hợp sau thì thì anh nghĩ phải dùng file 1 cua em ,ròi đọc từ đó ra khoảng cách các text ,chứ chưa nghĩ ra cách để lấy ngay từ màn hình để xuát file ,thôi thì học tiếp vậy ,vì để đọc hiểu các líp đã viết thì còn chưa hiểu ,nhất là khi có các hàm VL .
    Cảm ơn Duy

    Trả lờiXóa
  82. -Cái vụ lấy tập hợp chọn trong pline giới hạn coi thế nhưng mà rất rắc rối vì dùng WP thì phải chọn từng đỉnh pline chứ không phải chọn pline. Cái này Duy đã đọc mấy lisp của Tuệ viết nhưng vẩn chưa hiểu.
    -Lấy khoảng cách thì đơn giản vì đã có giá trị toạ độ text rồi, dùng hàm distance là có khoảng cách thôi.

    Trả lờiXóa
  83. Thế thì hàm wp để sau cũng được,em cho xuât cho anh cả 2 định dạng,tọa độ như đã viết ,file 2 là khoảng cách ,giá trị text ( Chú ý vẫn theo chiều x,y tăng giảm).
    Cảm ơn Duy.

    Trả lờiXóa
  84. Lisp Này cho phép chọn nhiều pline bao quanh tập hợp. Duy đã chỉnh lại layer mặc đĩnh là DOCAO luôn rồi. Đã thêm luôn phần dòng ghi tập hợp số ... trong phần viết ra file.
    -Tên lệnh là XTPL. Lưu ý trong mổi tập hợp phải chọn ít nhất 1 text đánh dầu chứ ko thì hình như lisp lổi. Từ từ Duy khắc phục.

    http://www.4shared.com/file/E3bJWulf/xftlp.html

    Trả lờiXóa
  85. Lisp đã đạt được theo yêu cầu của mình.
    Cảm ơn Duy.
    Yêu cầu tiếp mình gửi Duy qua Mail.

    Trả lờiXóa
  86. Hẹ hẹ. Visua thì em bó tay bác ợ. Nếu Là LSP và DCL + NS thì mình còn nhờ anh GOOGLE dịch rồi sửa được chứ như này thì em xin vái cả nón.

    Trả lờiXóa
  87. Anh Duy viết dùm em cái Lisp bẻ và nối đối tượng :
    Em có đường Line hoặc Polyline muốn bẻ gãy làm nhiều đoạn nhưng vẫn liền nhau
    Bình thường em vẫn phải làm : dùng lệnh “BR” Break bẻ đối tượng các vi trí cần dùng sau đó dùng “PE” Pedit để nối lại các điểm đó ( vì làm Nova nên phải làm trên Cad 14). Làm như vậy mất công quá
    Nên Nhờ anh viết giúp cái Lisp làm cho nhanh. Cảm ơn

    Trả lờiXóa
  88. Anh ơi anh còn viết Lisp theo yêu cầu không? Anh viết giúp em Lisp xác định và ghi độ dốc của các đường Line và pline (theo%) với. Em cảm ơn ah.
    Mail em: qkhs.live@gmail.com

    Trả lờiXóa
  89. Chủ nhà đi đâu rồi vậy ta? Sao để vườn không nhà chống thế này?

    Trả lờiXóa
  90. anh duy viet dum em lip tinh dien tich nhu trong hinh ve
    http://www.mediafire.com/?1udeogva4jucevg
    tranvanthan74@gmail.com

    Trả lờiXóa
  91. anh duy oi em dang can gap ne
    anh duy viet dum em lip tinh dien tich nhu trong hinh ve
    http://www.mediafire.com/?1udeogva4jucevg
    tranvanthan74@gmail.com

    Trả lờiXóa
  92. oh, anh duy oi, sao ko thay anh hoi am vay, anh ban lam aH, mong anh hoi am vai tien ich lisp upload thang 4
    tranvanthan74@yahoo.com

    Trả lờiXóa
  93. Anh Duy xem giúp em còn thiếu thông số gì nhe

    (defun c:BKT (/P1)
    (SETVAR "CMDECHO" 0)
    (setq P1 (GETPOINT "\nChon diem chen bang thong ke:"))
    (command "INSERT" "BK1" P1 "" "" "" "EXPLODE" "")
    (SETVAR "CMDECHO" 1)
    )
    (princ)

    Trả lờiXóa
  94. 1. Up block BK1 cho mình xem tí.
    2. BK1 đã tồn ại trong đường dẩn mặc định của cad chưa.
    3. Khi chạy lisp báo lổi gì copy nội dung báo mình xem tí.

    Trả lờiXóa
  95. Block đó là nhóm các Block thuộc tính. Nếu dùng lệnh insert bình thường thì OK nhưng nó qua nhiều bước quá nên em muốn tạo một Lisp để thực hiện tất cả các bước đó.
    BK1 đã tồn ại trong đường dẩn mặc định của cad
    Và khi bật Cad lên nó báo thế này:
    Command: bkt
    ; error: too few arguments

    Trả lờiXóa
  96. Nó báo như thế là đối số nhập vào quá ít.
    -Với block thuộc tính thì sau khi nhập tỉ lệ x,y góc quay tương đương với mấy dấu "" của Vương cần phải cung cấp các giá trị khác của block thuộc tính đó nửa nên mình mới hỏi cho xem cái block đó để biết cần thêm bao nhiêu dấu "" thì đủ.
    -Vương làm như sau: Dùng lệnh insert cùa cad chèn cái block đó vào và xem mình thao tác như nào:
    +Chọn điểm. cái này trong lisp thay bằng P1 rồi.
    +Enter mấy lần, enter không hay là có nhập giá trị rồi mới enter.
    Đếm đúng chính xác như thế rồi viết thêm vào lisp:
    +Enter tương ứng với ""
    +Giá trị nhập ví dụ là A thì tương ứng "A".
    +Giá trị nhập đã được gán thành biến ví dụ là biena thì nhập là biena.

    Trả lờiXóa
  97. Em up file lên anh xem giúp nhé. Em thử rồi mà cũng chưa được (khả năng lisp còn kém quá, hi hi)
    Em nghĩ là cái dấu "" cuối cùng thiếu cái gì đó.
    http://www.mediafire.com/?3zv70io9sx6gvgf

    Trả lờiXóa
  98. (defun c:bkt ()
    (command "undo" "be")
    (setq p1 (getpoint "\nDiem dat bang: "))
    (command "-insert" "bk1" p1 "" "" "" "EXPLODE" "last" "")
    (command "undo" "end")
    (Princ))

    Trả lờiXóa
  99. Em đoán đúng chứ hỉ!!! Nghi nghi rồi mà khong biết như thế nào. Anh giải thích giúp chữ "last" cho em hiểu với. Cảm ơn anh nghe. Em còn làm phiền anh nhiều, hi hi!!!

    Trả lờiXóa
  100. Cho em hỏi thêm tí, hi` hi`!! Bây giờ em muốn chèn block BK1 với điểm chọn là là ngay vị trí góc trên bên trái bảng thì trong Lisp mình thêm dòng lệnh gì nữa anh Duy? Em đang trong giai đoạn học hỏi, có gì mong anh chỉ bảo thêm. Thanks anh

    Trả lờiXóa
  101. Chú dạo này lười lắm nhé khéo mà ỵut nghề bây giờ :-p.
    (command "-insert" "bk1" p1 "" "" "" "EXPLODE" "last" "")
    -Tương đương gỏ lệnh insert, nhập bk1, chọn điểm p1, enter ba lần. Lúc này block bk1 đã được chèn.
    -Gỏ lệnh explode gỏ last nghĩa là chọn đối tượng vừa được tạo ra, enter.

    Trả lờiXóa
  102. Muốn thay điểm chèn của block thì mở block đó ra và thay điểm chèn (move cái hình đó cái điểm mong nuốn về điểm 0,0) lisp ko cần chỉnh chi cả

    Trả lờiXóa
  103. Hôm trước có thử đưa điểm chèn về gốc tọa độ rồi mà do trong đường dẫn mặc định có thêm cái BK1 nữa (không biết thằng nào bỏ vô :D)nên mới hỏi
    Có vấn đề để trò chuyện với ông anh nữa rồi. Là thế này:
    1- khi load lisp của anh đã sửa dùng thì OK nhưng tại dòng command thấy báo thế này có vẻ hơi mất thẩm mỹ:
    .......
    Command: BKT Unknown command "BKT". Press F1 for help.
    ......
    Thấy cái dòng này có vẻ không đam mê lắm. he he!!!
    Làm phiền ông anh nhiều, ngại quá, ngại quá

    Trả lờiXóa
  104. Vương copy cái dòng
    (command "-insert" "bk1" p1 "" "" "" "EXPLODE" "last" "")
    Bỏ vào trong cái lisp của Vương là được thôi.
    -Thì Vương sửa điểm chèn của block trong đường dẩn mặc định luon là xong mà

    Trả lờiXóa