Chuyển đến nội dung
Diễn đàn CADViet
MANHHUNGXDA

TẠO MỘT MENU THƯ VIỆN

Các bài được khuyến nghị

Bác gỏ lệnh menuload chưa?

Trường hợp cad của bác thì load file acad.cui là được (nó hiện sẳn khi bác gọi lệnh ấy)

 

bạn ơi mình dung lenh Menuload rồi nhưng chẳng thấy file acad.cui đâu cả. tìm trong suppost cũng chẳng thấy mình không biết làm sao nữa. cài lại cad thì lâu và mất công cài lại các menu rất lâu và khó làm việc vì khộng quen. Bạn chỉ giùm mình sớm nhé tìm tất cả các thư mục của acad rùi nhưng chẳng thấy!!!!!!!

cảm ơn!!!!!

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Bạn mở file thuvienndung.lsp copy phần từ chổ mình ghi TVDD thiệt to trở xuống dưới là ra file lisp.

Copy đoạn định nghĩa hàm THOI trong file bien.lsp nửa nhé.

File thuvienđuongan.dcl là file định nghĩa hộp thoại.

Còn trong file lisp thì bạn chỉnh sửa các đường dẩn cho phù hợp với tiện ích của bạn. (cái này khả năng của bạn làm được mà)

Bạn chạy thử nó chưa. Có nhận xét gì không, cho vài ý kiến đi ???

e sử rồi, nó báo lỗi : Command: tvdd ; error: no function definition: XLBQPQD32

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
e sử rồi, nó báo lỗi : Command: tvdd ; error: no function definition: XLBQPQD32

 

Tìm tất cả (XLBQPQD32) trong file lisp xóa đi.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
bạn ơi mình dung lenh Menuload rồi nhưng chẳng thấy file acad.cui đâu cả. tìm trong suppost cũng chẳng thấy mình không biết làm sao nữa. cài lại cad thì lâu và mất công cài lại các menu rất lâu và khó làm việc vì khộng quen. Bạn chỉ giùm mình sớm nhé tìm tất cả các thư mục của acad rùi nhưng chẳng thấy!!!!!!!

cảm ơn!!!!!

C:\Application Data\Autodesk\AutoCAD 2007\R17.0\enu\support

thường nó nằm ở đây. bác cho hiện tất cả các thư mục ẩn search với toàn bộ computer thế nào củng có.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Híc, em dành cả buổi trời để đọc mà vẫn chưa tìm cách tạo được thư viện, chắc do kiến thức em tệ quá.

Hiện tại em chỉ mới tạo đc file .lsd , em muốn làm đc như các anh lắm nhưng không thể. Các anh nào có thể giúp em đơn giản nhất cách tạo ra một menu thư viện từ các file dwg có sẵn cho những người kiến thức còn quá ít ỏi như em không? Cảm ơn các anh nhiều lắm.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Híc, em dành cả buổi trời để đọc mà vẫn chưa tìm cách tạo được thư viện, chắc do kiến thức em tệ quá.

Hiện tại em chỉ mới tạo đc file .lsd , em muốn làm đc như các anh lắm nhưng không thể. Các anh nào có thể giúp em đơn giản nhất cách tạo ra một menu thư viện từ các file dwg có sẵn cho những người kiến thức còn quá ít ỏi như em không? Cảm ơn các anh nhiều lắm.

http://www.cadviet.com/forum/index.php?showtopic=5597

Tạo được file *.sld là ngon rồi. bạn vào đường dẫn trên. load cái tiện ích của mình lên. gỏ lệnh TVDD

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Bác ơi bác thử chạy trên Cad2009 chưa, em load không đc???

Chưa! sory nhé.

 

À theo phản hồi của 1 người bạn (trên mạng) thì chạy được trên cad2009 đấy nhưng anh bạn đó cài vào luôn chứ không load thử và mình cũng sửa 1 chút trong cái file cài cho anh bạn đó dùng và nghe nói chạy được.

-Nếu bạn muốn cài thì làm như sau (tôi không có phần gở bỏ nên đã cài vào thì phải gở bằng tay và khi cài thì có 1 số phiền phức sau)

+Các phiền phức:

Chép dè hatch và line lên file gốc của bạn.

Hiện bảng quảng cáo tác giả mỗi khi khời động cad và mở bản vẽ.

Có dòng chử quảng cáo luôn nằm phía dưới bên trái màn hình cad.

+Cách cài:

Vào mục run bạn sẽ thấy có thư mục caikhongdangky trong đó có các thư mục C;D;E;F .v.v.

Thư mục tienich để trong ổ đĩa nào thì load file cai.lsp trong thư mục đó lên gỏ lệnh cai xong khởi động lại cad.

***Không nhận mọi phàn nàn khi cài chương trình này.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Đây là mã nguồn:

 

file CVIB.lsp

;;;  This is opensource sofware from www.cadviet.com
;;;   You can modify or make anything you want with this lisp source

(defun C:IB (/	       SYM_DCL_ID	   TEXT	     FILE
     SYMLIST   SLIST	 DESCR	   BLKNAME   SLDNAME
     VALUE
    )
 (defun INIT_BLOCK ()
   (setq symlist (vl-directory-files
	    (strcat activepath curgroup "\\")
	    "*.dwg"
	  )
  slist	  (mapcar 'vl-filename-base symlist)
  symlist slist
   )
   (start_list "list_sym")
   (mapcar 'add_list symLIST)
   (end_list)
   (set_tile "list_sym" "0")
 )
 (defun INIT_GROUP ()
   (setq grplist  (vl-directory-files activepath "*.*" -1)
  grplist  (vl-remove "." grplist)
  grplist  (vl-remove ".." grplist)
  curGroup (car grplist)
   )
   (start_list "list_grp")
   (mapcar 'add_list grpLIST)
   (end_list)
   (set_tile "list_grp" "0")
 )
 (defun disable ()
   (cond
     ((= 0 osn)
      (mode_tile "scobj" 0)
      (mode_tile "rot" 0)
     )
     ((and (= 1 osn))
      (mode_tile "scobj" 1)
      (mode_tile "rot" 1)
     )
   )
 )
 (defun IMAGE_ACT (VALUE)
   (setq ITEM (nth (atoi VALUE) SYMLIST))
   (setq
     BLKNAME ITEM
     SLDNAME (strcat ActivePath curGroup "\\" ITEM ".sld")
     DESCR   ITEM
     WIDTH   (dimx_tile "tile_1")
     HEIGHT  (dimy_tile "tile_1")
   )
   (start_image "tile_1")
   (fill_image 0 0 WIDTH HEIGHT 0)
   (slide_image
     0	0 WIDTH	HEIGHT SLDNAME)
   (end_image)
   (set_tile "desc_blk" DESCR)
 )
 (defun GROUP_ACT (VALUE)
   (setq ITEM	    (nth (atoi VALUE) GRPLIST)
  curGroup  ITEM
  blockpath (strcat activepath curGroup "\\")
   )
   (INIT_BLOCK)
   (IMAGE_ACT "0")
 )

 ;;---------------------------------------------------
 (princ "\nIB program - © 2007, CADViet.com")
 (princ "\n")
 (princ "\n")
 ;;(setq activepath "D:\\Hoanh\\@CadTool\\InsBlk\\")
 (setq activepath (getcfg "AppData/CADViet/IB_Path"))
 (while (or
   (not activepath)
   (not (vl-file-directory-p activepath))	   
 )
   (setq cvname (getfiled "Hay chi dinh duong dan toi file CVIB.vlx de bat dau su dung lisp"
		   "CVIB.vlx"
                          "VLX"
		   16
		   )
   )
   (if (= (vl-filename-base cvname) "CVIB")
     (setq activepath (strcat (vl-filename-directory  cvname) "\\"))
   )
 )
 (setcfg "AppData/CADViet/IB_Path" activepath)  
 (setq SYM_DCL_ID (load_dialog "CVIB.dcl"))
 (if (< SYM_DCL_ID 0)
   (exit)
 )
 (new_dialog "symbol" SYM_DCL_ID)
 (INIT_GROUP)
 (INIT_BLOCK)

 (setq sc 1)
 (set_tile "scobj" (rtos sc))
 (setq rt 0)
 (set_tile "rot" (angtos rt))
 (action_tile "list_grp" "(group_act $value)")
 (action_tile "list_sym" "(image_act $value)")
 (action_tile "osn" "(setq osn (atoi $value ))(disable)")
 (action_tile "scobj" "(setq sc (atoi $value))(disable)")
 (action_tile "rot" "(setq rt (atoi $value))(disable)")
 (action_tile
   "cancel"
   "(setq blkname nil)"
 )
 (start_dialog)
 (unload_dialog SYM_DCL_ID)
 (if BLKNAME
   (command "insert"
     (cond
       ((tblsearch "block" BLKNAME) BLKNAME)
       (t (strcat blockpath BLKNAME ".dwg"))
     )
     "s"
     sc
     "r"
     rt
     pause
   )
 )
 (princ)
)

(defun c:resetib()
 (setcfg "AppData/CADViet/IB_Path" "")
 (princ "\nDa reset thanh cong!")
 (princ "\n")
 (princ)
)

(princ "\nIB da load thanh cong")
(princ "\nHay dung lenh IB de bat dau su dung")
(princ "\nHay dung lenh resetIB khi ban muon thiet lap lai duong dan")
(princ "\n")
(princ)

 

file CVIB.dcl:

symbol:dialog {
 aspect_ratio = 0;
	 label = "Chi dinh Block muon chen";
: row {
: boxed_column {
 label = "Ten nhom";
 : list_box {
   key = "list_grp";
   allow_accept = true;
 }
}
: boxed_column {
 label = "Ten Block";
 : list_box {
   key = "list_sym";
   allow_accept = true;
 }
}
 : boxed_column {
   : toggle {
	  label = "Chi dinh tren man hinh";
  key = "osn";
  mnemonic = "O";
  fixed_width = true;
   }
 label = "Goc xoay va ty le:";
 : edit_box {
	label = "Scale 1 : ";
key = "scobj";
mnemonic = "S";
edit_width = 10;
label = "Ty le";
 }
 : edit_box {
label = "Goc: ";
key = "rot";
mnemonic = "A";
edit_width = 10;		 
 }
  }


}
 : row {
   label = "Hinh anh Block";
   : icon_image {
   key = "tile_1";
   aspect_ratio = 0.9;
   fixed_height = true;
   fixed_width = true;
   width = 49;
   height = 12; 
   alignment = centered;
 }
}
 : text {
   key = "desc_blk";
   width = 30;
   alignment = centered;
 }
 ok_cancel;
}

 

 

Nghe thấy anh Hoành đã lâu:

anh cho em hỏi tý, làm sao để, chỉ cần nhập 1 đường đẫn chứa thư viện, trong thư viện lại có nhiều Thư mục con chứa các file cad.dwg, và biến toàn bộ file cad này thành file .sld, của thư mục nào, vào thư mục đó?

Cảm ơn anh nhiều!

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Thực chất thì đã có menu rồi. Còn cái vụ tạo file thì mình không biết.

Bạn muốn tiện thì làm như thế này:

Thay vì bạn load file chaytuD thì bạn vào tienich->run->cai->caitud.

Các bước bạn đầu như cũ chỉ khác là bạn gỏ lệnh cad2+ nhập 0914159250

Sau đó bạn kời động lại cad thì sẽ tự động load menu và thanh công cụ lun. Tất nhiên là lúc này các file lisp cũng tự load lun.

 

Bạn cần có gì thì có thể giúp mình tạo file *.exe?

bác ơi giờ em mở liền một lúc 3file cad thì làm sao để cho cái tienich của bác chạy trên cả 3 cái đó được vậy.em chỉ làm cho nó chạy được tren có một cái file cad thui.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
bác ơi giờ em mở liền một lúc 3file cad thì làm sao để cho cái tienich của bác chạy trên cả 3 cái đó được vậy.em chỉ làm cho nó chạy được tren có một cái file cad thui.

Nếu là cài thì có bao nhiêu file nó cũng chạy ráo trọi. Trừ phi bạn dùng lệnh chay thì nó chỉ làm việc trên bản hiện thời.

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Nếu là cài thì có bao nhiêu file nó cũng chạy ráo trọi. Trừ phi bạn dùng lệnh chay thì nó chỉ làm việc trên bản hiện thời.

vâng ah.em làm được rùi.nhưng mà giờ em muốn thay tên cái tên người dùng bằng tên là thư viện kết cấu hay là thư viện kiến trúc có đưọc ko ah.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
vâng ah.em làm được rùi.nhưng mà giờ em muốn thay tên cái tên người dùng bằng tên là thư viện kết cấu hay là thư viện kiến trúc có đưọc ko ah.

Bạn gửi yêu cầu cụ thể mình chỉnh tên thư viện gíp bạn.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Bạn gửi yêu cầu cụ thể mình chỉnh tên thư viện gíp bạn.

vâng ah.ở những chỗ như là: chi tiết 01 ---> cuối thay lần lượt là : cửa đi, cửa sổ, câu thang,lan can(hang rao), vê sinh, vách kính, chi tiết liên kết..........

còn bên chỗ người dùng đấy thì thay bằng: kết cấu dầm, kết cấu sàn, kết cấu cột, lanh tô, bể phốt............

còn lại thì bác cho thêm cái j đó để cho thư viện nó thêm dồi dào thì càng tốt bác ạh.hì em tham như nông dân ấy mà..

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
vâng ah.ở những chỗ như là: chi tiết 01 ---> cuối thay lần lượt là : cửa đi, cửa sổ, câu thang,lan can(hang rao), vê sinh, vách kính, chi tiết liên kết..........

còn bên chỗ người dùng đấy thì thay bằng: kết cấu dầm, kết cấu sàn, kết cấu cột, lanh tô, bể phốt............

còn lại thì bác cho thêm cái j đó để cho thư viện nó thêm dồi dào thì càng tốt bác ạh.hì em tham như nông dân ấy mà..

Bạn load về giải nén và cập nhật 2 thư mục này vào thư mục tienich nhé.

http://www.4shared.com/file/yt2k_9OA/_2__tienich.html

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Bạn load về giải nén và cập nhật 2 thư mục này vào thư mục tienich nhé.

http://www.4shared.com/file/yt2k_9OA/_2__tienich.html

bác ơi giờ một số lệnh trong cad của em nó ko có dùng được nữa.làm thế nào để dùng được đây ạh. với cả là cái truy bắt điểm của em mỗi lần bật một file cad mới thí nó lại bị mất và mình lại phải bật lại.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
bác ơi giờ một số lệnh trong cad của em nó ko có dùng được nữa.làm thế nào để dùng được đây ạh. với cả là cái truy bắt điểm của em mỗi lần bật một file cad mới thí nó lại bị mất và mình lại phải bật lại.

Bị ảnh hưởng khi dùng lisp của mình hay tự nhiên bị vậy bạn? Bị mất lệnh gì?

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Bị ảnh hưởng khi dùng lisp của mình hay tự nhiên bị vậy bạn? Bị mất lệnh gì?

từ khi mà em cài cái líp của bác vào thì nó bị như thế ạh. các chế độ truy bắt điểm của em thì nó bị mất đi một số cái mỗi khi sử dụng nó. lệnh ctrl+a ko dùng được, lệnh wipeout....còn một số cái nữa thì vẫn dùng ngon lành ạh. bác xem thế nào hộ em với nha.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
từ khi mà em cài cái líp của bác vào thì nó bị như thế ạh. các chế độ truy bắt điểm của em thì nó bị mất đi một số cái mỗi khi sử dụng nó. lệnh ctrl+a ko dùng được, lệnh wipeout....còn một số cái nữa thì vẫn dùng ngon lành ạh. bác xem thế nào hộ em với nha.

-Các lệnh thì mình không bị nên không biết. Bạn gỏ nguyên lệnh có bị lổi ko nếu chỉ là lệnh tắt thì là bị trùng lệnh lisp, bạn nêu tên lệnh bị mình xem lại cho.

-Chế độ truy bắt điểm thì bạn vào tienich/lenh/run.lsp. Mở thèn này lên xóa dòng

(setvar "OSMODE" 191) đi là ok

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
-Các lệnh thì mình không bị nên không biết. Bạn gỏ nguyên lệnh có bị lổi ko nếu chỉ là lệnh tắt thì là bị trùng lệnh lisp, bạn nêu tên lệnh bị mình xem lại cho.

-Chế độ truy bắt điểm thì bạn vào tienich/lenh/run.lsp. Mở thèn này lên xóa dòng

(setvar "OSMODE" 191) đi là ok

vâng ạh.nhưng mà em ko thấy có cái lệnh run.lsp ở trong đó mà anh. cái lệnh mà em ko thể nào mà dùng được đó là lệnh ctrl+a, lệnh wipeout. đây là 2 lệnh em đã đánh rõ tên lệnh gốc mà nó cũng ko được mà anh.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

 

Đây là mã nguồn:

 

file CVIB.lsp

;;;  This is opensource sofware from www.cadviet.com;;;   You can modify or make anything you want with this lisp source(defun C:IB (/	       SYM_DCL_ID	   TEXT	     FILE	     SYMLIST   SLIST	 DESCR	   BLKNAME   SLDNAME	     VALUE	    )  (defun INIT_BLOCK ()    (setq symlist (vl-directory-files		    (strcat activepath curgroup "\\")		    "*.dwg"		  )	  slist	  (mapcar 'vl-filename-base symlist)	  symlist slist    )    (start_list "list_sym")    (mapcar 'add_list symLIST)    (end_list)    (set_tile "list_sym" "0")  )  (defun INIT_GROUP ()    (setq grplist  (vl-directory-files activepath "*.*" -1)	  grplist  (vl-remove "." grplist)	  grplist  (vl-remove ".." grplist)	  curGroup (car grplist)    )    (start_list "list_grp")    (mapcar 'add_list grpLIST)    (end_list)    (set_tile "list_grp" "0")  )  (defun disable ()    (cond      ((= 0 osn)       (mode_tile "scobj" 0)       (mode_tile "rot" 0)      )      ((and (= 1 osn))       (mode_tile "scobj" 1)       (mode_tile "rot" 1)      )    )  )  (defun IMAGE_ACT (VALUE)    (setq ITEM (nth (atoi VALUE) SYMLIST))    (setq      BLKNAME ITEM      SLDNAME (strcat ActivePath curGroup "\\" ITEM ".sld")      DESCR   ITEM      WIDTH   (dimx_tile "tile_1")      HEIGHT  (dimy_tile "tile_1")    )    (start_image "tile_1")    (fill_image 0 0 WIDTH HEIGHT 0)    (slide_image      0	0 WIDTH	HEIGHT SLDNAME)    (end_image)    (set_tile "desc_blk" DESCR)  )  (defun GROUP_ACT (VALUE)    (setq ITEM	    (nth (atoi VALUE) GRPLIST)	  curGroup  ITEM	  blockpath (strcat activepath curGroup "\\")    )    (INIT_BLOCK)    (IMAGE_ACT "0")  )  ;;---------------------------------------------------  (princ "\nIB program - © 2007, CADViet.com")  (princ "\n")  (princ "\n")  ;;(setq activepath "D:\\Hoanh\\@CadTool\\InsBlk\\")  (setq activepath (getcfg "AppData/CADViet/IB_Path"))  (while (or	   (not activepath)	   (not (vl-file-directory-p activepath))	   	 )    (setq cvname (getfiled "Hay chi dinh duong dan toi file CVIB.vlx de bat dau su dung lisp"			   "CVIB.vlx"                           "VLX"			   16			   )    )    (if (= (vl-filename-base cvname) "CVIB")      (setq activepath (strcat (vl-filename-directory  cvname) "\\"))    )  )  (setcfg "AppData/CADViet/IB_Path" activepath)    (setq SYM_DCL_ID (load_dialog "CVIB.dcl"))  (if (< SYM_DCL_ID 0)    (exit)  )  (new_dialog "symbol" SYM_DCL_ID)  (INIT_GROUP)  (INIT_BLOCK)  (setq sc 1)  (set_tile "scobj" (rtos sc))  (setq rt 0)  (set_tile "rot" (angtos rt))  (action_tile "list_grp" "(group_act $value)")  (action_tile "list_sym" "(image_act $value)")  (action_tile "osn" "(setq osn (atoi $value ))(disable)")  (action_tile "scobj" "(setq sc (atoi $value))(disable)")  (action_tile "rot" "(setq rt (atoi $value))(disable)")  (action_tile    "cancel"    "(setq blkname nil)"  )  (start_dialog)  (unload_dialog SYM_DCL_ID)  (if BLKNAME    (command "insert"	     (cond	       ((tblsearch "block" BLKNAME) BLKNAME)	       (t (strcat blockpath BLKNAME ".dwg"))	     )	     "s"	     sc	     "r"	     rt	     pause    )  )  (princ))(defun c:resetib()  (setcfg "AppData/CADViet/IB_Path" "")  (princ "\nDa reset thanh cong!")  (princ "\n")  (princ))(princ "\nIB da load thanh cong")(princ "\nHay dung lenh IB de bat dau su dung")(princ "\nHay dung lenh resetIB khi ban muon thiet lap lai duong dan")(princ "\n")(princ)

file CVIB.dcl:

symbol:dialog {  aspect_ratio = 0;		 label = "Chi dinh Block muon chen";: row {: boxed_column {	 label = "Ten nhom";	 : list_box {	   key = "list_grp";	   allow_accept = true;	 }}: boxed_column {	 label = "Ten Block";	 : list_box {	   key = "list_sym";	   allow_accept = true;	 }}	 : boxed_column {	   : toggle {		  label = "Chi dinh tren man hinh";	  key = "osn";	  mnemonic = "O";	  fixed_width = true;	   }	 label = "Goc xoay va ty le:";	 : edit_box {		label = "Scale 1 : ";	key = "scobj";	mnemonic = "S";	edit_width = 10;	label = "Ty le";	 }	 : edit_box {	label = "Goc: ";	key = "rot";	mnemonic = "A";	edit_width = 10;		 	 }   } 	 }	 : row {	   label = "Hinh anh Block";	   : icon_image {	   key = "tile_1";	   aspect_ratio = 0.9;	   fixed_height = true;	   fixed_width = true;	   width = 49;	   height = 12; 	   alignment = centered;	 }}	 : text {	   key = "desc_blk";	   width = 30;	   alignment = centered;	 }	 ok_cancel;}

Làm sao để khi dung lệnh IB thì nó sẽ hiện ra thư mục mà mình muốn mặc định, ví dụ C:\Cadviet\DuLieu vậy các bác?

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Tạo một tài khoản hoặc đăng nhập để nhận xét

Bạn cần phải là một thành viên để lại một bình luận

Tạo tài khoản

Đăng ký một tài khoản mới trong cộng đồng của chúng tôi. Điều đó dễ mà.

Đăng ký tài khoản mới

Đăng nhập

Bạn có sẵn sàng để tạo một tài khoản ? Đăng nhập tại đây.

Đăng nhập ngay

×