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

NHỜ GIÚP ĐỠ: lisp xếp các mô tả của text trong mũi tên thành 1 đường dọc

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

NHỜ GIÚP ĐỠ: lisp xếp các mô tả của chữ  sau mũi tên thẳng hàng
như tiêu đề trên nhờ các bác hỗ trợ nhé, hình ảnh file e kèm dưới,
nếu được nhờ các bác đặt tên là DM e tránh trùng các lệnh tắt khác.

Stolica Chair.dwg

L22.png

  • Vote giảm 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
16 phút trước, CadExTools đã nói:

Autocad có lệnh tại sao ko dùng thế bạn?

image.thumb.png.bea21ca7393bb7eb7008863fc30eff85.png

cái này làm đơn chiếc thôi bác, chọn nhiều mũi tên nó chạy tứ phía

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
3 phút trước, mad4132 đã nói:

cái này làm đơn chiếc thôi bác, chọn nhiều mũi tên nó chạy tứ phía

Không rõ bạn dùng lệnh có đúng ko nữa, chứ mình Align thoải mái mà.

 

  • 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ác xem hình e đính kèm này, mũi tên nó sẽ ko chỉ đúng như lúc đầu e xếp nữa, và sẽ phải stretch lại, còn 1 nhược điểm nữa lệnh này không xếp đc khi e chỉ ở phía đối diện 
 như ảnh 2

l44.png

L33.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
2 giờ trước, cuongtk2 đã nói:

nó không phải là lisp  mà là api, bạn cần load vào bằng lệnh Netload .

cảm ơn bác nhé, bác cho em hỏi file dll này có giải quyết đc 2 lỗi trên hay ko để e tìm hiểu các dùng

  • Vote giảm 2

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
9 phút trước, mad4132 đã nói:

cảm ơn bác nhé, bác cho em hỏi file dll này có giải quyết đc 2 lỗi trên hay ko để e tìm hiểu các dùng

anh ấy đã bỏ công sức ra viết cho bạn, giờ bạn chỉ còn việc test thử mà cũng lười.

  • 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
28 phút trước, mad4132 đã nói:

bác xem hình e đính kèm này, mũi tên nó sẽ ko chỉ đúng như lúc đầu e xếp nữa, và sẽ phải stretch lại, còn 1 nhược điểm nữa lệnh này không xếp đc khi e chỉ ở phía đối diện 
 như ảnh 2

l44.png

L33.png

gửi bản vẽ này lên mình check thử phát bạn.

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
3 phút trước, mad4132 đã nói:

e gửi nha

mkt1.dwg

Okie, mình mở lên thì thấy, do cái Landing Distance của các MLeader của bác khác nhau, nên khi mình Align theo một cái nào đó thì cái dài nhất bị đẩy như thế. Bạn có thể set giá trị này cho tất cả MLeader giống nhau (chẳng hạn =3) rồi dùng lệnh thì okie

  • 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
1 phút trước, CadExTools đã nói:

Okie, mình mở lên thì thấy, do cái Landing Distance của các MLeader của bác khác nhau, nên khi mình Align theo một cái nào đó thì cái dài nhất bị đẩy như thế. Bạn có thể set giá trị này cho tất cả MLeader giống nhau (chẳng hạn =3) rồi dùng lệnh thì okie

còn đối với khi canh thẳng ở phía đối diện thì có cách nào ko bác? 

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

Landing distance là khoảng cách từ last vertex đến text location hoặc block position. Với mtext chỉ cần điều chỉnh giá trị X của TextLocation cho bằng nhau là gióng thô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

cảm ơn những thông tin hữu ích của các bác, em đang vời thêm 1 cao thủ nữa, nếu anh đó làm được e sẽ chia sẻ lisp lên cùng mn.

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
3 giờ trước, cuongtk2 đã nói:

Landing distance là khoảng cách từ last vertex đến text location hoặc block position. Với mtext chỉ cần điều chỉnh giá trị X của TextLocation cho bằng nhau là gióng thôi.

ko đơn giản vậy bác ạ, vì cái Landing distance mỗi vị trí e cần trỏ xa gần khác nhau (để note vật liệu dùng tại vị trí đó) nên nếu chẳng bằng thì  dòng chữ ko thẳng đ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

Bạn chưa test lệnh phải không? Mình nắm rõ những thứ bạn yêu cầu, và viết cho bạn theo đúng mô tả. Mọi thứ sẽ hoạt động như sự mong đợi , trừ khi sự mong đợi không chính xác.

  • 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

Mình nghĩ chủ thớt muốn thế này

image.thumb.png.b5a3f3c9a37989fb436cd8ff3588e914.png

22 giờ trước, mad4132 đã nói:

bác xem hình e đính kèm này, mũi tên nó sẽ ko chỉ đúng như lúc đầu e xếp nữa, và sẽ phải stretch lại, còn 1 nhược điểm nữa lệnh này không xếp đc khi e chỉ ở phía đối diện 
 như ảnh 2

L33.png

Lệnh của Mr @cuongtk2  Thành phần đó nhảy như Sơn Ca ... hehehe...

P/s: Có lẽ chủ thớt chưa dùng được vì yêu cầu là lệnh DM, nhưng tool lại lệnh MD (không có thông báo gì...).

  • 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
15 giờ trước, cuongtk2 đã nói:

Chắc gửi bản build cũ, thử lại cái này coi.

XepMleader.rar

BÁC XEM GIÙM E, LOAD KHÔNG ĐƯỢC LÀ LỖI GÌ.
VỚI CÁCH SỬ DỤNG NÓ NTN SAU NHƯ MÌNH LOAD VẬY BÁC, E TRA GG, YOUTUBE , HỎI CẢ GPT MÀ NÓ KO NHẮC ĐẾN CÁCH DÙNG, CHỈ NÓI CÁCH LOAD TỰ ĐỘNG

NETLOAD.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
21 giờ trước, NTHAHT đã nói:

Mình nghĩ chủ thớt muốn thế này

image.thumb.png.b5a3f3c9a37989fb436cd8ff3588e914.png

Lệnh của Mr @cuongtk2  Thành phần đó nhảy như Sơn Ca ... hehehe...

P/s: Có lẽ chủ thớt chưa dùng được vì yêu cầu là lệnh DM, nhưng tool lại lệnh MD (không có thông báo gì...).

 

Bác mổ tả đúng ý em muốn rồi, còn lệnh thì em có thử cả MD nhưng máy e ko load đc, nhờ máy bạn em thì load được xong hắn kêu ko xếp đ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

Giúp bạn!

- Chú ý khi pick 2 điểm thì đoạn thẳng nối 2 điểm này phải nằm ở phía thay đổi nhé - Nếu nó nằm ở phía mũi tên (tức là phía cố định) của đối tượng nào thì đối tượng đó giữ nguyên).

- Các Mleader sẽ canh theo giao cắt với phương nối 2 điểm pick (có thể đứng hoặc xiên).

(defun c:DM  (/ ent lsp p1 p2 pt1 pt2 pt3 ss)
  (while (and (setq ss (ssget '((0 . "MULTILEADER"))))
              (setq p1 (getpoint "\nSpecify first point: "))
              (setq p2 (getpoint "\nSpecify second point: " p1)))
    (foreach ent  (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss)))
      (setq lsp (mapcar 'cdr (vl-remove-if-not '(lambda (x) (eq 10 (car x))) (entget ent)))
            pt1 (car lsp)
            pt2 (cadr lsp))
      (and (setq pt3 (inters pt1 (polar pt1 (angle pt1 pt2) 1.) p1 p2 nil))
           (equal (angle pt2 pt1) (angle pt2 pt3) 1e-8)
           (vla-put-DoglegLength (vlax-ename->vla-object ent) (distance pt2 pt3)))))
  (princ))

 

  • 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
3 giờ trước, NTHAHT đã nói:

Giúp bạn!

- Chú ý khi pick 2 điểm thì đoạn thẳng nối 2 điểm này phải nằm ở phía thay đổi nhé - Nếu nó nằm ở phía mũi tên (tức là phía cố định) của đối tượng nào thì đối tượng đó giữ nguyên).

- Các Mleader sẽ canh theo giao cắt với phương nối 2 điểm pick (có thể đứng hoặc xiên).


(defun c:DM  (/ ent lsp p1 p2 pt1 pt2 pt3 ss)
  (while (and (setq ss (ssget '((0 . "MULTILEADER"))))
              (setq p1 (getpoint "\nSpecify first point: "))
              (setq p2 (getpoint "\nSpecify second point: " p1)))
    (foreach ent  (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss)))
      (setq lsp (mapcar 'cdr (vl-remove-if-not '(lambda (x) (eq 10 (car x))) (entget ent)))
            pt1 (car lsp)
            pt2 (cadr lsp))
      (and (setq pt3 (inters pt1 (polar pt1 (angle pt1 pt2) 1.) p1 p2 nil))
           (equal (angle pt2 pt1) (angle pt2 pt3) 1e-8)
           (vla-put-DoglegLength (vlax-ename->vla-object ent) (distance pt2 pt3)))))
  (princ))

 

Ui, thật thần kì, cảm ơn bác rất nhiều, wow, cả 2 chiều đều ngon nghẻ, vầy e đỡ đc bao công co kéo rùi.
Diễn đàn đúng là nơi ngọa hổ tàng long,
xin chân thành cảm ơn bác NTHAHT 1 lần nữa, đồng  thời xin cảm ơn tất cả các bác đã hỗ trợ em qua nay.
 

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

×