Đến nội dung


Hình ảnh
- - - - -

Kiểm Tra Giúp Em File Lisp Hatch Nhanh Em Viết,


  • Please log in to reply
6 replies to this topic

#1 vodoifx

vodoifx

    biết zoom

  • Members
  • Pip
  • 10 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 18 February 2016 - 11:04 AM

(defun c:h2 () 
(setq oslast (getvar "OSMODE"))
(setq lay (getvar "clayer"))
(command "layer" "new" "9.Thai" "c" "9" "9.Thai" "")
(command "layer" "S" "9.Thai" "")
(command "osnap" "")
(setq pt1 (getpoint "\nPick diem trong vung can Hatch : "))
(while (/= pt1 nil)
(setq vsize ( /(getvar "VIEWSIZE") 50 ))
(command "bhatch" "p" "angle" vsize "0" "last" "")
(setq pt1 (getpoint "\nPick diem trong vung can Hatch : "))
(exit))
(princ)
(command(setvar "clayer" lay)) 
(command "setvar" "OSMODE" oslast)
)
 
khi chay lsp này em bị những sau:
 
1.
Pick diem trong vung can Hatch :
2D point or option keyword required.
; error: Function cancelled
 
2. 2 dòng lệnh cuối không thiết lập về giá trị ban đầu???
 
Các anh giúp em với ạ. em thanks trước.
  • 0

#2 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 6009 Bài viết
Điểm đánh giá: 3113 (tuyệt vời)

Đã gửi 18 February 2016 - 11:44 AM

(defun c:h2 () 
(setq oslast (getvar "OSMODE"))
(setq lay (getvar "clayer"))
(command "layer" "new" "9.Thai" "c" "9" "9.Thai" "")
(command "layer" "S" "9.Thai" "")
(command "osnap" "")
(setq pt1 (getpoint "\nPick diem trong vung can Hatch : "))
(while (/= pt1 nil)
(setq vsize ( /(getvar "VIEWSIZE") 50 ))
(command "bhatch" "p" "angle" vsize "0" "last" "")
(setq pt1 (getpoint "\nPick diem trong vung can Hatch : "))
(exit))
(princ)
(command(setvar "clayer" lay)) 
(command "setvar" "OSMODE" oslast)
)
 
khi chay lsp này em bị những sau:
 
1.
Pick diem trong vung can Hatch :
2D point or option keyword required.
; error: Function cancelled
 
2. 2 dòng lệnh cuối không thiết lập về giá trị ban đầu???
 
Các anh giúp em với ạ. em thanks trước.

Hề hề hề,

Bạn xem lại dòng lệnh  (command "bhatch" "p" "angle" vsize "0" "last" ""). Dòng này có cấu trúc không phù hợp với lệnh bhatch. Tham số "last" ở đây có ý nghĩa gì vậy???

Do dòng lệnh này sai nên lisp không chạy hết và do vậy các dòng lệnh cuối không được thực thi bạn ạ. 


  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#3 vodoifx

vodoifx

    biết zoom

  • Members
  • Pip
  • 10 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 18 February 2016 - 11:58 AM

Em mò nãy h ma không được. các bác giúp em.
  • 0

#4 duy782006

duy782006

    PHẠM QUỐC DUY

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 2155 Bài viết
Điểm đánh giá: 1360 (rất tốt)

Đã gửi 18 February 2016 - 03:19 PM

Cái thằng pick điểm chọn 1 vùng khép kín bằng lisp rất rách việc.

Mình viết đoạn này trong trường hợp điểm chọn có vùng khép kín ngon lành rồi bạn tìm thêm mà hoàn thiện nhé.

;;;--------------------------------------------------------------------------
(defun duy:hatchpicdiem (tenhatch tilehatch gochatch layerhatch / tenhatch tilehatch gochatch layerhatch)  
  (command "bhatch" "p" tenhatch tilehatch gochatch (getpoint "Chon diem") "") 
  (command "change" "last" "" "p" "la" layerhatch "")
(princ)
)
;;;--------------------------------------------------------------------------
(defun c:hpd ()
(duy:hatchpicdiem "ANSI31" "1000" "0" "khuat-9")
(princ)
)

  • 0

Cứ ngỡ trần gian là cõi thật.Cho nên tất bật đến bây giờ.
Tạo hộp thoại bằng lisp My blog QUY ĐỊNH ĐẶT TÊN TOPIC TRONG CHUYÊN MỤC LISPD http://ktsduy.wordpress.com/
Để cám ơn chỉ cần nhấn rep_up.png
(Là nhấn vào nút đó phía bài viết của người ta í chứ đừng có nhè cái hình này mà nhấn miết đi nha :-D


#5 anti lazy

anti lazy

    biết lệnh erase

  • Members
  • PipPipPip
  • 107 Bài viết
Điểm đánh giá: 27 (tàm tạm)

Đã gửi 19 February 2016 - 07:31 AM

khi chay lsp này em bị những sau:
 
1.
Pick diem trong vung can Hatch :
2D point or option keyword required.
; error: Function cancelled
 
2. 2 dòng lệnh cuối không thiết lập về giá trị ban đầu???
 
Các anh giúp em với ạ. em thanks trước.

Tôi ủng hộ các mem có tinh thần : Học & Hỏi

1 -

(command "-bhatch" "p" "angle" vsize "0" pt1 "")

2 - Bỏ (exit) cuối vòng while

 

vodoifx nên học cách dùng VLIDE & debug vì sẽ có ích nhiều khi lập trình


  • 0

#6 duy782006

duy782006

    PHẠM QUỐC DUY

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 2155 Bài viết
Điểm đánh giá: 1360 (rất tốt)

Đã gửi 19 February 2016 - 10:05 AM

Để cho nhàn tốt nhất kiên quan đến hatch thì mình set các thông số theo ý mình rồi ném trả lại cho lệnh hatch của cad làm việc. Mình lưu cái lisp này đêu đó trên cadviet lâu lắm rồi. Bạn gỏ lệnh THHA thử rồi mày mò cho hiểu nhé. Lệnh trên gán tên hatch và layer cho hatch xong gọi hộp thoại hatch của cad thực hiện xong thì trả lại layer hiện hành.

(defun c:shat();show hatch
(initdia)
(command "hatch")
)


;;;;;;;;;;;

(defun c:thha(/ ov vl)
(setvar "hpname" "ansi31") 
(setq vl '("clayer" "cmdecho"); Sys Var list
ov (mapcar 'getvar vl)); Get Old values
(setvar "cmdecho" 1) 
(if (tblsearch "layer" "KT-Hatch")
(setvar "CLAYER" "KT-Hatch")
(command "-layer" "M" "KT-Hatch" "" ) )
(initdia)
(command "hatch")
(while (< 0 (getvar "CMDACTIVE"))
(command pause)
) 
(vl-cmdf "change" "L" "" "P" "LA" "KT-Hatch" "")
(mapcar 'setvar vl ov); reset Sys Vars
(princ)
)

  • 0

Cứ ngỡ trần gian là cõi thật.Cho nên tất bật đến bây giờ.
Tạo hộp thoại bằng lisp My blog QUY ĐỊNH ĐẶT TÊN TOPIC TRONG CHUYÊN MỤC LISPD http://ktsduy.wordpress.com/
Để cám ơn chỉ cần nhấn rep_up.png
(Là nhấn vào nút đó phía bài viết của người ta í chứ đừng có nhè cái hình này mà nhấn miết đi nha :-D


#7 vodoifx

vodoifx

    biết zoom

  • Members
  • Pip
  • 10 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 19 February 2016 - 11:35 AM

Tôi ủng hộ các mem có tinh thần : Học & Hỏi
1 -
(command "-bhatch" "p" "angle" vsize "0" pt1 "")
2 - Bỏ (exit) cuối vòng while
 
vodoifx nên học cách dùng VLIDE & debug vì sẽ có ích nhiều khi lập trình


hôm qua em cũng đút pt1 vào thay cho "last" nhưng không bỏ (exit) nên không được.
. Cám ơn anh nhé.

Nhưng em cũng chưa ưng ý lắm ở chỗ các đối tượng hatch ở mỗi vùng hátch rời rạc nhau không tiên cho viện quản lý.
để em tìn hiẻu thêm vậy. hì
  • 0