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

ndtnv

Thành viên
  • Số lượng nội dung

    548
  • Đã tham gia

  • Lần ghé thăm cuối

  • Ngày trúng

    46

Bài đăng được đăng bởi ndtnv


  1. Em xin gửi bản vẽ. Nhờ các anh em giúp em sớm! Em xin cảm ơn!

     

     

    http://www.cadviet.com/upfiles/6/147694_xref_tmb_pa1.dwg

    Dùng lisp này:

     

    (defun C:test ( / e i ss)
    (setq ss (ssget '((0 . "DIMENSION"))) i 0)
    (repeat (sslength ss)
    (setq e (entget (ssname ss i)) i (1+ i))
    (entmod (subst (cons 51 0) (assoc 51 e) e)) )
    )
    
    • Vote tăng 1

  2.  

    Bạn ketxu nếu có thời gian rảnh rổi có thể kiểm tra dùm mình lisp "xuất tọa độ từ file txt thành list" mình viết (có tham khảo tài liệu) bị sai chỗ nào mà nó không chạy được. Mình tìm không ra. Xin Cám ơn bạn trước nhé. Hi.
    đây là danh sách mình ví dụ

     

    Sửa

    (/= ")" (substr ln (strlen ln 1)))

    thành:

    (/= ")" (substr ln (strlen ln) 1))

    hay gọn hơn

    (not(wcmatch ln "*)"))

    • Vote tăng 1

  3. Các yêu cầu đều không rõ ràng nên bạn huunhantvxdts muốn giúp thêm cũng khó.

    Yêu cầu phải rõ ràng, có kết quả mong muốn thì may ra mới có người giúp, tôi có chuyên môn kết cấu cũng còn thấy mơ hồ huống gì những bạn khác.

    Hãy đọc bài này rồi trình bày lại kết quả mong muốn cho rõ ràng :

    http://www.cadviet.com/forum/topic/5888-viet-yeu-cau-request-va-tra-loi-response-nhu-the-nao/

     

    Ps: Tôi chỉ góp ý, test và sửa lisp chứ không viết hộ.

    Nếu ai muốn học mà chưa biết bắt đầu ntn có thể đến etown Tân Bình tôi sẽ hướng dẫn khoảng 1h để tự học.

    • Vote giảm 1

  4. Em có kiểu dim mẫu như hình A

    Sau khi thêm prefix: <>\X thì bị nhảy như hình B

    Mà cái em cần là như hình C, có cách nào chỉnh sửa kiểu dim bỏ cái kí hiệu <> và [ ] đi dc không ạ [ ko dùng textoverwrite nhé]

     

    d8gyogpxug9e5np08.gif

     

    Còn đây là file mẫu cad 2007

    http://www.cadviet.com/upfiles/5/112169_file.dwg

    Trong DIMSTYLE, tab Alternate Units chọn Below Primary Value, ô prefix để trống

    • Vote tăng 1

  5. Cũng chưa phải là min bác ạ.

    Bác thử vẽ 1 hình tam giác, sau đó vẽ 1 HCN có 1 cạnh trùng với 1 cạnh của canh tam giác tất nhiên là cạnh còn lại có L = (và //) đường cao hạ xuống cạnh đó. So sánh DT của HCN này và của LM có sự khác biệt.

    Chưa phải min là do độ chính xác tol= 0.01, mỗi lần xoay 0.01*pi

    Muốn chính xác hơn, chọn tol nhỏ hơn, thời gian cũng lâu hơn, hoặc đổi thành thuật toán binary

    • Vote tăng 1

  6. Cho mình hỏi hàm chuyển giá trị góc từ radian sang độ phút giây với ạ!

    Hàm đổi từ decimal => dms

    (list (fix d) (fix (rem (* d 60) 60)) (rem (* d 3600) 60))

    Bạn tự chuyển qua dạng string, nếu d<0 dùng abs cho m & s

    Nếu làm tròn s thêm if

     

     

    Cám ơn bác Hà. Duy cũng đoán thế nên cũng viết ra rồi nhưng bố cứ bảo chưa đúng.

    Chắc bố muốn nói về góc bằng và góc đứng trong trắc địa

    http://muce.edu.vn/fckeditor/editor/filemanager/connectors/asp/image/chuong3.pdf

    • Vote tăng 1

  7. Search gg nhưng chưa tìm ra nhưng theo tôi:

    Nếu cờ lê có 2 mặt không song song, khi vặn sẽ xuất hiện thêm 1 lực dọc treo trục cờ lê nên rất dễ bị tuột => chỉ có thể dùng cờ lê vòng để có ít nhất 3 mặt tiếp xúc đai ốc. Khi đó mỏ lết sẽ phức tạp hơn nhiều để có thể giữ chặt 2 mặt tiếp xúc đai ốc.

    • Vote tăng 1

  8. Tôi không phải dân cơ khí, nhưng câu chuyện này của rustbolt có lẽ là lý do trên

     

    Tại sao đầu bu lông và đai ốc thông thường có hình lục giác?
    Xin đừng trả lời rằng “Tiêu chuẩn quy định như vậy”. Giống như với câu hỏi “Tại sao người ta có 2 tai, 2 mắt và 1 mồm?” thì đừng trả lời “Trời sinh ra con người như vậy” mà hãy trả lời “Có 2 tai để nghe cho rõ, có 2 mắt để nhìn cho kỹ, nhưng chỉ có 1 mồm là để nói ít thôi”!

    “Lý thuyết ngược” phân tích cái mũ bu lông như sau:
    1) Dụng cụ thô sơ nhất để vặn bu lông được rustbolt hình dung có dạng như cái cờ lê miệng bây giờ (đầu bên trái, hình dưới), nghĩa là có 2 cái má song song nhau. Do đó, số cạnh mũ bu lông phải là số chẵn. Số 2 bị loại vì không thể là “nhị giác”, các con số khả dĩ là 4, 6, 8, 10, 12…
    2) Giả sử là bát giác thì sao? Mũ bu lông gần gần như hình tròn, e rằng khi cặp cái miệng cờ lê vào vặn nó sẽ “trớt quớt”, nhất là với các cờ lê chất lượng… dỏm, miệng cứ toác ra theo hình chữ V! Như vậy, cả đám 8, 10, 12… cũng bị loại.
    3) Còn lại 2 “ứng cử viên nặng ký” là 4 và 6. Nhưng tại sao không phải là 4? Vấn đề là ở chỗ thao tác tháo lắp. Nếu là 4, bạn phải quay cờ lê đi 90 độ thì mũ bu lông mới đến được vị trí tương tự kế tiếp. Trong các máy móc thông thường, khá nhiều bu lông nằm ở các vị trí chật hẹp, cờ lê không thể quay được 90 độ vì vướng đủ thứ, chẳng hạn như thành máy. Khi đó, bạn không thể đưa cờ lê vào cặp cạnh kế tiếp được.
    Kết luận: hình dáng hợp lý của mũ bu lông là lục giác đều, với khoảng trống tối thiểu để quay cờ lê (khái niệm này không biết có thuật ngữ không?) là 60 độ.
    Trên thực tế, có nhiều chỗ chật hẹp hơn, vẫn không thể quay cờ lê đi 60 độ được, người ta mới nghĩ ra cái đầu cờ lê vòng (đầu bên phải hình dưới), được tạo thành do 2 cái lỗ lục giác lệch nhau 30 độ -> khoảng trống tối thiểu chỉ cần 30 độ là bạn có thể tháo lắp được bu lông.

     

    19626_cle.jpg

     

    Nguồn: http://www.meslab.org/mes/threads/3773-Bolts-n-Wrenchs-nhung-cau-chuyen-ve-bulon-va-co-le.html?s=63d0b8645c99c755e34825cc5442ff76
    Trong trang https://en.wikipedia.org/wiki/Wrenchcó giải thích

    A one-piece wrench with a U-shaped opening that grips two opposite faces of the bolt or nut. This wrench is often double-ended, with a different-sized opening at each end. The ends are generally oriented at an angle of around 15 degrees to the longitudinal axis of the handle. This allows a greater range of movement in enclosed spaces by flipping the wrench over.

    • Vote tăng 1

  9. Có khá nhiều, đây là các hàm acet trên máy tôi (dùng cad 2010)

    Cách dùng thì gg, tôi cũng chỉ dùng chưa đến 10% trong số này

    Trang này có 1 số help:http://www.afralisp.net/archive/lisp/acet-utils.htm

     

    ACET-ACADREACTOR-ID-ADD
    ACET-ACADREACTOR-ID-REMOVE
    ACET-ACADREACTOR-ID-REMOVE-ALL
    ACET-ACADREACTOR-IDS-GET
    ACET-ACADREACTOR-ID-SWAP
    ACET-ACAD-REFRESH
    ACET-ADDGBINEXPRESS
    ACETAI_FFILE
    ACETAI_NOFILE
    ACET-ALERT
    ACET-ALT-VIEWPORT
    ACET-ANGLE-EQUAL
    ACET-ANGLE-FORMAT
    ACET-APPID-DELETE
    ACET-ARXLOAD-OR-BUST
    ACET-ARX-RE-LOAD
    ACETAUTOARXACEDLOAD
    ACETAUTOARXLOAD
    ACETAUTOLOAD
    ACET-AUTOLOAD
    ACET-AUTOLOAD2
    ACET-AUTOLOAD-APPLY
    ACET-AUTOLOAD-EXEC
    ACETAUTONATIVELOAD
    ACET-BLINK-AND-SHOW-OBJECT
    ACET-BLOCK-MAKE-ANON
    ACET-BLOCK-PURGE
    ACET-BS-STRIP
    ACET-CALC-BITLIST
    ACET-CALC-ROUND
    ACET-CALC-TAN
    ACET-CMD-CHECK
    ACET-CMD-EXIT
    ACET-CURRENTVIEWPORT-ENAME
    ACET-DCL-LIST-MAKE
    ACET-DICT-ENAME
    ACET-DICT-FILTER-MATCH
    ACET-DICT-MAKE
    ACET-DICT-NAME-LIST
    ACET-DISABLED-COMMAND
    ACET-DTOR
    ACET-DXF
    ACET-EDITOR-REACTOR-ADD
    ACET-ELIST-ADD-DEFAULTS
    ACET-ELIST-FILTER--4-MATCH
    ACET-ELIST-FILTER-AND-MATCH
    ACET-ELIST-FILTER-GC-MATCH
    ACET-ELIST-FILTER-MATCH
    ACET-ELIST-FILTER-NOT-MATCH
    ACET-ELIST-FILTER-OR-MATCH
    ACET-ENT-CURVEPOINTS
    ACET-ENT-GEOMEXTENTS
    ACET-ERROR-INIT
    ACET-ERROR-RESTORE
    ACET-EXPLODE
    ACET-FILE-ATTR
    ACET-FILE-BACKUP
    ACET-FILE-BACKUP-DELETE
    ACET-FILE-BACKUP-RESTORE
    ACET-FILE-CHDIR
    ACET-FILE-COPY
    ACET-FILE-CWD
    ACET-FILE-DIR
    ACET-FILE-FIND
    ACET-FILE-FIND-FONT
    ACET-FILE-FIND-IMAGE
    ACET-FILE-FIND-ON-PATH
    ACET-FILE-MKDIR
    ACET-FILE-MOVE
    ACET-FILENAME-ACAD-ROOT
    ACET-FILENAME-ASSOCIATED-APP
    ACET-FILENAME-DIRECTORY
    ACET-FILENAME-DIR-ON-PATH
    ACET-FILENAME-EXTENSION
    ACET-FILENAME-EXT-REMOVE
    ACET-FILENAME-PATH-REMOVE
    ACET-FILENAME-SUPPORTPATH-REMOVE
    ACET-FILENAME-VALID
    ACET-FILE-OPEN
    ACET-FILE-READDIALOG
    ACET-FILE-REMOVE
    ACET-FILE-RMDIR
    ACET-FILE-SYSTIME-COMPARE
    ACET-FILE-WRITEDIALOG
    ACET-FULL-DWGNAME
    ACET-GENERAL-PROPS-GET
    ACET-GENERAL-PROPS-GET-PAIRS
    ACET-GENERAL-PROPS-SET
    ACET-GENERAL-PROPS-SET-PAIRS
    ACET-GEOM-ANGLE-TO-ELLIPSEANGLE
    ACET-GEOM-ANGLE-TRANS
    ACET-GEOM-ARBITRARY-X
    ACET-GEOM-ARC-3P-D-ANGLE
    ACET-GEOM-ARC-BULGE
    ACET-GEOM-ARC-CENTER
    ACET-GEOM-ARC-D-ANGLE
    ACET-GEOM-ARC-DELTA-ANGLE
    ACET-GEOM-ARC-POINT-LIST
    ACET-GEOM-CALC-ARC-ERROR
    ACET-GEOM-CROSS-PRODUCT
    ACET-GEOM-DELTA-VECTOR
    ACET-GEOM-ELLIPSEANGLE-TO-ANGLE
    ACET-GEOM-ELLIPSE-ARC-LIST
    ACET-GEOM-ELLIPSE-POINT-AT-ANGLE
    ACET-GEOM-ELLIPSE-POINT-AT-E-ANGLE
    ACET-GEOM-ELLIPSE-POINT-LIST
    ACET-GEOM-ELLIPSE-TO-PLINE
    ACET-GEOM-EXTENTS
    ACET-GEOM-IMAGE-BOUNDS
    ACET-GEOM-IMAGE-CLIP-LIST
    ACET-GEOM-INSERT-CLIP-LIST
    ACET-GEOM-INSERT-POINT-LIST
    ACET-GEOM-INTERSECTWITH
    ACET-GEOM-IS-ARC
    ACET-GEOM-LIST-EXTENTS
    ACET-GEOM-LIST-FUZ
    ACET-GEOM-MATRIX-TRANS
    ACET-GEOM-MIDPOINT
    ACET-GEOM-M-TRANS
    ACET-GEOM-MTXTBOX
    ACET-GEOM-OBJECT-END-POINTS
    ACET-GEOM-OBJECT-FUZ
    ACET-GEOM-OBJECT-NORMAL-VECTOR
    ACET-GEOM-OBJECT-POINT-LIST
    ACET-GEOM-OBJECT-Z-AXIS
    ACET-GEOM-PIXEL-UNIT
    ACET-GEOM-PLINE-ARC-INFO
    ACET-GEOM-PLINE-POINT-LIST
    ACET-GEOM-POINT-FUZ
    ACET-GEOM-POINT-INSIDE
    ACET-GEOM-POINT-ROTATE
    ACET-GEOM-POINT-SCALE
    ACET-GEOM-RECT-POINTS
    ACET-GEOM-SELF-INTERSECT
    ACET-GEOM-SPLINE-POINT-LIST
    ACET-GEOM-SS-EXTENTS
    ACET-GEOM-SS-EXTENTS-ACCURATE
    ACET-GEOM-SS-EXTENTS-FAST
    ACET-GEOM-TEXTBOX
    ACET-GEOM-TRANS-IMAGE-TO-UCS
    ACET-GEOM-TRANS-UCS-TO-IMAGE
    ACET-GEOM-TXTBOX
    ACET-GEOM-UNIT-VECTOR
    ACET-GEOM-VECTOR-ADD
    ACET-GEOM-VECTOR-D-ANGLE
    ACET-GEOM-VECTOR-PARALLEL
    ACET-GEOM-VECTOR-SCALE
    ACET-GEOM-VECTOR-SIDE
    ACET-GEOM-VERTEX-LIST
    ACET-GEOM-VIEW-POINTS
    ACET-GEOM-Z-AXIS
    ACET-GEOM-ZOOM-FOR-SELECT
    ACET-GETVAR
    ACET-GETVAR-CPROFILE
    ACET-GETVAR-DWG
    ACET-GETVAR-FIXED-PROFILE
    ACET-GO-TO-EXPRESS-PAGE
    ACET-GROUP-MAKE-ANON
    ACET-HATCH-LOOPEDGE-MAKE
    ACET-HATCH-LOOP-MAKE
    ACET-HATCH-LOOP-MAKE-DATA-GET
    ACET-HELP
    ACET-HELP-TRAP
    ACET-HOW-TO-GET-EXPRESS
    ACET-INI-GET
    ACET-INI-SET
    ACET-INIT
    ACET-INIT-ACETUTIL-ARX
    ACET-INIT-ADD-LIB-DIR
    ACET-INIT-EXCLUDE-LIST
    ACET-INIT-EXPRESS-INSTALLED
    ACET-INIT-EXPRESS-NOT-INSTALLED-MSG
    ACET-INIT-FAS-LIB
    ACET-INIT-FORCE-LOAD-ARX-LIB
    ACET-INIT-GET-LIB-DIR
    ACET-INIT-PLACEMENU
    ACET-INIT-PRODKEY
    ACET-INSERT-ATTRIB-GET
    ACET-INSERT-ATTRIB-MOD
    ACET-INSERT-ATTRIB-SET
    ACET-INSERT-SPACIAL-FILTER
    ACET-IS-SYMBOL-TABLE
    ACET-LAYER-LOCKED
    ACET-LAYER-LOCKED-LIST
    acet-layerp-mark
    acet-layerp-mode
    ACET-LAYER-UNLOCK-ALL
    ACET-LIST-ASSOC-APPEND
    ACET-LIST-ASSOC-PUT
    ACET-LIST-ASSOC-REMOVE
    ACET-LIST-GROUP-BY-ASSOC
    ACET-LIST-INSERT-NTH
    ACET-LIST-IS-DOTTED-PAIR
    ACET-LIST-ISORT
    ACET-LIST-M-ASSOC
    ACET-LIST-PUT-NTH
    ACET-LIST-REMOVE-ADJACENT-DUPS
    ACET-LIST-REMOVE-DUPLICATES
    ACET-LIST-REMOVE-NTH
    ACET-LIST-SPLIT
    ACET-LIST-TO-SS
    ACET-LSP-LOAD
    ACET-LWPLINE-MAKE
    ACET-MENU-LOAD
    ACET-MENU-LOAD2
    ACET-PARTIAL-MENU-STATUS-GET
    ACET-PARTIAL-MENU-STATUS-SET
    ACET-PATH-TO-LIST
    ACET-PLINE-IS-2D
    ACET-PLINE-MAKE
    ACET-PLINE-SEGMENT-LIST
    ACET-PLINE-SEGMENT-LIST-APPLY
    ACET-PLINES-EXPLODE
    ACET-PLINES-EXPLODE-WIDTH-DATA-GET
    ACET-PLINES-REBUILD
    ACET-PLINES-REBUILD-APPLY-WIDTHS
    ACET-PLINES-REBUILD-SET-ELEVATION
    ACET-POINT-FLAT
    ACET-PREF-SUPPORTPATH-LIST
    ACET-PSPACE-VIEWPORT-ENAME
    ACET-R12-DXF-CONVERT
    ACET-REACTOR-EXISTS
    ACET-REACTOR-REMOVE
    ACET-REG-DEL
    ACET-REG-GET
    ACET-REG-PRODKEY
    ACET-REG-PUT
    ACET-REG-SETACTIVEX
    ACET-REG-TREE-GET
    ACET-REG-TREE-SET
    ACET-RE-MAKE
    ACET-RTOD
    ACET-SAFE-COMMAND
    ACET-SET-CMDECHO
    ACET-SETVAR
    ACET-SETVAR-CPROFILE
    ACET-SETVAR-DWG
    ACET-SETVAR-FIXED-PROFILE
    ACET-SPINNER
    ACET-SS-ANNOTATION-FILTER
    ACET-SS-CLEAR-PREV
    ACET-SS-CONVERT-ELLIPSES-TO-PLINES
    ACET-SS-DRAG-MOVE
    ACET-SS-DRAG-ROTATE
    ACET-SS-DRAG-SCALE
    ACET-SS-ENTDEL
    ACET-SS-FILTER
    ACET-SS-FILTER-CURRENT-UCS
    ACET-SS-FILTER-ITEM
    ACET-SS-FILTER-VALIDATE
    ACET-SS-FLT-CSPACE
    ACET-SS-INTERSECTION
    ACET-SS-NEW
    ACET-SS-REDRAW
    ACET-SS-REMOVE
    ACET-SS-REMOVE-DUPS
    ACET-SS-REMOVE-DUPS-EXTENTS-LIST
    ACET-SS-REMOVE-DUPS-GENERALIZE-ENT
    ACET-SS-REMOVE-DUPS-REVERSE
    ACET-SS-SCALE-TO-FIT
    ACET-SS-SCALE-TO-FIT-BASE
    ACET-SS-SORT
    ACET-SS-SSGET-FILTER
    ACET-SS-TO-LIST
    ACET-SS-UNION
    ACET-SS-VISIBLE
    ACET-SS-ZOOM-EXTENTS
    ACET-STR-COLLATE
    ACET-STR-ENV-EXPAND
    ACET-STR-EQUAL
    ACET-STR-ESC-WILDCARDS
    ACET-STR-FIND
    ACET-STR-FORMAT
    ACET-STR-IS-PRINTABLE
    ACET-STR-LIST-SELECT
    ACET-STR-LR-TRIM
    ACET-STR-M-FIND
    ACET-STR-REPLACE
    ACET-STR-SPACE-TRIM
    ACET-STR-TO-LIST
    ACET-STR-WCMATCH
    ACET-SYS-BEEP
    ACET-SYS-COMMAND
    ACET-SYS-CONTROL-DOWN
    ACET-SYS-FOREGROUND
    ACET-SYS-KEYSTATE
    ACET-SYS-LASTERR
    ACET-SYS-LMOUSE-DOWN
    ACET-SYS-PROCID
    ACET-SYS-SHIFT-DOWN
    ACET-SYS-SLEEP
    ACET-SYS-SPAWN
    ACET-SYS-TERM
    ACET-SYSVAR-RESTORE
    ACET-SYSVAR-SET
    ACET-SYS-WAIT
    ACET-TABLE-NAME-LIST
    ACET-TABLE-PURGE
    ACET-TEMP-SEGMENT
    ACET-TJUST
    ACET-TJUST-GROUP-CODES
    ACET-TJUST-KEYWORD
    ACET-UCS-CAPTURE-VIEWPORTS
    ACET-UCS-CMD
    ACET-UCS-GET
    ACET-UCS-RESTORE-VIEWPORTS
    ACET-UCS-SET
    ACET-UCS-SET-Z
    ACET-UCS-TO-OBJECT
    ACET-UI-DRAG
    ACET-UI-ENTSEL
    ACET-UI-FENCE-SELECT
    ACET-UI-GETCORNER
    ACET-UI-GETFILE
    ACET-UI-GET-LONG-NAME
    ACET-UI-MESSAGE
    ACET-UI-M-GET-NAMES
    ACET-UI-PICKDIR
    ACET-UI-POLYGON-SELECT
    ACET-UI-PROGRESS
    ACET-UI-PROGRESS-DONE
    ACET-UI-PROGRESS-INIT
    ACET-UI-PROGRESS-SAFE
    ACET-UI-SINGLE-SELECT
    ACET-UI-STATUS
    ACET-UI-TABLE-NAME-CHECK-FLAGS
    ACET-UI-TABLE-NAME-FORMAT
    ACET-UI-TABLE-NAME-GET
    ACET-UI-TABLE-NAME-GET-CMD
    ACET-UI-TABLE-NAME-GET-CMD-LIST
    ACET-UI-TABLE-NAME-GET-DLG
    ACET-UI-TABLE-NAME-GET-ENAME
    ACET-UI-TABLE-NAME-GET-IS-VALID
    ACET-UI-TABLE-NAME-GET-ITEM-LIST
    ACET-UI-TABLE-NAME-GET-PICKIT
    ACET-UI-TABLE-NAME-OBJECT-DATA
    ACET-UI-TXTED
    ACET-UNDO-BEGIN
    ACET-UNDO-END
    ACET-UNDO-INIT
    ACET-UNDO-RESTORE
    ACET-UTIL-VER
    ACET-VAR-GETVAR
    ACET-VAR-SETVAR
    ACET-VBALOAD
    ACET-VIEWPORT-FROZEN-LAYER-LIST
    ACET-VIEWPORT-FROZEN-LAYER-LIST-SET
    ACET-VIEWPORT-LOCK-SET
    ACET-VIEWPORT-NEXT-PICKABLE
    ACET-VIEWPORT-VPFREEZE
    ACET-WMFIN
    ACET-XDATA-GET
    ACET-XDATA-SET
    ACET-XREF-CPROJECT-PATH

    • Vote tăng 1

  10. thế phần acet ss visible là sao nhỉ?hì.cố gắng kiên nhẫn trả lời mình nhớ  :ph34r:

    Các hàm acet không có trong help nên muốn biết nó hoạt động thế nào thì suy đoán, gg ...

    acet: các hàm của AutoCad Express Tools

    ss: selection sets

    visible: tra từ điển E-V

    Tham số

    (acet-ss-visible ss code)

    ss: selection sets

    code: 0 và 1,     - chạy các từng dòng lisp trên  sẽ hiểu

×