Đến nội dung


Hình ảnh
* * * - - 2 Bình chọn

Viết Lisp theo yêu cầu


  • Chủ đề bị khóa Chủ đề bị khóa
2780 replies to this topic

#301 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 4105 Bài viết
Điểm đánh giá: 4495 (đỉnh cao)

Đã gửi 13 November 2007 - 10:33 AM

Command: ap APPLOAD DonKT.VLX successfully loaded.
Command:
HLisp da tai len thanh cong!
Command:
Command:
Command: DonKt
Unknown command "DONKT". Press F1 for help.

Mình đã thử nhiều lần nhưng lisp Donkt vẫn không dùng được, không hiểu tại sao (hiện mình đang dùng cad 2007). NguyenHoanh xem lại giúp mình nhé!

Sorry, tên lệnh là DKTN chứ không phải là DONKT.

Cảm ơn bạn rất nhiều vì đã chỉ ra sai sót này. Lisp này post lên đã lâu, nhưng không ai phản hồi ý kiến cả.
  • 1

#302 tvduc

tvduc

    biết vẽ line

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

Đã gửi 13 November 2007 - 10:39 AM

da sua
  • 0

#303 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 4105 Bài viết
Điểm đánh giá: 4495 (đỉnh cao)

Đã gửi 13 November 2007 - 11:44 AM

Bác Hoàng ơi cho hỏi hinh như lisp danh cốt có vấn đề trục trặc hay sao mà minh sư dụng cho kết quả không đúng, mình vẽ các đường thẳng cho trước cách nhau một khoảng nào đó (300,500, 800, 1000 mm). cho cốt 00 là đường 1 thì ba đường tiếp theo khi đánh cốt sẽ có kết quả -0.00, đường 4 có kết quả -1.00 (chế độ bắt điêm endpoint)
nhưng nếu dánh cốt o diem lân cận đường thẳng đó lại cho kết quả khác, và khi đánh cốt liên tục theo phương đứng thì giá trị lúc tăng lúc giảm không theo quy luật.

Không rõ câu hỏi của bạn.

bạn đã biết cách dùng lệnh đánh cốt chưa?
bạn muốn lệnh đánh cốt sau khi hiệu chỉnh sẽ như thế nào?
  • 0

#304 ngayve324

ngayve324

    biết lệnh xref

  • Members
  • PipPipPipPipPipPipPip
  • 515 Bài viết
Điểm đánh giá: 270 (khá)

Đã gửi 13 November 2007 - 05:11 PM

Bạn có thể post yêu cầu về autolisp ở topic này.

trước đây mình có một lisp khá hay, nhưng máy bị virus nên mất hết
bÁC Hoành có thể viết giúp mình 1 lisp như sau được không?
1.coppy theo tỉ lệ hiện hành
2. dời theo tỉ lệ hiện hành
3. vẽ đương line có chiều dài theo tỉ lệ hiện hành
....
ví dụ ti lệ BV là 1/100. các mặt cắt 1/25
khi đang ở tl1/25 thi vẽ đường line dài 1000 sẽ tự động nhân lên 4 lần (1/25)
coppy và move tương tự

nói hơi lủng củng ko biết bác có hiểu hết nội dung ko
Cam ơn bác trươc nha
:bigsmile:
  • 0

#305 ngayve324

ngayve324

    biết lệnh xref

  • Members
  • PipPipPipPipPipPipPip
  • 515 Bài viết
Điểm đánh giá: 270 (khá)

Đã gửi 15 November 2007 - 10:02 AM

Sao lâu vậy bác Hoành ?
ra tay nào , ra tay nào , ra tay nào . Nào mình cùngg ra tay ..... ZI`NZIN !
  • 0

#306 vndesperados

vndesperados

    biết lệnh xref

  • Members
  • PipPipPipPipPipPipPip
  • 547 Bài viết
Điểm đánh giá: 253 (khá)

Đã gửi 15 November 2007 - 10:36 AM

trước đây mình có một lisp khá hay, nhưng máy bị virus nên mất hết
bÁC Hoành có thể viết giúp mình 1 lisp như sau được không?
1.coppy theo tỉ lệ hiện hành
2. dời theo tỉ lệ hiện hành
3. vẽ đương line có chiều dài theo tỉ lệ hiện hành
....
ví dụ ti lệ BV là 1/100. các mặt cắt 1/25
khi đang ở tl1/25 thi vẽ đường line dài 1000 sẽ tự động nhân lên 4 lần (1/25)
coppy và move tương tự

nói hơi lủng củng ko biết bác có hiểu hết nội dung ko
Cam ơn bác trươc nha
:bigsmile:



Chẳng hiểu bác này muốn gì luôn. Bác nói rõ lại yêu cầu đi...
  • 0

#307 tvduc

tvduc

    biết vẽ line

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

Đã gửi 15 November 2007 - 03:30 PM

Không rõ câu hỏi của bạn.

bạn đã biết cách dùng lệnh đánh cốt chưa?
bạn muốn lệnh đánh cốt sau khi hiệu chỉnh sẽ như thế nào?


Mình đã biết sữ dụng rồi nhưng vì mình muốn thay đổi phần ký hiệu ghi cao độ nên mình ghép thêm vào đó một đoạn lisp nữa để nó tự tạo ra ký hiệu đó mà không phải chep ký hiệu cao độ vào bản vẽ.

Mình đã kiểm tra lại rồi, do quá trinh sao chép mình đã vô ý sử đi cái gì đó nên nó cho kết quả sai.

Mình muốn hỏi là nếu muốn lựa chọn số thập phân thì phài làm như thế nào, trong lisp đó kết quả cho 3 số thập phân (tức độ chính xác tới mm) nay mình muốn có 2 số thập phân thôi thì làm thế nào? tốt nhất là xuất hiện lên màn hình lựa chọn "so thap phan"
nêu nhập 2 thi kết qua co dạng +2.23
nếu nhâp 3 thì kết quả có dang +2.230
cam on rat nhieu.
  • 0

#308 duy782006

duy782006

    PHẠM QUỐC DUY

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

Đã gửi 15 November 2007 - 03:42 PM

Mình đã kiểm tra lại rồi, do quá trinh sao chép mình đã vô ý sử đi cái gì đó nên nó cho kết quả sai.
Mình muốn hỏi là nếu muốn lựa chọn số thập phân thì phài làm như thế nào, trong lisp đó kết quả cho 3 số thập phân (tức độ chính xác tới mm) nay mình muốn có 2 số thập phân thôi thì làm thế nào? tốt nhất là xuất hiện lên màn hình lựa chọn "so thap phan"
nêu nhập 2 thi kết qua co dạng +2.23
nếu nhâp 3 thì kết quả có dang +2.230
cam on rat nhieu.


bạn tham khảo dòng sau
(setq xmm (rtos xm 2 4))
Trong đó xmm là kết quả thu được; xm là dử liệu nhập vào; số bốn 4 là "số thập phân" phía sau dấu phẩy
Hiện giờ trong đoạn lisp đánh cot tự động nó là 3 bạn chỉ cần sửa lại (chú ý tìm dòng chứa hàm rtos)
hoặc bạn bùa chú thêm 1 biến và gán cho giá trị này là ok.
  • 1

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


#309 tvduc

tvduc

    biết vẽ line

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

Đã gửi 15 November 2007 - 03:57 PM

bạn tham khảo dòng sau
(setq xmm (rtos xm 2 4))
Trong đó xmm là kết quả thu được; xm là dử liệu nhập vào; số bốn 4 là "số thập phân" phía sau dấu phẩy
Hiện giờ trong đoạn lisp đánh cot tự động nó là 3 bạn chỉ cần sửa lại (chú ý tìm dòng chứa hàm rtos)
hoặc bạn bùa chú thêm 1 biến và gán cho giá trị này là ok.


(defun c:cot00 ()
(setq Cot00 (cadr (getpoint "\nDiem co cot 0.000: ")))
(princ)
)
(defun c:dcot (/ diem caodo dau giatri dodaichuoi)
(if (not cot00)
(progn
(alert "chua co cot 0.000")
(c:cot00)
)
)
(grdraw (list (+ (car (getvar "VIEWCTR")) (* -1.0 (getvar "VIEWSIZE")))
cot00
)
(list (+ (car (getvar "VIEWCTR")) (* 1.0 (getvar "VIEWSIZE")))
cot00
)
1
1
)
(setq
diem (getpoint "\nVao diem can danh cot: ")
caodo (- (cadr diem) cot00)
dau (cond
((equal caodo 0.0 0.01) "%%p")
((> caodo 0.0) "+")
(t "-")
)
giatri (rtos caodo 2 0)
)
(if (= "-" (substr giatri 1 1))
(setq giatri (substr giatri 2))
)
(while (< (strlen giatri) 4)
(setq giatri (strcat "0" giatri))
)
(setq dodaichuoi (strlen giatri)
giatri (strcat (substr giatri 1 (- dodaichuoi 3))
"."
(substr giatri (- dodaichuoi 2))
)
)
; (command ".insert" "danhcot" diem 100.0 100.0 0.0 dau giatri)
(redraw)


khong thay dong do ban a, minh them dong do xuong duoi thi bi loi.

lisp minh sua lai nhu sau.(khong phai chep ky hieu cao đo vao) nhung minhkhong biet cach chinh sư de lua chon 2 so thap phan, cam on rat nhieu.

;;;;;;;;;;;;;;; danh cot
(defun c:cot00 ()
(setq Cot00 (cadr (getpoint "\nDiem co cot 0.000: ")))
(princ)
)
(defun c:dcot (/ diem caodo dau giatri dodaichuoi)
(if (not cot00)
(progn
(alert "chua co cot 0.000")
(c:cot00)
)
)
(grdraw (list (+ (car (getvar "VIEWCTR")) (* -1.0 (getvar "VIEWSIZE")))
cot00
)
(list (+ (car (getvar "VIEWCTR")) (* 1.0 (getvar "VIEWSIZE")))
cot00
)
1
1
)
(setq
diem (getpoint "\nVao diem can danh cot: ")
caodo (- (cadr diem) cot00)
dau (cond
((equal caodo 0.0 0.01) "%%p")
((> caodo 0.0) "+")
(t "-")
)
giatri (rtos caodo 2 0)
)
(if (= "-" (substr giatri 1 1))
(setq giatri (substr giatri 2))
)
(while (< (strlen giatri) 4)
(setq giatri (strcat "0" giatri))
)
(setq dodaichuoi (strlen giatri)
giatri (strcat (substr giatri 1 (- dodaichuoi 3))
"."
(substr giatri (- dodaichuoi 2))
)
)
; (command ".insert" "danhcot" diem 100.0 100.0 0.0 dau giatri)
(redraw)
(setq a dau)
(setq b giatri)
(setq diemct diem)
(setq textct (strcat a :bigsmile:)
)
(DEFUN C:DC (/ CMD PT1 PT2 PT3 PT4 PT5 PT6 PT7 PT8 NPI TX DX DY TL OSM OLL CRST RSIZE TSIZE STR PRMT FCH NBC OLDERR)
(c:dcot)

(setq old_osmode (getvar "osmode") old_autosnap (getvar "autosnap");luu lai bien hien tai;;;;;;;;;;;;;;
)
(command "layer" "m" "ghichu" "c" "150" """")
(SETQ CMD (GETVAR "CMDECHO"))
(SETQ NBC (GETVAR "CLAYER"))
(SETQ OSM (GETVAR "OSMODE"))
(SETVAR "CMDECHO" 0)
(setq PT1 diemct)
(setq TX textct)
(SETQ FCH (SUBSTR TX 1 1))
(IF (= FCH "@") (SETQ TX (STRCAT "%%P" (SUBSTR TX 2 (- (STRLEN TX) 1)))))
(SETQ CRST (GETVAR "TEXTSTYLE"))
(SETQ RSIZE (CDR (ASSOC 40 (TBLSEARCH "STYLE" CRST))))
(SETQ TSIZE (GETVAR "TEXTSIZE"))
(SETQ STR (RTOS TSIZE 2))
(SETQ PRMT (STRCAT "\nTy Le Ban Ve <" STR ">:"))
(IF (= RSIZE 0)
(PROGN
(INITGET 4)
(SETQ TSIZE (GETREAL PRMT))
(IF (= TSIZE NIL) (SETQ TSIZE (GETVAR "TEXTSIZE"))
(SETVAR "TEXTSIZE" TSIZE))
(SETQ TSIZE (* 2.5 TSIZE))
)
)
(PRINC)
(SETQ TL (* 2.5 (/ (GETVAR "TEXTSIZE") 2)))
(SETVAR "OSMODE" 0)
(SETQ DX (CAAR (CDR (TEXTBOX (LIST (CONS 1 TX))))))
(SETQ NPI (/ PI 2))
(SETQ PT4 (POLAR PT1 NPI (* 1 TL)))
(SETQ PT2 (POLAR PT4 PI (* 2 TL)))
(SETQ PT3 (POLAR PT4 0 (* 7.3 TL)));DIEM NGOAI DONG TEXT
(SETQ PT5 (POLAR PT4 NPI (* 3 TL)))
(SETQ PT6 (POLAR PT2 NPI TL))
(SETQ PT7 (POLAR PT6 0 (+ (* 3.7 TL) DX)))
(SETQ PT8 (POLAR PT4 NPI (* 0.5 TL)))
(SETQ PT8 (POLAR PT8 0 (* 0.5 TL)))
(SETQ PT9 (POLAR PT1 pi (* 2 TL)));DIEM TRAI DUOI
(SETQ PT10 (POLAR PT1 0 (* 2 TL))); DIEM PHAI DUOI

(COMMAND "COLOR" "84" "")
(COMMAND "STYLE" "HH 5.0" "vni-helve-condense" "" "" "" "" "")
(IF (= RSIZE 0)(COMMAND "TEXT" PT8 TSIZE 0 tX) (COMMAND "TEXT" PT8 0 TX))
(COMMAND "COLOR" "7" "")
(COMMAND "pLINE" PT3 "Width" "0.005" "" PT2 PT1 "Width" "0.15" "" PT9 PT10 PT1 "Width" "0.005" "" PT5 "")
(COMMAND "COLOR" "254" "")
(COMMAND "SOLID" PT1 PT2 PT4 "" "")
(SETVAR "CLAYER" "0")
(if old_osmode (setvar "osmode" old_osmode))
(if old_autosnap (setvar "autosnap" old_autosnap)); goi lai snap cu
)

Bài viết đã được chỉnh sửa nội dung bởi tvduc: 16 November 2007 - 08:15 AM

  • 0

#310 duy782006

duy782006

    PHẠM QUỐC DUY

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

Đã gửi 15 November 2007 - 04:39 PM

Bó tay rồi bạn. tác giả đoạn lisp này dủng thủ thuật khác tôi (dùng hàm substr) mà hàm này tôi vẩn đang mò nên không giúp bạn được. Tôi post cho bạn 1 lisp tương tự ngắn hơn cái này nếu bạn muốn chỉnh gì thì tôi còn biết đường mà lần.

lệnh : cos
Thao tác : gỏ lệnh cos -> chọn điểm cần đánh cot lisp hỏi bạn chọn có cot 0.000 lúc này chế độ bắt điểm chuyễn về perpendicula là bắt điểm vuông góc bạn bắt vào đường thẳng có cao độ 0.000 ; lisp hỏi tỉ lệvẻ của bạn (hỏi một mét bạn vẻ bằng bao nhiêu) bạn nhập vào là xong.
lần sau thực hiện lệnh cũng y như vậy. nhưng lisp nhớ giá trị một mét mà bạn đã báo nên bạn chỉ cần enter chứ không cần nhập nửa.

Bạn có thể chỉnh lisp này cho giống với lisp ban đang có (tôi dùng thế này quen tay rồi nên không chỉnh)



;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;
(Defun C:cos ( )
(COS))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;

(Defun cos ( )
(command "-style" "thep" "VNI-HELVE" "0" "1" "0" "n" "n")
(command "-layer" "new" "THAY-130" "color" "130" "THAY-130" "")
(setq p0cos (getpoint "\nDiem muon danh cos >>"))
(luuos)
(setvar "osmode" 0)
(command "-layer" "set" "THAY-130" "")
(command "INSERT" "cos" (list (car p0cos)(cadr p0cos)) 1 1 0)
(traos)
(setq x (car p0cos))
(setq y (cadr p0cos))
(luuos)
(setvar "osmode" 128)
(setq pcos (getpoint p0cos "\nPic vao cos 0.00 >>"))
(traos)
(setq metcos (ndist p0cos "\nMot met ban ve bang bao nhieu "mmetcos))
(setq mmetcos metcos)
(setq a (distance p0cos pcos))
(setq kq (/ a metcos))
[color="#FF0000"] (setq b (rtos kq 2 3)) [/color]
(setq ang1 (angle pcos p0cos))
(setq tinhamduong (- (cadr p0cos) (cadr pcos)))
(Cond
((< tinhamduong 0) (setq ketquavietcos (strcat "- " :bigsmile:)
)
((> tinhamduong 0) (setq ketquavietcos (strcat "+ " :))
)
((= tinhamduong 0) (setq ketquavietcos (strcat "%%p " :))
)
)

(luuos)
(setvar "osmode" 0)
(command "TEXT" (list (- x 250)(+ y 410)) 250 0 ketquavietcos)
(command ".chprop" "last" "" "la" "THAY-130" "")
(traos)
(done)
(Princ)
)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;
;;----------
(defun init ()
(setq
DUY_CMD (getvar "CMDECHO")
DUY_OLDERROR *error*
*error* DUY_newerror

)
(setvar "CMDECHO" 0)
(command ".undo" "BE")
)
;;----------
(defun done ()
(command ".redraw")
(command ".undo" "E")
(if DUY_CMD
(setvar "CMDECHO" DUY_CMD)
)
(if DUY_OLDERROR
(setq *error* DUY_OLDERROR)
)
(princ)
)
;;----------
(defun luuos ()
(setq
DUY_OSMODE (getvar "OSMODE")
DUY_AUTOSNAP (getvar "AUTOSNAP")
DUY_LAYERHH (getvar "CLAYER")
DUY_THANGXEOHH (getvar "ORTHO")
DUY_filletrad (getvar "FILLETRAD")
DUY_TEXTSTYLE (getvar "TEXTSTYLE")
)
)
(defun traos ()
(if DUY_OSMODE
(setvar "OSMODE" DUY_OSMODE)
)
(if DUY_LAYERHH
(setvar "CLAYER" DUY_LAYERHH)
)
(if DUY_THANGXEOHH
(setvar "ORTHO" DUY_THANGXEOHH)
)
(if DUY_AUTOSNAP
(setvar "AUTOSNAP" DUY_AUTOSNAP)
)
(if DUY_filletrad
(setvar "FILLETRAD" DUY_filletrad)
)
(if DUY_TEXTSTYLE
(setvar "TEXTSTYLE" DUY_TEXTSTYLE)
)


)
;---------------------------------------
(defun nstr (stri def)
(princ stri)
(princ "<")
(princ " ")
(princ def)
(princ ">")
(princ ":")
(princ " ")
);defun nstr
;--------------------
(defun nstr1 (stri)
(princ stri)
(princ "<")
(princ "Nhap vao")
(princ ">")
(princ ":")
(princ " ")
);defun nstr1
;---------------------
(defun nint (prompt def / temp)
(if def
(setq temp (getint (nstr prompt def)))
(setq def (getint (nstr1 prompt)))
);if def
(if temp
(setq def temp)
def
);if temp
);defun nint
;---------------------
(defun dnint (prompt def / temp)
(if def
(setq temp (getreal (nstr prompt def)))
(setq def (getreal (nstr1 prompt)))
);if def
(if temp
(setq def temp)
def
);if temp
);defun nint
;--------------------
(defun ndist (po prompt def / temp) ;nhan kh/cach va luu gia tri mac dinh
(if def
(setq temp (getdist po (nstr prompt def)))
(setq def (getdist po (nstr1 prompt)))
)if def
(if temp
(setq def temp)
def
);if temp
);defun ndist
;-----------------------------------







  • 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


#311 ssg

ssg

    biết lệnh adcenter

  • Vip
  • PipPipPipPipPipPipPip
  • 1228 Bài viết
Điểm đánh giá: 1087 (rất tốt)

Đã gửi 15 November 2007 - 05:24 PM

Có thể bài viết này làm một số bạn không hài lòng. Tuy nhiên, để diễn đàn AutoLisp&VBA của chúng ta phát triển tốt và thật sự có chất lượng, ssg buộc phải lên tiếng. Mong các bạn thông cảm.
Mục đích anh Hoành lập topic này có lẽ ai cũng biết rồi, không cần nhắc lại. Tuy nhiên, một yêu cầu đưa ra sẽ khó được đáp ứng nếu như:

1) Yêu cầu không rõ ràng
Chương trình lisp thực chất là một công cụ xử lý, được thiết lập trước để phục vụ cho một số mục đích cụ thể nào đó. Mọi quá trình xử lý, từ đơn giản đến phức tạp đều được biểu diễn bằng sơ đồ: Input -> Processing -> Output. Lập trình viên chỉ có thể tạo nên chương trình, khi họ biết đầy đủ và chính xác dữ liệu đầu vào và kết quả đầu ra của quá trình. Mình thấy nhiều bạn có khuynh hướng chỉ đề cập đến cái Tôi Muốn (Output) mà không quan tâm khai báo đầy đủ cái Tôi Có (Input). Bạn phải biết cách diễn đạt để người khác hiểu đúng và đủ ý mình. Nếu thấy khó thì gởi kèm ví dụ minh họa, và ví dụ tốt nhất là file *.dwg

2) Yêu cầu không mang tính phổ biến
Cuộc sống đa dạng, đa chiều, ngay cả trong việc sử dụng CAD. Tuy nhiên, nếu yêu cầu của bạn mang tính Public, phù hợp với thói quen và nhu cầu của đa số người dùng CAD, sẽ có tác dụng tạo sự hứng thú cho người lập trình. Bạn đưa ra một yêu cầu lập dị, không ai hiểu nổi mục đích thì rất nhiều khả năng sẽ không có câu trả lời.

3) Yêu cầu đã được đề cập đến trên diễn đàn
(cái này khỏi phân tích)

Nếu yêu cầu của bạn không rơi vào 1, 2, 3 nói trên nhưng chờ lâu không thấy phản hồi thì có lẽ nó thuộc trường hợp sau:

4) Yêu cầu quá khó đối với khả năng của lisp hoặc các lập trình viên lisp CadViet.

Mong rằng các bạn hiểu và cẩn trọng hơn khi post yêu cầu ở topic này.
Cám ơn,
ssg
  • 0

#312 tvduc

tvduc

    biết vẽ line

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

Đã gửi 16 November 2007 - 08:13 AM

lệnh : cos
Thao tác : gỏ lệnh cos -> chọn điểm cần đánh cot lisp hỏi bạn chọn có cot 0.000 lúc này chế độ bắt điểm chuyễn về perpendicula là bắt điểm vuông góc bạn bắt vào đường thẳng có cao độ 0.000 ; lisp hỏi tỉ lệvẻ của bạn (hỏi một mét bạn vẻ bằng bao nhiêu) bạn nhập vào là xong.
lần sau thực hiện lệnh cũng y như vậy. nhưng lisp nhớ giá trị một mét mà bạn đã báo nên bạn chỉ cần enter chứ không cần nhập nửa.

Bạn có thể chỉnh lisp này cho giống với lisp ban đang có (tôi dùng thế này quen tay rồi nên không chỉnh)


sao khong chay duoc ha ban!
; error: too few arguments
  • 0

#313 ssg

ssg

    biết lệnh adcenter

  • Vip
  • PipPipPipPipPipPipPip
  • 1228 Bài viết
Điểm đánh giá: 1087 (rất tốt)

Đã gửi 16 November 2007 - 10:07 AM

sao khong chay duoc ha ban!
; error: too few arguments

Bạn xem và sửa lại đoạn này như sau:

(Cond
((< tinhamduong 0) (setq ketquavietcos (strcat "- " b))
)
((> tinhamduong 0) (setq ketquavietcos (strcat "+ " b))
)
((= tinhamduong 0) (setq ketquavietcos (strcat "%%p " b))
)
)
Hai ký tự b) kề nhau đã bị hiển thị thành cái... mặt méo! Lỗi này mình đã thấy vài lần trên diễn đàn, không biết admin có cách gì khắc phục không?
  • 0

#314 ngayve324

ngayve324

    biết lệnh xref

  • Members
  • PipPipPipPipPipPipPip
  • 515 Bài viết
Điểm đánh giá: 270 (khá)

Đã gửi 16 November 2007 - 02:52 PM

Chẳng hiểu bác này muốn gì luôn. Bác nói rõ lại yêu cầu đi...

cám ơn bác vndesperados đã phản hồi
VÍ DỤ như hế này bác vndesperados nhé
toi thiết lập bản vẽ với tỷ lệ ban dầu là 1/100 với hai kiểu ghi kt như sau
Dim100 (scale factor =1)
Dim25 (scale factor =0.25)
Hình đã gửi
Hình đã gửi
bây giờ tiến hành vẽ một đường line dài 1m ở tỷ lệ 1/100 có nghĩa là
Command: line
LINE Specify first point:
Specify next point or [Undo]: 1000
- khi ghi kích thước với dim100 tôi sẽ có chiều dài là 1000

bây giờ tôi cũng vẽ đường line đó dài 1m nhưng ở tỷ lệ 1/25 với kiểu dim là dim25
nếu tôi muốn ghi kt kiểu dim25 thì phải vẽ đường line có chiều dài 4000 dùng dim25 thì khi kích thước thì cũng cho ta 1000


Hỏi: viết 1 lisp
khi đang ở dim25 ta vẽ đường line mà nhập chiều dài 1000 thì nó sẽ tự động dài 4000
mục đích ta khỏi phải tính toán các tỷ lệ khi vẽ.

Command: L25 (tên tù ý)
LINE Specify first point:
Specify next point or [Undo]: 1000
sẽ cho ta đường line dài 4000

Kquả đây.
Hình đã gửi
------------------------------------------------

khó hiểu quá. các bác thông cảm không biết diễn đạt sao cả. dân mới học lisp
  • 0

#315 vndesperados

vndesperados

    biết lệnh xref

  • Members
  • PipPipPipPipPipPipPip
  • 547 Bài viết
Điểm đánh giá: 253 (khá)

Đã gửi 16 November 2007 - 03:13 PM

cám ơn bác vndesperados đã phản hồi
VÍ DỤ như hế này bác vndesperados nhé
toi thiết lập bản vẽ với tỷ lệ ban dầu là 1/100 với hai kiểu ghi kt như sau
Dim100 (scale factor =1)
Dim25 (scale factor =0.25)
Hình đã gửi
Hình đã gửi
bây giờ tiến hành vẽ một đường line dài 1m ở tỷ lệ 1/100 có nghĩa là
Command: line
LINE Specify first point:
Specify next point or [Undo]: 1000
- khi ghi kích thước với dim100 tôi sẽ có chiều dài là 1000

bây giờ tôi cũng vẽ đường line đó dài 1m nhưng ở tỷ lệ 1/25 với kiểu dim là dim25
nếu tôi muốn ghi kt kiểu dim25 thì phải vẽ đường line có chiều dài 4000 dùng dim25 thì khi kích thước thì cũng cho ta 1000
Hỏi: viết 1 lisp
khi đang ở dim25 ta vẽ đường line mà nhập chiều dài 1000 thì nó sẽ tự động dài 4000
mục đích ta khỏi phải tính toán các tỷ lệ khi vẽ.

Command: L25 (tên tù ý)
LINE Specify first point:
Specify next point or [Undo]: 1000
sẽ cho ta đường line dài 4000

Kquả đây.
Hình đã gửi
------------------------------------------------

khó hiểu quá. các bác thông cảm không biết diễn đạt sao cả. dân mới học lisp



Vậy sao bác không vẽ ở tỷ lệ bình thường sau đó scale lại có nhanh hơn không.
Chỉ mất có đúng một động tác scale còn hơn cứ phải lăn tăn trong đầu là bản vẽ đang ở tỷ lệ nào rồi phải chuyển DIM qua lại.
Chuyện vẽ một đối tương ở tỷ lệ nào đó thì không khó, nhưng mà sẽ không lường hết tình trang có thể xảy ra khi bác thực hiện các lệnh như là move hay copy...
  • 0

#316 ngayve324

ngayve324

    biết lệnh xref

  • Members
  • PipPipPipPipPipPipPip
  • 515 Bài viết
Điểm đánh giá: 270 (khá)

Đã gửi 16 November 2007 - 03:40 PM

Vậy sao bác không vẽ ở tỷ lệ bình thường sau đó scale lại có nhanh hơn không.
Chỉ mất có đúng một động tác scale còn hơn cứ phải lăn tăn trong đầu là bản vẽ đang ở tỷ lệ nào rồi phải chuyển DIM qua lại.
Chuyện vẽ một đối tương ở tỷ lệ nào đó thì không khó, nhưng mà sẽ không lường hết tình trang có thể xảy ra khi bác thực hiện các lệnh như là move hay copy...


thì mình cũng thường vẽ tỷ lệ bình thường rồi coppy nhung đôi lúc lại thích vẽ với dim đang hiện hành vì thấy trực quan hơn
sở thích đúng là khổ bác hè. không biết có ai vẽ như tui không nữa.
còn coppy và move thì cũng chẵng ảnh hưởng gì hết mà. ta cứ dùng các lệnh của cad, khi ta cần dùng thì load lisp lên thôi

hỏi tí nhé vợ bác người huế ha? thấy bác cũng dùng "mô, ri" còn bảo là học vợ
ui vẽ nhé
  • 0

#317 vndesperados

vndesperados

    biết lệnh xref

  • Members
  • PipPipPipPipPipPipPip
  • 547 Bài viết
Điểm đánh giá: 253 (khá)

Đã gửi 16 November 2007 - 03:49 PM

thì mình cũng thường vẽ tỷ lệ bình thường rồi coppy nhung đôi lúc lại thích vẽ với dim đang hiện hành vì thấy trực quan hơn
sở thích đúng là khổ bác hè. không biết có ai vẽ như tui không nữa.
còn coppy và move thì cũng chẵng ảnh hưởng gì hết mà. ta cứ dùng các lệnh của cad, khi ta cần dùng thì load lisp lên thôi

hỏi tí nhé vợ bác người huế ha? thấy bác cũng dùng "mô, ri" còn bảo là học vợ
ui vẽ nhé


OK, để tối nay tôi thử xem sao
He, còn vợ thì chưa, nhưng mà là tương lai là người Đà Lạt
  • 0

#318 ngayve324

ngayve324

    biết lệnh xref

  • Members
  • PipPipPipPipPipPipPip
  • 515 Bài viết
Điểm đánh giá: 270 (khá)

Đã gửi 16 November 2007 - 04:11 PM

thanh ki`u ve ry mút
bác cứ thử coi, biêt đâu lại nhiều người thích đó
  • 0

#319 pooh_21

pooh_21

    biết zoom

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

Đã gửi 16 November 2007 - 04:52 PM

Vậy sao bác không vẽ ở tỷ lệ bình thường sau đó scale lại có nhanh hơn không.


Đúng là vẽ bằng tỉ lệ thật rồi scale là nhanh nhất nhưng mà lúc chỉnh sửa thì lại là một vấn đề khác :bigsmile: (chẳng nhẽ lại scale xuống edit rồi lại scale lên :)) Nếu có được lisp này thì hay quá. Cảm ơn vndesperados trước nhé!
  • 0

#320 ngayve324

ngayve324

    biết lệnh xref

  • Members
  • PipPipPipPipPipPipPip
  • 515 Bài viết
Điểm đánh giá: 270 (khá)

Đã gửi 19 November 2007 - 07:38 AM

OK, để tối nay tôi thử xem sao
He, còn vợ thì chưa, nhưng mà là tương lai là người Đà Lạt

chắc mấy ngày cuối tuần bác vndesperados bị vợ hành nên quên rồi.hic! tội mấy anh em đợi.trời này mà lên dà lạt với vợ chắc là lạnh lắm đây
Mà tại sao bác Hoành không chịu giup nhi??? :bigsmile:
  • 0