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

[Yêu cầu] lisp chia ngang màn hình

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

Chào các bạn.

Mình vẽ cad hay phải chia ngang màn hình để gióng các phần tử từ trên mặt bằng xuống để vẽ. Mình đã tìm rất nhiều trong diễn đàn nhưng mới chỉ có lisp chia dọc màn hình. Bạn nào có thể giúp mình lisp chia ngang màn hình được không.

Lisp này sau khi gõ lệnh thì đưa ra lựa chọn 1 điểm để chia, sau khi mình chọn điểm thì nó sẽ chia màn hình thành 2 theo chiều ngang

Cám ơn các bạn rất 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

bác xem lại nhé.. hình như không cần lisp mình vẫn chia được màn hình theo phương ngang, bàn độ H (Horizontal) bác thử theo bước sau được không

1. nhấn vào View trên thanh công cụ

2. nhấn vào Viewports

3. sau đó chọn số luợng màn hình cần chia 1,2,3,4 Viewports

4. trên dòng command bác chỉ vần chon V (Vertical) hoặc H (Horizontal) bác muốn chọnchia theo ngang màn hình bác chọn H là oke.. 

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

http://www.cadviet.com/upfiles/3/9928_vv_chia_doc_2_man_hinh.lsp

 

Lisp thay đổi Arrowhead của Leader và Dimension. Tưởng bạn đã quên ai ngờ vẫn nhớ.

 

;; Thay doi Arrowhead cua cac Leader va Dimension duoc chon.
;; Doan Van Ha - CadViet.com - ngay 16/7/2013
(vl-load-com)
(defun C:HA( / lst ss txt i ent L->Ptr #String:Replace)
 (defun L->Ptr(lst)
  (vl-string-trim "()" (vl-princ-to-string lst)))
 (defun #String:Replace(new old str / inc len)
  (setq len (strlen new) inc 0)
  (while (setq inc (vl-string-search old str inc))
   (setq str (vl-string-subst new old str inc) inc (+ inc len)))
  str)
 (setq lst
 '(("01.ClosedFilled" acArrowDefault)
   ("02.Dot" acArrowDot)
   ("03.DotSmall" acArrowDotSmall)
   ("04.DotBlank" acArrowDotBlank)
   ("05.OriginIndicator" acArrowOrigin)
   ("06.OriginIndicator2" acArrowOrigin2)
   ("07.Open" acArrowOpen)
   ("08.RightAangle" acArrowOpen90)
   ("09.Open30" acArrowOpen30)
   ("10.Closed" acArrowClosed)
   ("11.DotSmallBlank" acArrowSmall)
   ("12.None" acArrowNone)
   ("13.Oblique" acArrowOblique)
   ("14.BoxFilled" acArrowBoxFilled)
   ("15.Box" acArrowBoxBlank)
   ("16.ClosedBlank" acArrowClosedBlank)
   ("17.DatumTriangleFilled" acArrowDatumFilled)
   ("18.DatumTriangle" acArrowDatumBlank)
   ("19.Integral" acArrowIntegral)
   ("20.ArchitecturalTick" acArrowArchTick)))
 (setq lst (list (mapcar 'car lst) (mapcar 'cadr lst)))
 (if
  (and 
   (princ "\nChon cac Leader can thay doi Arrowhead...")
   (setq ss (ssget '((0 . "LEADER,DIMENSION"))))
   (not (initget (strcat (L->Ptr (car lst)) " _" (L->Ptr (cadr lst)))))
   (setq txt (getkword (strcat "\nNhap 1 tuy chon tu 01 den 20 [" (#String:Replace "/" " " (L->Ptr (car lst))) "]: "))))
  (repeat (setq i (sslength ss))
   (if (eq (cdr (assoc 0 (entget (setq ent (ssname ss (setq i (1- i))))))) "LEADER")
    (vla-put-ArrowheadType (vlax-ename->vla-object ent) (eval (read txt)))
(progn
     (vla-put-Arrowhead1Type (vlax-ename->vla-object ent) (eval (read txt)))
     (vla-put-Arrowhead2Type (vlax-ename->vla-object ent) (eval (read txt)))))))
 (princ))
 

 

bác xem lại nhé.. hình như không cần lisp mình vẫn chia được màn hình theo phương ngang, bàn độ H (Horizontal) bác thử theo bước sau được không

1. nhấn vào View trên thanh công cụ

2. nhấn vào Viewports

3. sau đó chọn số luợng màn hình cần chia 1,2,3,4 Viewports

4. trên dòng command bác chỉ vần chon V (Vertical) hoặc H (Horizontal) bác muốn chọnchia theo ngang màn hình bác chọn H là oke.. 

Thanh công cụ của CAD thì mình biết chứ nhưng mỗi lần chọn lại rất mất thời gian, chọn view/view port/ 2 view port/horizontal. Rất mất thời gian mà. Nếu có lisp thì mình gõ lệnh rồi chọn điểm cái là đc, chuyển lại 1 màn hình gõ tiếp lệnh 1 lần nữa, sẽ đỡ tốn thời gian hơn nhiều chứ

Ngoài ra CAD mặc định chia 2 màn hình đều nhau, có lisp thì mình có thể tùy ý chọn tỉ lệ bằng cách click chuột trên màn hình, sẽ tiện hơn để vẽ rất nhiều vì màn hình để gióng không cần thiết quá to mà.

Trước mình thấy trên diễn đàn có chia lisp chia dọc rất hay, giá như lisp chia ngang thì tuyệt biết bao.

Cao thủ nào giúp mình cá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

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  

×