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

nhờ sửa lisp

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

 Mình có lisp vẽ mây để chú thích những chỗ nào thay đổi, nó đưa lựa chọn vẽ vùng vẽ mây và chọn bán kính mây. kí hiệu mây thường thường mình dùng 1 số loại bán kính cho nó như 1, 5, 10, 50, 100, 500, 1000, 5000 và mặc định ở layer defpoint. Do đó mình muốn sửa lisp của mình thành là:


 


 - khi vẽ mây tự động mây nằm trong layer defpoint nhưng không làm thay đổi layer hiện hành


 - hiện bảng chọn các bán kính kể trên


 


 Mình có gửi thêm 1 lisp chọn tỉ lệ cho viewport, trong đó có code sẵn kiểu hiện bảng lên rồi, các bạn lấy dạng bảng trong này cho vào lisp vẽ mây cho mình nhé. lisp chọn tỉ lệ này có cái hay là mình có thể tự thêm tỉ lệ vào đoạn " (setq l '("1/5" "1/10"  "1/25" "1/50" "1/100" "1/150" "1/200" "1/250")) " 


Các bạn làm tương tự cho mình nhé tức là mình có thể tự thêm bán kính vào nếu thấy chưa đủ


Mình cám ơn nhiều


http://www.cadviet.vn/caddata/?act=download20#http://www.cadviet.com/upfiles/4/9928_chon_ti_le_viewport.lsp


http://www.cadviet.vn/caddata/?act=download20#http://www.cadviet.com/upfiles/4/9928_ve_may.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

mấy chục người xem mà ko bạn nào giúp mình được ah  :(

Hiện giờ đã có 180 người xem nhưng không ai down được lisp.

Member thì mơ hồ điều này nên cứ post file lisp. Kết quả: không down được.

Admin thì hiểu rõ điều này nhưng mãi không thấy sửa.

Khổ thân thiên hạ!

  • 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

Hiện giờ đã có 180 người xem nhưng không ai down được lisp.

Member thì mơ hồ điều này nên cứ post file lisp. Kết quả: không down được.

Admin thì hiểu rõ điều này nhưng mãi không thấy sửa.

Khổ thân thiên hạ!

 

Cám ơn bạn Doan Van Ha đã nhắc. mình đưa lên mediafire rồi. các bạn giúp mình cái nhé. mình cám ơn nhiều

 

http://www.mediafire.com/download/wtdrzl5rty1rpq3/chon+ti+le+viewport.lsp

http://www.mediafire.com/download/27neh9cdcc86224/ve+may.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

Viết mới cho bạn đây!

(defun C:vm(/ aleng p1 p2 lst str)
 (setq p1 (getpoint "\nCh\U+1ECDn \U+0111i\U+1EC3m \U+0111\U+1EA7u HCN :")
       p2 (getcorner p1 "\n\U+0110i\U+1EC3m cu\U+1ED1i :"))
 (setq lst '(1 5 10 50 100 500 1000 5000)) ;co the them o day
 (setq str (apply 'strcat (mapcar '(lambda (i) (strcat (itoa i) (if (eq i (last lst)) "" "/"))) lst)))
 (initget (vl-string-trim "()" (vl-princ-to-string lst))) 
 (setq aleng (getkword (strcat "\nB\U+00E1n k\U+00EDnh cong [" str "]: ")))
 (command "_.rectangle" p1 p2)
 (command "_.revcloud" "_A" (atoi aleng) "" "_O" (entlast) "")
 (princ))
  • Vote tăng 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

Mình đọc đi đọc lại không biết bao nhiêu lần chủ đề bạn Post nhưng không hiểu mục đích là làm gì^^

Mình cứ nghĩ vẽ mây chắc là vẽ cái gì bên chuyên ngành của cơ khí cơ ^^

Ai ngờ...Lisp tạo Clound theo tỉ lệ viewport ^^

@a Hạ: Hình như có vẽ mây theo hình tùy ý nữa chứ a ^^Đâu phải lúc nào cũng vẽ theo hình chữ nhật a hè.Hi

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

Mình đọc đi đọc lại không biết bao nhiêu lần chủ đề bạn Post nhưng không hiểu mục đích là làm gì^^

Mình cứ nghĩ vẽ mây chắc là vẽ cái gì bên chuyên ngành của cơ khí cơ ^^

Ai ngờ...Lisp tạo Clound theo tỉ lệ viewport ^^

@a Hạ: Hình như có vẽ mây theo hình tùy ý nữa chứ a ^^Đâu phải lúc nào cũng vẽ theo hình chữ nhật a hè.Hi

Xanh: đương nhiên. Nhưng chủ topic chỉ muốn thế.

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

 

Viết mới cho bạn đây!

(defun C:vm(/ aleng p1 p2 lst str)
 (setq p1 (getpoint "\nCh\U+1ECDn \U+0111i\U+1EC3m \U+0111\U+1EA7u HCN :")
       p2 (getcorner p1 "\n\U+0110i\U+1EC3m cu\U+1ED1i :"))
 (setq lst '(1 5 10 50 100 500 1000 5000)) ;co the them o day
 (setq str (apply 'strcat (mapcar '(lambda (i) (strcat (itoa i) (if (eq i (last lst)) "" "/"))) lst)))
 (initget (vl-string-trim "()" (vl-princ-to-string lst))) 
 (setq aleng (getkword (strcat "\nB\U+00E1n k\U+00EDnh cong [" str "]: ")))
 (command "_.rectangle" p1 p2)
 (command "_.revcloud" "_A" (atoi aleng) "" "_O" (entlast) "")
 (princ))

 

cám ơn bạn đã giúp đỡ. lisp dùng ngon nhưng vẫn thiếu 1 ý của mình. đó là mây được chuyển về layer defpoint nhưng không làm thay đổi layer hiện hành. bạn thêm cho mình chút nhé

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

Mình đọc đi đọc lại không biết bao nhiêu lần chủ đề bạn Post nhưng không hiểu mục đích là làm gì^^

Mình cứ nghĩ vẽ mây chắc là vẽ cái gì bên chuyên ngành của cơ khí cơ ^^

Ai ngờ...Lisp tạo Clound theo tỉ lệ viewport ^^

@a Hạ: Hình như có vẽ mây theo hình tùy ý nữa chứ a ^^Đâu phải lúc nào cũng vẽ theo hình chữ nhật a hè.Hi

 

mình dùng mây để ghi chú những phần thay đổi, cái này mình dùng rất nhiều nhất, đâu riêng j cơ khí đâu

ngoài ra từ trước nay mình cũng chỉ dùng mây hình chữ nhật thôi, chưa thấy trường hợp mây hình dạng khá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

mình dùng mây để ghi chú những phần thay đổi, cái này mình dùng rất nhiều nhất, đâu riêng j cơ khí đâu

ngoài ra từ trước nay mình cũng chỉ dùng mây hình chữ nhật thôi, chưa thấy trường hợp mây hình dạng khác

Mình hiểu nhưng có thể tại vùng đó có số chi tiết thay đổi nhưng có 1 số chi tiết ko thay đổi ,chẳng lẽ lại cloundmark cả vùng luôn ^^

Ở công ty mình thì chỗ nào có sự thay đổi mới vẽ mây tại đó,vẽ trực tiếp tại vị trí thay đổi sẽ trực quan hơn cho người đọc bản vẽ nên cũng nhiều lần phải vẽ mây theo Pline tùy ý chớ^^....

Vì thế, không nhất thiết phải là HCN ^^

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

cám ơn bạn đã giúp đỡ. lisp dùng ngon nhưng vẫn thiếu 1 ý của mình. đó là mây được chuyển về layer defpoint nhưng không làm thay đổi layer hiện hành. bạn thêm cho mình chút nhé

mình cám ơn nhiều

Mạn phép anh Hạ em sửa tí nhé.

Chúc buổi sang vui vẻ!

 

(defun C:vm (/ aleng p1 p2 lst str)

(setq clay (getvar "CLAYER"))

(setvar "CLAYER" "Defpoints" )

(setq p1 (getpoint "\nCh\U+1ECDn \U+0111i\U+1EC3m \U+0111\U+1EA7u HCN :")

p2 (getcorner p1 "\n\U+0110i\U+1EC3m cu\U+1ED1i :")

)

(setq lst '(1 5 10 50 100 500 1000 5000)) ;co the them o day

(setq str (apply 'strcat

(mapcar '(lambda (i)

(strcat (itoa i)

(if (eq i (last lst))

""

"/"

)

)

)

lst

)

)

)

(initget (vl-string-trim "()" (vl-princ-to-string lst)))

(setq aleng

(getkword (strcat "\nB\U+00E1n k\U+00EDnh cong [" str "]: "))

)

(command "_.rectangle" p1 p2)

(command "_.revcloud" "_A" (atoi aleng) "" "_O" (entlast) "")

(setvar "CLAYER" clay )

(princ)

)

 
  • 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

TCS đề phòng bản vẽ chưa có layer defpoints nữa nhé.

Bổ sung cho chủ topic:

 

; Lisp ve revcloud theo list cac ban kinh nhap vao (user them duoc) va chuyen ve layer defpoints, by HA.
(defun C:vm(/ aleng p1 p2 lst str cmd cla)
 (vl-load-com) (setq cmd (getvar "cmdecho") cla (getvar "clayer")) (setvar "cmdecho" 0)
 (setq p1 (getpoint "\nCh\U+1ECDn \U+0111i\U+1EC3m \U+0111\U+1EA7u HCN :")
       p2 (getcorner p1 "\n\U+0110i\U+1EC3m cu\U+1ED1i :"))
 (setq lst '(1 5 10 50 100 500 1000 5000))
 (setq str (apply 'strcat (mapcar '(lambda (i) (strcat (itoa i) (if (eq i (last lst)) "" "/"))) lst)))
 (initget (vl-string-trim "()" (vl-princ-to-string lst))) 
 (setq aleng (getkword (strcat "\nB\U+00E1n k\U+00EDnh cong [" str "]: ")))
 (command "_.rectangle" p1 p2)
 (command "_.revcloud" "_A" (atoi aleng) "" "_O" (entlast) "")
 (if (not (tblsearch "layer" "Defpoints")) (progn (command "layer" "m" "Defpoints" "") (setvar "clayer" cla)))
 (vla-put-layer (vlax-ename->vla-object (entlast)) "Defpoints")
 (setvar "cmdecho" cmd)
 (princ))
  • Vote tăng 3

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

Hì hì.Em check trên bản vẽ của em có sẵn layer Defpoints nên ko để ý ^^

Em sẽ rút được kinh nghiệm  ^^

Giúp người đồng nghĩa tự giúp mình mà.hì

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

 Entmake 1 dimension bất kỳ rồi entdel sẽ hay hơn là tạo layer Defpoint bác ạ

Lúc đầu cũng định thế nhưng thấy bá đạo quá nên chọn command đó.

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

 

TCS đề phòng bản vẽ chưa có layer defpoints nữa nhé.

Bổ sung cho chủ topic:

; Lisp ve revcloud theo list cac ban kinh nhap vao (user them duoc) va chuyen ve layer defpoints, by HA.
(defun C:vm(/ aleng p1 p2 lst str cmd cla)
 (vl-load-com) (setq cmd (getvar "cmdecho") cla (getvar "clayer")) (setvar "cmdecho" 0)
 (setq p1 (getpoint "\nCh\U+1ECDn \U+0111i\U+1EC3m \U+0111\U+1EA7u HCN :")
       p2 (getcorner p1 "\n\U+0110i\U+1EC3m cu\U+1ED1i :"))
 (setq lst '(1 5 10 50 100 500 1000 5000))
 (setq str (apply 'strcat (mapcar '(lambda (i) (strcat (itoa i) (if (eq i (last lst)) "" "/"))) lst)))
 (initget (vl-string-trim "()" (vl-princ-to-string lst))) 
 (setq aleng (getkword (strcat "\nB\U+00E1n k\U+00EDnh cong [" str "]: ")))
 (command "_.rectangle" p1 p2)
 (command "_.revcloud" "_A" (atoi aleng) "" "_O" (entlast) "")
 (if (not (tblsearch "layer" "Defpoints")) (progn (command "layer" "m" "Defpoints" "") (setvar "clayer" cla)))
 (vla-put-layer (vlax-ename->vla-object (entlast)) "Defpoints")
 (setvar "cmdecho" cmd)
 (princ))

Bác có thể nâng cấp dùm conghoa cái này lên 1 mức nữa được không, cụ thể:

Cách thức hoạt động của lisp vẫn thế nhưng layer trả về không phải là nét Defpoints mà sẽ là layer "Thaydoi+"ngày hiện tại"" (ví dụ hôm nay vẽ revcloud thì layer trả về sẽ là "Thaydoi 2015 06 01")

Trân trọng!

  • 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

Rắc rối nhỉ?

 

; Lisp ve revcloud theo list cac ban kinh nhap vao (user them duoc) va chuyen ve layer ngay thay doi, by HA.
(defun C:vm(/ aleng p1 p2 lst str cmd cla lay lst)
 (vl-load-com) (setq cmd (getvar "cmdecho") cla (getvar "clayer")) (setvar "cmdecho" 0)
 (setq p1 (getpoint "\nCh\U+1ECDn \U+0111i\U+1EC3m \U+0111\U+1EA7u HCN :")
       p2 (getcorner p1 "\n\U+0110i\U+1EC3m cu\U+1ED1i :"))
 (setq lst '(1 5 10 50 100 500 1000 5000))
 (setq str (apply 'strcat (mapcar '(lambda (i) (strcat (itoa i) (if (eq i (last lst)) "" "/"))) lst)))
 (initget (vl-string-trim "()" (vl-princ-to-string lst))) 
 (setq aleng (getkword (strcat "\nB\U+00E1n k\U+00EDnh cong [" str "]: ")))
 (command "_.rectangle" p1 p2)
 (command "_.revcloud" "_A" (atoi aleng) "" "_O" (entlast) "")
 (load "julian.lsp")
 (setq lst (jtoc (getvar "date")))
 (setq lay (strcat "Thay doi " (itoa (nth 2 lst)) "-" (itoa (nth 1 lst)) "-" (itoa (nth 0 lst))))
 (if (not (tblsearch "layer" lay)) (progn (command "layer" "m" lay "") (setvar "clayer" cla)))
 (vla-put-layer (vlax-ename->vla-object (entlast)) lay)
 (setvar "cmdecho" cmd)
 (princ))
  • 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

 

TCS đề phòng bản vẽ chưa có layer defpoints nữa nhé.

Bổ sung cho chủ topic:

; Lisp ve revcloud theo list cac ban kinh nhap vao (user them duoc) va chuyen ve layer defpoints, by HA.
(defun C:vm(/ aleng p1 p2 lst str cmd cla)
 (vl-load-com) (setq cmd (getvar "cmdecho") cla (getvar "clayer")) (setvar "cmdecho" 0)
 (setq p1 (getpoint "\nCh\U+1ECDn \U+0111i\U+1EC3m \U+0111\U+1EA7u HCN :")
       p2 (getcorner p1 "\n\U+0110i\U+1EC3m cu\U+1ED1i :"))
 (setq lst '(1 5 10 50 100 500 1000 5000))
 (setq str (apply 'strcat (mapcar '(lambda (i) (strcat (itoa i) (if (eq i (last lst)) "" "/"))) lst)))
 (initget (vl-string-trim "()" (vl-princ-to-string lst))) 
 (setq aleng (getkword (strcat "\nB\U+00E1n k\U+00EDnh cong [" str "]: ")))
 (command "_.rectangle" p1 p2)
 (command "_.revcloud" "_A" (atoi aleng) "" "_O" (entlast) "")
 (if (not (tblsearch "layer" "Defpoints")) (progn (command "layer" "m" "Defpoints" "") (setvar "clayer" cla)))
 (vla-put-layer (vlax-ename->vla-object (entlast)) "Defpoints")
 (setvar "cmdecho" cmd)
 (princ))

 

 li sp này là ok rồi. thanks bạn Doan Van Ha nhiều nhé :D

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

×