Đến nội dung


Hình ảnh
- - - - -

Cách tạo menu


  • Please log in to reply
37 replies to this topic

#21 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 July 2007 - 07:20 AM

bác ssg ới! sao khi tui chạy chu i trước thì ko có lỗi.Nhưng nếu vẽ mat bich trc,sau đó vẽ chu i thì thế nào cũng ko vẽ được là sao?Đó là lỗi j thế

Mấy hôm rồi ssg bận không online được. Chương trình của bạn sau khi sửa mình đã thử đi thử lại nhiều lần không thấy lỗi, vẽ cái gì trước và bao nhiêu lần cũng OK. Chẳng hiểu trên máy bạn thế nào?! Theo mình đoán là do trên máy bạn có một số file lisp nào đó, có thể là file bị lỗi trước đây chưa sửa đã autoload khi khởi động CAD. Bạn vô hiệu hoá toàn bộ chúng, chỉ cho một mình ThuVien load vào rồi thử lại xem sao.
  • 0

#22 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 16 July 2007 - 11:02 AM

Ồ không đâu, viết phần DCL cực phần trình bày khi nó hơi phức tạp một chút, các spacer co dãn không biết đâu mà lần!
Cụ thể ở đây là mình muốn xóa hẳn menu Thư viện ra khỏi CAD bằng cách nào cũng được. À sẵn hỏi bác luôn thông tin menu Thu vien được lưu trong CAD ở đâu? Mình tìm mà không thấy.


Chưa hiêủ bác nói menu thu vien nào. nếu menu mà mình vừa tạo cho ông bạn tamhoncuada thì nó nằm trong thư mục chủ của ACAD. Có khi hệ thống tự dờinó vào mydocumen. DCL cứ gỏ tìm kiếm là thấy thôi mà.
Xóa hẳn bất cứmenu nào khỏi ACAD thì gỏ lệnh menuload chọn vào tên menu cần xóa chọn unload. đól2 cách thông thường. còn dùng lispthì cócách nhưng máy cơ quan đan mất mạng đang ngồi quánnet nên không chéplên cho bác được.
****File gicungduoc.mns để bất cứ chổ nào cũng dùnglệnh menuload goilên được hết khi gọi nó sẽ tạo thêm *.mnc và *.mnr trong thư mục mình chứa *.mns. Hôm nào thọ giáo bác chút DCL chứ mình toàn viết lisp không rành lắmvề DCL.
  • 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


#23 keeponlylove

keeponlylove

    Chưa sử dụng CAD

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

Đã gửi 15 August 2007 - 09:43 AM

[url="http://www.cadviet.com/upfiles/tkt_1.rar"]http://www.cadviet.c...files/tkt_1.rar[/url]
Em có 1 chương trình thống kê thép như trên(muốn sử dụng thì copy tất cả vào support của CAD sau đó load các file *.lsp , sau đó muốn tkt thì dùng lệnh.Em muốn nó thành 1 menu riêng trong cad có được ko?menu đó có các lệnh như tạo bảng tk , sửa ,...?các anh giúp em với.
  • 0

#24 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 August 2007 - 07:25 AM

http://www.cadviet.com/upfiles/tkt_1.rarEm có 1chương trình thống kê thép như trên(muốn sử dụng thì copy tất cả vào support của CAD sau đó load các file *.lsp , sau đó muốn tkt thì dùng lệnh.Em muốn nó thành 1 menu riêng trong cad có được ko?menu đó có các lệnh như tạo bảng tk , sửa ,...?các anh giúp em với.http://www.cadviet.com/upfiles/tkt_1.rar

Tạo menu là việc rất dễ dàng. Tuy nhiên, các chương trình lisp của bạn chưa được xử lý, có 4 file *.lsp với nội dung tương tự. Trong cùng 1 file lsp, có những đoạn định nghĩa hàm C:XXX trùng tên nhau. Bản thân mình không rành về xây dựng nên không biết đường nào mà mò!
Theo mình, cách tốt nhất là bạn tự học lisp và tự xử lấy. Bạn có thể tham khảo ở đây:
http://www.cadviet.com/upfiles/Relax.zip
và các bài viết khác về menu đã post trên diễn đàn.
Có gì khó khăn cứ nêu lên, mình sẵn sàng giúp, nhưng không làm thay bạn!
Chúc vui.

P/S:
Hình như phải post link trên một dòng riêng biệt như sau:
http://www.cadviet.com/upfiles/tkt_1.rar
Dính với nội dung khác như của bạn, bấm vào bị báo lỗi. Mình phải copy dòng link của bạn và paste vào address của trình duyệt.
  • 0

#25 keeponlylove

keeponlylove

    Chưa sử dụng CAD

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

Đã gửi 18 August 2007 - 11:41 AM

vâng, cảm ơn anh nhìu.Em sẽ thử xem.Nói thật là em ko biết gì về LISP cả :unsure: ,em đang định tìm hiểu vì nó rất cần cho công việc của em.Mong được mọi người giúp đỡ.
  • 0

#26 aboutautolisp

aboutautolisp

    biết lệnh erase

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

Đã gửi 18 September 2007 - 12:14 PM

Tui thay Lam Menu cho Autolisp khong kho, con de hon la viet Lisp ay chu.
Voi Cad 2007 tro len ban co the tu tao Menu moi cho minh cuc ky don gian.
Tu Cad2007
Command : CUI ---> Chon New menu ----> cu vao lam la biet lien, de ec.
  • 0
Chia sẻ để thành công !

#27 Ar_Chanwoo

Ar_Chanwoo

    biết lệnh break

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

Đã gửi 09 March 2008 - 12:58 AM

<a href="http://www.cadviet.com/upfiles/ThuVien_ssg.rar" target="_blank">http://www.cadviet.com/upfiles/ThuVien_ssg.rar</a>

1) Unzip, copy cả thư mục ThuVien và file acad.lsp vào thư mục gốc của AutoCAD (nơi có file acad.exe).
2) Khởi động Acad, bạn sẽ có ngay cái mình muốn!
3) Xin góp ý thêm:
- Không cần lập quá nhiều file *.lsp và *.dcl. Có thể gom chúng lại cho gọn (toàn bộ nội dung chương trình của bạn đã được gom vào ThuVien.lsp và ThuVien.dcl)
- Lệnh chu_I bị lỗi, lúc chạy được lúc không (bạn tự sửa nhé?)
- Nhìn chung, lisp của bạn hơi dài dòng. Bạn nên chỉnh lý lại theo nguyên tắc:
NGẮN GỌN - RÕ RÀNG - SÚC TÍCH - HIỆU QUẢ
Chúc vui,
ssg

Anh có thể viết hộ e lisp này đc không?
E có 1 File là CadViet.mns ( (http://www.cadviet.c...les/CadViet.mns)) Trong đó có 2pop là Thiết Kế và Chỉnh Sửa.Giờ e muốn khi e mở cad lên thì menu cadviet sẽ đưa cả 2pop đó của e lên.Giống như cái mà anh đã Post ấy nhưng không cần thực thi gì cả.Chỉ cần load menu lên cho e là đc!! E đã làm thử cái của anh và làm đc nhưng đến cái của e khi menu có 2pop thì e không làm đc. Giúp e với .E đang rất càn!!!!!!! Thanks
  • 0

#28 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 10 March 2008 - 09:23 AM

Anh có thể viết hộ e lisp này đc không?
E có 1 File là CadViet.mns ( (http://www.cadviet.c...les/CadViet.mns)) Trong đó có 2pop là Thiết Kế và Chỉnh Sửa.Giờ e muốn khi e mở cad lên thì menu cadviet sẽ đưa cả 2pop đó của e lên.Giống như cái mà anh đã Post ấy nhưng không cần thực thi gì cả.Chỉ cần load menu lên cho e là đc!! E đã làm thử cái của anh và làm đc nhưng đến cái của e khi menu có 2pop thì e không làm đc. Giúp e với .E đang rất càn!!!!!!! Thanks

Lấy ví dụ Thuvien_ssg.rar hôm nọ nhé. Giả sử bạn muốn thêm THUVIEN2.
Thêm ở file Thuvien.mns:

***MENUGROUP=THUVIEN
***POP1
**THUVIEN

ID_ThuVien [&THUVIEN]
ID_ChuI [Chu I]^C^C_chu_I
ID_MatBich [Mat bich]^C^C_holes

***POP2
**THUVIEN2

ID_ThuVien2 [&THUVIEN2]
ID_ChuI2 [Chu I2]^C^C_chu_I2
ID_MatBich2 [Mat bich2]^C^C_holes2

Thêm ở file Thuvien.lsp:
(defun ThuVien()
(if (not (menugroup "ThuVien")) (command "_menuload" (strcat (TVPath) "ThuVien.mns")))
(menucmd "P12=+ThuVien.pop1")
(menucmd "P13=+ThuVien.pop2")
)

Acad.lsp vẫn như cũ.
  • 1

#29 minh2453

minh2453

    biết lệnh scale

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

Đã gửi 28 July 2008 - 11:52 PM

có nhiều vấn đề rất đơn giản mà chúng ta cứ hay ỉ lại vào người khác.
Hãy dùng chức năng tìm kíêm của windows, lôi ra file ACAD.MNS -->open = notepad
Rồi bạn ngắm qua cấu trúc của menu lệnh trong CAD..tập toẹ làm theo, quá đơn giản mà.
Cái quan trọng là tự mình làm thì mình hiểu bản chất và nhớ lâu :rolleyes:
  • 0
Đừng giấu những gì bạn biết và những thứ bạn không biết

#30 minhvan21287

minhvan21287

    biết vẽ pline

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

Đã gửi 12 August 2010 - 12:19 PM

Chưa hiêủ bác nói menu thu vien nào. nếu menu mà mình vừa tạo cho ông bạn tamhoncuada thì nó nằm trong thư mục chủ của ACAD. Có khi hệ thống tự dờinó vào mydocumen. DCL cứ gỏ tìm kiếm là thấy thôi mà.
Xóa hẳn bất cứmenu nào khỏi ACAD thì gỏ lệnh menuload chọn vào tên menu cần xóa chọn unload. đól2 cách thông thường. còn dùng lispthì cócách nhưng máy cơ quan đan mất mạng đang ngồi quánnet nên không chéplên cho bác được.
****File gicungduoc.mns để bất cứ chổ nào cũng dùnglệnh menuload goilên được hết khi gọi nó sẽ tạo thêm *.mnc và *.mnr trong thư mục mình chứa *.mns. Hôm nào thọ giáo bác chút DCL chứ mình toàn viết lisp không rành lắmvề DCL.

bác ơi em đã chót unload đi hết những cái menu mặc định của cad.giờ em muốn lấy lại thì làm thế nào vậy?
  • 0

#31 minhvan21287

minhvan21287

    biết vẽ pline

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

Đã gửi 29 August 2010 - 03:14 PM

Không biết hôm nay bác đã làm dược menu chưa. Tôi chạy trên máy tôi thì rất ổn không biết bác lổi chổ nào.
Về tiện ích líp của bác thấy anh em góp ý nhiều nhưng tôi có ý thế này.
Dùng Líp là để cho tiện lợi nên bác cần cho con líp của bác chức năng sau:
Các giá trị đã nhập trong các ô thì nên lưu lại trong lần gọi lệnh sau người dùng muốn chỉnh gì thì chỉnh còn không thì cú thế mà vẽ tiếp. Chứ của bác cứ mổi lần gọi lệnh là lên giá trị mặc định miết nếu muốn vẽ lại cái i chang thi cũng phải phập lại toàn bộ trhông số không phù hợp.
Khi thông báo dử liệu không phù hợp thì nên cho hiện lại hộp thoại để điều chỉnh chứ không mất luôn như của bác hiện giờ.

bác DUY782006 ơi em load cái thư viện menu của bác về và cài lên rùi. giờ em muốn gỡ nó ra thì làm thế nào vậy?
  • 0

#32 tvgtyb08

tvgtyb08

    biết vẽ spline

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

Đã gửi 27 March 2011 - 04:39 PM

Khả năng diển đạt của tôi kém nên tách ra trà lời bác lần lượt như sau:
*Vấn đề tự động load file lisp khi chạy CAD:
**Đối với CAD R14 thì phài viết 1 file như thế này:(trường hợp bác có file lisp là lenhmot.lsp và lenhhai.lsp nằm trong d:/tienich/lenh)

(load"d:/tienich/lenh/lenhmot")
(load"d:/itienich/lenh/lenhhai")


Lưu phần màu cam trên thành file tên là ACAD.LSP
Chép file này vào thư mục SUPPORT của CAD R14

**Đối với các CAD2+ thì lưu thành tên ACADDOC.LSP (các CAD đời mới còn có 1 cách khác đã có đề cập trên diển đàn này rồi bác tìm đọc)

Phần menu tôi sẻ viết rtrong phần sau

Em chưa rõ phần này lắm, các anh hướng dẫn chi tiết em với.
Giả sử em có 1 số lisp để trong thư mục C:\QKHS
Em muốn mỗi lần khởi động Cad lên nó tự load (Không dùng AP)
Em viết 1 file Lsp như các anh hướng dẫn tên là Acađoc.lsp rồi lưu vào Suport trong C:\Program Files\AutoCAD 2005\Support nhưng không được.
Nội dung file lisp:

(LOAD "C:/QKHS/DN_DCT.VLX")
(LOAD "C:/QKHS/BatchPrinter.VLX")
(LOAD "C:/QKHS/NHTKTNV2.VLX")
(LOAD "C:/QKHS/VOVE.VLX")
(LOAD "C:/QKHS/InBinhDo.VLX")
(LOAD "C:/QKHS/xdim.vlx")
(LOAD "C:/QKHS/RTL.lsp")
Nhờ các anh chỉ giúp em.
  • 0

#33 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 27 March 2011 - 05:16 PM

Em chưa rõ phần này lắm, các anh hướng dẫn chi tiết em với.
Giả sử em có 1 số lisp để trong thư mục C:\QKHS
Em muốn mỗi lần khởi động Cad lên nó tự load (Không dùng AP)
Em viết 1 file Lsp như các anh hướng dẫn tên là Acađoc.lsp rồi lưu vào Suport trong C:\Program Files\AutoCAD 2005\Support nhưng không được.
Nội dung file lisp:


(LOAD "C:/QKHS/DN_DCT.VLX")
(LOAD "C:/QKHS/BatchPrinter.VLX")
(LOAD "C:/QKHS/NHTKTNV2.VLX")
(LOAD "C:/QKHS/VOVE.VLX")
(LOAD "C:/QKHS/InBinhDo.VLX")
(LOAD "C:/QKHS/xdim.vlx")
(LOAD "C:/QKHS/RTL.lsp")
Nhờ các anh chỉ giúp em.

Bạn có thể làm theo cách này:
1. Load tất cả các file đó 1 lần.
2. Click vào Contents trong Startup suite và Add tất cả bản vẽ đã load. Lần sau, mở Acad ra thì nó tự Load.
  • 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.


#34 tvgtyb08

tvgtyb08

    biết vẽ spline

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

Đã gửi 27 March 2011 - 06:49 PM

Bạn có thể làm theo cách này:
1. Load tất cả các file đó 1 lần.
2. Click vào Contents trong Startup suite và Add tất cả bản vẽ đã load. Lần sau, mở Acad ra thì nó tự Load.

Vâng, cách đó em biết rồi, em muốn hỏi cách đặt File load lisp trong hệ thống cho nó tự load mỗi khi khởi động máy mà không cần AP.
  • 0

#35 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 28 March 2011 - 07:49 AM

Em chưa rõ phần này lắm, các anh hướng dẫn chi tiết em với.
Giả sử em có 1 số lisp để trong thư mục C:\QKHS
Em muốn mỗi lần khởi động Cad lên nó tự load (Không dùng AP)
Em viết 1 file Lsp như các anh hướng dẫn tên là Acađoc.lsp rồi lưu vào Suport trong C:\Program Files\AutoCAD 2005\Support nhưng không được.
Nội dung file lisp:


(LOAD "C:/QKHS/DN_DCT.VLX")
(LOAD "C:/QKHS/BatchPrinter.VLX")
(LOAD "C:/QKHS/NHTKTNV2.VLX")
(LOAD "C:/QKHS/VOVE.VLX")
(LOAD "C:/QKHS/InBinhDo.VLX")
(LOAD "C:/QKHS/xdim.vlx")
(LOAD "C:/QKHS/RTL.lsp")
Nhờ các anh chỉ giúp em.

Sửa (bỏ dấu cách sau chử load, file *.lsp thì không cần ghi phần mở rộng) thành như sau:
(LOAD"C:/QKHS/DN_DCT.VLX")
(LOAD"C:/QKHS/BatchPrinter.VLX")
(LOAD"C:/QKHS/NHTKTNV2.VLX")
(LOAD"C:/QKHS/VOVE.VLX")
(LOAD"C:/QKHS/InBinhDo.VLX")
(LOAD"C:/QKHS/xdim.vlx")
(LOAD"C:/QKHS/RTL")
  • 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


#36 tvgtyb08

tvgtyb08

    biết vẽ spline

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

Đã gửi 28 March 2011 - 10:21 AM

Cảm ơn anh Quốc Duy nhiều. Em làm làm được rồi.
  • 0

#37 hnhmai

hnhmai

    biết vẽ line

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

Đã gửi 02 April 2011 - 02:58 PM

Cảm ơn anh Quốc Duy nhiều. Em làm làm được rồi.

Bạn có thể sử dụng hàm autoload như trong help của autocad mô tả như sau:

(autoload filename cmdlist)

The first time a user enters a command specified in cmdlist, AutoCAD loads the application specified in filename, then continues the command.

Arguments

filename

A string specifying the .lsp file to be loaded when one of the commands defined by the cmdlist argument is entered at the Command prompt. If you omit the path from filename, AutoCAD looks for the file in the Support File Search Path.
cmdlist: A list of strings.

Return Values: nil
If you associate a command with filename and that command is not defined in the specified file, AutoCAD alerts you with an error message when you enter the command.

Examples

The following causes AutoCAD to load the bonusapp.lsp file the first time the APP1, APP2, or APP3 commands are entered at the Command prompt:

(autoload "BONUSAPP" '("APP1" "APP2" "APP3"))
  • 0

#38 TV_Anh

TV_Anh

    biết vẽ line

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

Đã gửi 04 March 2016 - 09:10 AM

Bạn tham khảo bản "nháp" CadViet Utility:

http://www.cadviet.c...p?showtopic=374

Chỉ cần xem các chỗ có liên quan đến yêu cầu của bạn:
1) File acad.lsp
2) Cadviet01.lsp (xem phần đầu Prepare)
3) Cadviet.mns

Nếu chưa thông, ssg sẽ giải thích rõ hơn.

Command:
GOIMENU
SHELL
OS Command: copy D:Bi KipThu Vien_ Tran Viet Anh\TAOMENU.MNS
Command: DELAY Enter delay time (in milliseconds): 2000
Command: GOIMENU
Unknown command "GOIMENU".  Press F1 for help.
Command: _menuload
Enter name of customization file to load: TAOMENU.MNS
Enter name of customization file to load:
Enter name of customization file to load: *Cancel*
 
 
CHÀO BÁC, em có làm mấy file như trên, nhưng khi vào cad thì ko thấy hiện lên, mong bác và mọi người giúp đỡ.
dưới đây là những file do em tự viết.
còn ở trên là những dòng khi dưa file vào cad thì máy báo như vậy.
rất mong được mọi người giúp sức !!
em cảm ơn @

  • 0