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

tamkt

Thành viên
  • Số lượng nội dung

    74
  • Đã tham gia

  • Lần ghé thăm cuối

Bài đăng được đăng bởi tamkt


  1. Vào lúc 8/8/2018 tại 16:47, tamkt đã nói:

    Kính chào các Anh,

     

    Em có dùng 1 lisp là mình coppy và rải tất cả mọi thứ với 1 khoảng cách cho trước. 

                           1 lisp nữa là chọn text và cứ click tới đâu là số thứ tự trong text cứ tăng dần tới đó.

     

    Em có ý tưởng là: Coppy rải text với 1 khoảng cách cho trước, đồng thời text có số trong đó cứ tăng dần đều.

     

    Mong các Anh giúp đỡ.

       

    CW - Coppy cap so nhan.lsp

    CTT - Coppy Text tang dan.lsp

    Ý tưởng của Em, mới dùng Tcount để xử lý, nhưng nó chậm với không ok lắm. 

    Không biết có lênh nào hay hơn nữa không, mong các sư huynh giúp đỡ.


  2. Kính chào các Anh,

     

    Em có dùng 1 lisp là mình coppy và rải tất cả mọi thứ với 1 khoảng cách cho trước. 

                           1 lisp nữa là chọn text và cứ click tới đâu là số thứ tự trong text cứ tăng dần tới đó.

     

    Em có ý tưởng là: Coppy rải text với 1 khoảng cách cho trước, đồng thời text có số trong đó cứ tăng dần đều.

     

    Mong các Anh giúp đỡ.

       

    CW - Coppy cap so nhan.lsp

    CTT - Coppy Text tang dan.lsp

    • Vote giảm 1

  3. Mình xin chia sẽ cách làm với block để tiện cho việc quản lý (kiểm soát) nó:

    Nếu 1 đối tượng "giống nhau" thì tạo block. VD như cột thì nên tạo mỗi size là 1 block để tiện việc quản lý

    Nếu những đối tượng "giống nhau về hình thức nhưng khác kích thước" mà phải sữ dụng nhiều lần thì tạo dynamic block. VD như cửa sổ, cửa đi cùng loại

    Mình nói nhiều lần ở đây là phải trên 10 cái chứ có vài cái thì thời gian bạn tạo dynamic block cũng tốn thời gian hơn.

    Riêng về Dim thì cứ thủ công cho lành, ngoại trừ cái nào cũng phải dim thì mới add vào lock. Vì chỉ có Dim thủ công bạn mới kiểm soát được chúng để cho ra bản vẽ sạch sẽ, đẹp mắt. Hạn chế dùng dimassoc vì khi bạn thay đổi đối tượng đồng ý dim nhảy theo, nhưng mà vị trí nó cũng nhảy lung tung cả lên, phải cân chỉnh lại cho ngay ngắn thì càng bực mình.

    ...

    Khi đã tạo block thì chỉnh block không tốn nhiều thời gian vì vậy không cần lisp. Lisp chỉ hiệu quả khi phải sữ dụng 1 lệnh hay 1 việc cứ lập đi lập lại nhiều lần....

    Túm lại trong Autocad hiệu quả không phải là vẽ nhanh, mà là bạn phải kiểm soát được những thứ mình vẽ

    Em cám ơn các ý kiến của Anh nhiều. 

    • Vote tăng 1

  4.  

    Tóm tắt cái lisp trên tí thôi. Không dài dòng các kiểu. Trường hợp đặc biệt là các dim cùng hàng và chân dim dài như nhau nhé. 

    Nghịch thử nhé ^_^

    (defun c:merge ()
      (if (setq ss (ssget '((0 . "DIMENSION"))))
        (progn
          (setq lst nil)
          (setq pt (cdr (assoc 10 (entget (ssname ss 0)))))
          (foreach dim (ssnamex ss)
    	(if (= 'ename (type (cadr dim)))
    	  (progn
    	    (setq lst (cons (cdr (assoc 13 (entget (cadr dim)))) lst))
    	    (setq lst (cons (cdr (assoc 14 (entget (cadr dim)))) lst))
    	  )
    	)
          )
          (setq lst (vl-sort lst '(lambda (e1 e2) (< (car e1) (car e2)))))
          (command "erase" ss "")
          (command "dimrotated"
    	       (RtD (angle (car lst)
    			   (car (reverse lst))
    		    )
    	       )
    	       (car lst)
    	       (car (reverse lst))
    	       pt
          )
        )
      )
      (princ)
    )
    (defun RtD (r) (* 180.0 (/ r pi)))
    

    Cám ơn Anh Bee, quá tuyệt vời. 


  5. Em có 2 cái lisp sưu tầm, do Em download về, mà lâu quá rồi nên không nhớ nguồn gốc.

    1. Lisp chia dim ( hiện tại cứ click là chia )

    2. Lisp nối dim ( chọn 2 dim là tự nối với nhau thành 1 dim )

     

    Mong mọi người giúp Em nâng cao lên

    1. Lisp chia dim ( hiện tại cứ click là chia ), thêm option 2

           +  click là chia

           +  nhập số lần để chia đều, ví dụ chia 10 thì nhập 10, dim tự chia ra 10 phần bằng nhau

     

    2. Lisp nối dim ( chọn 2 dim là tự nối với nhau thành 1 dim ), thêm option 2

           +  chọn nhiều dim => nối với nhau thành 1 dim

     

    http://www.cadviet.com/upfiles/7/5798_21a_cdd__cat_dim_2.lsp

    http://www.cadviet.com/upfiles/7/5798_21_jd__noi_dim_.lsp

     

    Mong mọi người giúp Em.


  6. Do là từ ngày Em đọc bài viết của Anh " Nguyenhuyhoang"

    Em mới thấy có một số lệnh tác động trực tiếp lên block mà không cần vào block, hay quá.

    Nên mới thấy nếu ở môi trường model mà tác động được block với các lệnh: xóa, stretch,move các đối tượng bên trong Block, sau khi xong, mình chỉ cần save.

    Như vậy thì thao tác nhanh hơn rất nhiều mà không cần vào trong Block. Nên Em nghĩ chỉ có lisp mới xử lý được.

    5798_06aug17_90811_pm.jpg


  7. có lệnh refedit nó cũng có thể sửa các đối tượng mà ko cần vào trong block đó bạn, bạn thử nghiên cứu lệnh này xem có phù hợp ko

    Em cám ơn Anh, nhưng refedit thì cũng phải vào trong block nên nó cũng không hay bằng việc ở bên ngoài model, mà Stretch được Block.

    Theo Em vẽ block dễ quản lý nhưng chỉnh sửa thì khó khăn. Nếu mà stretch được thì quá hay.

    Mong các Anh giúp Em, Em xin cảm ơn.


  8. thanks bác, lisp rải ok rồi ^^

    Pác ơi, sao Em dung AutoCAD 2015 nó không chịu vẽ. 

    Lỗi:

    Command: rtd

     Chon line de rai:

     Rai tu diem dau:

     Den diem cuoi:

     Buoc cua doan bien <150>: 150

     Buoc cua doan giua <200>: 200

    ; error: bad argument type: numberp: nil

    Command:

    Command: Specify opposite corner or [Fence/WPolygon/CPolygon]:

    Command: Specify opposite corner or [Fence/WPolygon/CPolygon]:

    Command: *Cancel*

×