Đến nội dung


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

Xem giúp đoạn lisp của mình vẽ pline có nhập chiều dài và góc


  • Please log in to reply
52 replies to this topic

#41 hungdlcm

hungdlcm

    biết vẽ line

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

Đã gửi 30 August 2010 - 04:48 PM

Chú thử thay dòng lệnh con này xem
Vì anh chay OK mà

(defun LaySoLieu ()
(setq
    L dai
    G (angtof (rtos goc 2 4))
)
    ;;; vị trí bẫy lỗi
(if (= tru 1)
(setq E (strcat path "Tru12.dwg"))
(setq E (strcat path "Tru10.dwg"))
)
      
(if (= point 1)
(setq A P1)
(setq A P2)
)
)


Và chú dùng chương trình Vlide có trong AutoCad 2000 trở lên bẫy lỗi thử xem nhé
Trên chương trình mình có nhiều biến số
cứ sau dấu ) là chú bấm phím F9
sau đó vào Tool chọn Load Text In Editor (Ctrl+Alt+E)
vào lại Cad
bấm lệnh VLD
chương trình sẽ chạy đến vị trí F9
Bấm tiếp F8 cho chương trình chạy tiếp
Nếu chương trình dừng chỗ nào thì chỗ đó câu lệnh sai (bị lỗi)
OK???


Cảm ơn anh nhưng tình hình có vẻ không khả quan hơn khi em thay lại đoạn lisp của anh. mà sao em làm các bước bẫy lỗi y chang như anh mà sao chẳng thấy chạy như anh miêu tả. Đến bước "vào lại CAD" "bấm lệnh VLD" thì nó chỉ chạy chương trình như bình thường thui chứ không "chạy đến vị trí F9" anh ah!!

Không bít có bác nào có cách jải quyết khác không ạ?? Hum nay mấy cao thủ đâu hết rùi hok bít!! sáng jờ cứ bị đoạn lisp này ám ảnh vì chưa gỡ đc khúc mắc làm em k thể nào tập trung vào công việc chính đc j cả. Hix!! Bây jờ đầu em mún nổ tung và còn bị sốt nữa... :D
  • 0

#42 hungdlcm

hungdlcm

    biết vẽ line

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

Đã gửi 30 August 2010 - 05:17 PM

Hôm trước bác 18011985 có cho em đoạn lisp để vẽ PLine liên tiếp cho đến khi nào nhấn phím space thì ngưng. Đoạn lisp như này:

;; free lisp from cadviet.com

(defun c:pla (/ CHIEUDAI D2 DX DY GOC TDX TDY QUYDOI)
(setq d1 (getpoint "\n Nhap diem dau: "))
(setq dx (car d1) dy (cadr d1))
(defun quydoi ()
(setq chieudai (getreal "\n Nhap chieu dai: "))
(if (/= chieudai nil)(progn
(setq goc (getangle "\n Nhap goc: "))
(setq tdx (* (cos goc) chieudai))
(setq tdy (* (sin goc) chieudai))
(setq d2 (list (+ dx tdx) (+ dy tdy) 0.0))
(setq dx (car d2) dy (cadr d2))
)
)
)
(quydoi)
(entmake (list (cons 0 "POLYLINE")
(cons 6 "BYLAYER")
(cons 8 "net1")
(cons 62 1)
(cons 10 (list 0.0 0.0 0.0))
))
(entmake (list (cons 0 "VERTEX")
(cons 6 "BYLAYER")
(cons 8 "net1")
(cons 10 d1)
))
(while (/= chieudai nil)
(entmake (list (cons 0 "VERTEX")
(cons 6 "BYLAYER")
(cons 8 "net1")
(cons 10 d2)
))
(quydoi)
)
(entmake (list (cons 0 "SEQEND")
(cons 6 "BYLAYER")
(cons 8 "net1")))
(princ)
)

Nhưng trong đoạn lisp trên em không hỉu lắm cách thức hoạt động cũng như ý nghĩa của Entity "VERTEX" và "SEQEND". Nếu được bác 18011985 hoặc bác nào hỉu rõ jải thích jùm cho em thông chỗ này nhé.

Cảm ơn các bác. Đừng trách em vì hỏi nhìu wá nhé vì em còn yếu kém lắm nên rất mong được học hỏi nhìu. :D
  • 0

#43 VUVUZELA

VUVUZELA

    biết lệnh chamfer

  • Members
  • PipPipPipPip
  • 210 Bài viết
Điểm đánh giá: 97 (tàm tạm)

Đã gửi 30 August 2010 - 06:01 PM

Vậy chú bẫy lỗi ngay từ đầu luôn xem thử

;;;=====GIOI THIEU==================
(defun C:aboutVLD (/ i)

(setq i (load_dialog "VLD\\VLD.DCL"))

(if (not (new_dialog "about_VLD" i))
(exit)
)

(action_tile "accept" "(done_dialog)")

(start_dialog)

(unload_dialog i)
)
;;;==============DIALOG===================
(defun Dialog_Ve (/ i)

(setq i (load_dialog (strcat path "VLD.DCL")))
;;;;hay la vi tri bam phim F9 o day
(if (not (new_dialog "ve" i))
(exit)
)

(if dai
(set_tile "dai" (rtos dai 2 2))
(set_tile "dai" "100.00")
)
(setq dai (distof (get_tile "dai")))

(if goc
(set_tile "goc" (rtos goc 2 2))
(set_tile "goc" "45.00")
)
(setq goc (distof (get_tile "goc")))
;;;-------------------
(if (not tru)
(setq tru 1)
)
(cond ((= tru 1) (mode_tile "t12" 2))
((= tru 2) (mode_tile "t10" 2))
)
(action_tile "t12" "(setq tru 1)")
(action_tile "t10" "(setq tru 2)")

;;;-------------------
(if (not point)
(setq point 1)
)
(cond ((= point 1) (mode_tile "diem1" 2))
((= point 2) (mode_tile "diem2" 2))
)
(action_tile "diem1" "(setq point 1)")
(action_tile "diem2" "(setq point 2)")
;;;

(action_tile "dai" "(setq dai (distof (get_tile \"dai\")))")
(action_tile "goc" "(setq goc (distof (get_tile \"goc\")))")

(action_tile "cancel" "(done_dialog) (exit)")

(action_tile "accept" "(LaySoLieu) (done_dialog)")

(start_dialog)

(unload_dialog i)
)
;;;=============LAY SO LIEU NHAP=============
(defun LaySoLieu ()
(setq
L (atof (get_tile "dai"))
G (angtof (get_tile "goc"))
)

(if (= (get_tile "t12") "1")
(setq E (strcat path "Tru12.dwg"))
(setq E (strcat path "Tru10.dwg"))
)

(if (= (get_tile "diem1") "1")
(setq A P1)
(setq A P2)
)
)
;;;=============CHUONG TRINH VE==============
(defun Ve (L G E)
(setq P1 (getpoint "Click chon 1 diem dau tien: "))
;;;;vi tri bam phim F9
(setq PX (car P1)
PY (cadr P1)
ptzoom p1
)
(setq TPX (* (cos G) L))
(setq TPY (* (sin G) L))
(setq P2 (list (+ PX TPX) (+ PY TPY) 0.0))
(setq OLDOS (getvar "OSMODE"))
(setvar "OSMODE" 0)
(command "pline" P1 P2 "")
(command "insert" E A 1 1 "")
(while (/= L nil)
(setq PX (car P2)
PY (cadr P2)
)
(setq P1 (list PX PY 0.0))
(Dialog_Ve)
(setq TPX (* (cos G) L))
(setq TPY (* (sin G) L))
(setq P2 (list (+ PX TPX) (+ PY TPY) 0.0))
(command "pline" P1 P2 "")
(command "insert" E A 1 1 "")
(command "zoom" ptzoom p2)
(command "zoom" "S" "0.7xp")
)
(setvar "OSMODE" OLDOS)
)
;;;==============CHUONG TRINH CHINH=============
(defun C:VLD (/)

(setq path "C:\\Design\\")
(Dialog_Ve)

(Ve L G E)
)
(princ)


Nếu không đựoc thì bẫy (đặt phím F9) ngay từ khi vô dialog luôn thử
Còn không thì bấm tổ hợp phím Ctrl+Shift+I khi con trỏ ở trước dấu ( của từng biến xem kết quả là biết liền
  • 1

Hệ thống Liên Kết, Thiết Kế Tự Động

ttps://www.facebook...etThietKeTuDong


#44 hungdlcm

hungdlcm

    biết vẽ line

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

Đã gửi 30 August 2010 - 06:54 PM

Vậy chú bẫy lỗi ngay từ đầu luôn xem thử

;;;=====GIOI THIEU==================
(defun C:aboutVLD (/ i)

(setq i (load_dialog "VLD\\VLD.DCL"))

(if (not (new_dialog "about_VLD" i))
(exit)
)

(action_tile "accept" "(done_dialog)")

(start_dialog)

(unload_dialog i)
)
;;;==============DIALOG===================
(defun Dialog_Ve (/ i)

(setq i (load_dialog (strcat path "VLD.DCL")))
;;;;hay la vi tri bam phim F9 o day
(if (not (new_dialog "ve" i))
(exit)
)

(if dai
(set_tile "dai" (rtos dai 2 2))
(set_tile "dai" "100.00")
)
(setq dai (distof (get_tile "dai")))

(if goc
(set_tile "goc" (rtos goc 2 2))
(set_tile "goc" "45.00")
)
(setq goc (distof (get_tile "goc")))
;;;-------------------
(if (not tru)
(setq tru 1)
)
(cond ((= tru 1) (mode_tile "t12" 2))
((= tru 2) (mode_tile "t10" 2))
)
(action_tile "t12" "(setq tru 1)")
(action_tile "t10" "(setq tru 2)")

;;;-------------------
(if (not point)
(setq point 1)
)
(cond ((= point 1) (mode_tile "diem1" 2))
((= point 2) (mode_tile "diem2" 2))
)
(action_tile "diem1" "(setq point 1)")
(action_tile "diem2" "(setq point 2)")
;;;

(action_tile "dai" "(setq dai (distof (get_tile \"dai\")))")
(action_tile "goc" "(setq goc (distof (get_tile \"goc\")))")

(action_tile "cancel" "(done_dialog) (exit)")

(action_tile "accept" "(LaySoLieu) (done_dialog)")

(start_dialog)

(unload_dialog i)
)
;;;=============LAY SO LIEU NHAP=============
(defun LaySoLieu ()
(setq
L (atof (get_tile "dai"))
G (angtof (get_tile "goc"))
)

(if (= (get_tile "t12") "1")
(setq E (strcat path "Tru12.dwg"))
(setq E (strcat path "Tru10.dwg"))
)

(if (= (get_tile "diem1") "1")
(setq A P1)
(setq A P2)
)
)
;;;=============CHUONG TRINH VE==============
(defun Ve (L G E)
(setq P1 (getpoint "Click chon 1 diem dau tien: "))
;;;;vi tri bam phim F9
(setq PX (car P1)
PY (cadr P1)
ptzoom p1
)
(setq TPX (* (cos G) L))
(setq TPY (* (sin G) L))
(setq P2 (list (+ PX TPX) (+ PY TPY) 0.0))
(setq OLDOS (getvar "OSMODE"))
(setvar "OSMODE" 0)
(command "pline" P1 P2 "")
(command "insert" E A 1 1 "")
(while (/= L nil)
(setq PX (car P2)
PY (cadr P2)
)
(setq P1 (list PX PY 0.0))
(Dialog_Ve)
(setq TPX (* (cos G) L))
(setq TPY (* (sin G) L))
(setq P2 (list (+ PX TPX) (+ PY TPY) 0.0))
(command "pline" P1 P2 "")
(command "insert" E A 1 1 "")
(command "zoom" ptzoom p2)
(command "zoom" "S" "0.7xp")
)
(setvar "OSMODE" OLDOS)
)
;;;==============CHUONG TRINH CHINH=============
(defun C:VLD (/)

(setq path "C:\\Design\\")
(Dialog_Ve)

(Ve L G E)
)
(princ)


Nếu không đựoc thì bẫy (đặt phím F9) ngay từ khi vô dialog luôn thử
Còn không thì bấm tổ hợp phím Ctrl+Shift+I khi con trỏ ở trước dấu ( của từng biến xem kết quả là biết liền


Cảm ơn bác đã nhiệt tình júp đỡ em ạ! Em đang vẫn dùng Lisp ban đầu của em và đã thử sửa lại nó như sau:


;;;==============DIALOG===================
(defun Dialog_Ve1(/ i)
(setq i (load_dialog "ALD\\VLD.DCL"))
(if (not (new_dialog "dve" i)) (exit))
(set_tile "dai" "100")
(set_tile "goc" "45")
(action_tile "cancel" "(done_dialog)(exit)")
(action_tile "accept" "(LaySoLieu)(done_dialog)")
(start_dialog)
(unload_dialog i)
)
(defun Dialog_Ve2(/ i)
(setq i (load_dialog "ALD\\VLD.DCL"))
(if (not (new_dialog "ved" i)) (exit))
(action_tile "accept" "(LaySoLieu2)(done_dialog)")
(start_dialog)
(unload_dialog i)
)
;;;=============LAY SO LIEU NHAP=============
(defun LaySoLieu()
(setq
L (distof (get_tile "dai"))
G (angtof (get_tile "goc"))
)
(if (= (get_tile "t12") "1") (setq E "T12"))
(if (= (get_tile "t10") "1") (setq E "T10"))
)
(defun LaySoLieu2()
(if (= (get_tile "diem1") "1") (setq P P1))
(if (= (get_tile "diem2") "1") (setq P P2))
)
;;;=============CHUONG TRINH VE==============
(defun Ve (L G E)
(setq PX (car P1) PY (cadr P1))
(setq TPX (* (cos G) L))
(setq TPY (* (sin G) L))
(setq P2 (list (+ PX TPX) (+ PY TPY) 0.0))
(command "pline" P1 P2 "")
(Dialog_Ve2)
(command "insert" E P 1 1 "")
(while (/= "cancel" T)
(setq PX (car P2) PY (cadr P2))
(setq P1 (list PX PY 0.0))
(Dialog_Ve1)
(setq TPX (* (cos G) L))
(setq TPY (* (sin G) L))
(setq P2 (list (+ PX TPX) (+ PY TPY) 0.0))
(command "pline" P1 P2 "")
(Dialog_Ve2)
(command "insert" E P 1 1 "")
)
)
;;;==============CHUONG TRINH CHINH=============
(defun C:AVLD ()
(setq P1 (getpoint "Click chon 1 diem dau tien: "))
(Dialog_Ve1)
(Ve L G E)
)
(princ)


Và:


//VE1
dve:dialog
{label = "Chuong Trinh Tu Dong Ve Luoi Dien";
: edit_box {label = "Nhap khoang cach"; key = "dai"; edit_width = 15;}
: edit_box {label = "Nhap huong goc"; key = "goc"; edit_width = 15;}
:boxed_radio_column
{label = "Chon loai tru";
: radio_button {label = "&Tru 12m"; key = "t12";}
: radio_button {label = "T&ru 10.5m"; key = "t10";}
}
spacer;
ok_cancel;
}
//VE2
ved:dialog
{label = "Chuong Trinh Tu Dong Ve Luoi Dien";
:boxed_radio_column
{label = "Chon diem chen";
: radio_button {label = "Diem 1"; key = "diem1";}
: radio_button {label = "Diem 2"; key = "diem2";}
}
spacer;
ok_only;
}
//ABOUT VLD
about_VLD: dialog
{label = "Gioi thieu";
:text {alignment = centered; label = "CHUONG TRINH TU DONG VE LUOI DIEN VLD 1.0";}
ok_only;
}


Thì đã khắc phục được vấn đề chèn điểm sai vị trí. Bây jờ em chèn block vào điểm đầu hay điểm cuối đều OK cả. Nhưng cái dở là sau khi vẽ xong Pline phải thêm 1 dialog để chọn điểm chèn sau đó mới chèn block vào điểm chọn của PLine.

Em đoán lỗi của đoạn lisp ban đầu của em là ở chỗ này:

(if (= (get_tile "diem1") "1") (setq A P1) (setq A P2))

Vì lúc diễn ra hàm get_tile thì điểm P1 và P2 vẫn chưa được xác định (ta chưa click chọn điểm P1) mà ta đã gán biến AP1.

Em chỉ đoán vấn đề nằm ở chỗ này nhưng không bít fân tích nó ra sao. Mong các bác cao thủ xem lại Lisp ban đầu và Lisp sau khi sửa của em một lần nữa và tìm ra nguyên nhân phân tích jùm cho em hỉu rõ nguyên nhân của lỗi này do đâu nhé!!

Cảm ơn các bác đã hỗ trợ em nhìu ạ!!
  • 0

#45 gia_bach

gia_bach

    biết lệnh adcenter

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

Đã gửi 31 August 2010 - 10:11 AM

....................
Em chỉ đoán vấn đề nằm ở chỗ này nhưng không bít fân tích nó ra sao. Mong các bác cao thủ xem lại Lisp ban đầu và Lisp sau khi sửa của em một lần nữa và tìm ra nguyên nhân phân tích jùm cho em hỉu rõ nguyên nhân của lỗi này do đâu nhé!!

Cảm ơn các bác đã hỗ trợ em nhìu ạ!!

Thật sự mà nói : Tìm nguyên nhân và cách khắc phục khó (mất nhiều Time) hơn là viết mới (trên nền ý tưởng của bạn).

Bạn thử LISP này nhé.
;=============CHUONG TRINH VE==============
(defun Ve (p1 p2 e a / pt OLDOS)
(setq OLDOS (getvar "OSMODE"))
(setvar "OSMODE" 0)
(command "pline" P1 p2 "")
(if (= a "diem1")
(setq pt p1)
(setq pt p2) )
(command "insert" E pt 1 1 "")
(setvar "OSMODE" OLDOS))
;=============LAY SO LIEU NHAP=============
(defun LaySoLieu ()
(setq Ch_dai (get_tile "dai")
goc (get_tile "goc")
p2 (polar p1 (angtof goc) (atof Ch_dai)))
(if (= (get_tile "t12") "1")
(setq blk_name "t12")
(setq blk_name "t10") )
(if (= (get_tile "diem1") "1")
(setq ins_pos "diem1")
(setq ins_pos "diem2") ))

(defun Dialog (l g e a / dcl_id dcflag)
;(setq dcl_id (load_dialog "temp.DCL"))
(setq dcl_id (load_dialog "VLD.DCL"))
(while (not (vl-position dcflag '(0 1 )))
(if (not (new_dialog "ve" dcl_id))
(exit))
(set_tile "dai" l)
(set_tile "goc" g)
(if (= e "t12")
(set_tile "t12" "1")
(set_tile "t10" "1") )
(if (= a "diem1")
(set_tile "diem1" "1")
(set_tile "diem2" "1") )
(action_tile "cancel" "(done_dialog 0)")
(action_tile "accept" "(LaySoLieu)(done_dialog 1)")
(setq dcflag (start_dialog))
);while
(unload_dialog dcl_id)
dcflag)
;;;==============CHUONG TRINH CHINH=============
(defun C:VLD (/ p1 p2)
(setq P1 (getpoint "Click chon diem bat dau : "))
;INIT
(or Ch_dai (setq Ch_dai "1000"))
(or goc (setq goc "45"))
(or blk_name (setq blk_name "t12"))
(or ins_pos (setq ins_pos "diem1"))

(while p1
(if (= 1 (Dialog Ch_dai goc blk_name ins_pos))
(progn
(Ve p1 p2 blk_name ins_pos)
(setq P1 p2) )
(setq P1 nil)) )
(princ) )


File VLD.DCL
//VE
ve:dialog
{label = "Chuong Trinh Tu Dong Ve Luoi Dien";
: edit_box {label = "Nhap khoang cach"; key = "dai"; edit_width = 15;}
: edit_box {label = "Nhap huong goc"; key = "goc"; edit_width = 15;}
:boxed_radio_column
{label = "Chon loai tru";
: radio_button {label = "&Tru 12m"; key = "t12";}
: radio_button {label = "T&ru 10.5m"; key = "t10";}
}
:boxed_radio_column
{label = "Chon diem chen";
: radio_button {label = "Diem dau"; key = "diem1";}
: radio_button {label = "Diem cuoi"; key = "diem2";}
}
spacer;
ok_cancel;
}

  • 0

#46 vminh_ct

vminh_ct

    biết lệnh stretch

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

Đã gửi 01 September 2010 - 10:58 AM

Ý tưởng của mình là viết 1 đoạn lisp để cad vẽ 1 đường PLINE, yêu cầu người dùng nhập vào: điểm đầu của đường thẳng, chiều dài đường thẳng và góc mà đường thẳng đó hợp với phương mặt phẳng ngang.

Ví dụ: đoạn thẳng cần vẽ có chiều dài là 100 và hướng theo 1 góc xéo 45 độ. Bình thường nếu vẽ trong cad phải thao tác như sau:
- gõ lệnh pline
- click chọn điểm đầu tiên (first point)
- sau đó ở dòng lệnh second point nhập vào: @100<45

Và dưới đây là đoạn lisp mà mình viết nhưng không cho ra kết quả như mong muốn mà cho kết quả là "UNKNOW DPL..." (lệnh mà mình viết là DPL):

(defun c:dpl()
(setq P1 (getpoint "cho diem dau: "))
(setq L (getint "nhap chieu dai: "))
(setq G (getint "nhap so goc: "))
(setq P2 (list @ L < G))
(command "pline" P1 P2 "")
(princ)
)

Mình biết chắc là đoạn lisp trên có sai nhưng mình không biết sửa như thế nào! Mình chỉ mới tìm hiểu lisp trên diễn đàn CADVIET thui nên chưa rành lắm. Mong các bác có kinh nghiệm chỉ bảo giủp. Nếu được thì bác nào hướng dẫn cho cách viết đoạn lisp để thực hiện ý tưởng trên.

CẢM ƠN CÁC BÁC RẤT RẤT NHIỀU!

Các bác cho e hỏi làm sao để gán luôn giá trị L =2 và g=45 độ trong lisp trên của mac hung, e dùng hàm setvar nhưng không biết làm thế nào. Trả lời hộ e nhé. e đang mắc chỗ gán giá trị cho biến này
  • 0
" Sống trên đời cần có 1 tấm lòng,để gió mãi cuốn đi"

#47 vminh_ct

vminh_ct

    biết lệnh stretch

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

Đã gửi 01 September 2010 - 05:27 PM

E mò được rồi. Không dám phiền các bác nữa. Hi Hi
  • 0
" Sống trên đời cần có 1 tấm lòng,để gió mãi cuốn đi"

#48 hungdlcm

hungdlcm

    biết vẽ line

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

Đã gửi 23 September 2010 - 09:34 AM

Các Bác ui! E đã hoàn thành xong chương trình theo ý tưởng của mình rùi!! Bây jờ đem sản phẩm lên khoe với các bác nè!

Đây là menu:

Hình đã gửi

Và đây là hộp thoại chương trình:

Hình đã gửi
  • 2

#49 hungdlcm

hungdlcm

    biết vẽ line

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

Đã gửi 23 September 2010 - 04:20 PM

Các bác ui! Bây jờ em làm xong chương trình rồi mới phát hiện ra là khi nhập các dữ liệu vào các edit_box trong hộp thoại, em muốn nhấn nút ENTER để thực thi việc vẽ thay cho việc click vào nút VE nhưng không được, mà sau khi nhập dữ liệu xong phải click nút VE mới được.

Các bác júp em với! Chỉ em đoạn mã hoặc lệnh nào để mình có thể định sẵn khi nhập dữ liệu xong người dùng chỉ cần nhấn ENTER là thực thi việc vẽ luôn!

Các bác júp em nhé! Em đội ơn trời biển của các bác nhìu lắm lắm!!
  • 0

#50 hungdlcm

hungdlcm

    biết vẽ line

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

Đã gửi 29 September 2010 - 10:31 AM

Em đã làm đc rùi... Bây jờ rắc rối nhất là e k hỉu nổi góc quay trong autolisp được tính như thế nào cả!!! :(
  • 0

#51 khaosat2009

khaosat2009

    biết lệnh offset

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

Đã gửi 29 September 2010 - 07:35 PM

Các Bác ui! E đã hoàn thành xong chương trình theo ý tưởng của mình rùi!! Bây jờ đem sản phẩm lên khoe với các bác nè!

Đây là menu:

Hình đã gửi

Và đây là hộp thoại chương trình:

Hình đã gửi

Xin bạn up cho minh xin một bản .
Cám ơn
  • 0

#52 mascehuy

mascehuy

    biết pan

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

Đã gửi 22 April 2016 - 08:29 AM

Sẵn topic này, mình có thể hỏi các Pác lisp vẽ đường thẳng nối 2 đường thẳng cho trước với khoảng cách cố định và điểm băt đầu

 http://www.cadviet.c...41_drawing1.dwg


  • -1

#53 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5447 Bài viết
Điểm đánh giá: 2624 (tuyệt vời)

Đã gửi 22 April 2016 - 09:57 AM

Sẵn topic này, mình có thể hỏi các Pác lisp vẽ đường thẳng nối 2 đường thẳng cho trước với khoảng cách cố định và điểm băt đầu

 http://www.cadviet.c...41_drawing1.dwg

Tôi đã post lisp 22/4/2016, nhưng tôi đã xóa 26/4/2016 vì người hỏi đã ngủ quên.

Bài viết đã được chỉnh sửa nội dung bởi Doan Van Ha: 26 April 2016 - 10:39 PM

  • 0

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.