Đến nội dung


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

Viết lisp theo yêu cầu [phần 2]


  • Chủ đề bị khóa Chủ đề bị khóa
3783 replies to this topic

#621 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 6009 Bài viết
Điểm đánh giá: 3113 (tuyệt vời)

Đã gửi 27 December 2009 - 09:18 PM

Cam on bac phamthanhbinh
Ve do doc ngieng co the nhap bang tay, con chia lop bat dau tinh tu diem cao nhat cua mien kin, neu phan nay phuc tap qua thi cac bac co the giup viet tu phan xuat ket qua ra bang va file text con phan chia lop thi de lam thu cong cung duoc.
Xin loi vi post tren dien thoai nen khong go dau duoc mong ca nha thong cam

Chào bạn ohay102,
Bạn có thể post một file bản vẽ dwg mẫu định làm và file hiển thị kết quả mong muốn được không? Ví mình không phải có chuyên môn như bạn nên việc tạo ra một bản vẽ mẫu sợ không đúng với cái bạn cần.
Yêu cầu của bạn theo mình là lisp có thể giải quyết được bạn ạ.
  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#622 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 28 December 2009 - 08:04 AM

Chào bạn minhthuantp,
Bác SSG đã giải thích rồi, mình chỉ xin nói thêm là các list có chứa cái dot pair này là các list đặc biệt được gọi là associate list. Nó cho phép sử dụng với hàm assoc. Các list thông thường sẽ không dùng với hàm assoc được. Và như bạn thấy, với loại list này, không sự dụng hàm nth được bạn ạ.
Bạn nhớ thêm rằng hàm cdr không phải là lấy phần tử thứ hai dâu nhé mà là lấy một list chứa các phần tử từ phần tử thứ hai của một list tới phần tử cuối cùng của list đó.
Nếu bạn muốn lấy chỉ duy nhất phần tử thứ hai của một list thì phải dùng hàm cadr bạn nhé. Ví dụ: (cadr (10 . 9.0 8.0 2.0) ) sẽ trả về 9.0 , còn hàm (cdr (10 . 9.0 8.0 2.0) sẽ trả về (9.0 8.0 2.0) bạn ạ.
Chúc bạn sớm trở thành một lispman nha.

Chào bác PhamThanhBinh
Em thấy dòng bác viết có 1 dấu chấm sau số 10. Cái này là không thể có được bác ạ.
(cadr (10 . 9.0 8.0 2.0) ) -> Không tthể có List như thế này (10 . 9.0 8.0 2.0)

Cái nữa em chưa đồng tình với bác ở quan điểm này :
mình chỉ xin nói thêm là các list có chứa cái dot pair này là các list đặc biệt được gọi là associate list. Nó cho phép sử dụng với hàm assoc. Các list thông thường sẽ không dùng với hàm assoc được.
-> Bác nói vậy thì ngoại trừ Dotted pair, các list thông thường sẽ không sử dụng với hàm assoc ? Tue_NV thấy chưa đồng tình ở quan điểm này lắm. vì như List này vẫn có thể sử dụng hàm assoc được
((10 2) (9 3))
hay ((10 (9 8 7)) (9 (7 8 9)))
2 cái List này đâu phải là dotted pair ?

Cảm ơn vì lời chúc của bác. Và em cũng chúc bác sức khoẻ
Cảm ơn bác
  • 1

#623 dlongkts

dlongkts

    biết vẽ line

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

Đã gửi 28 December 2009 - 10:01 AM

Chào các bạn trong diễn đàn Cadviet
Mình có một khó khăn nhỏ mong các bạn giúp đỡ. Khó khăn là mình muốn copy một block attribute sao cho các con số tăng dần theo một cấp số cộng n nào đó
Mình cảm ơn trước nha
  • 0

#624 dlongkts

dlongkts

    biết vẽ line

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

Đã gửi 28 December 2009 - 12:58 PM

Mình có file cad mà sẽ gửi dưới đây rất muốn các bạn trong diễn đàn giúp đỡ. Mình muốn copy đối tượng với công sai n=1
http://www.cadviet.c...new_block_9.dwg
  • 0

#625 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 6009 Bài viết
Điểm đánh giá: 3113 (tuyệt vời)

Đã gửi 28 December 2009 - 06:15 PM

Chào bác PhamThanhBinh
Em thấy dòng bác viết có 1 dấu chấm sau số 10. Cái này là không thể có được bác ạ.
(cadr (10 . 9.0 8.0 2.0) ) -> Không tthể có List như thế này (10 . 9.0 8.0 2.0)

Cái nữa em chưa đồng tình với bác ở quan điểm này :
mình chỉ xin nói thêm là các list có chứa cái dot pair này là các list đặc biệt được gọi là associate list. Nó cho phép sử dụng với hàm assoc. Các list thông thường sẽ không dùng với hàm assoc được.
-> Bác nói vậy thì ngoại trừ Dotted pair, các list thông thường sẽ không sử dụng với hàm assoc ? Tue_NV thấy chưa đồng tình ở quan điểm này lắm. vì như List này vẫn có thể sử dụng hàm assoc được
((10 2) (9 3))
hay ((10 (9 8 7)) (9 (7 8 9)))
2 cái List này đâu phải là dotted pair ?

Cảm ơn vì lời chúc của bác. Và em cũng chúc bác sức khoẻ
Cảm ơn bác

Chào bác Tue_NV,
Đúng như bác nói, vì mình chỉ học mót từ Help nên kiến thức nó lôm côm lắm, có cái mình hiểu đúng nhưng cũng có cái mình hiểu sai, vì vậy mình mới post cái bản gốc tiếng Anh lên để mọi người xem giùm.
Mình cũng đã thử cái associated list với nhiều hơn hai phần tử thì không được mà chả hiểu tại sao. Theo bản gốc tiếng anh thì định nghĩa của associated list chỉ cần có 1 phần tử tương tác (association) và một dữ lịêu tương tác (the data) được ngăn cách bởi dấu chấm (dotted pair). Nhưng cái dữ liệu này ra sao thì mình chưa rõ lắm. Nó có thể là một list hay không (tức là nhiều phần tử đó)????
Cũng theo định nghĩa về hàm assoc thì cái list mà mình tìm kiếm trong đó (alist ) là một association list , nó có phải là associated list hay không ???
Hề hề hề, cái dốt nó nằm ở chỗ này bác ạ, vì thế mình mới hiểu nó lôm côm, mong bác đừng giận.
Rất cám ơn bác đã chỉ cho mình những chỗ mà mình còn đang ngớ ngẩn bác à.
Thực tế trong quá trình mót , mình copy của mọi người là nhiều chứ còn hiểu cho thật cặn kẽ thì chưa nên cái sai sót là tất yếu. Đó cũng là lý do để mình tham gia vào topic này hòng mót được nhiều hơn mà bác. Đừng giận mình khi mình có những cái sai ngớ ngẫn như vậy.
Chào bác và chúc bác luôn mạnh khỏe.
  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#626 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 6009 Bài viết
Điểm đánh giá: 3113 (tuyệt vời)

Đã gửi 28 December 2009 - 06:20 PM

Chào các bác.
các bác có thể viết cho em một file lisp với nội dung như sau:
+ copy hoặc move các đối tượng với thứ tự được chọn tương ứng với khoảng cách mình nhập tọa độ
+ chọn lần lượt các đối tượng 1,2,3,...n-1,n. Sau đó nhập tọa độ lần lượt tương ứng với vị trí cần dời đến.

Chào bạn muoild,
Bạn dùng thử cái này xem sao, nếu cần bổ sung gì thì hãy pót lên nhé.

(defun c:mulmov ()
(setq ss (ssget)
n (sslength ss)
i 0
lstd (list)
lstg (list))
(while (< i n)
(setq d (getdist "\n Nhap khoang cach di chuyen: ")
g (getangle "\n Nhap goc di chuyen theo do: ")
lstd (append lstd (list d))
lstg (append lstg (list g))
i (1+ i)
)
)
(command "undo" "be")
(setq i 0 p (getpoint "\n Chon diem bat ky"))
(while (< i n)
(command "move" (ssname ss i) "" p (polar p (nth i lstg) (nth i lstd)))
(setq i (1+ i))
)
(command "undo" "e")
(princ)
)

Chúc bạn vui.
  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#627 VoHoan

VoHoan

    biết lệnh move

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

Đã gửi 29 December 2009 - 11:14 AM

Các ban trong diễn đàn cho hỏi khi thực hiện lisp thi Cad báo lỗi "bad argument type: lselsetp nil" là lỗi như thế nào?
  • 0

#628 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 6009 Bài viết
Điểm đánh giá: 3113 (tuyệt vời)

Đã gửi 29 December 2009 - 12:35 PM

Mình có file cad mà sẽ gửi dưới đây rất muốn các bạn trong diễn đàn giúp đỡ. Mình muốn copy đối tượng với công sai n=1
http://www.cadviet.c...new_block_9.dwg

Hề hề hề,
Cái này hình như có rồi, bác chịu khó tìm kiếm một tí, nha.
Cái bản vẽ bác gửi mình không mở được, vậy nên chả thể giúp gì bác ạ.
  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#629 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 6009 Bài viết
Điểm đánh giá: 3113 (tuyệt vời)

Đã gửi 29 December 2009 - 12:44 PM

Các ban trong diễn đàn cho hỏi khi thực hiện lisp thi Cad báo lỗi "bad argument type: lselsetp nil" là lỗi như thế nào?

Cái lỗi này là do trong lisp của bạn có chứa một biến nào đó, mà biến này không thể nhận giá trị là nil. Do vậy khi bạn chạy, vì lý do nào đó, có thể do bạn đã chạy một lisp khác có biến trùng tên với lisp này và sau khi chạy xong nó trả về nil, cũng có thể do việc khai báo biến của bạn,.......
Ở đây cái argument của hàm số mình cũng gọi là biến.
Tỷ như hàm (/ a b ) thì b không thể là nil bạn ạ.
  • 1
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#630 VoHoan

VoHoan

    biết lệnh move

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

Đã gửi 29 December 2009 - 02:04 PM

Cái lỗi này là do trong lisp của bạn có chứa một biến nào đó, mà biến này không thể nhận giá trị là nil. Do vậy khi bạn chạy, vì lý do nào đó, có thể do bạn đã chạy một lisp khác có biến trùng tên với lisp này và sau khi chạy xong nó trả về nil, cũng có thể do việc khai báo biến của bạn,.......
Ở đây cái argument của hàm số mình cũng gọi là biến.
Tỷ như hàm (/ a b ) thì b không thể là nil bạn ạ.

Cảm ơn bạn nhé, mình sẽ kiểm tra lại xem sao.
  • 0

#631 VoHoan

VoHoan

    biết lệnh move

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

Đã gửi 29 December 2009 - 02:16 PM

Các cao thủ CadViet cho mình hỏi thế này: Mình có 1 đa giác kín, muốn chọn các đối tượng năm trong đa giác đó thì khi viết lisp sẽ dùng lựa chọn đối tượng theo cách "CP" hoặc "WP" với danh sách điểm là các đỉnh của đa giác đó. Tuy nhiên nếu đa giác đó là đa giác lồi thì không có vân đề gì, còn với đa giác lõm có hình phức tạp thì thường bị lỗi. Đấy là theo suy nghĩ của mình, bác nào có cách nào hay hoặc khắc phục nhược điểm trên của mình chỉ giúp với nhé. Xin cảm ơn.
  • 0

#632 duongepu

duongepu

    biết zoom

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

Đã gửi 29 December 2009 - 03:24 PM

Chào pro trong diễn đàn cadviet.xin viết cho em bài lisp theo yêu cầu của hình vẽ với .
[url="http://www.cadviet.com/upfiles/2/dao_xoc.dwg"]Visit My Website[/url
Em cảm ơn diễn đàn!
  • 0

#633 duongepu

duongepu

    biết zoom

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

Đã gửi 29 December 2009 - 03:25 PM

Chào pro trong diễn đàn cadviet.xin viết cho em bài lisp theo yêu cầu của hình vẽ với .
File
Em cảm ơn diễn đàn!
  • 0

#634 gia_bach

gia_bach

    biết lệnh adcenter

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

Đã gửi 29 December 2009 - 04:06 PM

Công nhận gia_bach viết LISP quá ghê!
Để tạo ra Pid.lsp chắc phải tốn rất nhiều công phu

Sau khi Test có vài nhận xét sau:
- Việc đặt tên Point có lẽ nên định hướng lại
Từ trái sang phải thì phải từ trên xuống dưới (theo quy luật đọc văn bản)
- Chỉnh sửa tí xíu về khoảng cách Text trong Table so với đường ngang bên dưới (hơi sát quá)

Ngoài lề một chút (làm khó tác giả tí)
- Lisp trên chạy tốt rồi nhưng vẫn còn những giới hạn
- Nếu sau khi đặt tên và xuất Table cho Point nếu có một chỉnh sửa nhỏ xảy ra ví dụ di chuyển Point chẳng hạn thì sẽ xuất hiện những lố bịch ngay
Lúc đó người dùng sẽ phải gọi lệnh lại vừa phải xoá đi table và Tên point đã đánh
Tác giả nghiên cứu thêm có thể update table sau khi modify được k? (xem ra việc này hơi khó nhỉ!!!)

Cám ơn các lời nhận xét của bác trinhvqh. (do chủ quan của nguời viết nên 1 số chi tiết chưa hoàn chỉnh)

Gửi bác Lisp đã cập nhật theo các yêu cầu ở trên.

về ý kiến : khoảng cách Text trong Table so với đường ngang bên dưới (hơi sát quá)
- tương tự Text và dimension, CAD cung cấp TABLE STYLE để quản lý các đối tuợng Table. Do đó khoảng cách Text trong Table (do LISP tạo ra) chỉ là tạm thời, tùy theo chủ quan và quy định mỗi nguời (cty) sẽ tự tạo TABLE STYLE theo ý mình.

Quản lý đối tuợng CAD theo các xì-tin (Style) cũng đuợc xem là một "PRỒ" chứ nhỉ ?! :(
(defun c:Pid(/ cen doc i h height lst msp ov pt row str stt tblobj vl width x y) ;Point ID out
;; By : Gia Bach, Copyrightゥ December 2009 ;;
;; Contact : gia_bach @ www.CadViet.com ;;
(if (> (atof (substr (getvar "ACADVER") 1 4)) 16.0) (progn
(princ "\nChon cac POINT de xuat ra Bang toa do :")
(if (ssget '((0 . "POINT")))
(progn
(vl-load-com)
(setq doc (vla-get-ActiveDocument (vlax-get-Acad-Object))
msp (vla-get-modelspace doc))
(vlax-for e (vla-get-ActiveSelectionSet doc)
(setq cen (vlax-safearray->list (variant-value (vla-get-Coordinates e)))
lst (cons (list e cen )lst))
);vlax-for
(setq lst (vl-sort lst '(lambda (x y) (or (< (car (cadr x)) (car (cadr y)));Check X
(and (> (cadr (cadr x)) (cadr (cadr y)));Check Y
(= (car (cadr x)) (car (cadr y)));Equal X
) ) ) )
str (cadr (last lst))
lst (append (mapcar 'car lst) ) )
(setq vl '("dimzin" "cmdecho") ; Sys Var list
ov (mapcar 'getvar vl)) ; Get Old values
(mapcar 'setvar vl '(0 0))
(or *h* (setq *h* 175))
(initget 6)
(setq h (getreal (strcat "\nChieu cao chu <" (rtos *h*) "> :")))
(if h (setq *h* h) (setq h *h*) )
(if (> (car str)(cadr str) )
(setq str (car str))
(setq str (cadr str)))
(setq width (* 2(TxtWidth (rtos str) h msp))
width1 (* 2 (TxtWidth "STT" h msp))
height (* 2 h))
(if (> h 3)
(setq width (* (fix (/ width 10))10)
width1 (* (fix (/ width1 10))10)
height (* (fix (/ height 5))5)))
(setq i 1
row 2
pt (getpoint "\nDiem dat Bang :")
TblObj (vla-addtable msp (vlax-3d-point pt) (+ (length lst) 2) 3 height width))
(vla-put-vertcellmargin TblObj (/ h 4))
(vla-SetColumnWidth TblObj 0 width1)
(mapcar '(lambda (x)(vla-setTextHeight TblObj x h))
(list acTitleRow acHeaderRow acDataRow) )
(mapcar '(lambda (x)(vla-setAlignment TblObj x 8))
(list acTitleRow acHeaderRow acDataRow))
(vla-setText TblObj 0 0 "Bang toa do")
(vla-setText TblObj 1 0 "STT")
(vla-setText TblObj 1 1 "X")
(vla-setText TblObj 1 2 "Y")
(foreach e lst
(setq stt (itoa i)
pt (vlax-safearray->list (variant-value (vla-get-Coordinates e)))
obj_id (rtos (vla-get-objectid e)))
(vla-AddText msp stt (vlax-3d-point (polar pt (/ pi 4) (/ h 4))) h)
(vla-setText TblObj row 0 stt)
(vla-setText TblObj row 1 (strcat "%<\\AcObjProp Object(%<\\_ObjId " obj_id ">%).Coordinates \\f \"%lu6%pt1\">%"))
(vla-setText TblObj row 2 (strcat "%<\\AcObjProp Object(%<\\_ObjId " obj_id ">%).Coordinates \\f \"%lu6%pt2\">%"))
(setq row (1+ row) i (1+ i))
)
(vlax-release-object TblObj)
(mapcar 'setvar vl ov) ;reset Sys Vars
(princ)
)
)
)
(alert "\nPhien ban Cad cua ban khong ho tro tao Bang (TABLE)")
)
)

(defun TxtWidth (val h msp / txt minp maxp)
(setq txt (vla-AddText msp val (vlax-3d-point '(0 0 0)) h))
(vla-getBoundingBox txt 'minp 'maxp )
(vla-Erase txt)
(-(car(vlax-safearray->list maxp))(car(vlax-safearray->list minp)))
)

  • 2

#635 vtd_xd

vtd_xd

    biết vẽ circle

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

Đã gửi 29 December 2009 - 04:52 PM

Bác nào có lisp hiệu chỉnh text và dim phù hợp với khung bản vẽ cần in cho tôi xin nhé
thanks
  • 0
Chuc vui ve

#636 goku250908

goku250908

    Chưa sử dụng CAD

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

Đã gửi 29 December 2009 - 07:14 PM

mấy anh giúp em viết lisp về đồ thị đường xicloit và đồ thị đường thân khai cái ,em đag rất cần mong các anh giúp đỡ,thanks mấy anh nhiều
  • 0

#637 goku250908

goku250908

    Chưa sử dụng CAD

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

Đã gửi 29 December 2009 - 07:38 PM

đây là đồ thị của đường thân khai và đuờng xicloit ,hjx
http://www.cadviet.c...drawing1_18.dwg
  • 0

#638 ohay102

ohay102

    biết pan

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

Đã gửi 29 December 2009 - 07:45 PM

Chào bạn ohay102,
Bạn có thể post một file bản vẽ dwg mẫu định làm và file hiển thị kết quả mong muốn được không? Ví mình không phải có chuyên môn như bạn nên việc tạo ra một bản vẽ mẫu sợ không đúng với cái bạn cần.
Yêu cầu của bạn theo mình là lisp có thể giải quyết được bạn ạ.

Rất cảm ơn bác binh đã quan tâm, đây là file mẫu nhờ bác giúp http://www.mediafire.com/?newwzddamzm
  • 0

#639 minhthuantp

minhthuantp

    biết pan

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

Đã gửi 30 December 2009 - 08:57 AM

Chào bác Tue_NV,
Đúng như bác nói, vì mình chỉ học mót từ Help nên kiến thức nó lôm côm lắm, có cái mình hiểu đúng nhưng cũng có cái mình hiểu sai, vì vậy mình mới post cái bản gốc tiếng Anh lên để mọi người xem giùm.
Mình cũng đã thử cái associated list với nhiều hơn hai phần tử thì không được mà chả hiểu tại sao. Theo bản gốc tiếng anh thì định nghĩa của associated list chỉ cần có 1 phần tử tương tác (association) và một dữ lịêu tương tác (the data) được ngăn cách bởi dấu chấm (dotted pair). Nhưng cái dữ liệu này ra sao thì mình chưa rõ lắm. Nó có thể là một list hay không (tức là nhiều phần tử đó)????
Cũng theo định nghĩa về hàm assoc thì cái list mà mình tìm kiếm trong đó (alist ) là một association list , nó có phải là associated list hay không ???
Hề hề hề, cái dốt nó nằm ở chỗ này bác ạ, vì thế mình mới hiểu nó lôm côm, mong bác đừng giận.
Rất cám ơn bác đã chỉ cho mình những chỗ mà mình còn đang ngớ ngẩn bác à.
Thực tế trong quá trình mót , mình copy của mọi người là nhiều chứ còn hiểu cho thật cặn kẽ thì chưa nên cái sai sót là tất yếu. Đó cũng là lý do để mình tham gia vào topic này hòng mót được nhiều hơn mà bác. Đừng giận mình khi mình có những cái sai ngớ ngẫn như vậy.
Chào bác và chúc bác luôn mạnh khỏe.



Mình rất cảm ơn mọi người đã giúp đỡ nhiệt thành như vậy! Ai chả có những sai sót, nhưng quan trọng nhất là biết sửa những sai sót như vậy là mới tốt! Diễn đàn là nơi mọi người học hỏi và giao lưu, và đúc rút kinh nghiệm cho bản thân mình! mình thấy diễn đàn này rất hay cho những ai đam mê lập trình autolisp đó! Chúc mọi người thành công và vui vẻ trong dịp năm mới!
  • 0

#640 nqt266

nqt266

    biết vẽ circle

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

Đã gửi 30 December 2009 - 10:30 AM

Chào bác gia_bach và anh em trên diến đàn!
Em tham gia vào diễn đàn nhưng chỉ đọc lips của các bác thôi, chứ em chẳng biết viết. Thấy bác gia_bach và mọi người rất đỉnh cao trong công nghệ này, nên em nhờ bác và anh em viết giúp em 1 lips có nội dung như sau: Em làm san nền, thể hiện khối lượng bằng 1 vòng tròn có text bên trong. 1 ô san nền có thể có đến hàng mấy trăm vòng tròn như thế. Bây giờ em muốn quay tất cả các đối tượng đi 1 góc, nhưng quay tại chính tâm của mỗi vòng tròn đó. Mong bác và anh em giúp đỡ, vì làm tay vo nên vất vả quá. Xinh chân thành cảm ơn bác và mọi người!
  • 0