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

ccc123

Nhà quảng cáo
  • Số lượng nội dung

    26
  • Đã tham gia

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

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


  1. cho mình hỏi 1 câu.mình có lisp chèn block thuộc tính. các máy dùng bình thường.nhưng có 1 số máy ko gán được dữ liệu vào block khi dùng lisp.Khi ed bình thường thì vẫn được. mình nghĩ chỉ do chế độ nhập giữ liệu của block nhưng không tìm được lệnh trong cad. mong các bạn giúp mình. mình đã thử với các lệnh attdia, attdisp


  2. Thank nhiều! bạn sửa luôn đoạn code này hộ mình với

     

    (defun c:te()

    (defun new (/ onew1)

    (if (null new1) (setq new1 1))

    (setq onew1 new1)

    (setq new1 (getint (strcat "\nNhap so can chia <" (itoa new1) ">: ")))

    (if (null new1) (setq new1 onew1))

    )

    (setq en (ssget))

    (setq n (sslength en) i 0)

    (while (< i n)

    (setq li (cdr (assoc 1 (setq ename (entget (ssname en i))))))

    (setq lis (/ (atof li) (new)))

    (entmod (subst (cons 1 (rtos lis 2 2)) (assoc 1 ename) ename))

    (setq i (+ i 1))

    )

     

    )


  3. Tùy yêu cầu của bạn thôi chọn đối tượng cũn được. Nhưng thường thì đo diện tích phải là plie khép kín.

    Em biết điều đó.Nhưng do người khác vẽ nên rất khó để đảm bảo là vùng kín.Bác có đoạn code nào khác mà không cần dùng đến boundary không bác.lisp bác viết cho em em phát triển thấy rất tuyệt vời, em chỉ cong băn khoăn đó nữa thôi bác à.


  4. Mấy bửa nay máy cơ quan hư mạng nên không trả lời bạn được.

    Bạn tìm trong lisp của mình viết tìm dòng có chử rtos sửa số 4 thành số 2 là được.

    Cảm ơn bác. E sửa được rồi.Hôm trước em không chú ý hàm đó viết ở dòng command.Bác ơi bác có cách đo diện tích nào khác không. Vì đường của em bị hở mà khó kiểm soát. bác có cách đo nào khác không.Nếu dùng lệnh Boundary vùng không kín thì lệnh không thực hiện được.


  5. ;;;--------------------------------------------------------------------------

    (defun boundpt (p / e res)

    ;;;Return T if p is in a closed area. Otherwise return nil

    (setq e (entlast))

    (command "boundary" p "")

    (setq res (not (equal (entlast) e)))

    (if res (command "erase" (entlast) ""))

    res

    )

    ;;;---------------------------------------------------------------------------

    Em hỏi thêm câu nữa.

    (setq dientich (/ dtdoduoc (* motmetdt motmetdt)))

    (setq HSSD (* dientich 40 5))

    Em muốn làm tròn sau dấu phẩy 2 số thì mình làm thế nào bác.

    Thank bác nhiều


  6. http://www.cadviet.com/upfiles/kyhieulo.zip

    Đây bạn load file lisp này lên tạo đường dẩn đến file kyhieulodatduy.dwg.

    Gỏ lệnh KHLD:

    Hỏi tên lô: lisp sẽ tự thêm LK- phía trước tên lô.

    Hỏi Chon diem trong vung kin can do:pic vào trong vùng cần đo nếu vùng chọn không kín thì nó lại hỏi Chon diem trong vung kin can do khi nào chọn được điểm trong vùng kín thì lisp chạy tiếp.

    Hỏi Mot met hien hanh la (1) <Diem viet ket qua>: lisp mặc định 1 met là 1 đơn vị bản vẽ nếu muốn thay đổi thì bạn gỏ m lisp sẽ hỏi bạn nhập giá trị 1 mét là bao nhiêu đơn vị.

    Chấp nhận giá trị 1 mét thì chọn 1 điểm lisp sẽ chèn ký hiệu và điển cácthông số theo ý bạn.

    Bác duy ơi em download về rồi nhưng khi chạy báo lỗi không có hàm "boundPt". Bác kiểm tra giúp e nhé


  7. em viết các đoạn code tiếp theo thì không chạy đồng thời đươc. các bác chỉ giáo giúp em với nhé

     

    (defun c:LK()

    (setq Center (getpoint "\n nhap tam: "))

    ;----------------------------------chen block------------------------------

    (command "insert" "vongtron" "center" "s" "" "" "" "")

    ;----------------------------------Nhap ten lo------------------------------

    (setq p1 (list (+ (car Center) 5.1770) (+ (cadr Center) 21.0645)))

    (setq abc (getreal "\n nhap ten lo: "))

    (command "TEXT" p1 "" "" abc)

    )

     

    http://www.cadviet.com/upfiles/Drawing1_4.dwg


  8. thế thì bạn loại bỏ hàm polar ra khỏi đoạn code trên là được.

    (defun c:LK()

    (setq Center (getpoint "\n nhap tam: "))

    ;----------------------------------Nhap ten lo------------------------------

    (setq p1 (list (+ (car Center) 5.1770) (+ (cadr Center) 21.0645)))

    (setq LK (getreal "\n nhap ten lo: "))

    (command "TEXT" p1 "" "" LK)

    )

    được rồi ạ.cảm ơn các bác nhiều. CADVIET thật tuyệt vời


  9. Hàm POLA dùng chỉ định 1 điểm từ 1 điểm cho trước, góc, khoảng cách:

    (setq diemcan (polar diemgoc goc khoangcach))

    Của bạn hình như thiếu cả góc lẩn khoảng cách.

    bác chỉnh sửa giúp em cho chạy được với. điểm tọa độ ghi text đó có khoảng cách với điểm pick là x= 5.177, y = 21.06.

    e chưa hiểu hàm này lắm


  10. Mục tiêu của đoạn code là gì?

    tức là đoạn code này dùng làm gì?

     

    còn nếu chỉ để chạy được thì:

    (defun c:LK()

    (setq Center (getpoint "\n nhap tam: "))

    ;----------------------------------Nhap ten lo------------------------------

    (setq p1 center)

    (setq LK (getreal "\n nhap ten lo: "))

    (command "TEXT" p1 "" "" LK)

    Mục

    Mục tiêu của em là khi pick vào 1 điểm bất kỳ đoạn text đó sẽ gán vào một điểm có tọa độ khác tọa độ đó. em đang viết lisp chèn block và gán các thông số text vào block đó bác ạ


  11. Chào các bác. Mình viết đoạn code này nhưng không chạy được. các bác sửa giúp e với nhé.

     

    (defun c:LK()

    (setq Center (getpoint "\n nhap tam: "))

    ;----------------------------------Nhap ten lo------------------------------

    (setq p1 (polar (list (+ (car Center) 5.1770) (+ (cadr Center) 21.0645))))

    (setq LK (getreal "\n nhap ten lo: "))

    (command "TEXT" p1 "" "" LK)

    )

×