Chuyển đến nội dung
Diễn đàn CADViet
  • Thông báo

    • Nguyen Hoanh

      CADViet đã hoàn tất nâng cấp   14/09/2017

      Chào các bạn, CADViet đã hoàn tất việc nâng cấp lên phiên bản mới. Tất cả các chức năng đã hoạt động theo kỳ vọng của ban quản trị. Nếu có vấn đề gì cần phản hồi, các bản post ở đây nhé: Trân trọng, Nguyễn Hoành.
Đăng nhập để thực hiện theo  
proconeng86

[yêu cầu] sửa lisp lựa chọn đầu arrow của leader

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

proconeng86    8

Trước đây mình có được 2 bạn trên cadviet viết giúp 1 lisp chỉnh sửa đầu arrow của leader rất là hay, rất trực quan. Khi làm việc mình muốn hay chọn kích thước các đầu này, toàn phải vào properties, mà không hiểu sao nó hiện lên để lựa chọn kích thước đầu leader rất chậm, làm mất thời gian. do đó mình mong các bạn giúp mình chỉnh thêm cho lisp này 1 chút. Cụ thể như sau:

 - gõ lệnh, lựa chọn những leader muốn đổi đầu

 - hiện bảng lựa chọn loại đầu (đến đây vẫn là lisp cũ)

 - hiện lên 1 bảng khác trên màn hình (như bảng lựa chọn đầu leader) là bảng chọn kích thước cho đầu leader. chỉ cần hiện 4 giá trị hay dùng: 0.25; 0.5; 1; 2. Ngoài 4 giá trị này ra thì mình có thể gõ giá trị bất kì vào được

 - kết thúc lisp

 

Ngoài ra các bạn tách riêng phần lựa chọn kích thước đầu leader ra 1 lisp khác để dùng cho trường hợp các leader có arrow đúng rồi

 

Mình cám ơn nhiều

 

http://www.mediafire.com/download/i6h0ahkn55byhou/sua_dau_leader.lsp 

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
Doan Van Ha    2.678

Nếu tôi nhớ không nhầm thì đây là lisp tôi viết? Nếu đúng vậy thì sao bạn không hỏi ở đó mà mở topic mới làm chi cho nhạt forum.

  • Vote tăng 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
proconeng86    8

Nếu tôi nhớ không nhầm thì đây là lisp tôi viết? Nếu đúng vậy thì sao bạn không hỏi ở đó mà mở topic mới làm chi cho nhạt forum.

 

Xin lỗi bạn, tại lâu rồi nên mình cũng không nhớ lắm, mà mình cũng không tìm được topic đó nên mới tạo topic mới. bạn thông cảm

Thế bạn Hạ giúp mình cái nha, mình cám ơn 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
Doan Van Ha    2.678

Tôi viết riêng chứ không khoái gộp chung. Lisp thay đổi ArrowheadSize của Dimension/Leader.


(defun C:HA( / txt arr)
 (princ "\nChon cac Dim/Leader can thay doi kich thuoc Arrow...")
 (ssget (list (cons 0 "LEADER,DIMENSION")))
 (initget "0.25 0.5 1 2 K")
 (setq txt (getkword "\nChon kich thuoc Arrow [0.25/0.5/1/2/Khac]: "))
 (if (= txt "K")
  (setq arr (getreal "\nNhap kich thuoc Arrow: "))
  (setq arr (atof txt)))
 (vlax-for obj (vla-get-ActiveSelectionSet (vla-get-ActiveDocument (vlax-get-acad-object)))
  (vla-put-ArrowheadSize obj arr)))
 

  • Vote tăng 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
Tue_NV    3.841

CAD cũng có lệnh DOV (DIMOVERRIDE) tự động lọc ra DIMENSION, LEADER và thay đổi Arrowsize (và các thứ khác) của dim, leader. Cứ mỗi thứ thay đổi thế này lại phải mất 1 lisp.... Lạm dụng vô Lisp quá không hay ............

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
proconeng86    8

Tôi viết riêng chứ không khoái gộp chung. Lisp thay đổi ArrowheadSize của Dimension/Leader.


(defun C:HA( / txt arr)
 (princ "\nChon cac Dim/Leader can thay doi kich thuoc Arrow...")
 (ssget (list (cons 0 "LEADER,DIMENSION")))
 (initget "0.25 0.5 1 2 K")
 (setq txt (getkword "\nChon kich thuoc Arrow [0.25/0.5/1/2/Khac]: "))
 (if (= txt "K")
  (setq arr (getreal "\nNhap kich thuoc Arrow: "))
  (setq arr (atof txt)))
 (vlax-for obj (vla-get-ActiveSelectionSet (vla-get-ActiveDocument (vlax-get-acad-object)))
  (vla-put-ArrowheadSize obj arr)))
 

 

Lisp này là ngon rồi. cám ơn bạn Ha 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
proconeng86    8

CAD cũng có lệnh DOV (DIMOVERRIDE) tự động lọc ra DIMENSION, LEADER và thay đổi Arrowsize (và các thứ khác) của dim, leader. Cứ mỗi thứ thay đổi thế này lại phải mất 1 lisp.... Lạm dụng vô Lisp quá không hay ............

 

Mình cũng thử lệnh DOV nhưng mình không hiểu cho lắm, hình như nó đưa về mặc định là 1 chứ đâu có cho chọn kích thước arrow đâu. Có lisp dùng vẫn nhanh hơn chứ bạn, nhiều khi lệnh cad phải lựa chọn nhiều mất công hơn chứ

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
Tue_NV    3.841

Mình cũng thử lệnh DOV nhưng mình không hiểu cho lắm, hình như nó đưa về mặc định là 1 chứ đâu có cho chọn kích thước arrow đâu. Có lisp dùng vẫn nhanh hơn chứ bạn, nhiều khi lệnh cad phải lựa chọn nhiều mất công hơn chứ

 

1. / Có lisp thì nhanh hơn, nhiều lisp quá thì đâm ra "loạn", một là mất công nhớ lệnh, hai là nhiều lisp có thể gây xung đột cho nhau 

 

2./ Lệnh DOV trong TH thay đổi Arrow size của dim,leader như sau:

 

Command:  DOV

DIMOVERRIDE

Enter dimension variable name to override or [Clear overrides]: dimasz

Enter new value for dimension variable <100.00>: 500

 

Enter dimension variable name to override:

Select objects: Specify opposite corner:  5 found -> Quét chọn đối tượng

Select objects: -> Enter

 

CAD tự động lọc ra Dim, leader để thay đổi Arrow size

 

Cách nữa: Ctrol+1 -> Chỉnh chu 1 cái Leader cho hoàn chỉnh Arowsize, ..... rồi Lệnh MA kết hợp Filter để thay đổi hàng loạt cho Leader rất nhanh đó bạn

  • Vote tăng 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
proconeng86    8

1. / Có lisp thì nhanh hơn, nhiều lisp quá thì đâm ra "loạn", một là mất công nhớ lệnh, hai là nhiều lisp có thể gây xung đột cho nhau 

 

2./ Lệnh DOV trong TH thay đổi Arrow size của dim,leader như sau:

 

Command:  DOV

DIMOVERRIDE

Enter dimension variable name to override or [Clear overrides]: dimasz

Enter new value for dimension variable <100.00>: 500

 

Enter dimension variable name to override:

Select objects: Specify opposite corner:  5 found -> Quét chọn đối tượng

Select objects: -> Enter

 

CAD tự động lọc ra Dim, leader để thay đổi Arrow size

 

Cách nữa: Ctrol+1 -> Chỉnh chu 1 cái Leader cho hoàn chỉnh Arowsize, ..... rồi Lệnh MA kết hợp Filter để thay đổi hàng loạt cho Leader rất nhanh đó bạn

 

Do không phải là leader nào cũng có arrow size giống nhau nên mình thấy dùng lisp vẫn tiện hơn.

Lệnh DOV mình thấy hơi loằng ngoằng, phải gõ cả DIMASZ j nữa, thế còn khó nhớ hơn là lisp

Còn cách sau của bạn mình chưa hiểu lệnh MA rồi thì Filter kiểu nào 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
Doan Van Ha    2.678

Do không phải là leader nào cũng có arrow size giống nhau nên mình thấy dùng lisp vẫn tiện hơn.

Lệnh DOV mình thấy hơi loằng ngoằng, phải gõ cả DIMASZ j nữa, thế còn khó nhớ hơn là lisp

Còn cách sau của bạn mình chưa hiểu lệnh MA rồi thì Filter kiểu nào nhỉ?

Chỉnh 1 Leader/Dimension có Arrowheadsize theo ý muốn. Sau đó MA thằng này cho các thằng khác >> tất cả 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
Tue_NV    3.841

 

Do không phải là leader nào cũng có arrow size giống nhau nên mình thấy dùng lisp vẫn tiện hơn.

Lệnh DOV mình thấy hơi loằng ngoằng, phải gõ cả DIMASZ j nữa, thế còn khó nhớ hơn là lisp

Còn cách sau của bạn mình chưa hiểu lệnh MA rồi thì Filter kiểu nào nhỉ?

1./ CAD 2008 có cung cấp tên biến hệ thống DIMASZ ngay dưới bảng Properties (Ctrol+1) nên không khó nhớ

 

2./ Matchprop (MA)+ Filter kết hợp -> Khi chọn đối tượng đích (lệnh MA) ở dòng Select object : gõ 'fi ->(bảng Filter hiện ra) thực hiện thao tác lọc -> Lưu lại bộ chọn để lấn sau sử dụng -> Quét chọn Leader theo bộ lọc ........

 

3./ Về quan điểm mỗi người một khác: Mình thì không thích dùng "dao mổ trâu để giết con gà", vì bộ chương trình lớn của mình lập ra có nhiều lệnh, đã mất công nhớ các lệnh lớn rồi, các lệnh nhỏ nhỏ để "giết gà" thì mình tận dụng các lệnh của CAD để xử lý, vì như đã nói là mất công nhớ lệnh, mất công nhớ tác dụng của lệnh, mất công có thể gây xung đột với Lisp hiện có

 

Good weekend!

  • Vote tăng 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
ketxu    2.653

Nếu đã dùng bảng thuộc tính thì cũng k cần Filter nữa, vì bản thân bảng này đã có filer object type trong danh sách đối tượng rồi ^^

Thêm nữa, chủ topic nên quen với cách thiết lập các dimstyle, dùng cái nào ứng với style nào thì làm chuẩn chỉ ngay từ đầu.  (Qleader mặc định lấy arrow size theo Dimstyle hiện hành nhé). Manh mún như vậy sau này nhặt sâu cũng mệt lắm ý

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  

×