Chuyển đến nội dung
Diễn đàn CADViet
sang98dhxd@gmail.com

VẼ ĐƯỜNG CHÉO CHO HÀNG LOẠT POLYLINE KÍN

Các bài được khuyến nghị

5 phút trước, sang98dhxd@gmail.com đã nói:

Các anh ơi, có cách nào phân loại lớp polyline kín theo nội dung text được không ạ.
Ví dụ em vẽ nhiều hình chữ nhật, và mỗi hình bên trong có chứa 1 nội dung đánh dấu như t (nhà tạm) , b (nhà bằng)
Bây giờ em muốn lấy những hình chữ nhật hoặc polyline kín nhiều đỉnh có chứ nội dung là t thì có được không ạ

Được, chờ đi

 

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Highlight polyline sau khi chọn text để lấy nội dung.

(DEFUN c:test  ( / LOAI LS NOIDUNG PTS SS SS1 TXT)
  (SETQ txt     (ENTGET (CAR (ENTSEL "\nChon mau text")))
        loai    (acet-dxf 0 txt)
        noidung (acet-dxf 1 txt)
        ss      (SSGET '((0 . "LWPOLYLINE")))
        ls      (ACET-SS-TO-LIST ss)
        )
  (FOREACH ent  ls
    (PROGN
      (SETQ pts (ACET-GEOM-PLINE-POINT-LIST ent nil)
            ss1 (SSGET "_CP" pts (LIST (CONS 0 loai) (CONS 1 noidung)))
            )
      (IF
        ss1 (redraw ent 3)
        ;(not ss1) (SETQ ss (SSDEL  ent ss)))
      )
    )
  ;;; move
  ;;(command "move" ss "" pause)
  )
  )

 

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
22 phút trước, cuongtk2 đã nói:

Highlight polyline sau khi chọn text để lấy nội dung.


(DEFUN c:test  ( / LOAI LS NOIDUNG PTS SS SS1 TXT)
  (SETQ txt     (ENTGET (CAR (ENTSEL "\nChon mau text")))
        loai    (acet-dxf 0 txt)
        noidung (acet-dxf 1 txt)
        ss      (SSGET '((0 . "LWPOLYLINE")))
        ls      (ACET-SS-TO-LIST ss)
        )
  (FOREACH ent  ls
    (PROGN
      (SETQ pts (ACET-GEOM-PLINE-POINT-LIST ent nil)
            ss1 (SSGET "_CP" pts (LIST (CONS 0 loai) (CONS 1 noidung)))
            )
      (IF
        ss1 (redraw ent 3)
        ;(not ss1) (SETQ ss (SSDEL  ent ss)))
      )
    )
  ;;; move
  ;;(command "move" ss "" pause)
  )
  )

 

dạ lisp phân loại được lớp nhưng không cho phép copy hay đổi thuộc tính lớp phân loại đấy anh ạ 
với cả ý của em là phân loại polyline kín đó theo nội dung còn trong lisp đang báo phân loại theo màu text ạ 

 

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Lisp hiện chỉ nhận dạng được polyline chứa text có nội dung theo mẫu nội dung của text được chọn (không phải theo màu), vì cũng không biết định làm gì sau đó nên chỉ hightlight nhé em.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
1 giờ} trướ}c, limfx đã nói:

Thêm một lựa chọn cho bạn lệnh DC

duongcheo(DC).lsp

Em cảm ơn, lisp load được luôn ạ,  nếu được anh có thể viết giúp em thêm 1 loại đường chéo như trong file này được không ạ 

kos.pdf

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
1 phút trước, cuongtk2 đã nói:

Lisp hiện chỉ nhận dạng được polyline chứa text có nội dung theo mẫu nội dung của text được chọn (không phải theo màu), vì cũng không biết định làm gì sau đó nên chỉ hightlight nhé em.

dạ em muốn quét chọn những polyline chứa text có nội dung bất kỳ đó để em có thể thay thế, chỉnh sửa hoặc withbout sang 1 file khác anh ạ 

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
(DEFUN c:test  ( / LOAI LS NOIDUNG PTS SS SS1 TXT)
  (SETQ txt     (ENTGET (CAR (ENTSEL "\nPick text to get content:")))
        loai    (acet-dxf 0 txt)
        noidung (acet-dxf 1 txt)
        ss      (SSGET '((0 . "LWPOLYLINE")))
        ls      (ACET-SS-TO-LIST ss)
        )
  (FOREACH ent  ls
    (PROGN
      (SETQ pts (ACET-GEOM-PLINE-POINT-LIST ent nil)
            ss1 (SSGET "_CP" pts (LIST (CONS 0 loai) (CONS 1 noidung)))
            )
      (IF
        ;ss1 (redraw ent 3)
        (not ss1) (SETQ ss (SSDEL  ent ss)))
      )
    )
  ;;; move
  (command "move" ss "" pause)
  )
  )

 

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
13 phút trước, cuongtk2 đã nói:

(DEFUN c:test  ( / LOAI LS NOIDUNG PTS SS SS1 TXT)
  (SETQ txt     (ENTGET (CAR (ENTSEL "\nPick text to get content:")))
        loai    (acet-dxf 0 txt)
        noidung (acet-dxf 1 txt)
        ss      (SSGET '((0 . "LWPOLYLINE")))
        ls      (ACET-SS-TO-LIST ss)
        )
  (FOREACH ent  ls
    (PROGN
      (SETQ pts (ACET-GEOM-PLINE-POINT-LIST ent nil)
            ss1 (SSGET "_CP" pts (LIST (CONS 0 loai) (CONS 1 noidung)))
            )
      (IF
        ;ss1 (redraw ent 3)
        (not ss1) (SETQ ss (SSDEL  ent ss)))
      )
    )
  ;;; move
  (command "move" ss "" pause)
  )
  )

 

quét chọn đúng đối tượng em cần rùi, nhưng em ko copy đúng toạ độ được anh ơi :((, hay là anh chuyển luôn đối tượng chứa nội dung em cần đó sang 1 lớp layer khác và vẫn giữ nguyên toạ độ vị trí tại bản vẽ với ạ 

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
(DEFUN c:test  (/ LOAI LS NOIDUNG PTS SS SS1 TXT ent1)
  (SETQ txt (ENTGET (CAR (ENTSEL "\nPick text to get content:"))))
  (IF (NOT txt)
    (EXIT))
  (SETQ loai    (acet-dxf 0 txt)
        noidung (acet-dxf 1 txt)
        ss      (SSGET '((0 . "LWPOLYLINE")))
        ls      (ACET-SS-TO-LIST ss)
        )
  (FOREACH ent  ls
    (PROGN
      (SETQ pts (ACET-GEOM-PLINE-POINT-LIST ent nil)
            ss1 (SSGET "_CP" pts (LIST (CONS 0 loai) (CONS 1 noidung)))
            )
      (IF ss1
        (PROGN
          (SETQ ent1 (ENTGET (VLAX-VLA-OBJECT->ENAME (VLA-COPY (VLAX-ENAME->VLA-OBJECT ent))))
                ent1 (SUBST (CONS 8 "Layer khac") (ASSOC 8 ent1) ent1))
          (ENTMOD ent1)

          )
        )

      )
    )
  )

 

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Vào lúc 15/5/2024 tại 18:45, cuongtk2 đã nói:

(DEFUN c:test  (/ LOAI LS NOIDUNG PTS SS SS1 TXT ent1)
  (SETQ txt (ENTGET (CAR (ENTSEL "\nPick text to get content:"))))
  (IF (NOT txt)
    (EXIT))
  (SETQ loai    (acet-dxf 0 txt)
        noidung (acet-dxf 1 txt)
        ss      (SSGET '((0 . "LWPOLYLINE")))
        ls      (ACET-SS-TO-LIST ss)
        )
  (FOREACH ent  ls
    (PROGN
      (SETQ pts (ACET-GEOM-PLINE-POINT-LIST ent nil)
            ss1 (SSGET "_CP" pts (LIST (CONS 0 loai) (CONS 1 noidung)))
            )
      (IF ss1
        (PROGN
          (SETQ ent1 (ENTGET (VLAX-VLA-OBJECT->ENAME (VLA-COPY (VLAX-ENAME->VLA-OBJECT ent))))
                ent1 (SUBST (CONS 8 "Layer khac") (ASSOC 8 ent1) ent1))
          (ENTMOD ent1)

          )
        )

      )
    )
  )

 

Chú Cường ơi, cháu xin chú có thể viết thêm lisp vẽ mái nhà như trong file này vào trong 1 polyline kín được không ạ 

Vẽ mái nhà tự động.pdf

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Hồi lâu lắm rồi mình có viết cho 1 bạn cái lisp vẽ các mái nhà trong khảo sát. Nhưng là chọn 3 điểm để vẽ. Bạn vọc thử xem sao.

-Load file nén này về, giải nén ra thư mục khkhaosat, chép thư mục này vào ổ D.

-APload file lisp venha_oD lên.

-Lệnh là venha. 

venha.jpg.938b33a920d97cb8356c13b1ae32ac26.jpg

  • Like 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Bạn dùng thử cái này, tên lệnh: 2droof-final (nguồn trên mạng)

 

- Chạy ra được kết quả như hình bằng cách chọn đường pline kín, rồi bấm 1-5 (chọn bừa số cho đến lúc được, vì mình cũng ko hiểu mục đich)

- Code lisp dài chóng mặt

 

2droof-final.lsp

image.thumb.png.c8c036658159e7db03f161fbbf67a92c.png

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
1 giờ trước, duy782006 đã nói:

Hồi lâu lắm rồi mình có viết cho 1 bạn cái lisp vẽ các mái nhà trong khảo sát. Nhưng là chọn 3 điểm để vẽ. Bạn vọc thử xem sao.

-Load file nén này về, giải nén ra thư mục khkhaosat, chép thư mục này vào ổ D.

-APload file lisp venha_oD lên.

-Lệnh là venha. 

venha.jpg.938b33a920d97cb8356c13b1ae32ac26.jpg

Mình không thấy file nén ở đâu nhỉ 

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
4 giờ trước, conghoa đã nói:

Bạn dùng thử cái này, tên lệnh: 2droof-final (nguồn trên mạng)

 

- Chạy ra được kết quả như hình bằng cách chọn đường pline kín, rồi bấm 1-5 (chọn bừa số cho đến lúc được, vì mình cũng ko hiểu mục đich)

- Code lisp dài chóng mặt

 

2droof-final.lsp

image.thumb.png.c8c036658159e7db03f161fbbf67a92c.png

em cảm ơn bác, lisp nếu quét được nhiều đối tượng nữa thì tuyệt vời

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Vào lúc 1/6/2024 tại 10:46, duy782006 đã nói:

Hồi lâu lắm rồi mình có viết cho 1 bạn cái lisp vẽ các mái nhà trong khảo sát. Nhưng là chọn 3 điểm để vẽ. Bạn vọc thử xem sao.

-Load file nén này về, giải nén ra thư mục khkhaosat, chép thư mục này vào ổ D.

-APload file lisp venha_oD lên.

-Lệnh là venha. 

venha.jpg.938b33a920d97cb8356c13b1ae32ac26.jpg

Bác Duy cho em xin lisp này của bác em dùng được không bác

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
2 giờ trước, sang98dhxd@gmail.com đã nói:

Bác Duy cho em xin lisp này của bác em dùng được không bác

Mai mình gửi, do file đó nằm máy cơ quan. Hôm trước kèm xót!

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
15 giờ trước, sang98dhxd@gmail.com đã nói:

Bác Duy cho em xin lisp này của bác em dùng được không bác

Nhớ xem hướng dẩn dùng bài trên nhé.

khkhaosat.rar

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Tạo một tài khoản hoặc đăng nhập để nhận xét

Bạn cần phải là một thành viên để lại một bình luận

Tạo tài khoản

Đăng ký một tài khoản mới trong cộng đồng của chúng tôi. Điều đó dễ mà.

Đăng ký tài khoản mới

Đăng nhập

Bạn có sẵn sàng để tạo một tài khoản ? Đăng nhập tại đây.

Đăng nhập ngay

×