Chuyển đến nội dung
Diễn đàn CADViet
Đăng nhập để thực hiện theo  
hamy2018

Xin Lisp Auto Add Dimension!

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

Chào các A!

Hiện tại e đang có chút vấn đề vè việc phải làm việc Dim khoảng các giữa các đối tượng. Dự án bên em làm chuyên về báo cháy. số lượng thiết bijh nhiều vì vậy việc dim kích thước tốn rất nhiều thời gian!

Em muốn xin các a giúp em một lisp thêm dim kich thước từ tâm đối tượng này đến đối tượng khác ( Block, line, circle...) khi chọn các đối tượng theo thứ tự ạ!

Nội dung là:

 Gõ lênh;

Chọn đối tượng ( Block, circle) - enter

Chọn extension (mm) 

Thực hiện tiếp ( yes, no)

Kết thúc

image.png.3cc0aa79862ed0e34c5793153779fc9b.png

Ví dụ như hình trên khi ta chọn các đối tượng theo thứ tự 1-2-3-4 thì các dim sẽ tự động điền vào theo thứ tự 1-2-3 với extension tự chọn ạ

Rất mong được giúp đỡ, em xin cảm ơn và hậu 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
1 giờ trước, hamy2018 đã nói:

Chào các A!

Hiện tại e đang có chút vấn đề vè việc phải làm việc Dim khoảng các giữa các đối tượng. Dự án bên em làm chuyên về báo cháy. số lượng thiết bijh nhiều vì vậy việc dim kích thước tốn rất nhiều thời gian!

Em muốn xin các a giúp em một lisp thêm dim kich thước từ tâm đối tượng này đến đối tượng khác ( Block, line, circle...) khi chọn các đối tượng theo thứ tự ạ!

Nội dung là:

 Gõ lênh;

Chọn đối tượng ( Block, circle) - enter

Chọn extension (mm) 

Thực hiện tiếp ( yes, no)

Kết thúc

image.png.3cc0aa79862ed0e34c5793153779fc9b.png

Ví dụ như hình trên khi ta chọn các đối tượng theo thứ tự 1-2-3-4 thì các dim sẽ tự động điền vào theo thứ tự 1-2-3 với extension tự chọn ạ

Rất mong được giúp đỡ, em xin cảm ơn và hậu tạ!

 

Không biết đúng ý thớt chưa.

Chọn Extension có vẻ không khả thì vì k biết đặt dim bên nào

ezgif.com-video-to-gif.gif.2bbd6c0d7ce61f616ca7902e0cec31d6.gif

  • 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

Lisp này của bác khá hay. tuy nhiên nếu có thể làm được theo kiểu chọn nhiều đối tượng thì tốt quá ạ. còn đặt dim bên nào cũng được ạ, đặt dồng loạt ạ.

bác có thể cho em xin code của lisp trên ko ạ!

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

Lisp này của bác khá hay. tuy nhiên nếu có thể làm được theo kiểu chọn nhiều đối tượng thì tốt quá ạ. còn đặt dim bên nào cũng được ạ, đặt dồng loạt ạ.

bác có thể cho em xin code của lisp trên ko ạ!

(defun c:dc (/ ent ent2 p1 p2)
  (if (setq ent (car (entsel "\nCh\U+1ECDn \U+0111\U+1ED1i t\U+01B0\U+1EE3ng \U+0111\U+1EA7u ti\U+00EAn!"))) (progn
	  (if (wcmatch (cdr (assoc 0 (entget ent))) "INSERT,CIRCLE")
    (progn 
  (while (setq ent2 (car (entsel "\nCh\U+1ECDn \U+0111\U+1ED1i t\U+01B0\U+1EE3ng ti\U+1EBFp theo!")))
    (if (wcmatch (cdr (assoc 0 (entget ent2))) "INSERT,CIRCLE") (progn
    (setq p1 (cdr (assoc 10 (entget ent)))
	  p2 (cdr (assoc 10 (entget ent2))) )
    (command "DIMLINEAR" "_non" p1 "_non" p2 pause)
    (setq ent ent2)
    ) (alert "\n\U+0110\U+1ED1i t\U+01B0\U+1EE3ng kh\U+00F4ng ph\U+1EA3i Block, Circle!")
      )
    )
  ) (alert "\n\U+0110\U+1ED1i t\U+01B0\U+1EE3ng kh\U+00F4ng ph\U+1EA3i Block, Circle!")
  ))))

Chọn nhiều đối tượng thì mình chịu, sort thế nào cho vừa ý đ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
5 phút trước, Doan Nguyen Van đã nói:

(defun c:dc (/ ent ent2 p1 p2)
  (if (setq ent (car (entsel "\nCh\U+1ECDn \U+0111\U+1ED1i t\U+01B0\U+1EE3ng \U+0111\U+1EA7u ti\U+00EAn!"))) (progn
	  (if (wcmatch (cdr (assoc 0 (entget ent))) "INSERT,CIRCLE")
    (progn 
  (while (setq ent2 (car (entsel "\nCh\U+1ECDn \U+0111\U+1ED1i t\U+01B0\U+1EE3ng ti\U+1EBFp theo!")))
    (if (wcmatch (cdr (assoc 0 (entget ent2))) "INSERT,CIRCLE") (progn
    (setq p1 (cdr (assoc 10 (entget ent)))
	  p2 (cdr (assoc 10 (entget ent2))) )
    (command "DIMLINEAR" "_non" p1 "_non" p2 pause)
    (setq ent ent2)
    ) (alert "\n\U+0110\U+1ED1i t\U+01B0\U+1EE3ng kh\U+00F4ng ph\U+1EA3i Block, Circle!")
      )
    )
  ) (alert "\n\U+0110\U+1ED1i t\U+01B0\U+1EE3ng kh\U+00F4ng ph\U+1EA3i Block, Circle!")
  ))))

Chọn nhiều đối tượng thì mình chịu, sort thế nào cho vừa ý đc 

Vâng, Em cảm ơn! Bác ở đâu luccs nào rảnh mời bác đi cafe chú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
1 giờ} trướ}c, Doan Nguyen Van đã nói:

(defun c:dc (/ ent ent2 p1 p2)
  (if (setq ent (car (entsel "\nCh\U+1ECDn \U+0111\U+1ED1i t\U+01B0\U+1EE3ng \U+0111\U+1EA7u ti\U+00EAn!"))) (progn
	  (if (wcmatch (cdr (assoc 0 (entget ent))) "INSERT,CIRCLE")
    (progn 
  (while (setq ent2 (car (entsel "\nCh\U+1ECDn \U+0111\U+1ED1i t\U+01B0\U+1EE3ng ti\U+1EBFp theo!")))
    (if (wcmatch (cdr (assoc 0 (entget ent2))) "INSERT,CIRCLE") (progn
    (setq p1 (cdr (assoc 10 (entget ent)))
	  p2 (cdr (assoc 10 (entget ent2))) )
    (command "DIMLINEAR" "_non" p1 "_non" p2 pause)
    (setq ent ent2)
    ) (alert "\n\U+0110\U+1ED1i t\U+01B0\U+1EE3ng kh\U+00F4ng ph\U+1EA3i Block, Circle!")
      )
    )
  ) (alert "\n\U+0110\U+1ED1i t\U+01B0\U+1EE3ng kh\U+00F4ng ph\U+1EA3i Block, Circle!")
  ))))

Chọn nhiều đối tượng thì mình chịu, sort thế nào cho vừa ý đc 

Chọn nhiều đối tượng cùng phương thì làm cái như qdim ấy.

Cón nếu pl đó liền nhau thì sort theo pline được như lệnh dim pline.

 

Còn dim như vậy thì bắt điểm được rồi chứ viết lisp ko hiệu quả lắm.

Bắt điểm tuỳ đối tượng INS/CEN/MID .Extend thì dùng dimcontinuos.

Viết lisp cũng đâu nhanh hơn bao nhiêu.

 

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

Dear Bác, A có thể chỉnh cho em code để vừa chọn đối tượng vừa có thể chọn điểm được không ạ, Em dang gặp vấn đề với cái điểm cua kia. nhưng trong bản vẽ nó rất nhiều điểm như thế ạ! nhờ a giúp ạ

image.png.56f1d275661bf8cccc5351048326a3fc.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

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
Đăng nhập để thực hiện theo  

×