.5 Các thành phần chính trong cửa sổ

Một phần của tài liệu KHÓA LUẬN tốt NGHIỆP mô PHỎNG TÍNH TOÁN THIẾT kế THIẾT bị TRUYỀN NHIỆT vỏ bọc (Trang 48)

a. Tab Designer

Trường Đại Học Công Nghiệp Thực Phẩm TP.HCM Khoa Cơng nghệ Kỹ thuật Hóa học

‒ New : mở thêm file AppDesigner (.mlapp). Lưu ý đối với AppDesigner mở file không thể di chuyển Tab, không tách thành 2 cửa sổ được trừ khi mở thêm một cửa sổ MATLAB nữa

‒ Open : cho phép mở tệp tin gần đây để xem hoặc chỉnh sửa

‒ Save : có 3 chế độ là Save (lưu tệp tin đang mở) , Save As (lưu với một tên khác đè lên tên file cũ, file mới hiện lên, file cũ đóng) và Save Copy As ( giữ nguyên file cũ, sau khi đổi tên file mới, file mới sẽ nằm trong thư mục)

‒ Run : chạy và kiểm tra chương trình đã viết, có 2 chế độ chạy: 1 là chạy hết toàn bộ chương trình, 2 là chạy đến điều kiện đầu vào đã đưa ra.

b. Tab Canvas

Hình 3.7 Các cơng cụ trong tab Canvas

‒ Align : canh chỉnh lề cho các chi tiết đã chọn gồm có canh trái , canh giữa , canh phải , canh thẳng hàng ở phía trên chi tiết , canh thẳng hàng dựa vào trung điểm của các chi tiết theo chiều ngang , canh thẳng hàng ở phía dưới chi tiết .

‒ Same size (Arrange) : Sắp xếp các đối tượng có cùng kích cỡ với nhau, có 3 chế độ sắp xếp: theo chiều rộng và chiều cao giữa 2 chi tiết, theo chiều cao của chi tiết, theo chiều rộng của chi tiết.

‒ Grouping (Arrange) : Nhóm các chi tiết với nhau, phím tắt Ctrl + G, có thể thêm chi tiết mới vào group bằng Add to Group hoặc bỏ chi tiết ra khỏi group bằng Remove from Group. Hủy không tạo group giữa các chi tiết với nhau Ungroup (Ctrl + Shift + G).

Trường Đại Học Công Nghiệp Thực Phẩm TP.HCM Khoa Cơng nghệ Kỹ thuật Hóa học ‒ Space : chỉnh khoảng cách giữa tiêu đề chi tiết với chi tiết, có thể áp dụng cho hàng ngang (Apply Horizontally) hoặc hàng dọc(Apply Vertically).

‒ View : xem chế độ dạng lưới (tick vào ô Show Grid) hoặc không xem (bỏ tick vảo ô Show Grid), xem trợ giúp về canh chỉnh (Show alignment hints), xem trợ giúp về chỉnh kích cỡ giao diện (Show resizing hints)

‒ Run : chạy và kiểm tra chương trình đã viết, có 2 chế độ chạy: 1 là chạy hết tồn bộ chương trình, 2 là chạy đến điều kiện đầu vào đã đưa ra.

‒ : Nút ẩn các công cụ của 2 tab Designer và Canvas

3.1.2.2. Viết giao diện chương trình

‒ Để chuyển từ phần xem giao diện thiết kế (Design view) sang giao diện viết chương trình (Code view), click vào thanh chuyển chọn Code view. Sau khi bấm sẽ hiện giao diện như hình dưới đây.

Hình 3. 8 Giao diện viết chương trình‒ Trong cửa sổ này có: ‒ Trong cửa sổ này có:

Trường Đại Học Cơng Nghiệp Thực Phẩm TP.HCM Khoa Cơng nghệ Kỹ thuật Hóa học 1. Phần tìm kiếm mã code: cho phép tìm kiếm các câu lệnh đã viết trong ứng dụng bao gồm các Callbacks, Functions và Properties.

‒ Các callbacks là phần mã code viết cho các chi tiết (thường là các chi tiết lớn như Button Pushed)

‒ Functions là các hàm thực hiện có trong ứng dụng, có 2 kiểu Functions: riêng tư (Private) và công cộng (Public).

+ Chế độ riêng tư (Private): chia sẻ các functions sử dụng chỉ trong nội bộ app + Chế độ công cộng (Public): chia sẻ các functions sử dụng từ app này sang app khác (hay nói cách khác là bên ngồi app)

‒ Properties là các giá trị sử dụng trong app, có 2 kiểu Properties: riêng tư (Private) và công cộng (Public).

+ Chế độ riêng tư (Private): chia sẻ các properties sử dụng chỉ trong nội bộ app. + Chế độ công cộng (Public): chia sẻ các properties sử dụng từ app này sang app khác (hay nói cách khác là bên ngồi app)

2. Phần cho phép nhìn thấy bố cục ứng dụng: cho phép người thiết kế vừa thiết kế vừa theo dõi bố cục app đã viết mà không cần phải bấm về chế độ Design view. 3. Phần tìm kiếm chi tiết: Tìm kiếm các code tương ứng với các chi tiết, chèn các code của chi tiết vào khi viết chương trình

4. Phần thuộc tính của chi tiết: thể hiện các thuộc tính đặc trưng của chi tiết như phơng chữ, tương tác với chi tiết, vị trí trong giao diện…

Trường Đại Học Công Nghiệp Thực Phẩm TP.HCM Khoa Cơng nghệ Kỹ thuật Hóa học ‒ Ở cửa sổ này cũng có 2 tab giống nhau phần thiết kế giao diện cho ứng dụng gồm Designer và Editor.

a. Tab Designer

Hình 3.10 Các cơng cụ trong tab Designer

‒ New : mở thêm file AppDesigner (.mlapp). Lưu ý đối với AppDesigner mở file không thể di chuyển Tab, không tách thành 2 cửa sổ được trừ khi mở thêm một cửa sổ MATLAB nữa

‒ Open : cho phép mở tệp tin gần đây để xem hoặc chỉnh sửa

‒ Save : có 3 chế độ là Save (lưu tệp tin đang mở) , Save As (lưu với một tên khác đè lên tên file cũ, file mới hiện lên, file cũ đóng) và Save Copy As ( giữ nguyên file cũ, sau khi đổi tên file mới, file mới sẽ nằm trong thư mục)

‒ Run : chạy và kiểm tra chương trình đã viết, có 2 chế độ chạy: 1 là chạy hết tồn bộ chương trình, 2 là chạy đến điều kiện đầu vào đã đưa ra.

b. Tab Editor

Hình 3.11 Các cơng cụ trong tab Editor

‒ Save : có 3 chế độ là Save (lưu tệp tin đang mở) , Save As (lưu với một tên khác đè lên tên file cũ, file mới hiện lên, file cũ đóng) và Save Copy As ( giữ nguyên file cũ, sau khi đổi tên file mới, file mới sẽ nằm trong thư mục).

Trường Đại Học Công Nghiệp Thực Phẩm TP.HCM Khoa Cơng nghệ Kỹ thuật Hóa học

‒ Callback (Insert) : chèn thêm callbacks vào trong ứng dụng.

‒ Function (Insert) : chèn thêm function vào trong ứng dụng, tùy chọn dạng chèn private hoặc public.

‒ Property (Insert) : chèn thêm properties vào trong ứng dụng, tùy chọn dạng chèn private hoặc public.

‒ Go to (Navigate) : điều hướng con trỏ tới vị trí dịng cần tìm + Go to (Navigate) : điều hướng con trỏ tới code cần tìm.

‒ Comment (Edit) : lệnh comment cho phép người dùng ghi chú mà không bị ảnh hưởng đến các lệnh thực thi của chương trình, lệnh xóa comment cho phép người dùng ngưng thao tác lệnh comment.

‒ Indent (Edit) :canh chỉnh tất cả câu lệnh có trong app và theo các tầng (class) của nó , canh chỉnh 1 dịng câu lệnh về phía bên phải , canh chỉnh 1 dịng câu lệnh về phía bên trái

‒ : cho phép hiển thị những cảnh báo khi sai câu lệnh

3.2. Thiết kế dao diện

Kéo và thả chi tiết Tab Group vào trong cửa sổ thiết kế. Đồng thời kéo Label vào trong cửa sổ. Thực hiện các thay đổi sau:

‒ Tab → Tính cơ cấu thiết bị

‒ Tab 2 → Tính diện tích bề mặt truyền nhiệt ‒ Tab 3 → Tính bích nối

‒ Tab 4 → Tính đáy nắp

‒ Tab 5 → Tính tai treo chân đỡ

3.2.1. Tab tính cơ cấu thiết bị

Kéo và thả 2 Panel vào trong cửa sổ thiết kế. Đồng thời kéo và thả thêm 5 Drop

Down và 14 Edit Field vào trong 1 Panel. Panel thứ 2 thêm vào2 Edit Field và 5 Edit

Field. Thực hiện các thay đổi sau:

3.2.1.1. Đối với Panel 1

‒ Đổi tên Panel → Thông số nhập liệu

‒ Vào Penel Properties → Backround Color → Đổi màu cho Panel ‒ Đổi tên Edit Field → Nhiệt độ dịng nóng vào

Trường Đại Học Công Nghiệp Thực Phẩm TP.HCM Khoa Cơng nghệ Kỹ thuật Hóa học ‒ Đổi tên Edit Field 2 → Nhiệt độ dòng lạnh vào

‒ Đổi tên Edit Field 4 → Nhiệt độ dòng lạnh ra

‒ Đổi tên Edit Field 5 → Áp suất làm việc của thiết bị ‒ Đổi tên Edit Field 6 → Thời gian làm việc của thiết bị ‒ Đổi tên Edit Field 7 → Lưu lượng nhập liệu

‒ Đổi tên Edit Field 8 → Đường kính vịng xoắn ‒ Đổi tên Edit Field 9 → Chiều dài vòng xoắn ‒ Thay đổi các Option trong Drop Down như sau:

+ Option 1→ Thiết bị vỏ bọc trơn + Option 2 → Thiết bị vỏ bọc ống xoắn

‒ Thay đổi các Option trong Drop Down 1 như sau: + Option 1→ Thép CT3 + Option 2 → Thép 15K + Option 3→ Thép 20K + Option 4 → Thép 25K + Option 5 → Thép 15XM + Option 6 → Thép 12XM + Option 7 → Thép 1X18H9T

‒ Thay đổi các Option trong Drop Down 2 như sau: + Option 1→ Đáy hum

+ Option 2 → Đáy elip + Option 3→ Đáy nón

‒ Thay đổi các Option trong Drop Down 3 như sau: + Option 1→ H2O

+ Option 2 → Methanol + Option 3→ Acetone + Option 4 → Ethanol

+ Option 5 → Cacbon tetra Chloride + Option 6 → CacbondiSunfide + Option 7 → Trichchloroethylene + Option 8→ Dichloroethane + Option 9 → AcetalDehyde + Option 10→ Acid Acetic + Option 11 → Acetamide

Trường Đại Học Công Nghiệp Thực Phẩm TP.HCM Khoa Cơng nghệ Kỹ thuật Hóa học + Option 13 → PropionicAcid

‒ Thay đổi các Option trong Drop Down 4 như sau: + Option 1→ Dịng nóng trong thiết bị

+ Option 2 → Dịng nóng ngồi thiết bị

‒ Thay đổi các Option trong Drop Down 5 như sau: + Option 1→ H2O

+ Option 2 → Dầu máy biến áp + Option 3→ Hơi bão hòa

3.2.1.2. Đối với Panel2

‒ Đổi tên Panel → Kết quả tính tốn

‒ Vào Penel Properties → Backround Color → Đổi màu cho Panel ‒ Đổi tên Button → Kết quả

‒ Đổi tên Button 1 → Làm mới

‒ Đổi tên Edit Field → Thể tích thiết bị

‒ Đổi tên Edit Field 1 → Chiều cao thân thiết bị ‒ Đổi tên Edit Field 2 → Chiều cao vỏ thiết bị ‒ Đổi tên Edit Field 3 → Đường kính thân thiết bị ‒ Đổi tên Edit Field 4 → Đường kính vỏ thiết bị

3.2.1.3. Sắp xếp các đối tượng

‒ Sắp xếp các đối tượng cho logic và thao tác dễ dàng với người sử dụng. Kết quả nào trước để trước, kết quả có sau để sau.

‒ Kéo kích cỡ cửa sổ lại vừa vặn với các đối tượng cũng như dễ dàng khi mở lên. ‒ Dùng Align > Canh thẳng hàng để chỉnh các nút Button nằm thẳng hàng với nhau.

Trường Đại Học Công Nghiệp Thực Phẩm TP.HCM Khoa Cơng nghệ Kỹ thuật Hóa học

Hình 3. 12 Kết quả giao diện tính cơ cấu thiết bị

3.2.2. Tab Tính diện tích truyền nhiệt

Kéo thả đối tượng Edit Field, DropDow và Button vào cửa sổ thiết kế. Thực hiện các thay đổi sau:

‒ Đổi tên Button → Kết quả ‒ Đổi tên Button 1 → Làm mới

‒ Vào Penel Properties → Backround Color → Đổi màu cho Tab ‒ Thay đổi các Option trong Drop Down 1 như sau:

+ Option 1→ Xuôi chiều + Option 2 → Ngược chiều + Option 3→ Vng góc

‒ Thay đổi các Option trong Drop Down 2 như sau: + Option 1→ Cánh khuấy mái chèo

+ Option 2 → Cánh khuấy mỏ neo + Option 3→ Cánh khuấy turbin + Option 4→ Cánh khuấy chân vịt ‒ Đổi tên Edit Field → Đường kính cánh ‒ Đổi tên Edit Field 1 → Nhiệt lượng ‒ Đổi tên Edit Field 2 → Hệ số truyền nhiệt

Trường Đại Học Công Nghiệp Thực Phẩm TP.HCM Khoa Cơng nghệ Kỹ thuật Hóa học ‒ Sắp xếp các đối tượng cho logic và thao tác dễ dàng với người sử dụng. Kết quả nào trước để trước, kết quả có sau để sau.

‒ Kéo kích cỡ cửa sổ lại vừa vặn với các đối tượng cũng như dễ dàng khi mở lên. ‒ Dùng Align > Canh thẳng hàng để chỉnh các nút Button nằm thẳng hàng với nhau

Hình 3. 13 Giao diện tính diện tích bề mặt trao đổi nhiệt

3.2.3. Tab đáy và nắp

Kéo thả đối tượng Edit Field, Axex và Button vào cửa sổ thiết kế. Thực hiện các thay đổi sau:

‒ Đổi tên Button → Kết quả

‒ Vào Penel Properties → Backround Color → Đổi màu cho Tab ‒ Đổi tên Button 1 → Làm mới

‒ Đổi tên Edit Field 1 → Bề dày đáy trong ‒ Đổi tên Edit Field 2 → Bề dày đáy ngoài ‒ Đổi tên Edit Field 3 → Bề dày nắp

Trường Đại Học Công Nghiệp Thực Phẩm TP.HCM Khoa Cơng nghệ Kỹ thuật Hóa học

Hình 3. 14 Giao diện đáy nắp

3.2.4. Tab mặt bích

Kéo thả đối tượng Edit Field, Axex và Button vào cửa sổ thiết kế. Thực hiện các thay đổi sau:

‒ Vào Penel Properties → Backround Color → Đổi màu cho Tab ‒ Đổi tên Button → Kết quả

‒ Đổi tên Button 1 → Làm mới ‒ Đổi tên Edit Field 1 → D ‒ Đổi tên Edit Field 2 → Db ‒ Đổi tên Edit Field 3 → Z ‒ Đổi tên Edit Field 4 → h

Trường Đại Học Công Nghiệp Thực Phẩm TP.HCM Khoa Cơng nghệ Kỹ thuật Hóa học

Hình 3. 15 Giao diện mặt bích

3.2.5. Tab tai treo chân đỡ

Kéo thả đối tượng Edit Field, Axex và Button vào cửa sổ thiết kế. Thực hiện các thay đổi sau:

‒ Vào Penel Properties → Backround Color → Đổi màu cho Tab ‒ Đổi tên Button → Kết quả

‒ Đổi tên Button 1 → Làm mới ‒ Đổi tên Edit Field 1 → G ‒ Đổi tên Edit Field 2 → F ‒ Đổi tên Edit Field 3 → q ‒ Đổi tên Edit Field 4 → L ‒ Đổi tên Edit Field 5 → B ‒ Đổi tên Edit Field 6 → B1 ‒ Đổi tên Edit Field 7 → B2 ‒ Đổi tên Edit Field 8 → H ‒ Đổi tên Edit Field 9 → h ‒ Đổi tên Edit Field 1 → s ‒ Đổi tên Edit Field 2 → l ‒ Đổi tên Edit Field 3 → d

Trường Đại Học Công Nghiệp Thực Phẩm TP.HCM Khoa Cơng nghệ Kỹ thuật Hóa học

Hình 3. 16 Giao diện tai treo chân đỡ

3.3. Viết callbacks cho nút đáy nắp

% duong kinh trucc khuay

Mx=(1.5*app.Ndc)/app.n

Dtr=(((16*Mx)/(pi*app.t*app.us))^3)^(1/3) %nắp

S_n=(app.ptt/(2*app.hsb*app.us-app.ptt))*(app.Dtrtr/cos(app.emphaC_d))+app.C % tang ben cho lo

d0=2*((app.S_t/(app.S_t-app.C))-0.875*(sqrt((app.Dtrtr*(app.S_t- app.C)))))

% tinh day than

if strcmp(app.CD.Value,'Đáy khum') app.Sd=app.Dtrtr*(sqrt((app.ptt*0.25)/app.us)) app.Fd=pi*(app.Dtrtr^2/2) elseif strcmp(app.CD.Value,'Đáy nón') app.Sd=(app.ptt/(2*app.hsb*app.us-app.ptt))*(app.Dtrtr/cos(app.emphaC_d)) +app.C app.Fd=pi*(app.Dtrtr^2/2)*sqrt((app.Dtrtr^2/2)^2+(app.hd)^2) elseif strcmp(app.CD.Value,'Đáy cầu')

app.Sd=(app.ptt/((2*app.hsb*app.us)- (0.5*app.ptt)))*(app.Dtrtr/(4*app.hd))+app.C

Trường Đại Học Công Nghiệp Thực Phẩm TP.HCM Khoa Cơng nghệ Kỹ thuật Hóa học % tinh day vo if strcmp(app.CD.Value,'Đáy khum') app.Sdn=app.Dtrtr*(sqrt((app.p_ng*0.25)/app.us)) elseif strcmp(app.CD.Value,'Đáy nón') app.Sdn=(app.ptt/(2*app.hsb*app.us-app.p_ng))*(app.Dtrtr/cos(app.emphaC_d)) +app.C

elseif strcmp(app.CD.Value,'Đáy cầu') app.Sdn=(app.ptt/((2*app.hsb*app.us)- (0.5*app.p_ng)))*(app.Dtrtr/(4*app.hd))+app.C

end

% hien thi ket qua

app.sn.Value=S_n; app.sd.Value=app.Sd; app.s_dn.Value=app.Sdn;

3.4. Viết callbacks cho nút mặt bích

Dtb_new=ceil(app.Dtrtr) Dtb_mb=Dtb_new*10^3

v_P = [0.1 0.3 0.6 1 1.6 2.5 4 6.4] vidx = find((app.p )< v_P,1,'first')

if ~isempty(vidx) P2 = v_P(vidx) end t5=readtable('Bangsolieu.xlsx','sheet',2) k = 1 for i = 1:size(t5,1)

if (t5{i,1} == (P2)) && (t5{i,2} == Dtb_mb)

ketqua =table2array(t5(i,:)) app.h1 = table2array(t5(i,9)) Z=table2array(t5(i,8)) app.D_bich1 =table2array(t5(i,3)) app.d_b=table2array(t5(i,4)) k = k+1 end end app.h.Value=app.h1; app.db.Value=app.D_bich1; app.D_b.Value=app.d_b; app.z.Value=Z;

3.5. Viết callbacks cho nút tai treo chân đỡ

%khoi gluong than thiet bi

Trường Đại Học Công Nghiệp Thực Phẩm TP.HCM Khoa Cơng nghệ Kỹ thuật Hóa học m1=(((pi*(app.Dngtr^2))/4)-((pi*(app.Dtrtr)^2)))*app.H*ro_thep m2=((pi*((app.Dngng)^2)/4)-(pi*((app.Dtrng)^2)))*app.H*ro_thep m3=app.Fd*(app.Sd*10^-3)*ro_thep m4=app.Fd*(app.Sdn*10^-3)*ro_thep %m5=(pi*(app.h1*(10^-3))*ro_thep*((((app.D_bich1*(10^-3))^2)- ((app.d_b*(10^-3)))^2))/4) m5=(((pi*(app.D_bich1*(10^-3))^2)/4)-((pi*(app.d_b*(10^-3))^2)/4))*app.h1*ro_ thep m6=app.Gnl m=m1+m2+m3+m4+m5+m6 G=10*m

% Tai treo - chan do

t8 = readtable('bangsolieu.xlsx','sheet',6);% chan t9 = readtable('bangsolieu.xlsx','sheet',7);%tai TREO T8 = t8{:,:} T9 = t9{:,:} k = 4 G1 = G/k if G1 <= 80000 v = sort(T8(:,1))

vidx = find(v >= G1,1,'first')

if ~isempty(vidx) L = T8(T8(:,1) == v(vidx),:) V_table = array2table(L) end sochando=k %G=table2array( tGt=(L(:,1)) app.fcd.Value=tGt app.qc.Valued=(L(:,3)) app.lcd.Value=(L(:,4)) app.bcd.Value=(L(:,5)) app.b1cd.Value=(L(:,6)) app.b2cd.Value=(L(:,7)) app.hcd.Value=(L(:,8)) app.hc.Value=(L(:,9)) app.sc.Value=(L(:,10)) app.lc.Value=(L(:,11)) app.dcd=(L(:,12)) elseif G1 > 80000

Trường Đại Học Công Nghiệp Thực Phẩm TP.HCM Khoa Cơng nghệ Kỹ thuật Hóa học

j = 4

ptb = k_new +j G2 = G/ptb

v1 = sort(T9(:,1))

vidx1 = find(v1 >= G2,1,'first')

if ~isempty(vidx1) L1 = T9(T9(:,1) == v1(vidx1),:) V1_table = array2table(L1) end sotaitreo=j while G2 > 80000 j = j+4 ptb = k_new+j G2 = G/ptb v1 = sort(T9(:,1))

vidx1 = find( v1 >=G2,1,'first')

if ~isempty(vidx1) L1 = T9(T9(:,1) == v1(vidx1),:) end sotaitreo=j end end

3.6. Mô phỏng thiết bị nồi hai vỏ3.6.1. Mô phỏng đáy nắp thiết bị 3.6.1. Mô phỏng đáy nắp thiết bị

Bước 1: Chọn mặt phẳng bằng Front Plane để vẽ thiết bị, nhấp chọn biểu tượng Circle trên thanh Sketch hoặc nhấn phím tắt C trên bàn phím rồi Enter.

Bước 2: Chọn tâm đường trịn.

Bước 3: Thay đổi đường kính tại bảng Parameters. Tại nhập giá trị bán kính 1000 sau đó nhấn Enter kết thúc.

Bước 3: Nhấn chọn biếu tượng tạo vòm khối 3D và chọn chiều cao là 600mm, nhấn Enter để kết thúc lệnh.

Bước 4: Chọn mặt phẳng Top Plane, vào Sket chọn vẽ đường trịn nhập bán kính 90 nhấn Enter để kết thúc lệnh.

Bước 5: Vào Feature chọn lệnh tạo khối đùn 3D nhập khoảng cách cần đùn 50mm, nhán Enter để kết thúc lệnh.

Trường Đại Học Công Nghiệp Thực Phẩm TP.HCM Khoa Cơng nghệ Kỹ thuật Hóa học

Hình 3. 17 Mơ phỏng nắp thiết bị

3.6.2. Mô phỏng thân thiết bị

Bước 1: Chọn mặt phẳng bằng Front Plane để vẽ thiết bị, nhấp chọn biểu tượng Circle trên thanh Sketch hoặc nhấn phím tắt C trên bàn phím rồi Enter.

Bước 2: Vào Feature chọn lệnh tạo khối đùn 3D nhập khoảng cách cần đùn 1500mm, nhán Enter để kết thúc lệnh.

Bước 3: Vào Feature chọn lệnh làm rỗng thân thiết bị nhập khoảng cách 1500mm , nhấn Enter để kết thúc lệnh.

Bước 4: Chọn mặt phẳng bằng Top Plane, tại mặt phẳng sử dụng lệnh để vẽ vỏ

Một phần của tài liệu KHÓA LUẬN tốt NGHIỆP mô PHỎNG TÍNH TOÁN THIẾT kế THIẾT bị TRUYỀN NHIỆT vỏ bọc (Trang 48)

Tải bản đầy đủ (PDF)

(126 trang)