QUẢNG CÁO ĐẦU TRANG

Collapse

Thông báo

Collapse
No announcement yet.

Visual Lisp

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • trieu chau
    replied
    Ðề: Visual Lisp

    mình cảm ơn chương trình fastcad

    Leave a comment:


  • lhuvn
    replied
    Ðề: Visual Lisp

    Em mới học năm 3 thui,cad còn yếu lắm.mạo muội cho e hỏi các bác làm cách nào để luyện cad nhanh, và tốt không.ngoại trừ "bạn nên thường xuyên vẽ" mà em đã biết rồi.giúp em nha.thank you!

    Leave a comment:


  • daothuyspt
    replied
    Ðề: Visual Lisp

    Em mạn phép tham gia một chút các bác nha. Em thấy Autoslip này trong cuốn tự học Autocad 2008 của kĩ sư Thành Vinh cũng viết đó các bác ạ
    Em là sinh viên ngành hàn nên cũng chưa tìm hiểu kĩ lắm các bác ạ

    Leave a comment:


  • thanhnhan_kt
    replied
    Ðề: Visual Lisp

    Nguyên văn bởi Autocad2008
    Chào ban sau khi nghien cứu mình đã sửa lại như thế này
    (defun c:tinh()
    (setq pd (getpoint "\nPls pick a point:"))
    (Setq a (getreal "\nPl enter a:"))
    (Setq b (getreal "\nPl enter b:"))
    (setq c (+ a b))
    (setq c (strcat (rtos c 2 1)))
    (command "text" "j" "C" pd "2" "" c))

    Bạn tham khảo trong help của visualisp
    (rtos, value [, mode, precision])
    Edits the given value as a real number in the format specified by the mode and precision as defined by the analogous AutoLISP function. If mode and precision are omitted, it uses the current values selected with the UNITS command.

    Thân ái chào bạn chúc vui vẻ
    Cảm ơn bác! đây là vấn đề đang làm em đau đầu mấy hôm nay! bác cho em hoi thêm 1 câu là có cách nào để làm tròn lên (roundup) 1 biến không, em đang rất cần,
    Chúc bác vui khỏe!
    Last edited by thanhnhan_kt; 04-01-2008, 09:24 PM.

    Leave a comment:


  • dungdce
    replied
    Ðề: Visual Lisp

    Thật ra vấn đề của bạn kô thể giải quyết triệt để bằng hàm rtos được. Lỗi trên là do biến hệ thống dimzin trong AutoCAD. Bạn tham khảo thêm trong phần Help của AutoCAD sẽ hiểu cơ chế và tính năng của biến này. LISP và AutoCAD system variable có liên hệ mật thiết nhau.

    Thân.

    Leave a comment:


  • Autocad2008
    replied
    Ðề: Visual Lisp

    Nguyên văn bởi thanhnhan_kt
    Chào các cao thủ trong diễn đàn! Em đang tập toẹ viết mấy cái lisp mà vất vả quá, tìm mấy cuốn sách đọc thì thấy nội dung cư na ná nhau, sách dịch nên đọc nhiều lúc tức như bò đá, đọc 1 câu dài dằng dặc đọc xong chẳng hiểu nó viết cái gì?? .
    Em có một vài thắc mắc mong được các anh giải đáp dùm em:
    1. Em viết đoạn mã sau:
    (defun c:tinh()
    (setq pd (getpoint "\nPls pick a point:"))
    (Setq a (getreal "\nPl enter a:"))
    (Setq b (getreal "\nPl enter b:"))
    (setq c (+ a b))
    (command "text" "j" "C" pd "2" "" c)
    )
    không hiểu sao đến khi in ra màn hình được một đống toàn số không đằng sau for Ex: a=3, b=5 Kq in trên màn hình "8.00000000" có cách nào khắc phục không ạ? (không muốn dùng biến integer)
    2. Một câu liên quan: cấu trúc hàm Round (trong lisp) như thế nào? và có hàm roundup, rounddown như trong EXCEL không ạ?
    Mong các bác giải đáp giúp, em xin cảm ơn!
    Chào ban sau khi nghien cứu mình đã sửa lại như thế này
    (defun c:tinh()
    (setq pd (getpoint "\nPls pick a point:"))
    (Setq a (getreal "\nPl enter a:"))
    (Setq b (getreal "\nPl enter b:"))
    (setq c (+ a b))
    (setq c (strcat (rtos c 2 1)))
    (command "text" "j" "C" pd "2" "" c))

    Bạn tham khảo trong help của visualisp
    (rtos, value [, mode, precision])
    Edits the given value as a real number in the format specified by the mode and precision as defined by the analogous AutoLISP function. If mode and precision are omitted, it uses the current values selected with the UNITS command.

    Thân ái chào bạn chúc vui vẻ
    Last edited by Autocad2008; 04-01-2008, 08:10 PM.

    Leave a comment:


  • thanhnhan_kt
    replied
    Ðề: Visual Lisp

    Chào các cao thủ trong diễn đàn! Em đang tập toẹ viết mấy cái lisp mà vất vả quá, tìm mấy cuốn sách đọc thì thấy nội dung cư na ná nhau, sách dịch nên đọc nhiều lúc tức như bò đá, đọc 1 câu dài dằng dặc đọc xong chẳng hiểu nó viết cái gì?? .
    Em có một vài thắc mắc mong được các anh giải đáp dùm em:
    1. Em viết đoạn mã sau:
    (defun c:tinh()
    (setq pd (getpoint "\nPls pick a point:"))
    (Setq a (getreal "\nPl enter a:"))
    (Setq b (getreal "\nPl enter b:"))
    (setq c (+ a b))
    (command "text" "j" "C" pd "2" "" c)
    )
    không hiểu sao đến khi in ra màn hình được một đống toàn số không đằng sau for Ex: a=3, b=5 Kq in trên màn hình "8.00000000" có cách nào khắc phục không ạ? (không muốn dùng biến integer)
    2. Một câu liên quan: cấu trúc hàm Round (trong lisp) như thế nào? và có hàm roundup, rounddown như trong EXCEL không ạ?
    Mong các bác giải đáp giúp, em xin cảm ơn!
    Last edited by thanhnhan_kt; 03-01-2008, 12:06 AM.

    Leave a comment:


  • Anhca221
    replied
    Ðề: Visual Lisp

    trong cad 06 07 có lệnh dtexted để sửa text rất nhanh.Nhưng với cad 04 thì sửa text rất vất vả.Vậy có anh nào có lips để sửa text cho cad 2004 ko vậy,Em cảm ơn nhiều.

    Leave a comment:


  • MAN2
    replied
    Ðề: Visual Lisp

    Nguyên văn bởi tien2005
    Thật ra thì mình không sử dụng nova nên không biết dữ liệu của nó như thế nào. Nếu Bạn muốn lấy cao độ 1 điểm bất kỳ thuộc mặt phẳng tạo bởi lưới tam giác thì Bạn có thể làm như sau:
    - Viết phương trình mặt phẳng của lưới tam giác
    - Lấy tọa độ của điểm cần xác định rồi thay vào phương trình mp sẽ tính được cao độ
    Cách xác định phương trình mp chủ yếu là dùng định thức cấp 2. Sau đây là đoạn code mẫu của Tôi để tính toán san nền Bạn có thể tham khảo:


    ;************dinh thuc cap 2******
    (defun DTC2 (A1 A2 B1 B2) (- (* A1 B2) (* A2 B1)))


    ;;***LAP CAC HE SO A B C D CUAA PHUONG TRINH MAT PHANG*****
    (setq HSA (DTC2 (- #Y2 #Y1) (- #Y3 #Y1) (- #Z2 #Z1) (- #Z3 #Z1)))
    (setq HSB (* (DTC2 (- #X2 #X1) (- #X3 #X1) (- #Z2 #Z1) (- #Z3 #Z1)) -1))
    (setq HSC (DTC2 (- #X2 #X1) (- #X3 #X1) (- #Y2 #Y1) (- #Y3 #Y1)))
    (setq HSD (* (+ (* HSA #X1) (* HSB #Y1) (* HSC #Z1)) -1))

    (setq CDi (* (/ (+ (* HSA Xi) (* HSB Yi) HSD) HSC) -1))

    Trong đó #x1, #y1, ...., #y3, #z3 là tọa độ của các điểm khống chế lưới tam giác, xi, yi là tọa độ mặt phẳng của điểm cần xác định. CDi là cao độ cần xác định.
    Chúc Bạn thành công
    Bạn làm ơn cho tôi hỏi đoạn mã lisp để vẽ mạng lưới tam giác từ tệp số liệu XYZ như thế nào nhỉ?

    Leave a comment:


  • Honey
    replied
    Ðề: Visual Lisp

    Xin lỗi bạn nha, vì mình chưa nói rõ nên bạn không hiệu Lưới không gian tam giác trong nova là lưới gồm các tam giác vẽ bằng pline. Cái minh không biết là làm thế nào để nhận biết diểm mình chọn nằm trong tam giác nào và cách chọn tam giác đó để lấy cao độ các điểm chuẩn nội sụy Nếu bạn biết chỉ mình giụp Cảm ơn nhiều, chúc bạn thành cộng

    Leave a comment:


  • tien2005
    replied
    Ðề: Visual Lisp

    Nguyên văn bởi Honey
    Anh Lam ơi, cho Mình hỏi Anh Lam có biết thuật toán lấy cao độ 1 điểm bất kỳ của lưới tam giác mà chương trình nova xuất ra không. Nếu Anh Lam biết chỉ mình với nha, cảm ơn nhiều.
    Thật ra thì mình không sử dụng nova nên không biết dữ liệu của nó như thế nào. Nếu Bạn muốn lấy cao độ 1 điểm bất kỳ thuộc mặt phẳng tạo bởi lưới tam giác thì Bạn có thể làm như sau:
    - Viết phương trình mặt phẳng của lưới tam giác
    - Lấy tọa độ của điểm cần xác định rồi thay vào phương trình mp sẽ tính được cao độ
    Cách xác định phương trình mp chủ yếu là dùng định thức cấp 2. Sau đây là đoạn code mẫu của Tôi để tính toán san nền Bạn có thể tham khảo:


    ;************dinh thuc cap 2******
    (defun DTC2 (A1 A2 B1 B2) (- (* A1 B2) (* A2 B1)))


    ;;***LAP CAC HE SO A B C D CUAA PHUONG TRINH MAT PHANG*****
    (setq HSA (DTC2 (- #Y2 #Y1) (- #Y3 #Y1) (- #Z2 #Z1) (- #Z3 #Z1)))
    (setq HSB (* (DTC2 (- #X2 #X1) (- #X3 #X1) (- #Z2 #Z1) (- #Z3 #Z1)) -1))
    (setq HSC (DTC2 (- #X2 #X1) (- #X3 #X1) (- #Y2 #Y1) (- #Y3 #Y1)))
    (setq HSD (* (+ (* HSA #X1) (* HSB #Y1) (* HSC #Z1)) -1))

    (setq CDi (* (/ (+ (* HSA Xi) (* HSB Yi) HSD) HSC) -1))

    Trong đó #x1, #y1, ...., #y3, #z3 là tọa độ của các điểm khống chế lưới tam giác, xi, yi là tọa độ mặt phẳng của điểm cần xác định. CDi là cao độ cần xác định.
    Chúc Bạn thành công

    Leave a comment:


  • Honey
    replied
    Ðề: Visual Lisp

    Anh Lam ơi, cho Mình hỏi Anh Lam có biết thuật toán lấy cao độ 1 điểm bất kỳ của lưới tam giác mà chương trình nova xuất ra không. Nếu Anh Lam biết chỉ mình với nha, cảm ơn nhiều.

    Leave a comment:


  • nong truong thanh
    replied
    Ðề: Visual Lisp

    cac anh co the chi cho em cach lay ra dien tich cua doi tuong vua duoc hatch in ra man hinh. lay du lieu dien tich dua vai hatch

    Leave a comment:


  • ksxdvt
    replied
    Ðề: Visual Lisp

    co goi nao dung duoc thi cho

    Leave a comment:


  • Honey
    replied
    Ðề: Visual Lisp

    Bạn xin vậy không biết đâu mà cho cả.

    Leave a comment:

Working...
X