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

Xin xỏ lisp tạo và đổi tên Block

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

Chào các bác e cần 1 lisp làm công việc như sau:

- (1)Tạo Block từ việc chọn các đối tượng (line,pline, spline,...) tại ngay vị trí các đối tượng đó. Nếu đối tượng chọn là Block rồi thì explode nó để tạo lại.

- (2) Sau khi tạo xong Block đó thì đổi tên bằng việc chọn ký tự có sẵn dạng Text hoặc Mtext.

 

Cảm ơn các bác ah.

 

Đính chính Có 2 lisp thực hiện được 2 công việc này, nhưng e muốn nối thành 1 lệnh mà ko biết cách. Nhờ các bác giải quyết hộ (xem file đính kèm ah)

Create Block.lsp

RenBlock.lsp

  • 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

Chú ý tên block mới không trùng với các block cũ trong bản vẽ.

(defun c:cre (/ err oer res sta bb entzx sttt made)										
  (defun err(s)
    (if (and (/= s "Function cancelled")(/= s "quit / exit abort"))
      (princ (strcat "\n>>Error: " s))
      )
    (res)
    )
  (defun res()
    (if cla (setvar "Clayer" cla))
    (setq *error* oer)
    (setvar "Cmdecho" 1)
    (princ)
    )										
  (defun sta()
    (setq oer *error*
	  *error* err
	  cla (getvar "Clayer")
	  )
    (setvar "Cmdecho" 0)
    (setvar "Clayer" "0")
    (graphscr)
    )										
  (defun made(/ loop ss p)
    (setq loop T)
    (while loop
      (princ "\nChon doi tuong tao block: ")
(setq p1 (getpoint "\nPick point1 window: ")
      p2 (getcorner p1 "\nPick point2 corner: ")
)
  (setq ss (ssget "_C" p1 p2 ))  
      (if (null ss)(exit))	  
(setq sttt 0)
(while (< sttt (sslength ss))
	(setq entzx (ssname ss sttt))
	(setq bb (cdr (assoc 0 (entget entzx))))
	(if (= bb "INSERT")
		(command "EXPLODE" entzx )
	)
	(setq sttt (1+ sttt))
)	  
	  (setq sss (ssget "_C" p1 p2 )) 
	  (princ "\nChon text lam name block: ")
	  (setq ssText (ssget ":S:E" '((0 . "MTEXT,TEXT"))))	  
	  (if (null ssText)(exit))	  
      (setq p (getpoint "\nChon diem dat block: "))
      (if (null p)(exit))
      (command "_.Undo" "_Group")
      (command "_.Cutclip" sss "")
      (command "_.Pasteblock" p)
	  (setq ent (entlast))
	  (setq dxf1 (cdr(assoc 1 (entget (ssname ssText 0) ))))
	  (setq dxf2 (cdr(assoc 2 (entget ent ))))	  
      (command "-RENAME" "B" dxf2 dxf1 )	  
      (command "_.Undo" "_End")
      )
    )
	
  (sta)
  (made)
  (res)
(princ)
  )

 

  • Like 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

Yêu cầu được nâng nên 1 chút mong các bác giúp nhiệt tình ạ

- Thay vì chọn từng đối tượng, giờ mình lập bảng và chọn tập hợp Text(Mtext) sau đó chọn tiếp đến đối tượng. 

- Kết quả trả về là các đối tượng (Object) sẽ trở thành Block với tên Block được đổi tên random(ngẫu nhiên) thành tên Block tương ứng theo hàng.

 

Cảm ơn các Pro ah.

 

image.thumb.png.5ab585c0f2a321d3fc8275ee51e3d9ba.png

  • Vote giảm 4

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

Mình đã thử Text hay MText đều bị lỗi . Bác nào test thử mình lisp trên xem hay chỉ mỗi mình bị vậy

 

text hay mtext đều được mà. cad 2018 với 2010 không thấy 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

Bác @DungNguyen685 hoặc bác nào pro líp có thể giúp mình cải tạo lisp trên thành như vậy không?

Không cần bảng chỉ cần theo hàng là được

Cảm ơn bác nhiều :D

image.thumb.png.8d548b33c37db529ecaa7c47389aeaa9.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
33 phút trước, moitapchoicad đã nói:

Bác @DungNguyen685 hoặc bác nào pro líp có thể giúp mình cải tạo lisp trên thành như vậy không?

Không cần bảng chỉ cần theo hàng là được

Cảm ơn bác nhiều :D

image.thumb.png.8d548b33c37db529ecaa7c47389aeaa9.png

 

Có phí là xong ngay 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
40 phút trước, moitapchoicad đã nói:

Bác @DungNguyen685 hoặc bác nào pro líp có thể giúp mình cải tạo lisp trên thành như vậy không?

Không cần bảng chỉ cần theo hàng là được

Cảm ơn bác nhiều :D

image.thumb.png.8d548b33c37db529ecaa7c47389aeaa9.png

 

Cái này thì không khó, bạn có thể liên hệ bác @Doan Nguyen Van  cho nhanh.

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

Bác @DungNguyen685 hoặc bác nào pro líp có thể giúp mình cải tạo lisp trên thành như vậy không?

Không cần bảng chỉ cần theo hàng là được

Cảm ơn bác nhiều :D

image.thumb.png.8d548b33c37db529ecaa7c47389aeaa9.png

 

lisp này cũng đơn giản. thay vì phải vẽ lại như hình, thì bạn gửi file dwg, cho Thiệp viết lisp.

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, Doan Nguyen Van đã nói:

Mình nói để bạn ấy liên hệ bạn, chứ không có ý làm cái này đâu nhé

À, Dịch bệnh có tgian nên sửa giúp bạn ấy cũng để học hỏi thêm thôi chứ không có ý đó. 

lisp trên mình sửa hộ nhưng bạn ấy không dùng được rồi.

Cái này mình cũng sửa lại từ lisp trên, nếu thật sự cần để làm việc thì có thể ib mình để teamview xem giúp thử lỗi gì (không phí :d) 

cccc.gif

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

Nhìn clip bác DungNguyen685 trên cũng vẫn mang tính thủ công vì phải mất time chọn từng đối tượng.

Chỉ cần chon 2 khung của sổ 1 và 2 là ra luôn thì mới là trọn vẹn.

E thì cũng có giải pháp rồi đó là thiết lập 2 file batch name block cũ và mới sau đó chạy script (Thủ công nông dân vậy) 

Vâng nhìn vào là biết dùng để làm việc. Chẳng dấu gì các bác em có 1 project làm nesting tôn tấm thay vì làm thủ công em mới có ý tưởng vậy ( mặc dù yêu cầu đang nhờ các bác trên nó chỉ là 1 công đoạn nhỏ trong các cv đang làm thôi).

Nếu các bác có nhã ý giúp còn không thì tự em mày mò vậy :D

 

 

Bạn xem clip mà không hiểu rồi. thế thì về làm thủ công là phải rồi

Người ta quét 1 cái là xong luôn rồi còn ngồi đó mà chọn từng khung cửa sổ

 

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

Ngáo ngáo kiểu gì ấy.

 

1 giờ trước, huunhantvxdts đã nói:

Bạn xem clip mà không hiểu rồi. thế thì về làm thủ công là phải rồi

Người ta quét 1 cái là xong luôn rồi còn ngồi đó mà chọn từng khung cửa sổ

 

 

Thứ nhất tôi đóng chủ đề vì các bác không giúp được tôi, tôi ko thích kiểu treo miếng thịt lên rồi bắt người ta ngửi.

Thứ 2 mục đích lên đây để trao đổi giúp đỡ nhau với mục đích phi lợi nhuận, còn kiểu liên hệ với teamview nếu cần tôi sẽ chủ động liên hệ (Xin lỗi bác DungNguyen685)

Thiên hạ nhân thiên hạ tài (Đừng có ý nghĩ quanh quẩn ao làng)

 

 

  • Vote giảm 4

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

 

 

Thứ nhất tôi đóng chủ đề vì các bác không giúp được tôi, tôi ko thích kiểu treo miếng thịt lên rồi bắt người ta ngửi.

Thứ 2 mục đích lên đây để trao đổi giúp đỡ nhau với mục đích phi lợi nhuận, còn kiểu liên hệ với teamview nếu cần tôi sẽ chủ động liên hệ (Xin lỗi bác DungNguyen685)

Thiên hạ nhân thiên hạ tài (Đừng có ý nghĩ quanh quẩn ao làng)

 

 

Nên xem lại cách hỏi, xem hiểu, đọc hiểu đi bạn. Tây hay ta nào cũng vậy, gửi cái file mẫu lên cho ai muốn giúp thì còn có hứng giúp. Mỗi cái ảnh ngó thấy ai thèm giúp cho. Thấy bác thiệp nói ở trên không. Còn bác DUngNguyen685 thì cũng teamview sửa lỗi lisp không chạy đúng trên máy bạn. Hai bác nhiệt tình free vậy còn tự ái gì nữa. Không ngáo ngáo à?

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

Nên xem lại cách hỏi, xem hiểu, đọc hiểu đi bạn. Tây hay ta nào cũng vậy, gửi cái file mẫu lên cho ai muốn giúp thì còn có hứng giúp. Mỗi cái ảnh ngó thấy ai thèm giúp cho. Thấy bác thiệp nói ở trên không.

 

Bạn nói vậy thì tôi cũng chịu, chắc đọc lướt qua hoặc xem cho vui rồi comment người khác cũng kiểu như bạn nói "ngáo ngáo"

 

Câu hỏi đưa ra rất rõ ràng kèm lisp dẫn chứng. 

 

Chúng ta phàm đã làm kỹ thuật thì phải "rõ ràng - đúng-chuẩn". Ko phải xem hay làm lấy đượ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
4 phút trước, moitapchoicad đã nói:

 

Bạn nói vậy thì tôi cũng chịu, chắc đọc lướt qua hoặc xem cho vui rồi comment người khác cũng kiểu như bạn nói "ngáo ngáo"

 

Câu hỏi đưa ra rất rõ ràng kèm lisp dẫn chứng. 

 

Chúng ta phàm đã làm kỹ thuật thì phải "rõ ràng - đúng-chuẩn". Ko phải xem hay làm lấy được.

Bác ấy cần file cad mẫu để kiểm tra lisp chạy thê nào. Đọc lại cmt bác thiep chư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, naturooo đã nói:

Mà chắc bạn cũng chưa hiểu bác Nhân nói về cái clip đâu nhỉ.

Bác này người ta sắp máy bay và tên lửa rồi. thấy nó hiện đại quá không quen nên muốn về đi bộ cho nhanh

  • 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

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  

×