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

PhamYen

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

    27
  • Đã tham gia

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

  • Ngày trúng

    1

Bài đăng được đăng bởi PhamYen


  1. Chào các anh chị trên diễn đàn, em có tìm trên diễn đàn về chủ đề Lisp này mà không thấy, nên xin nhờ các anh chị viết giùm em lisp vẽ đường chéo của hình vuông hoặc hình chữ nhật như bản vẽ sau ==>> .BV-Test.dwg ( Mong muốn của em là dùng 1 lệnh có thể nối pl theo đường chéo của hình theo thứ tự từ trái qua phải và từ trên xuống dưới ạ , nếu có tự động đánh số thứ tự vào giữa hình thì hay quá .Và Pl và text vẽ ra tự động ở lớp Defpoints  ) em cảm ơn mọi người đã quan tâm ạ


  2. Em mới sử dụng lisp này nhưng thấy 1 số bất cập mong anh chị trong diễn đàn sửa giúp ạ

    - nếu khung chọn không sắp sếp theo thứ tự mình có thể chọn theo pline hoặc text (số thứ tự) ở hình 1h1.jpg.61e41350722367144d57c6ff04f8b332.jpg

    b1: đánh lệnh

    b2: quét theo pline hoặc text 

    b3: nhập khoảng cách giữa các khung bên layout

    - Trường hợp đã sắp sếp theo thứ tự thì tự động đánh số (hoặc vẽ pline...) hình 2h2.jpg.d8cb0f67690737c60742c0a5098227c7.jpg

    các bước sau như phần ở trên ạ 

     

     

     

    aaa.dwg


  3. Vào lúc 27/5/2019 tại 14:45, Duong Nhat Duy đã nói:

    Mình xin chia sẻ cho các bạn 1 lisp tự động insert block theo ý muốn:

    Lệnh:

       i1 - Insert block theo đường dẫn Line, Pline (có thể insert theo đỉnh, trung điểm các đoạn pline, block xoay theo đường dẫn)

       i2 - Insert block theo các giao cắt Line, Pline

       i3 - Insert block tại các vị trí Text, Block chỉ định (block xoay theo block chỉ định, tự nhận att theo text nếu là block thuộc tính)

    Insert Block.LSP

    Hay quá .A Duy Có thể sửa lisp hoạt động trên block Động được không ạ . như trong vòng tròn ( hình ở Dưới ạ) . em cảm ơn

     

    t.png

    test.dwg


  4. 5 phút trước, thiep đã nói:

    Đây không phải là block bị nổ mà Hatch bị nổ. Với những bản vẽ này giống như bvẽ chuyển từ các phần mềm khác như MicroStation sang Cad. Điều phải làm là:

    1- Tách các đối tượng hatch bị nổ ra, tạo 1 lớp riêng,

    2- Khoanh vùng trở lại các đối tượng này.

    3- Tạo những pattern giống những đối tượng bị nổ trên.

    4- Hatch trở lại các khoanh vùng trên.

    Bản vẽ của bạn tôi đã tách được vài lớp, công việc của bạn là khoanh vùng , tạo pattern và hatch trở lại.

     

    1111.dwg

    Chú lọc cách nào nhanh thế . cháu cũng thử lọc rồi nhưng vẫn dính đối tượng khác 


  5. 6 phút trước, vobanho đã nói:

    Bạn này giống Tôn Ngộ Không đập cây nhân sâm rồi đi tìm người trồng lại đây mà. Hoặc đôi khi có đối tác gửi cho minh file be bét xuất từ phần mềm khác chẳng hạn. Trong  bricscad có lệnh  blockify sẽ làm được đều bạn muốn một cách nhanh chóng. Còn trong autocad  lips "blockify" mình dow được thì chạy khá chậm ( không nhớ của Ông tây nào ấy)  ae xem có dùng được không,  Free mà mã  đóng mới đau . Nó lọc chon toàn bộ bàn vẽ ... 

    blockyfi.rar

    Bác vobanho khéo véo von vậy ....Cái lệnh blockyfi ko thể sd được . chắc ko đúng lệnh


  6. 22 phút trước, Doan Van Ha đã nói:

    Năm ngoái đập chuồng bò. Năm nay đòi có lại cái chuồng bò như cũ bị đập thì chỉ có cách xây mới thôi. 

    đâu có bác hạ ( cái này CĐT ép tận dụng bản vẽ cũ ) biên tập lại tỉ lệ lớn hơn . Nhưng lại chỉ có file của mấy bác thiết kế đã làm rồi lên mới vậy ợ 


  7. Dạ em chào ac trong diễn đàn ạ

    Em có 1 số việc liên quan tới đường 3p lên nhờ ac trong Cadviet viết lisp,  hoặc anh chị nào có rồi thì cho e xin ạ

     Em gửi file mẫu test.dwg và 1 số text 3d giờ muốn nối lại thành một đường 3p như hình 1 bên dưới1610297052_anhtest.thumb.jpg.29e060aa64536367816db625d533c016.jpg

    ( em nghĩ là nếu chọn quét text thì sẽ nối không đúng lên muốn sẽ chọn từng text theo số thứ tự trong hình “AC mà có ý gì hay hơn thì chỉ giúp e ạ” )

    Trường hợp 2 : đã vẽ xong như hình 1 rồi giờ muốn bổ xung thêm các text màu đỏ 2a.3a.5a.5b.6a.6b thành 1 hình theo số thứ tự  “ 1.2.2a.3.3a.4.5.5a.6.6a.6b.7.8” mà không phải vẽ lại từ đầu ạ( hình 2)

    Cảm ơn ac đã đọc bài


  8. 30 phút trước, alisp đã nói:

    Thì là thiếu cái hàm tôi nói ở trên, lisp fun circle cũng dùng hàm đó chạy được thì  để lisp này chung với lisp circle sẽ chạy được.

    liệu có phải đây ko ạ

    (defun replace_str (str)
      (setq    rs (acet-str-replace "," " " str)
        rs (acet-str-replace "    " " " rs)
      )
      (split_space rs)
    )
    (defun split_space (str)
      (vl-remove-if
        '(lambda (x) (= x ""))
        (acet-str-to-list " " str)
      )
    )


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

     

     

    Vô tình bản vẽ này là ở chỗ toạ độ X của text cao độ - 0.225 là toạ độ X của tâm vòng tròn (điểm đo địa hình). Với những bản vẽ khác, text độ cao sẽ dịch chuyển rất tự do xung quanh điểm đo thì lisp của @quocmanh04tt , hay phải giảm cao độ trong file text đi 2.483 như @PhamYen nói sẽ không chính xác. Có khi gây sai sót lớn cho việc làm báo cáo kết quả đo đạc.

    Có nhiều vấn đề cho loại hình bản vẽ này:

    1.  Với cao độ Z: bên trắc địa đo chi tiết rất dày đặc, text cao độ chồng chất nhau, nên không thể lấy tâm vòng tròn để dò tìm text cao độ gần nó nhất. Thiệp đã có lisp xuất điểm đo chi tiết kiểu này từ lâu rồi, nhưng cũng rất cẩn thận với mấy nhà trắc địa đo đạc quá dày đặc. Trong trường hợp này, trước tiên phải chạy 1 lisp khác, lisp này sẽ tạo 1 "đường tròn" với 1 bán kính ảnh hưởng tối ưu tại điểm đo để dò tìm các text cao độ ở gần điểm đo chi tiết:

    a) Nếu phát hiện có > 2 text chồng chất thì khoanh tròn vị trí này. Người dùng tay move các text cao độ chồng chất đi chỗ khác ra khỏi khoang tròn này, hoặc bằng nhiều cách miễn là chỉ để 1 text cao độ trong khoang tròn mà thôi.

    b) Nếu không tìm 1 text cao độ nào cũng khoanh tròn điểm đo này để người dùng "chế" thêm text cao độ, hoặc thay đổi "bán kính ảnh hưởng để chạy lại lisp

    2. Với toạ độ X, Y: Đối tượng điểm đo là loại gì: block, point, circle... hay tổng hợp nhiều loại đối tượng thể hiện điểm đo, từ đó mới dùng ssget để tìm toạ độ X, Y điểm chèn của điểm đo.

    Một số tổng quát để viết lisp này vậy.

    Cháu nghĩ điểm circle với điểm text đều là 1 . do bạn ấy dùng cad phá khối lên nó bị tách riêng thành 2 loại như vậy ( trước đó đưa lên là phần mềm khác ). sau đó lại nâng hạ text đi 1 khoảng (2.483) lên nó sảy ra trường hợp text với circle không trùng nhau


  10. 1 giờ} trướ}c, alisp đã nói:

    Nếu bạn không kiếm ra cái hàm đó hoặc không muốn đưa lên cái hàm đó thì sửa dùm bạn như này. Tên lệnh FCN. 

    FDT.LSP

    Anh Alisp nói quá rồi . em không biết hàm với thuật toán nào cả lên mới nhờ mọi người biết sửa giùm mà . còn lsp anh sửa em thấy vẫn chưa sử dụng đc có phải vẫn thiếu  gì ko ạ


  11. 19 giờ trước, M se đã nói:

    như file txt của bạn thì tọa độ là ok rồi nhưng độ cao thì lấy độ cao nhãn hiện ra file á. vì độ cao trong file txt của bạn lấy độ cao thuộc tính nên nó khác độ cao hiển thị trên file. Bạn giúp dùm mình với. cảm ơn bạn

    cad.jpg

    Do khi nâng cao độ text bạn không nâng cao độ đường tròn lên nó chênh lệch là phải rồi . bạn chỉ cần giảm cao độ trong file text đi 2.483 là được . còn không bạn dung lsp của bác 

    Quocmanh04tt cũng rất hay

    • Like 1

  12. Chào các anh chị em trong diễn đàn . em là thành viên mới mong đc mọi người chỉ bảo , giúp đỡ ạ

    Chả là em có 1 lisp phun đường tròn đc mọi người cho . giờ em muốn chỉnh sửa thành phun hình chữ nhật . anh chị nào rãnh giúp em với

    Yêu cầu : tên lệnh FHCN

    Nhập chiều dài theo trục X :

    Nhập chiều dài theo trục Y :

    Em Muốn tọa độ là tâm của hai đường chéo hình chữ nhật ạ

    Em cam ơn ạ !

    Dưới là lisp FDT.LSP và file text mẫu ạ test.txt

×