Sử dụng AutoLisp trong AutoCad

Liên hệ QC
cảm ơn thày về bài viết này
em cũng đang sử dụng autolip nhưng bất tiện quá
thầy có thể tìm cho em lỗi autolip đối với bài viết mà mục đích của em là in nhiều trang với các khoảng cách giống nhau không
code là:
(defun c:in()
(setq ortho (getvar "orthomode"))
(setvar "orthomode" 1)
(setq a (getint " \nSo Trang in : " ))
(setq DL (getpoint " \nGoc duoi ben trai " ))
(setq UR (getcorner dl " \nGoc tren ben phai " ))
(setq cl (getdist UR "\nCu ly giua 2 trang "))
(setq x1 (car DL ))
(setq y1 (cadr DL ))
(setq x2 (car UR ))
(setq y2 (cadr UR ))
(setq r ( - x2 x1))
(repeat a
(setq D1 (list x1 y1))
(setq D2 (list (+ r x1) y2 ))
(command "plot" "W" D1 D2 "" )
(setq x1 (+ r cl x1 ))
)
(setvar "orthomode" ortho)
(setq a nil dl nil ur nil cl nil x1 nil x2 nil y1 nil y2 nil r nil d1 nil d2 nil )
)
( Defun C:LCR()
(setq path (getstring "\n Duong dan den file chua cac file trac ngang (*.lsp) " ))
(setq number (getint "\n So cap trac ngang: " ))
(setq Dist (getreal "\n Khoang cach giua 2 cot: " ))
(setq so 0)
(setq ma 1)
(command "CMDECHO" "0")
(repeat number
(setq so (+ so 2 ))
(setq File (strcat path "\\" (itoa (- so 1)) ".lsp"))
(if (findfile (strcat path "\\" (itoa (- so 1)) ".lsp") ) (load file "") (setq ma 1) )
(setq File (strcat path "\\" (itoa so) ".lsp"))
(if (findfile (strcat path "\\" (itoa so) ".lsp") ) (load file "") (setq ma 0))
(if (= ma 1) (command "move" "all" "" (list 0 0) (list (* -1 Dist) 0)))
(setq ma 1)
)
(princ)
)

(


Em cảm ơn:
email: ng.tr.hau.dkt@gmail.com
nick: hautrungnguyen8x
 
Lâu không dùng lisp quên mất, em vào www.cadviet.com hỏi, nhiều cao thủ món này lắm.
 
To: hautrungnguyen8x
Bạn bị thừa 1 dầu ngoặc cuối cùng "("
 
em sựđung đến phần khia báo số hố khoan thì thấy có dòng lệnh comand: NIL và không sử dụng tiếp được nữa là lỗi vì sao thầy ơi
 
không được bạn ơi
số trang in
góc trái
góc phai
cự ly 2 trang in
lôi~ bao là: unknow comand: nil
giúp tôi với

Bạn thêm một vài câu lệnh nữa quy định tỷ lệ in, điểm nguồn... là OK.
Đây là code AutoLisp đã hoàn chỉnh, mình đã Test trên máy của mình OK.
(Tuy nhiên chỉ áp dụng cho Acad 14 vì sử dụng cú pháp lệnh PLOT của Acad 14).
Command: in_gpe
So Trang in : 2
Goc duoi ben trai
Goc tren ben phai
Cu ly giua 2 trang: 115
Nhap diem nguon <0,0,0>:
Plotted MM = Drawing Units/Scaled to Fit<1=1>:f
Chú ý:
- Khi nhập điểm nguồn, nếu Enter thì chương trình quy định điểm nguồn là 0,0,0
- Khi nhập tỷ lệ in, nếu muốn in Scaled to Fit thì nhập chữ "F".
- Trước khi in bạn nên chọn máy in, quy định về nét...
 

File đính kèm

  • In_GPE.rar
    548 bytes · Đọc: 101
Anh Hướng thân!
Em đã down file lisp: hinhtru.lsp về và đã Load trên CAD 2004
Em dùng lệnh Command: TSPT và nhập các số liệu, một đoạn thì xuất hiện thông báo sau
C:\Program Files\AutoCAD 2004\drv\
C:\Program Files\AutoCAD 2004\
*Invalid*
Command: tspt
Ky hieu ho khoan: h
Cao do mieng ho: 0.0
Muc nuoc ngam: 1.0
Do sau ho khoan: 30
Ngay hoan thanh: 30/03/09
"KH-spt.dwg": Can't find file in search path:
C:\Documents and Settings\QUANGHUYCO\My Documents\ (current directory)
C:\Documents and Settings\QUANGHUYCO\Application Data\Autodesk\AutoCAD
2004\R16.0\enu\support\
C:\Program Files\AutoCAD 2004\support\
C:\Program Files\AutoCAD 2004\fonts\
C:\Program Files\AutoCAD 2004\help\
C:\Program Files\AutoCAD 2004\support\color\
C:\Program Files\AutoCAD 2004\drv\
C:\Program Files\AutoCAD 2004\
*Invalid*
Cho em biết phải làm sao để khắc phục?
Em cũng đã tạo file KH-SPT trên đường dẫn: C:\Programs\AutoCAD2004\support\KH-SPT.dwg
Nhưng không khả thi, nhờ anh giúp em!
Cảm ơn Anh Hướng nhiều!
 
AutoLisp có cái hay là xử lý nhanh nhưng mệt nhất là mấy cái ngoặc, mở ra thì nhớ phải đóng vào, không thì không biết đâu mà tìm lỗi.
Thế mới có câu vui về LISP (Lost In Stupid Parentheses). Nói gì thì nói nhưng tìm hiểu sâu về AutoLisp (bây giờ là Visual Lisp) thì cũng rất hay đấy.

Visual Lisp thì khác gì vậy LISP vậy?
Nó tự đóng ngoặc khi bạn quên à?
Nêu so với VBA for CAD thì VIsual LIsp đứng ở vị trí nào?
 
Sao em không tải được file Matcat.zip vậy?
 
cho mình hỏi 1 chút. mình thấy khi vẽ bằng lisp ở file mătcat.zip khi vẽ xong mặt cắt chưa có khung vì vậy khi in ra không biết đặt khung thế nào để giữ đúng tỉ lệ yêu cầu. Và cho mình hỏi trong chương trình này thì giấy in mặc định là khổ bao nhiêu vậy vì mình cũng không biết in ra giấy khổ bao nhiêu để cho ra tỉ lệ chính xác như mong muốn.
Thân!!
 
Em là thành viên mới. Em muốn sử dụn mathcad trên, nhưng trong cad 2007 có dc ko ak?
Xin mọi người chỉ giúp em với!!
 
Tôi đang làm một dự án VBA của autocad. Nhưng cái dim kích thước và ghi chữ không biết viết code thế nào.
Anh em nào rành hướng dẫn mình với.
Ví dụ : mình vẽ hcn kt :1000x2000
Mình muốn nó dim kích thước 1m và 2m vào trong bản vẽ
Và ghi chữ: hcn 1000x2000
Thì làm như thế nào?
 
Web KT
Back
Top Bottom