Chuyển đến nội dung
Diễn đàn CADViet

Duong Nhat Duy

Thành viên
  • Số lượng nội dung

    721
  • Đã tham gia

  • Lần ghé thăm cuối

  • Ngày trúng

    179

Bài đăng được đăng bởi Duong Nhat Duy


  1. Nếu sợ missclick mà vẫn muốn dùng entget thì bạn dùng while như này:

    (while (not (setq BONG (car (entsel "\n Chon Bong: ")))))
    (while (not (setq LED (car (entsel "\n Chon Mui ten: ")))))

    Hoặc nếu muốn dùng selection set:

    (setq elst (vl-remove-if 'listp (mapcar 'cadr (if (ssget (list (cons 0 "*LEADER,CIRCLE"))) (ssnamex (ssget "_P"))))))
    (setq BONG (car (vl-remove-if-not '(lambda (e) (wcmatch (cdr (assoc 0 (entget e))) "CIRCLE")) elst)))
    (setq LED (car (vl-remove-if-not '(lambda (e) (wcmatch (cdr (assoc 0 (entget e))) "*LEADER")) elst)))

     

    • Like 2

  2. 2 giờ trước, vostro 1500 đã nói:

    Cảm ơn bạn @Duong Nhat Duy lips hay qua! :-)

    Mình có 1 góp ý nhỏ: phần TL hậu tố bạn Duy có thể chỉnh sao chuyển tự động khi đo chiều dài là "m", đo diện tích là "m2"

    Cái này mình đang chỉnh sửa lại trong bản cập nhật sắp tới rồi bạn nhé, dự kiến sẽ thêm các lệnh thống kê chiều dài, diện tích nữa, bạn chịu khó đợi xíu nhé !

    • Like 1

  3. 9 giờ trước, NguyenMinh88 đã nói:

    vậy nhờ bạn @Duong Nhat Duy viết tiếp . công việc của minh thay đổi  đường dẫn xref từ full path thành relative rất nhiều.

    mình làm khai triển bạn ạ !

    xin cám ơn bạn .

    Mình nói ở trên chắc bạn không hiểu rồi, cái này viết ra cũng không ứng dụng được nên mình không viết đâu nhé !


  4. Mà riêng mình thì thấy lisp này không có tính ứng dụng cao, vì:

    1. Để chuyển đổi đường dẫn xref full/relative thì cũng có thể thao tác thủ công với nhiều xref trong bản vẽ cùng lúc

    2. Lỗi mà hầu như ae nào cũng gặp là link nhầm đường dẫn full path: Rev2 link về Rev1, làm trên server nhưng link về máy tính cá nhân, ... và lỗi này thì lisp trên không xử lý được, thực tế chắc cũng không có lisp nào xử lý được vì khi này cần đến bộ óc của con người thì mới nhận biết được đâu là thư mục chứa xref phiên bản "cuối cùng" mà mình cần chọn.


  5. 7 phút trước, Xuân Lộc đã nói:

    tạo field nhưng mà mk hay tạo block để nó nhảy dữ liệu, sửa 1 cái nhảy nhiều cái lên có field trong block toàn lỗi á

    Cái đề bài của bạn muốn tạo field thì tạo được nhưng nó cần link với 1 thằng đối tượng gốc nào đó (trên trục ngang +0.00). Và toàn bộ quá trình vẽ ko đc xóa thằng gốc đó.

    • Like 1

  6. 12 giờ trước, Xuân Lộc đã nói:

    em test thử thì lisp chạy ngon ở mẫu 1 có 1 tag att. mẫu 2 có 2 tag em muốn nó đánh được 2 tag và giữ được nội dung phía trước là FFL= và SFL= ạ. riêng cái 0.000 phải có dấu cộng trừ vì nó theo qcvn ạ

    Cái này mình chịu nhé, nó quá cụ thể cho chuyên ngành rồi !


  7. Gửi đến các bạn 1 lisp tính cao độ trên trắc ngang. Tuy không phải là 1 vấn đề mới mẻ và thực tế cũng có rất nhiều lisp về đề bài này rồi, nhưng mình vẫn muốn viết nó, với mục tiêu là dễ sử dụng, tính thẩm mỹ cao và có thể tùy biến các thông số.

     

    Công dụng

    Screenshot_TCD.png.f466eea358917cc38d960ba9306e577f.png

    - Tính cao độ pick điểm trên trắc ngang từ 1 điểm cơ sở (cao độ điểm cơ sở có thể nhập tay hoặc pick chọn Text/Block Att)

    - Có thể cập nhật lại cao độ khi cao độ điểm cơ sở thay đổi

    - Có thể tùy chỉnh tỉ lệ đứng, ứng dụng để tính cao độ trên trắc dọc

    - Có thể tùy chỉnh cao chữ, kích thước mũi tên, ...

     

    Tên lệnh

       TCS - Thiết lập thông số (không bắt buộc, có thể bỏ qua)

       TCD - Tính cao độ

       CNCD - Cập nhật cao độ

     

    TCD - Tính cao độ

    Tính cao độ pick điểm từ 1 điểm cơ sở (cao độ điểm cơ sở có thể nhập tay hoặc pick chọn Text/Block Att)

    1979305478_TCD(Noted).gif.a44befa394d163fa972d4dbcb8c85b91.gif

     

    CNCD - Cập nhật cao độ

    Cập nhật cao độ từ 1 điểm cơ sở (cách nhập điểm cơ sở tương tự lệnh TCD).

    Đối tượng cập nhật có thể là Block Att hoặc cụm đối tượng Text, Pline được tạo ra từ lệnh TCD như trên.

    CNCD.gif.1f4f090ef2e5caf43b8b46e5da3e74ec.gif

     

    Link download

    https://drive.google.com/drive/u/1/folders/1IW78bQJ7kDaovc2obdweBkV_ParNiNa7

     

    Chúc các bạn thành công :)))

    • Like 3

  8. 10 giờ trước, conghiep16 đã nói:

    Mình tha thiết mong bạn có thể edit lại lệnh sử dụng cho macOS.

    Mình có thể khẳng định líp của bạn là lísp tính diện tích, chiều dài tốt nhất mình từng thử.

    Mình rất mong bạn có thể hỗ trợ mình phần này. Please.

    Rất cám ơn bạn vì lời bình luận :))), nhưng mình còn chưa bao giờ test thử lisp trên macOS nên chịu bạn nhé.

    Lisp mã nguồn mở, bạn có thể nhờ các cao nhân trên forum chuyển nhé.


  9. Gửi đến các bạn 1 lisp Cắm mốc tọa độ, ứng dụng để thống kê tọa độ nhiều loại đối tượng hoặc bắn tọa độ điểm đo từ file txt đầu vào.

     

    Công dụng

    - Thống kê tọa độ đối tượng (Block, Text, Point, Circle,...), xuất bảng AutoCAD Table hoặc Excel.

    - Bắn tọa độ điểm đo ra cad từ file txt đầu vào.

    - Điền thông số đường cong nằm (có thể chọn hàng loạt Pline, Arc).

     

    Lưu ý

    Lisp không bao gồm các thao tác chèn Block, Text mốc tọa độ hay đánh số thứ tự. Vui lòng sử dụng các lisp sau (hoàn toàn free):

    - Lisp Insert Block, đối tượng hàng loạt: https://www.cadviet.com/forum/index.php?app=forums&module=forums&controller=topic&id=196746

    - Lisp đánh số thứ tự, thêm tiền tố, hậu tố hàng loạt: https://www.cadviet.com/forum/index.php?app=forums&module=forums&controller=topic&id=205946

    - Lisp không có lệnh chèn thủ công Block tọa độ, do lệnh này đã quá cổ điển. Hiện đại nên dùng Block Att có giá trị tọa độ tự nhảy theo vị trí Block (tham khảo trong link download cuối bài)

     

    Hướng dẫn lấy mã máy để dùng thử full tính năng

    Lisp bao gồm các lệnh free và tính phí

    - Để sử dụng các lệnh free, các bạn download lisp về và sử dụng bình thường

    - Để sử dụng các lệnh tính phí, các bạn có thể gửi mã máy để mình kích hoạt dùng thử, hoặc mua vĩnh viễn:

       + Cách lấy mã máy: Copy dòng mã máy trong bảng thông báo hiện lên ngay sau khi load lisp. Sau đó comment mã máy hoặc liên hệ zalo mình (sđt bên dưới)

       (Mã máy sau khi được kích hoạt là có thể dùng được ngay, ai gửi mã mà chưa thấy mình phản hồi thì thỉnh thoảng cứ load thử lại lisp, dùng được nghĩa là mình đã kích hoạt rồi)

       + Mua key dùng vĩnh viễn: vui lòng liên hệ qua zalo mình: 0922161194

     

    Tên lệnh

       CMS - Thiết lập thông số

       STT - Đánh số thứ tự hàng loạt (trích từ lisp đánh số nói ở trên, vui lòng tham khảo trong link)

       CM1 - Cắm mốc tọa độ, xuất bảng AutoCAD

       CMN - Cắm mốc tọa độ phân loại nhóm, xuất bảng AutoCAD (tính phí)

       CMT - Cắm mốc tọa độ xuất file .csv (tính phí)

       CMX - Cắm mốc tọa độ từ file .txt đầu vào (tính phí)

       TSDC - Điền thông số đường cong nằm (tính phí)

     

    CMS - Thiết lập thông số

    - Thiết lập các thông số cơ bản, ví dụ:

       + Kiểu chữ, cao chữ, kích thước bảng
       + Kiểu bảng (bảng AutoCAD Table hoặc bảng bằng Line và Text)
       + Phần thập phân của giá trị tọa độ

    - Không bắt buộc phải thiết lập (lisp tự lấy giá trị mặc định)

     

    CM1 - Cắm mốc tọa độ

    - Đối tượng thống kê tọa độ: Block Att, Text
    - Có thể sắp xếp theo thứ tự: trên->dưới, trái->phải, tăng/giảm dần, hoặc thứ tự pick chọn

    CM1.gif.38a189e10ff1344a16073f695b65d924.gif

     

    CMN - Cắm mốc tọa độ phân loại nhóm

    - Đối tượng thống kê tọa độ: Block Att, Text
    - Tương tự như lệnh CM1 nhưng phân loại nhóm theo tên, ví dụ A1 A2 là 1 nhóm, B3 B4 là 1 nhóm, 5 6 7 là 1 nhóm
    - Có thể gộp nhiều nhóm vào 1 bảng hoặc chia ra nhiều bảng (thay đổi lựa chọn trong CMS-thiết lập)

    CMN.gif.03d1ebf2999224adb1f1319d8787abfa.gif

     

    CMT - Cắm mốc tọa độ xuất file .csv

    - Đối tượng thống kê tọa độ: Block thường, Block Att, Text, Point, Circle

    CMT.gif.56656f8f3dbb7cd2d63eed5194bc22b8.gif

     

    CMX - Cắm mốc tọa độ từ file .txt đầu vào

    - Input: file .txt tọa độ điểm đo
    - Có thể chuyển đổi nhanh các thứ tự: Tên điểm, Tọa độ X Y Z (nếu có) mà không cần thao tác trong file .txt
    - Output: Block Att, Text hoặc Point (người dùng tùy chọn)

    CMX.gif.e827e42409bf2b53644f3e648776f1e2.gif

     

    TSDC - Điền thông số đường cong nằm

    - Đối tượng áp dụng: Pline, Arc
    - Hướng của Text thể hiện thông số xoay theo hướng tuyến. Dùng lệnh PE/Reverse trong cad để đảo ngược hướng tuyến
    TSDC.gif.07e5e4e5bbdb07af0dca2e96080026dc.gif

     

    Phiên bản

    - v1.00 (30/10/24): Phiên bản đầu tiên

     

    Link download

    https://drive.google.com/drive/u/0/folders/1SLT-Ol0M2y0zEY0szCkGJfA8rL9O-hsv

     

    Chúc các bạn thành công :)))

    • Like 1

  10. 20 giờ trước, Lê Quang Dương đã nói:

    Lisp này sau khi sao lưu cấu hình và load lại thì không dùng lệnh ATL được nữa, cứ gõ lệnh xuất hiện bảng khoảng nửa giây là thoát. Rất tiếc dạo này diễn đàn không thể gửi hình lên được.

    Có nhầm lẫn gì không bạn, đây là lisp này đâu có lệnh ATL.


  11. 3 giờ trước, Đinh Văn Triển đã nói:

    Cho mình hỏi sao Lisp này mỗi bản vẽ mình dùng được vài lần lại không dùng được vậy? Nếu tắt bản vẽ đi mở lại lại dùng được vài lần lại bị vậy?

    Bạn chụp hoặc quay video lại 1 lần được và 1 lần không được mình xem nhé

×