Chào bạn! Mình tạo Blog này để lưu giữ những bài viết của mình trên các diển đàn khác và vài tư liệu cá nhân. Chúc bạn vui khi ghé blog này.
(Đề phòng ai đó muốn mua quà tặng hoặc chiêu đãi mình).
-Quần áo thích JOHN HENRY: Áo thun cỡ M; Áo sơ mi dài tay cỡ S, ngắn tay cỡ M; Quần cỡ 29.
-Ăn vặt thích: Lựu; Sapoche; Hồng giòn; Bưởi; Thanh long.
-Món ăn chính thích: Mỳ Quảng; Bánh xèo; cơm chiên; xôi không + trứng tráng.
-Tạp chí thích: Văn nghệ quân đội; tạp chí kiến trúc; nhà đẹp; làm bạn với máy tính.
-Ca sỹ thích: Quang Dũng; Minh Quân; Đàm Vĩnh Hưng; Cao Thái Sơn; Ngọc Khuê;
Lê Cát Trọng Lý; Tuấn Ngọc.
1. Mình sẽ ko trả lời đồng thời xoá mọi câu hỏi với vai trò nặc danh. Các bạn vui lòng đọc thông báo trước khi đặt câu hỏi!
.
2. Mình đã trang bị đủ công cụ để tương tác với các bạn. Đừng bảo mình gửi mail hoặc liên hệ với các bạn khi các bạn nhờ mình!

Nhờ viết lisp

02:05 Được đăng bởi Phạm Quốc Duy

Bạn có thể gửi nhờ vã 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


1.Mình đổi mục này từ yêu cầu thành nhờ vì quá nhiều bạn coi như mình có nghĩa vụ đáp ứng mọi yêu cầu của các bạn, khi nhờ thì liên tục gọi điện làm phiền không gian riêng tư của mình, khi viết xong thì ko nghe bất cứa phản hồi gì giống như ném hòn đá xuống vực sâu ko nghe vọng lại gì mãi đến khi cần nhờ quả khác thì mới nhân tiện cảm ơn mình phát.

2.Như đã nói trên mình có quyền từ chối từ đầu, viết nửa chừng xong cảm thấy ko ổn cũng từ chối, khi bận mình có quyền hẹn hoặc từ chối vì đây là mình giúp các bạn không không vậy thôi cả tiền net và điện thoại mình cũng phải lôi trong ví ra mà thanh toán đừng bao giờ kiêu réo mình bằng mọi hình thức.

3.Đừng bao giờ ném cho người giúp mình câu đại loại là "cái của ông như cứt ấy nhưng dù sao cũng cảm ơn".

256 nhận xét:

«Cũ nhất   ‹Cũ hơn   1 – 200 trên 256   Mới hơn›   Mới nhất»
  1. Nặc danh nói...

    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

  2. Phạm Quốc Duy nói...

    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ó.

  3. goku nói...

    Chào bạn Duy,

    Bạn có thể giúp mình viết Lisp cho đường thân khai và đuờng xicloit được không ạ !!!
    Đây là hình cad kèm theo:
    http://www.cadviet.com/upfiles/2/drawing1_18.dwg

    Xin cảm ơn Duy >.<

  4. Phạm Quốc Duy nói...

    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?

  5. goku nói...

    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é ~"~

  6. goku nói...

    Còn cái hình Xicloit nữa T_T

  7. duy782006 nói...

    *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ả)

  8. goku nói...

    Ặ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é ^^.

  9. goku nói...

    http://www.cadviet.com/upfiles/2/thankhai_xicloit.dwg
    Nó đây nè anh :-D

  10. duy782006 nói...

    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

  11. goku nói...

    Em cám ơn anh nhìu :-(

  12. goku nói...

    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 ^^!

  13. duy782006 nói...

    Viết được nhưng phải khoảng 7 ngày sau nha bạn!

  14. goku nói...

    Hì, em cảm ơn anh nhiều nhiều ^^!

  15. duy782006 nói...

    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

  16. duy782006 nói...

    Cập nhật lại link lổi.
    http://www.4shared.com/file/204710059/2a92f96c/vehinhs.html

  17. goku nói...

    http://www.cadviet.com/upfiles/2/xicloit.dwg
    Đây là bài xicloit em vẽ lại ^^

  18. goku nói...

    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é ^^!

  19. duy782006 nói...

    http://www.4shared.com/file/208424644/c0433d7f/vehinhm.html
    Đã chỉnh lại rồi đây bạn. Lệnh như cũ.
    -Thêm hai lệnh màu mè: bdvethankhai và bdvexicloit là hai lệnh vẽ chậm từng bước, cái này mang tính biểu diển cho vui thôi nha bạn.

  20. goku nói...

    Hihi, cảm ơn anh nhiều và chúc anh năm mới vui vẻ ^^!

  21. huyhoa255 nói...

    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 !

  22. duy782006 nói...

    Bạn gửi file dwg mình xem thử.

  23. khaosat2009 nói...

    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.

  24. Phạm Quốc Duy nói...

    Ok men! Chờ vài hôm nhé.

  25. Thaistreetz nói...

    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

  26. duy782006 nói...

    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!

  27. Nguyễn Cao Cường nói...

    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 .

  28. Phạm Quốc Duy nói...

    Cái hình và lisp của bạn hình như ko khớp thì phải? Khỏang cách offset dùng làm gì. Mình dự vào hình và viết đoạn đầu bạn thử xem có đúng ý chưa. Đoạn sau phải nghiên cứu cách lấy giao điểm nên từ từ nghiên cứu tiếp.

    (Defun c:dung ( )
    (command "undo" "be")





    (setq a (getpoint "\nChon diem goc: "))
    (setq bp (getpoint a"\nChieu dai ben phai "))

    (setq luubatdiem (getvar "osmode"))
    (setvar "osmode" 0)

    (setq kcp (distance a bp))
    (setq b (polar a (/ pi 6) kcp))
    (setq gocab (angle a b))
    (command ".line" a b "")

    (setvar "osmode"luubatdiem)

    (setq bt (getpoint a"\nChieu dai ben trai "))
    (command "UNDO" "")

    (setq luubatdiem (getvar "osmode"))
    (setvar "osmode" 0)

    (setq kct (distance a bt))
    (setq c (polar a (+ gocab (/ pi 2)) kct))
    (setq d (polar b (+ gocab (/ pi 2)) kct))
    (command ".pline" a b d c a "")

    (setvar "osmode"luubatdiem)

    (setq nd (getpoint "\nChon gioi han ngang ben duoi "))

    (setq luubatdiem (getvar "osmode"))
    (setvar "osmode" 0)

    (setq ynd (cadr nd))
    (setq xtnd (- (car a) (* kct 5)))
    (setq xpnd (+ (car a) (* kcp 5)))
    (command ".line" (list xtnd ynd) (list xpnd ynd) "")
    (setq dtduoi (entlast))

    (setvar "osmode"luubatdiem)

    (setq dt (getpoint a"\nChon diem tu phia duoi "))

    (setq luubatdiem (getvar "osmode"))
    (setvar "osmode" 0)

    (setq ynt (+ ynd (- ynd (cadr dt))))
    (command ".line" (list xtnd ynt) (list xpnd ynt) "")

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    (command ".line" a dt "")
    (Command ".EXTEND" dtduoi "" a "")
    (setq dtdena (entlast))
    (setq ttdta (entget dtdena))
    (setq diemamoi (cdr (assoc 10 ttdta)))
    (command ".line" diemamoi (list (car diemamoi) ynt) "")
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    (command ".line" b dt "")
    (Command ".EXTEND" dtduoi "" b "")
    (setq dtdenb (entlast))
    (setq ttdtb (entget dtdenb))
    (setq diembmoi (cdr (assoc 10 ttdtb)))
    (command ".line" diembmoi (list (car diembmoi) ynt) "")
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    (command ".line" c dt "")
    (Command ".EXTEND" dtduoi "" c "")
    (setq dtdenc (entlast))
    (setq ttdtc (entget dtdenc))
    (setq diemcmoi (cdr (assoc 10 ttdtc)))
    (command ".line" diemcmoi (list (car diemcmoi) ynt) "")
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    (command ".line" d dt "")
    (Command ".EXTEND" dtduoi "" d "")
    (setq dtdend (entlast))
    (setq ttdtd (entget dtdend))
    (setq diemdmoi (cdr (assoc 10 ttdtd)))
    (command ".line" diemdmoi (list (car diemdmoi) ynt) "")
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;



    (setvar "osmode"luubatdiem)


    (command "undo" "end")
    (Princ)
    )

  29. Nguyễn Cao Cường nói...

    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 .

  30. Nguyễn Cao Cường nói...

    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

  31. Phạm Quốc Duy nói...

    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.

  32. Nguyễn Cao Cường nói...

    Ha Ha Cám ơn anh nhé do bi giờ em mới học tới bài 21 và đang áp dụng thực hành mấy bài tập nhỏ nên có nhiều chỗ thắc mắc , anh Duy tài thật biết em sẽ thắc mắc nên viết trước luôn ha ha. Em sẽ cố gắng học Lisp có gì không hiểu xin nhờ anh chỉ dùm nhé .

  33. ndbngo nói...

    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

  34. Phạm Quốc Duy nói...

    Bạn up cho mình 1 góc file để dể hình dung nhé!

  35. ndbngo nói...

    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

  36. ndbngo nói...

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

  37. ndbngo nói...

    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

  38. Phạm Quốc Duy nói...

    Trước tiên mình xin nhắc lại các dữ liệu bao gồm line, hatch, block là do bạn khaosat2009 cung cấp nhờ mình tổng hợp và viết các menu, lisp chứ mình ko nói là của mình. Hatch khi hatch bị vỡ do mằm xa gốc tọa độ 0,0. Vì trong quá trình viết các hatch này có sai số rất nhỏ nếu càng xa gốc tọa độ 0,0 thì sai số càng lớn. Bạn chuyễn về gần gốc tọa độ sẽ hết tình trạng này ngay.

  39. ndbngo nói...

    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.

  40. Khuong Duy nói...

    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

  41. NDBNGO nói...

    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 .

  42. NDBNGO nói...

    file cuả mình
    http://www.4shared.com/dir/vEhKMImP/sharing.html

  43. Phạm Quốc Duy nói...

    file bạn gửi có pass nên mình ko mở được. Về nguyên tắt thì làm được việc ghép như bạn muốn. Mình sẻ xem lại phần này giúp bạn.

  44. ndbngo0988529640 nói...

    Mình đã gửi vào hộp thư cho bạn .
    Mong tin.

  45. duy782006 nói...

    Đã 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 đã.

  46. ndbngo0988529640 nói...

    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.

  47. ndbngo nói...

    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.

  48. ndbngo0988529640 nói...

    Anh gõ nhầm anh sinh 1964 em 1978 .

  49. Phạm Quốc Duy nói...

    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 à.

  50. Phạm Quốc Duy nói...

    Duy đã viết được đoạn hỏi chỉ 1 file txt, tạo 1 file txt cùng thư mục có tên là tên file nguồn và thêm chử duy thêm. Đọc và ghi lần lượt toàn bộ nội dung file nguồn ra file đích. Đang viết đoạn giữa nhưng đoạn tìm nội dung các ký tự điều kiện đầu các dòng chắc hơi lâu. Anh chờ nhé. Tham khảo đoạn hiện tại này anh.

    (DEFUN c:gtt ( )
    (setq filebandau (getfiled "Chon file .txt:" "" "txt" 0))

    (setq dodaifilebandau (strlen filebandau))
    (setq dodaifilebandaukotxt (- dodaifilebandau 4))
    (setq filebandaukotxt (substr filebandau 1 dodaifilebandaukotxt))

    (setq filetaosau (strcat filebandaukotxt "duythem.txt"))
    (setq FILEMODEVIET (open filetaosau "a"))


    (setq modedocfilebandau (open filebandau "r"))

    (while (setq noidungdocduoccuafile (read-line modedocfilebandau))
    (doanghep))


    (close modedocfilebandau)
    (close FILEMODEVIET)


    (princ)
    )

    ;;;;;;;;;;;;;;;;;;;;;;;;;

    (DEFUN doanghep ( )

    (write-line noidungdocduoccuafile FILEMODEVIET)

    (princ)
    )

    ;;;;;;;;;;;;;;;;;;;;;;;;;

  51. duy782006 nói...

    Đã 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

  52. okienvangs nói...

    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ỉ?@@

  53. DUY782006 nói...

    -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

  54. okienvangs nói...

    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!

  55. Phạm Quốc Duy nói...

    @okienvang: lisp của bạn đây.
    Tên lệnh là CTTS.
    http://www.4shared.com/file/0ywiarjk/congtextinhtruocsaunet.html

  56. okienvangs nói...

    Thanks bác!
    Chúc bác sức khỏe, công tác tốt!!

  57. okienvangs nói...

    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!!

  58. duy782006 nói...

    Lệnh burst trong EXpress có sẳn đấy bạn.

  59. okienvangs nói...

    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!

  60. duy782006 nói...

    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.

  61. okienvangs nói...

    Ý 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!!

  62. Phạm Quốc Duy nói...

    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")

  63. okienvangs nói...

    (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"

  64. Phạm Quốc Duy nói...

    DOSLib17 nó là file gì bạn? Đuôi ấy!

  65. okienvangs nói...

    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!

  66. Phạm Quốc Duy nói...

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

  67. okienvangs nói...

    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!!

  68. Phạm Quốc Duy nói...

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

  69. Phạm Quốc Duy nói...

    @okienvangs: Mình viết đoạn nậng Z 1 khoảng do bạn nhập vào đây. Tác dụng với mọi loại đối tượng bạn muốn pline ko thì thêm phần lọc đối tượn khi chọn nhé:

    (defun c:nz ()
    (command "undo" "be")
    (setq luubatdiem (getvar "osmode"))
    (setvar "osmode" 0)
    (prompt "\nChon doi tuong muon chinh cao do.")
    (setq ss (ssget))
    (setq nang (getreal "\nGia tri dieu chinh:"))
    (command ".move" ss "" (list 0 0 0) (list 0 0 nang))
    (setvar "osmode"luubatdiem)
    (command "undo" "end")
    (Princ)
    )

  70. Tu cau duong bo nói...

    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 ạ ?

  71. duy782006 nói...

    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

  72. ndbngo nói...

    Xem các lisp về text ,biết Duy rất thành thạo về các lệnh căn chỉnh text.
    Trong đó có trường hợp mình muốn căn chỉnh tất cả các đối tượng text mình chon (có thể là chọn đối tượng hoặc khoảng cách so với 1 đường thẳng (pline) bất kỳ theo phương nào trên bản vẽ cad.
    Mình muốn khi thực hiện líp này tát cả các text đã chọn hoặc đáp ứng yêu cầu sẽ nằm trên đường thảng đó.
    Xin cảm ơn.
    File cad đính kèm:
    http://www.zshare.net/download/8448921712cb6033/

  73. ndbngo nói...

    Mình gửi lại đường lin
    http://www.mediafire.com/file/1ob4e0k828fj2h8/chinhtext.1.dwg
    Duy xem giúp

  74. Phạm Quốc Duy nói...

    Hiện tại em viết tạm anh dùng thử xem đã nhé:
    -Đối tượng chuẩn phải là line (pline đang dò lổi ko biết lổi chổ nào).
    -Các text phải chọn thủ công (cái này đang viết them khả năng chiều nay xong phần chọn tự động bằng khoảng cách).
    -Thuật toán tìm điểm vuông góc chưa chuẩn em đang dùng bài toán đồng dạng gần đúng. (anh có cách nào về lý thuyết toán học thì chỉ em sẽ chỉnh lại).
    *Thao tác.
    -Gỏ lệnh CTT.
    -Chọn LINE chuẩn (chọn xong 1 line thì lisp hỏi qua chọn text ngay).
    -Chọn text (anh chọn thoải mái lisp sẽ lọc và lấy text thôi).
    *Anh xem kết quả và Duy đang hoàn thiện thêm!

    http://www.4shared.com/file/qOfuPHOt/canhchinhtext_2.html

  75. ndbngo nói...

    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

  76. ndbngo nói...

    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

  77. duy782006 nói...

    http://www.4shared.com/file/-vDdQq0d/canhchinhtexttt.html

    *Lisp tự nhận text đây. Anh test lại xem. file anh gửi em chạy thử lại chênh lệch chút đỉnh chứ ko có dồn đống như của anh.
    -Lệnh: CCTT.
    -Chọn line chuẩn xong nhập khoảng cách vùng ảnh hưởng là nó làm phát xong ngay. Lưu ý tực hiện xong anh UNDO như bình thường nhé.

  78. duy782006 nói...

    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

  79. duy782006 nói...

    Đâ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

  80. ndbngo nói...

    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.

  81. Duy782006 nói...

    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í?

  82. ndbngo nói...

    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.

  83. Beba nói...

    Beba
    Em có nhờ anh Duy viết giúp cái lisp " độ dốc " bên "www.tailieukythuat.com". Chờ bên đó lâu quá nên em nhảy qua Blog của anh nhờ anh viết cho nhanh.

    Em cảm ơn anh đã viết giúp em cái lisp về "độ dốc"
    , chắc do em diễn tả về ý tưởng chưa rõ lắm nên anh viết chưa đúng lắm, thôi nhờ anh viết lại giúp :
    Em làm việc trên bình đồ có nhiều text ( điểm gốc của text là Justify : Left )
    VD : ".12,54" độ dốc ".12,23"
    Bình thường muốn tính được đdốc i=% đó em phải tính mức chênh giữa 2 cao độ rồi chia cho KCách "." là Justify : Left của text
    Nhờ anh viết lại dùm
    Độ lớn text :
    Chọn text thứ nhất :
    Chọn text thứ hai :
    KQuả : ".12,54" L=?,i=%? ".12,23"
    Thêm cái L=? luôn nha anh
    Nếu text thứ nhất cao hơn text thứ hai thì "i=%" là độ dốc dương
    Nếu text thứ nhất thấp hơn text thứ hai thì "i=%" là độ dốc âm
    Anh cố giúp em sớm . Cảm ơn anh trước

  84. ndbngo nói...

    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.

  85. ndbngo nói...

    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.

  86. Phạm Quốc Duy nói...

    @Bạn BEBA
    *Lệnh: DODO
    *Thao tác:
    -Chọn text thứ nhất.
    -Chọn txet thứ hai.
    *Cách lisp làm việc:
    -Tạo text kết quả với định dạng giống hệt text thứ hai, nội dung L=*** i=***. Trong đó:
    +L là khoảng cách điểm chèn text thứ nhất đến điểm thứ 2.
    +i là (giá trị text thứ nhất – giá trị text thứ hai)/L.


    http://www.4shared.com/file/3YqMLpRY/dodoc.html

  87. Beba nói...

    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

  88. duy782006 nói...

    http://www.4shared.com/file/A7TnHxtX/dodoc_2.html

    Đây bạn:

  89. k nói...

    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!

  90. duy782006 nói...

    http://duy782006.blogspot.com/2009/07/tien-ich-autolisp-tong-hop.html

    Bạn chạy thử bộ này dùng lệnh VED trong đó có vẽ cửa đi và cửa sổ nêuếu đúng ý thì mình tách code này riêng ra iúp bạn. (nhớ đọc kỹ hướng dẩn trước khi dùng)

  91. Beba nói...

    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

  92. Phạm Quốc Duy nói...

    Bạn sửa dòng:
    (setq dodoc (/ gialech giatril))
    Thành:
    (setq dodoc (* (/ gialech giatril) 100))
    Là được nha!

  93. Beba nói...

    Được rồi Anh Duy ơi !
    Cảm ơn anh nhiều.

  94. duy782006 nói...

    @ ndbngo!
    Duy viết thử cái lisp thô anh dùng xem kết quả rồi Duy hoàn thiện thêm!
    Có 4 lệnh:
    -XT: thứ tự x tăng dần.
    -XG: thứ tự x giảm dần.
    -YT: thứ tự y tăng dần.
    -YG: thứ tự y giảm dần.
    Kết quả mặc định ghi vào D:/ketquatoado.txt.
    -Hiện nay Duy chưa điền số thứ tự dòng được.
    -Còn vụ đánh dấu text Duy đề xuất quy định 1 layer nào đó tên tùy anh chọn nếu text nào thuộc layer này thì dòng kết quả thêm chử T phía sau.
    http://www.4shared.com/file/pygLR5Wt/xtexrafile.html

  95. ndbngo nói...

    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é).

  96. duy782006 nói...

    http://www.4shared.com/file/2WRRoTGm/xtexrafileok.html

    -Tên lệnh: XFT.
    -Thao tác:
    +Hỏi chọn text thuộc layer mẫu, hỏi chọn các text muốn xuất.
    +Hỏi chọn các text đánh dấu.
    +Hỏi cách xếp: chọn YT,YG,XT,XG (anh gỏ dủ 2 chử hoa hoặc thường)
    *Xong kiểm tra kết quả.

  97. Duy782006 nói...

    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 ý.

  98. ndbngo nói...

    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

  99. Duy782006 nói...

    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ư.

  100. ndbngo nói...

    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.

  101. Phạm Quốc Duy nói...

    Đã mail cho anh phần giải thích lisp. Còn cải tiến mới thì Duy sẽ nghiên cứu. Khi sắp sếp tính theo tườg tập hợp chọn hay là tính chung (vị trí x y ấy)? Nếu tính cho từng tập hợp thì đc chứ cho cả nhiều tập hợp sẽ khó vì đoạn xắp sếp Duy dùng của Hoành mà chưa hiểu cách hoạt động. Còn đoạn đánh dấu text có cần ko hay bỏ?

  102. ndbngo nói...

    Đá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.

  103. ndbngo nói...

    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

  104. Phạm Quốc Duy nói...

    -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.

  105. NDBNGO nói...

    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.

  106. Phạm Quốc Duy nói...

    Lisp đây: Đã chỉnh bỏ phần hỏi chọn layer, thêm phần xuất ra file thứ hai. Anh test xem nhé.

    http://www.4shared.com/file/CEZZ7kWN/xtexrafileokbochon.html

  107. Phạm Quốc Duy nói...

    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

  108. ndbngo nói...

    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.

  109. ktslambieng nói...

    chào bạn , bạn có thể chuyển đổi cái lips này sang tiếng việt được không, vì tôi thấy nó rất hay
    ban có thể thấy nó ở đây >> http://www.suvn.net/forum/showthread.php?t=14417

    hoặc >> http://xyp1964.ys168.com/

  110. ktslambieng nói...

    link tải của 1 member suvn up lên

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

  111. Phạm Quốc Duy nói...

    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.

  112. Beba nói...

    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

  113. Quốc Khánh nói...

    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

  114. Đỗ nói...

    Chủ nhà đi đâu rồi vậy ta? Sao để vườn không nhà chống thế này?

  115. tranvantahn nói...

    anh duy viet dum em lip tinh dien tich nhu trong hinh ve
    http://www.mediafire.com/?1udeogva4jucevg
    tranvanthan74@gmail.com

  116. tranvantahn nói...

    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

  117. tranvantahn nói...

    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

  118. ngochuan nói...

    Nhờ bác Duy sửa giúp cách chọn đối tượng sang dạng mặt cắt cho em với:


    (Defun c:tdt()
    (setvar "cmdecho" 0)
    (initget "Heso Do")
    (command "style" "DT" "vn-abc.shx" "" "0.8" "0.6" "" "" "")
    (if (not tpo) (setq tpo 1))
    (setq SC (getint (strcat "\n Nhap ti le (mot met hien tai bang bao nhieu) <" (itoa tpo) "> :")))
    (if (not SC) (setq SC tpo) (setq tpo SC))
    (if (not tp1) (setq tp1 2))
    (setq tp (getint (strcat "\n Nhap So chu so thap phan <" (itoa tp1) "> :")))
    (if (not tp) (setq tp tp1) (setq tp1 tp))
    (setq pt (getpoint "\n chon diem:"))
    (if (= pt "Heso")
    (progn
    (setq am (getreal "\n cadviet.com: "))
    (if (and (null am) (/= ac 0))
    (setq am ac)
    )
    (setq pt (getpoint "\n Chon diem: "))
    )
    (setq ac am))

    (if (or (= am 0) (null am)) (setq am 1))
    (setq s 0)
    (progn
    ; (setq pt (getpoint "\n Chon diem: "))
    (while pt
    (setq entold (cdr (assoc 5 (entget (entlast)))))
    (command "boundary" pt "")
    (setq entnew (cdr (assoc 5 (entget (entlast)))))
    (if (/= entold entnew)
    (progn
    (setq entnew (entget (entlast)))
    (if (assoc 62 entnew)
    (setq entnew (subst (cons 62 (+ 3 (cdr (assoc 62 entnew)))) (assoc 62 entnew) entnew))
    (setq entnew (append entnew (list (cons 62 (+ 3 (cdr (assoc 62 (tblsearch "layer" (cdr (assoc 8 entnew))))))))))
    )
    (entmod entnew)
    (Command "area" "o" (entlast))
    (setq s (+ s (getvar "area")))
    (setq pt (getpoint "\n Chon diem: "))
    (entdel (entlast))
    )
    (progn
    (princ "chon diem sai")
    (setq pt (getpoint "\n Chon diem: "))
    )
    )
    )

    )

    "(command "osnap" "intersection")"

    (princ (* s am))
    (princ)
    (command "style" "DT" "vn-abc.shx" "" "0.85" "0.6" "" "" "")
    (setq pt1 (getpoint "Chon vi tri ghi dien tich: "))
    (setq dt1 (* s am SC SC))
    (setq dt (/ dt1 1000000))
    (setq dt (strcat (rtos dt 2 tp)))
    (command "text" pt1 2 0 (strcat dt))
    )

  119. ghost8.3 nói...

    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)

  120. Duy782006 nói...

    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í.

  121. ghost8.3 nói...

    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

  122. Duy782006 nói...

    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.

  123. ghost8.3 nói...

    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

  124. Duy782006 nói...

    (defun c:bkt ()
    (command "undo" "be")
    (setq p1 (getpoint "\nDiem dat bang: "))
    (command "-insert" "bk1" p1 "" "" "" "EXPLODE" "last" "")
    (command "undo" "end")
    (Princ))

  125. ghost8.3 nói...

    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!!!

  126. ghost8.3 nói...

    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

  127. Duy782006 nói...

    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.

  128. duy782006 nói...

    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ả

  129. ghost8.3 nói...

    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á

  130. duy782006 nói...

    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à

  131. hailuatv nói...

    Nhờ Anh Duy hoặc các bạn viết dùm 1 cái lisp để tính diện tích phần âm và phần dương của một đa giác chéo khi nhập tọa độ các đỉnh(có thể chéo nhau nhiều lần). xin cám ơn!

  132. hailuatv nói...

    Nhờ Anh Duy hoặc các bạn viết dùm 1 cái lisp để tính diện tích phần âm và phần dương của một đa giác chéo khi nhập tọa độ các đỉnh(có thể chéo nhau nhiều lần). xin cám ơn!
    (khong biết đưa hình vẽ hoặc file minh họa như thế nào mong các bạn thông cảm)

  133. Duy782006 nói...

    Chưa hiểu "phần âm và phần dương của một đa giác chéo" nên chưa làm ăn gì được.
    Bạn vào 4shared.com đăng ký lây 1 tài khoản (miển phí) up file lên sau đó đưa đường link lên nhé.

  134. hailuatv nói...

    Nhờ Anh Duy hoặc các bạn viết dùm 1 cái lisp để tính diện tích phần âm và phần dương của một đa giác chéo khi nhập tọa độ các đỉnh(có thể chéo nhau nhiều lần). xin cám ơn!
    http://www.4shared.com/folder/x1Nv2ahm/_online.html

  135. Duy782006 nói...

    Qủa này mình bí đấy bạn. Thông cảm nhé!

  136. hailuatv nói...

    Chào Anh Duy!.
    Cho tôi hỏi một vấn đề nhỏ sau. Tôi đang viết 1 chương trình lisp có sử dụng lệnh "text" khi load lên thì tọa độ của một số đối tượng text định vị tùm lum lúc thì được lúc thì không. tôi có cắt một đoạn lisp gởi Anh tham khảo và chỉ giáo dùm hướng khắc phục.
    (anh load lần dâu tren tap tin thutext.dwg sẽ thấy rất rỏ)
    Xin cám ơn

    (DEFUN C:textt ()
    (command "text" "j" "ml" '(38 154) 2 0 "aaaaaaaa")
    (command "text" "j" "ml" '(38 146) 2 0 "bbbbbbb")
    (command "text" "j" "ml" '(38 140) 2 0 "ccccccc")
    ; text ccccccc nay dinh vi khong dung toa do y=140
    )

    http://www.4shared.com/photo/tQDf09Qq/THUtext_2.html

  137. Phạm Quốc Duy nói...

    Vì bạn ko up đủ lisp nên mình đoán như này:
    -Do trước khi viết text bạn không tắt các chế độ truy bắt điểm đi nên khi lisp vẽ bị bắt nhầm vào các điểm lân cận. Việc này là rất ảnh hưởng đến tất cả các lệnh vẽ chứ không riêng gì viết text.
    *Bạn thử tắt chế độ bắt điểm trước khi chạy lisp xem nếu nó ko chạy sai nửa thì khăc phục lisp như sau:
    -Lưu chế độ bắt điểm hiện hành.
    -Cho chế độ bắt điểm bằng không.
    -Thực hiện các thao tác vẽ và viết.
    -Trả lại chế độ bắt điểm hiện hành.
    (Việc này mình đã đề cập đến trong loạt bài hướng dẩn viết lisp.
    *Nếu đã tắt chế độ bắt điểm mà vẩn chạy lung tung hy vọng bạn up file lisp đầu đủ mình mới xem được.
    Thân

  138. Le thanh nói...

    A Duy ơi . E đã dùng lệnh xoay text quanh tâm của anh thấy rất hay . liệu anh có thể sửa lệnh đó thành lệnh SC đối tượng quanh tâm được không . thank anh trc

  139. duy782006 nói...

    SC text quanh tâm nó thì mình có. hôm nào mình up lên nhé.

  140. Le thanh nói...

    không phải là SC mỗi text mà SC đối tượng mình muốn . cảm ơn anh ! buzz ...!
    Cho em hỏi 1 câu riêng tư nhé . anh chưa vợ thật á , chưa có " đối tượng " hay là có rùi nhưng chưa ...!("-;-)

  141. duy782006 nói...

    -À cái lisp quay quanh tâm là mình sưu tầm. Sẽ chỉnh theo yêu cầu của bạn.
    -Phần lý lịch trích xéo bên dưới mình có khai: "Độc thân (sắp hết nhiệm kỳ)" nghĩa là sắp cưới đấy.
    -Cái thư gửi vợ tương lai là viết cho tình trạng của năm ngoái

  142. Le thanh nói...

    Thế ak . bao giờ bác cưới buff len blok cho a em cùng chúc mừng . tiếc là em ở xa nếu ko rủ bác đi nhậu oi`.thui co cái này tặng bác mang về tặng bà xã tương lai nhe @};-
    :D
    có dịp nào đi quảng ngãi ghé thăm bác sau !

  143. duy782006 nói...

    Hị hị. Có lisp cho chú rồi đấy. Xem bên siêu thị lisp nhé.

  144. Le thanh nói...

    Em dawload về dùng thấy okie rồi . lần sau có " vấn đề j " mong anh chỉ giúp !
    Thank ....A Duy nhé !

  145. Le thanh nói...

    Anh Duy ak .lam fien anh lan nua rui , em co 1 ban ve the nay mong anh giup .
    http://www.mediafire.com/?51azu6jck46qdd3

  146. Le thanh nói...

    A Duy di tuan trang mat dau oi` ma mat tam mat tich thia ("-;-)

  147. Le thanh nói...

    anh Duy oi cuu em voi ...em co lisp xoatext nay nhung co ve no khong duoc triet de lam . dung luc dc luc khong . anh xem ho em co loi j khong ?
    ;; free lisp from cadviet.com
    ;;; this lisp was downloaded from http://www.cadviet.com/forum/index.php?showtopic=23110
    (defun c:xoatext (/)
    (command "_.undo" "be")
    (setvar "cmdecho" 0)
    (setq ss (ssget (list (cons 0 "TEXT"))))
    (if (= kc nil)
    (setq kc1 5)
    (setq kc1 kc)
    )
    (setq kc (getreal (strcat "\nKhoang cach min: <" (rtos kc1) ">")))
    (if (= kc nil)
    (setq kc kc1)
    )
    (setq nhom (ssadd))
    (setq i 0)
    (repeat (sslength ss)
    (setq tam (ssname ss 0))
    (setq j 1)
    (repeat (- (sslength ss) 1)
    (if (/= (ssname ss j) nil)
    (progn
    (if (< (distance (cdr (assoc 10 (entget tam)))
    (cdr (assoc 10 (entget (ssname ss j))))
    )
    kc
    )
    (progn
    (setq nhom (ssadd (ssname ss j) nhom))
    (setq ss (ssdel (ssname ss j) ss))
    )
    )
    )
    )

    (setq j (+ j 1))
    )
    (if (/= tam nil)
    (setq ss (ssdel tam ss))
    )
    (setq i (+ i 1))
    )
    (command "change" nhom "" "p" "c" "5" "")
    (command "_.undo" "e")
    (princ)
    )

  148. duy782006 nói...

    Dạo này cuối tháng 10 nhiều việc lắm chưa có rãnh bạn ạ. Cái lisp bên cadviet thì bạn hỏi luôn tác giả xem.

  149. Le thanh nói...

    em bit' rui nhung bac viet ho em lisp nhu hve co dc ko . thank bac .
    http://www.mediafire.com/?51azu6jck46qdd3

  150. duy782006 nói...

    Bạn theo dỏi chủ để ở đây xem.
    http://www.cadviet.com/forum/index.php?showtopic=22781

  151. tam nói...

    em có 1 file lisp này nhưng chưa hoàn chỉnh.không chạy được.anh có thể chỉnh lại giúp em được không ạ!cảm ơn anh

    (defun main
    FasStringtables 0
    FasStringtables 1
    (defun main
    nil
    (setq C:C2A C:C2A)
    (vl-ACAD-defun C:C2A)
    (defun C:C2A
    (_al-bind-alist '(P1 P2 ENAME ELIST ETYPE CENTER ENTSEL_LIST ANG1 ANG2 RADIUS OS ANGLIST))
    (defun *ERROR*
    (MSG)
    (setq *ERROR* *ERROR*)
    (SETVAR "cmdecho" 0)
    (ads-cmd "undo")
    (ads-cmd "begin")
    (setq ENTSEL_LIST (ENTSEL "\nSelect a circle: "))
    (setq ENTSEL_LIST (ENTSEL "\nSelect a circle: "))
    (setq P1 (CADR ENTSEL_LIST))
    (setq ENAME (CAR ENTSEL_LIST))
    (setq ELIST (ENTGET ENAME))
    (setq ETYPE (CDR (ASSOC 0 ELIST)))
    (setq ENTSEL_LIST (ENTSEL "\nSelect a circle: "))
    (setq ENTSEL_LIST (ENTSEL "\nSelect a circle: "))
    (setq P1 (CADR ENTSEL_LIST))
    (setq ENAME (CAR ENTSEL_LIST))
    (setq ELIST (ENTGET ENAME))
    (setq ETYPE (CDR (ASSOC 0 ELIST)))
    (setq RADIUS (CDR (ASSOC 40 ELIST)))
    (setq CENTER (TRANS (CDR (ASSOC 10 ELIST)) 0 1))
    (setq ELIST (CDR (CDR (CDR (CDR ELIST)))))
    (setq P1 (TRANS (GETPOINT CENTER "\nSpecify the first break point: ") 1 0))
    (setq P2 (TRANS (GETPOINT CENTER "\nSpecify the second break point: ") 1 0))
    (setq CENTER (TRANS CENTER 1 0))
    (setq ANG1 (ANGLE CENTER P1))
    (setq ANG2 (ANGLE CENTER P2))
    (setq OS (GETVAR "osmode"))
    (SETVAR "osmode" 0)
    (ENTDEL ENAME)
    (setq ANGLIST (LIST (CONS 50 ANG1) (CONS 51 ANG2)))
    (ENTMAKE (APPEND '((cons 0 "ARC")) ELIST '((cons 100 "AcDbArc")) ANGLIST))
    (setq ANGLIST (LIST (CONS 50 ANG2) (CONS 51 ANG1)))
    (ENTMAKE (APPEND '((cons 0 "ARC")) ELIST '((cons 100 "AcDbArc")) ANGLIST))
    (SETVAR "osmode" OS)
    (ads-cmd "undo")
    (ads-cmd "end")
    (SETVAR "cmdecho" 1)

  152. Duy782006 nói...

    Lisp trên để làm gì ít ra bạn cũng nói tác dụng chứ 1 đống rối mù thề thì đọc lồi mắt. Với cả một tháng nửa mình mới đụng tời lisp được nhé đang cày cho kịp tiến độ.

  153. tam nói...

    a giúp em cái ạ.em cũng đang cần lắm.lisp này dùng để cắt đường tròn anh ạ!Cảm ơn anh!

  154. Duy782006 nói...

    Mô tả lại yêu cầu của bạn có khi mình viết lisp mới cho bạn chứ cái đống rối mù kia chịu.
    -Yêu cầu cho rỏ vào khỏi mất công mình hỏi đi hòi lại nhé.

  155. tam nói...

    Vậy em cảm ơn anh nhé!yêu cầu của em là viết lisp dùng để cắt đường tròn ra làm 2 cung(nó giống giống như lệnh break vậy,nhưng lệnh break khi cắt xong chỉ còn lại 1 cung tròn)
    1-Đánh tên lệnh
    2-Chọn đường tròn cần cắt
    3-pick vào điểm thứ 1 trên đường tròn
    4-pick vào điểm thứ 2 trên đường tròn
    Kết quả:ta có 2 cung tròn
    Thanks anh trước!!

  156. Duy782006 nói...

    Lisp đây. Lệnh CDT.

    (defun c:cdt ()
    (command "undo" "be")

    (setq ddd (entsel "\nChon duong tron"))
    (while
    (or
    (null ddd)
    (/= "CIRCLE" (cdr (assoc 0 (entget (car ddd)))))
    )
    (princ "\nDoi tuong khong phai la duong tron! Chon lai")
    (setq ddd (entsel "\nChon duong tron"))
    )

    (command "copy" ddd "" (list 0 0) (list 0 0))
    (setq dtmoi (entlast))
    (setq a (getpoint "\nChon diem thu nhat: "))
    (setq b (getpoint a"\nChon diem thu hai: "))

    (setq luubatdiem (getvar "osmode"))
    (setvar "osmode" 0)

    (command "BREAK" ddd "f" a b)
    (command "BREAK" dtmoi b a)

    (command "undo" "end")
    (setvar "osmode" luubatdiem)
    (Princ)
    )

  157. TAM nói...

    Thanks anh nhé!Đúng là lisp em đang cần.Hi vọng sẽ được a giúp đỡ nhiều!!!

  158. TAM nói...

    Em làm phiền anh lần nữa nhé!Em đang cần 1 lisp như thế này
    tên lệnh : nd
    -chọn 1 dim(hay nhiều dim cùng lúc)
    -pick 1 điểm phía dưới đường dim thì chữ của dim(nằm trên đường kích thước) sẽ nhảy xuống phía dưới đường dim(thẳng hàng với điểm mình pick)
    Do công việc em phải chỉnh rất nhiều dim như thế.Thanks anh nhiều nha!

  159. duy782006 nói...

    Đề này mình bí. Mình không can thiệp vào dim được. Bạn thông cảm.

  160. lampv nói...

    chao anh.
    em nhờ anh viết cho em cái lisp.
    như trong bản vẽ nhé
    cảm ơn anh
    http://www.mediafire.com/?6j9kk3g3xsv2zlb

  161. tam nói...

    Anh Duy ơi!Em lại làm phiền anh xíu nhé!Cái này anh ra tay khoảng 30s là xong hà.Em có đoạn lisp sau.Lisp này dùng để ghi ra kích thước của 1 hay nhiều line bất kì.Khi cho ra kết quả,lisp yêu cầu chọn text để thay thế.Bác chỉnh lại giúp em là khi cho ra kết quả lisp yêu cầu nhập 1 điểm trên màn hình và ghi ra kết quả tại đó.Text với chiều cao la 200,font la avo.nếu chưa có kiểu style thì lisp tạo luôn.Thanks anh nhiều lắm!

    ;; free lisp from cadviet.com
    ;;; this lisp was downloaded from http://www.cadviet.com/forum/index.php?showtopic=47335
    (defun c:T6 (/ doituong total dtuong1 tdt dt ktext ktratext ktratext1 ktextcu textdt ktextmoi newcolor oldcolor)
    (setq doituong (ssget '((0 . "*line"))))
    (setq total (sslength doituong))
    (setq tdt 0)
    (repeat total
    (setq total (- total 1))
    (setq dtuong1 (cdr (car (entget (ssname doituong total)))))
    (command "Lengthen" dtuong1"")
    (setq dt (getvar "Perimeter"))
    (setq tdt (+ tdt dt))
    )
    (setq ktext (car (entsel "chon text can ghi: ")))
    (setq ktratext (entget ktext))
    (setq ktratext1 (cdr (assoc 0 ktratext)))
    (if (= ktratext1 "TEXT")
    (progn
    (setq ktextcu (assoc 1 ktratext))
    (setq textdt (strcat "L= " (rtos (- tdt 0) 2 )"M"))
    (setq ktextmoi (cons 1 textdt))
    (setq ktratext (subst ktextmoi ktextcu ktratext))
    (entmod ktratext)
    (setq color 4)
    (setq newcolor (cons 62 color))
    (if (assoc 62 ktratext)
    (progn
    (setq oldcolor (assoc 62 ktratext))
    (setq ktratext (subst newcolor oldcolor ktratext))
    (entmod ktratext)
    )
    (entmod (append ktratext (list (cons 62 color))))
    )
    )
    (alert "¤i trкi ¬i, chдn nhЗm rеi, ®г kh«ng ph¶i lµ tetx!")
    )
    (textpage)
    (graphscr)
    )

  162. nttrong309 nói...

    chao anh Duy,hom nay ranhr oi moi vao tim lisp doc cac cau tra loi cua anh thay kha hay, neu co dip a giup e nghien cuu viet vai cac lisp duoc khong a,e thay cung hay hay nen muon hoc,e cung o Binh Son,la dan khao sat nen muon lam quen.

  163. Duy782006 nói...

    Bạn cần lisp gì thì yêu cầu ở đây. Nhớ gỏ có dấu cho mình dể đọc.
    -Về phần phảo sát mình có 1 bộ tổng hợp đấy bạn xem thử!

  164. nttrong309 nói...

    Anh Duy ơi! nay em nhờ anh viết dùm em cái líp để bung bình đồ, số liệu gồm có góc cạnh và tọa độ, a viet luôn 2 cái nha hihi, số liệu em đo bằng máy toàn đạc Topcon GTS 105. khi bung ra các điểm mia co + để khi mình nối điểm mia dể xác định được vị trí điểm mia. Thank anh nhieu
    chúc anh một ngày vui vẻ!

  165. duy782006 nói...

    Mình ko biết chút gì về chuên môn khảo sát nên bạn nêu yêu cầu cho rỏ về đấu vào, thao tác, đầu ra thì mới viết được.

  166. QUOC1903 nói...

    Nhờ anh Duyviết dùm em cái lisp tính độ dốc và ghi ra luôn bao gồm cả kí hiêu.
    Số liệu đầu vào: text cao độ ở hai đầu.
    Chiều dài thì pick trên bản vẽ.
    yêu cầu:
    Khi đánh lệnh này thì buộc anh phải nhập cao độ điểm dầu
    nhập cao độ điểm cuối
    nhập chiều dài của doạn cần ghi độ dốc bằng cách nhập số trên bàn phím hoặc pick hai điểm và lấy chiều dài giữa hai đoạn pick.
    cho phép chọn bao nhiêu số lẻ sau dấu thập phân (ví dụ: 0,001 hoặc 0,01 vv)
    cu the nhu hinh sau:
    http://ng6.upanh.com/b5.s1.d5/50ff18e8c671a2d67a766f45810b591e_39499236.1.120x1.bmp

  167. Duy782006 nói...

    Cái hình nhỏ quá ko thấy chi cả. Bạn gửi file cad nhé. Text đầu vào là text hay mtext. Kết quả viết ra bằng gì, chổ nào. có yêu cầu layer, chiều cao text gì không?

  168. QUOC1903 nói...

    http://www.mediafire.com/?jyafkj93n5iwh39
    ĐÂY LÀ FILE CAD EM GỬI ANH.
    TEXT ĐẦU VÀO LÀ TEXT
    KẾT QUẢ VIẾT RA Ở GIỮA ĐOẠN THẲNG HOẶC ĐOẠN CONG MÌNH CẦN TÍNH ĐỘ DỐC
    KQ VIẾT RA BẰNG TEXT
    LAYER THEO LAYER CỦA TEXT MÌNH ĐÃ CHỌN
    CHIỀU CAO TEXT THEO CHIỀU CAO TEXT MÌNH CHỌN.CỤ THỂ NHƯ BẢN VẼ CAD EM GỬI CHO ANH.
    TRONG NÀY NÀY CÓ HAI VẤN ĐỀ TÍNH ĐỘ DỐC THEO ĐƯỜNG THẲNG VÀ ĐƯỜNG CONG (ĐT LÀ TỪ TIM ĐƯỜNG ĐẾN MÉP BÓ VỈA, ĐC LÀ THEO MÉP BÓ VỈA
    DO ĐÓ EM CÓ ĐIỀU KIỆN NHƯ SAU:
    SỐ LIỆU ĐẦU VÀO :

    + CAO ĐỘ ĐIỂM ĐẦU, ĐIỂM CUỐI DỨỚI DẠNG TEXT (LÀM SAO ĐỂ PICK CHỌN TEXT)

    + CHIỀU DÀI ĐOẠN CẦN TÍNH ĐỘ DỐC( CÓ THỂ LÀ PICK HAI ĐIỂM ĐỂ XÁC ĐỊNH CHIỀU THEO ĐOẠN THẲNG HOẶC CÓ THỂ CHỌN ĐỐI TƯỢNG LÀ LINE HOẶC PL VÀ CHƯƠNG TRÌNH TỰ XÁC ĐỊNH ĐƯỢC CHIỀU DÀI CỦA ĐỐI TƯỢNG (CÓ THỂ LÀ ĐƯỜNG THẰNG HOẶC ĐƯỜNG CONG (ĐỐI VỚI TRƯỜNG HỢP XÁC ĐỊNH ĐỘ DÓC MÉP BÓ VỈA NÓ LÀ ĐƯỜNG CONG)

    + TÙY CHỌN SỐ LẺ SAU DẤU THẬP PHÂN LÀ 2 HOẶC3...

    + CÓ KÝ HIỆU LÀ % VÀ HƯỚNG DỐC TỪ CAO XUỐNG THẤP. GIỐNG NHƯ BẢN VẼ CAD EM GỬI.
    CHÚC NĂM MỚI THÀNH CÔNG, VUI VẺ VÀ SÔNGS KHỎE.

  169. Duy782006 nói...

    -Yêu cầu kết quả của bạn là Text có ký hiệu %. Nhưng bản vẽ bạn gửi thì kết quả là ATTRIBUTE và không có ký hiệu %. Bạn muốn tàm kiêuểu gì đây?
    -Quên nhờ bạn cho mình công thức tính độ dốc từ dữ liệu của bạn.

  170. QUOC1903 nói...

    KẾT QUẢ LÀ ATTRIBUTE CÓ % THÌ HAY HƠN. NẾU ĐƯỢC NHƯ THẾ THÌ TỐT QUÁ.
    CÔNG THỨC TÍNH ĐỘ DỐC:
    (CAO ĐỘ ĐIỂM ĐẦU- CAO ĐỘ ĐIỂM CUỐI)*100/CHIỀU DÀI ĐOẠN TÍNH DỐC. VÍ DỤ KẾT QUẢ RA LÀ 2.001%

  171. QUOC1903 nói...

    KẾT QUẢ TÍNH CHÊNH CAO (CAO ĐỘ ĐIỂM ĐẦU -CAO ĐỘ ĐIỂM CUỐI ) PHẢI LÀ DƯƠNG NHÉ

  172. Dưy82006 nói...

    Hẹc hẹc. Đang tính viết thì thấy mấy bác bên cadviet viết xong rồi nên thôi bạn nhé.

  173. quoc1903 nói...

    cảm ơn anh đã quan tâm.

  174. quoc1903 nói...

    Nhờ bác anh duy xem lại dùm em. Cái lisp nscdpl của bác bình trên cadviet có vấn đề như thế này: bản vẽ cad kèm theo http://www.mediafire...y36b5lpdcycwqa2
    giả sử em có một đường cong hai đầu: đầu 1 có text cao độ là 22.95, đầu 2 có text cao độ là 23.17
    em dùng lisp của bác:
    nếu em chọn text chỉ cao độ điểm đầu là 22.95 và điểm cuối là 23.17 thì nó nội suy đúng y chan
    nhưng ngược lại nếu chọn text cao độ điểm đầu là 23.17 thì nó nội suy trật lất.
    Mong anh bớt chút thời gian xem lại để mình không cần quan tâm đầu nào là đầu 1, đầu 2 gì hết cứ chọn pl text thứ 1, text thứ 2 (chọn vô tư nha) rồi pick điểm cần nội suy là ra. Cảm ơn.

  175. Hailuatv nói...

    Xin tham gia 1 lisp ve thong ke chung loai thep
    Gia su ta co bang thong ke thep, sau do loc tong khoi luong cua tung loai thep ra (D8, D12...)

    (defun c:TK ()
    (setq Loaithep (getstring T "\nChon chung loai thep: "))
    (Princ "Quet cot chung loai thep")
    (setq tapchungLoai (ssget '((0 . "text"))))
    (Princ "Quet cot khoi luong")
    (setq tapgiatri (ssget '((0 . "text"))))

    (setq diemchuan (getpoint "\nChon diem chen: "))
    ;(setq caochu (getreal "\nChon chieu cao chu: "))

    (setq sodoituong (sslength tapchungLoai))

    (setq tapchungLoai (sapxep tapchungloai sodoituong))
    (setq tapgiatri (sapxep tapgiatri sodoituong))
    (setq thutu 0)
    (setq tong 0)
    (while (< thutu sodoituong)
    (setq doituong1 (ssname tapchungloai thutu))
    (setq doituong2 (ssname tapgiatri thutu))

    (setq laychungloai (entget doituong1))
    (setq laygiatri (entget doituong2))

    (setq chungloai (cdr (assoc 1 laychungloai)))
    (setq giatri (cdr (assoc 1 laygiatri)))
    (if (= chungloai loaithep) (setq tong (+ tong (atof giatri))))
    (setq thutu (+ thutu 1))
    )
    (Princ "\n Tong khoi luong thep chon la:")

    (Princ (rtos tong 2 2))
    (command "text" "j" "m" diemchuan "" 0 (rtos tong 2 2))

    )

    ;;;;HAM SAP XEP CAC DOI TUONG THEO TOA DO Y

    (defun SAPXEP(tapdoituong1 ndoituong / tapdoituong2)

    (setq doituongMax (ssname tapdoituong1 0))
    ; tao 1 tap doi tuong khac de sap xep cac doi tuong vao
    (setq tapdoituong2 (ssadd doituongmax))
    (ssdel doituongmax tapdoituong2)
    (setq sovonglap ndoituong)
    (repeat sovonglap
    (setq laynoidung (entget doituongmax))
    (setq toadoMax (caddr (assoc 10 laynoidung)))
    (setq thutu 0)
    (while (< thutu ndoituong)
    (setq doituong (ssname tapdoituong1 thutu))
    (setq laynoidung (entget doituong))
    (setq ToadoY (caddr (assoc 10 laynoidung)))
    (if (>= toadoY toadoMax) (setq doituongMax doituong toadomax toadoy))
    (setq thutu (+ thutu 1))
    );het while
    (ssadd doituongmax tapdoituong2)
    (ssdel doituongmax tapdoituong1)
    (setq ndoituong (sslength tapdoituong1))
    (setq doituongMax (ssname tapdoituong1 0))

    ); het repeat
    (setq tapdoituong1 tapdoituong2)
    )
    ;;; het ham sap xep

  176. do thanh thuyet nói...

    Anh ah! Cho phép em làm phiền 1 chút nhé
    Chẳng là thế này.E đang phải làm hoàn công đường nhưng do sai khác nhiều mí TK quá gần như em phải vẽ lại hầu hết tất cả các mặt cắt ngang cọc.Mún anh viết lisp hộ em có thể tự động vẽ mặt cắt ngang và ghi text cao độ vào bảng như hình mẫu e gửi ở dưới mà trong khi mình chỉ cần nhập các cao độ TK tự nhiên và cao độ TK vào file text hay excel.
    Hi!!em ko bit gui file the nao anh vào tạm blog mí lập xem mẫu mặt cắt cọc này nhé :
    http://thuyetkct.blogspot.com/2012/02/anh-duy-ho-em-cai-ne.html

  177. Phạm Quốc Duy nói...

    Cái hình mờ quá. bạn up file cad đi. Và phải dạy mình vẽ hình từ đống số liệu nhập vào thì mới viết lisp cho bạn được. Nêu yêu càu cần cụ tỉ ngay từ đầu để không mất time của cả bạn và mình.

  178. hung nói...

    Có lips nào copy một hình bất kì chạy theo một đường cong bất kỳ mà ko phải dùng lệnh Ro xoay cho no đẹp ko bà kon? Chả là em đang chia cái bình đồ ra nhiều khúc nhưng mỗi tội cứ chia ra nhỏ thì phải copy rùi xoay đối tượng mất rất nhiều time. help!

  179. hung nói...

    Có lips nào copy một hình bất kì chạy theo một đường cong bất kỳ mà ko phải dùng lệnh Ro xoay cho no đẹp ko bà kon? Chả là em đang chia cái bình đồ ra nhiều khúc nhưng mỗi tội cứ chia ra nhỏ thì phải copy rùi xoay đối tượng mất rất nhiều time. help!

  180. Phạm Quốc Duy nói...

    Xem lisp ở đây nhé!

    http://duy782006.blogspot.com/2011/06/hoan-thien-lisp-rai-oi-tuong-theo-uong.html

  181. ROMANTIC nói...

    Tran Minh Thien
    Em nhờ anh Duy viết giúp em Lisp tính khối lượng san lấp dùm em. Yêu cầu: Pick vào 4 điểm cao độ thiết kế tính cao độ trung bình thiết kế, Pick vào 4 điểm cao hiện trạng tính cao độ trung bình hiện trạng. Lấy cao độ trung bình thiết kế trừ đi cao độ trung bình hiện trạng. Sau đó lấy kết quả nhân với diện tích (diện tích nhập từ bàn phím). Cuối cùng chọn text xuất kết quả.
    Em gửi anh file ví dụ: http://www.mediafire.com/?76ju57d0ddqkfqr
    Địa chỉ mail của em: minhthienit@gmail.com
    Chân thành cảm ơn anh!

  182. Phạm Quốc Duy nói...

    Bạn thử xem nhé. Mình viết theo thuật toán yêu cầu của bạn nên mình ko chịu trách nhiệm vêề tính chính xác của thuật toán nhé. Lệnh là san

    (Defun doantinhTB ()
    (setq TBSUM 0)
    (setq TBSS (ssget '((0 . "TEXT"))))
    (setq iTB 0)
    (setq NTB (sslength TBss))
    (while (< iTB NTB)
    (setq TBDT (ssname TBSS iTB))
    (setq TBDT (entget TBDT))
    (setq TBTEXT (cdr (assoc 1 TBDT)))
    (setq TBSUM1 (atof TBTEXT))
    (setq TBSUM (+ TBSUM (* TBSUM1 1)))
    (setq iTB (1+ iTB))
    )
    (setq TONG1TB (/ TBSUM ITB))

    (Princ)
    )
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    (defun c:san (/ Ename Elist Msg Oldtext Oldlist Newtext Newlist)
    (command "undo" "be")
    (Princ "\nHay chon cac so cao do thiet ke :")
    (doantinhTB)
    (setq kqtk TONG1TB)
    (Princ "\nHay chon cac so cao do hien trang :")
    (doantinhTB)
    (setq kqht TONG1TB)
    (setq kqtru (- kqtk kqht))

    (if (= dienticho nil)
    (setq dienticho1 100)
    (setq dienticho1 dienticho)
    )
    (setq
    dienticho (GETREAL (strcat "\nNhap dien tich: <" (rtos dienticho1 2 2) ">"))
    )
    (if (= dienticho nil)
    (setq dienticho dienticho1)
    )

    (setq ketquaxuat (* dienticho kqtru))
    (setq ketquaxuat (rtos ketquaxuat 2 2))

    (setq dddsn (entsel "\nChon text xuat ket qua"))
    (while
    (or
    (null dddsn)
    (/= "TEXT" (cdr (assoc 0 (entget (car dddsn)))))
    )
    (princ "\nDoi tuong khong phai la text! Chon lai")
    (setq dddsn (entsel "\nChon text tru"))
    )


    (setq DTDTTsn (car dddsn))
    (setq DTMs (entget DTDTTsn))
    (setq DTMs (subst (cons 1 ketquaxuat) (assoc 1 DTMs) DTMs))
    (entmod DTMs)


    (command "undo" "end")

    (setvar "MODEMACRO" "**CHUC BAN LAM VIEC HIEU QUA** PHAM QUOC DUY - BINH SON - QUANG NGAI")
    (Princ))

  183. ROMANTIC nói...

    TRAN MINH THIEN
    Em làm được rồi anh Duy ơi. Cám ơn anh nhiều lắm. Chúc anh Hạnh phúc và Thành đạt

  184. ROMANTIC nói...

    TRan Minh Thien
    Anh Duy ơi. Cũng giống như Lisp tính khối lượng san lấp. Nhưng bây giờ em muốn TB cao độ thiết kế là nhập từ bàn phím; phần xuất kết quả anh có thể làm tròn số VD: 1,45 thành 1,6 không anh Duy? Mong anh sửa giúp em lisp lại nhe! Cảm ơn anh trước.

  185. Phạm Quốc Duy nói...

    Các cái kác thì được. Nhưng phần làm tròn số thì không được. Lisp chỉ làm được việc cắt bớt ví dụ 1.45 thành 1.4 thôi.

  186. ROMANTIC nói...

    Vậy em nhờ anh chỉnh lại phần Cao độ trung bình Thiết kế là nhập vào dùm em nhe anh Duy!

  187. ROMANTIC nói...

    Em muốn Cao độ trung bình Thiết kế nhập vào là vì khi 4 điểm cao độ thiết kế bằng nhau thì mình nhập Cao độ trung bình vào lần đầu nó sẽ nhớ lại và những ô vuông khác cũng cùng cao độ trung bình thì mình sẽ khỏi mất công nhập nữa đó anh Duy

  188. Phạm Quốc Duy nói...

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    (defun c:sann (/ Ename Elist Msg Oldtext Oldlist Newtext Newlist)
    (command "undo" "be")

    (if (= cdtbtk nil)
    (setq cdtbtk1 100)
    (setq cdtbtk1 cdtbtk)
    )
    (setq
    cdtbtk (GETREAL (strcat "\nNhap cao do thiet ke trung binh: <" (rtos cdtbtk 2 2) ">"))
    )
    (if (= cdtbtk nil)
    (setq cdtbtk cdtbtk1)
    )

    (setq kqtk TONG1TB)
    (Princ "\nHay chon cac so cao do hien trang :")
    (doantinhTB)
    (setq kqht TONG1TB)
    (setq kqtru (- cdtbtk kqht))

    (if (= dienticho nil)
    (setq dienticho1 100)
    (setq dienticho1 dienticho)
    )
    (setq
    dienticho (GETREAL (strcat "\nNhap dien tich: <" (rtos dienticho1 2 2) ">"))
    )
    (if (= dienticho nil)
    (setq dienticho dienticho1)
    )

    (setq ketquaxuat (* dienticho kqtru))
    (setq ketquaxuat (rtos ketquaxuat 2 2))

    (setq dddsn (entsel "\nChon text xuat ket qua"))
    (while
    (or
    (null dddsn)
    (/= "TEXT" (cdr (assoc 0 (entget (car dddsn)))))
    )
    (princ "\nDoi tuong khong phai la text! Chon lai")
    (setq dddsn (entsel "\nChon text tru"))
    )


    (setq DTDTTsn (car dddsn))
    (setq DTMs (entget DTDTTsn))
    (setq DTMs (subst (cons 1 ketquaxuat) (assoc 1 DTMs) DTMs))
    (entmod DTMs)


    (command "undo" "end")

    (setvar "MODEMACRO" "**CHUC BAN LAM VIEC HIEU QUA** PHAM QUOC DUY - BINH SON - QUANG NGAI")
    (Princ))


    Copy phần này thêm dưới lisp trước. Lệnh là SANN

  189. ROMANTIC nói...

    Anh Duy nó báo lỗi
    ; error: bad argument type: numberp: nil

  190. Nặc danh nói...

    Anh Duy cho em xin số DTDD của anh được không?
    Em có việc thỉnh giáo a chút xíu.
    Trân trọng !!!!

    E Việt (viethtkt@yahoo.com.vn)

  191. Phạm Quốc Duy nói...

    Cần gì thì liên hệ trên này hoặc mai duy782006@gmail.com. Nếu ở Quảng Ngãi thì gặp mình tại 113 phan chu trinh TP quảng ngãi (trong giờ làm việc). Mình ko thích liên hệ ĐT.

  192. vuongminh nói...

    Em đang có nhu cầu có lisp tạo hồ sơ kỹ thuật thửa đất có bảng thống kê tọa độ, kích thước, và sơ đồ thửa đất ra bảng riêng. Nhưng do trình độ viết Lisp có hạn nên chưa thể viết được. Nếu anh có điều kiện thì giúp em với nhé. Em cũng đang cần. Thanhk anh trước.
    (Em có gửi kèm theo file mẫu cần xuất ra bên dưới)
    http://www.cadviet.com/link/?f=upfiles/3/107884_nhu_cau_tao_lisp_hskt.rar&w=51859
    địa chỉ mail của em: tmvuong86@yahoo.com

  193. Phạm Quốc Duy nói...

    Những lisp như này CADVIET nhiều như quân Nguyên. Bạn qua đấy coi có cái nào giống giống rồi yêu cầu sửa cho nhanh, lĩnh vực này mình ko rành.

  194. Thái Linh nói...

    Chào Duy, tôi là Linh, cũng là KTS, tuy nhiên làm quy hoạch đã 16 năm nay, lisp dùng cho QH cũng đã nhiều, tuy nhiên có 1 vấn đế tôi vẫn cứ trăn trở là làm sao có được 1 lisp để vẽ hệ thống đường đô thị trong Autocad (chủ yếu cho quy hoạch chi tiết). Trong Acad, ta co the dung dline, mline để làm công việc này tuy nhiên, vẫn mất công tô hatch phần lòng đường. Ngoài ra, vần cãn tính diện tích phần giao thông một cách thủ công!
    Từ đó mình cũng đã tìm hiểu để viết nhưng thú thực hoàn toàn ko có thời gian, và một số cấu trúc thực hiện cũng chưa rành. Vậy mong Duy giúp mình viết một lisp cơ bản thực hiện được việc sau:
    - vẽ hệ thống giao thông từ hệ tim (như bản vẽ kèm trong email gửi Duy), có đủ layer: he-duong-tim-long duong. Khi vẽ có thể điền các thông số: độ rộng hè, độ rộng đường (hoặc làn đường), bán kính vỉa hè, vạt góc vỉa hè... Khi vẽ 2 đường cắt nhau, có thể tự cắt phần chồng lên nhau và hoàn thiện nút cắt như trong hình vẽ.
    - tô hatch nền đường.
    - tính diện tích phần lòng, lề đường, tổng cộng 2 phần trên.
    - kết xuất diện tích ra bảng thống kê.
    Sơ lược như vậy, mong Duy giúp mình và cũng nhân tiện xin phép được sửa những phần cần thiết sau này nhé, có gì mình sẽ trao đổi sâu hơn tại đây và qua email ha, chân thành cảm ơn bạn trước và rất mong được học hỏi!

  195. Phạm Quốc Duy nói...

    Duy chỉ có thể làm đến phần offset tim ra thành bao nhiêu đường tùy thích, set cả layer. Còn đoạn sau thì chịu thua vì ngoài khả năng.

  196. Phạm Quốc Duy nói...

    Tham khảo lisp duy đang dùng cho quy hoạch với công việc offset đã đăng ở đây.

    http://xaydungit.vn/diendan/showthread.php?4123-Giới-thiệu-Lisp-offset-phục-vụ-quy-hoạch.

  197. Thái Linh nói...

    Cám ơn Duy, dù sao lisp offset nay cung do mat cong offset nhieu lan.

  198. 3554 nói...

    Em có 1 lips có tên lệnh là W đã được load vô cad, cái dở của lips này là chỉ cho phép em chọn từng đối tuợng một, trong bản vẽ của em nhiều khi có đến gần 100 đối tượng cần sử dụng lênh W đó, khi đó em lại cứ phải thao tác gần 100 lần, rất mệt, Mong anh viết giúp em 1 lips mới , lips này sẽ thực hiện cái lệnh W kia mà em chỉ cần quét select 1 lần gần 100 đối tuợng mà em đang muốn thực hiện với lệnh W được ko ah, Cảm ơn anh . P/S: ý tuởng của em về cái lips này có thể hình dung là repeat cái lệnh W với những đối tượng đã chọn trước thôi.

  199. Phạm Quốc Duy nói...

    Tưởng bác Bình đã giải quết ưoợc yêu cầu của bạn?
    Yêu cầu của bạn về nguyên tắc thì được nhưng mình ko làm tổng quát được như bác Bình chỉ có thể sửa cái lệnh của bạn thành 1 hàm con xong mới cho nó chạy lặp cho từng đối tượng được nên bạn phải cho mình ngó cái lisp của bạn thì mới xong.

  200. 3554 nói...

    Chưa bác ah,vì bị lỗi mà.

    phamthanhbinh, on 04 May 2012 - 11:54 AM, said:

    Hề hề hề,
    Có phải cái này không hè????

    file: ucc.lsp(defun c:ucc ()
    (setq ss (acet-ss-to-list (ssget)))
    (foreach e ss
    (c100 e)
    )
    )
    Còn cái thằng c100 nó tròn méo chi thì kệ u nó hử????



    Dạ đúng thế bác ah, nhưng mà lỗi ko hiểu command W, đây bác xem hộ em

    Command: UCC
    Select objects: 1 found
    Select objects: ; error: no function definition: W

    Trong khi đó, ở trong pgp em định nghĩa w= ofset, bác xem lại giúp em với

«Cũ nhất ‹Cũ hơn   1 – 200 trên 256   Mới hơn› Mới nhất»

Đăng nhận xét

Khi viết nhận xét mong bạn không đứng vai trò nặc danh! Bạn có thể chọn Name/Url trong đó Url là http://duy782006.blogspot.com/ như vậy hay hơn nặc danh bạn nhé.

Lưu trữ các nội dung hay dùng cho bài viết
Giới thiệu tác giả!
Họ & tên: Phạm Quốc Duy
Sinh ngày: 08/08/1978
Quê: Tỉnh Quảng Ngãi
Giới tính: Nam
Tình trạng: Đã cưới
Nghề nghiệp: Kiến trúc Sư
Sở trường: Im lặng
Nhược điểm: vô số
Lá cải net và "bình lựng" của Duy782006
Hồng Nhung từng bị cấm hát >>> Sao không ai cấm cái tiêu đề hông dính gì tới bài viết này giùm tui cái.
*Không dám bàn sâu vào nội dung. Ở đây Duy782006 bày tỏ sự "ngưỡng mộ một cách sâu sắc" đến các cá nhân "kiệt sức" đã giật những cái tít lá cải góp phần xây dựng khu vườn cải trê net hiện nay.