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

Danh Cong

Moderator
  • Số lượng nội dung

    1387
  • Đã tham gia

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

  • Ngày trúng

    117

Bài đăng được đăng bởi Danh Cong


  1. + Lưu ý khi sử dụng lisp: Đối tượng chọn text ban đầu là "Dtext". Không áp dụng cho Mtext". Đối tượng L là đường thẳng, không phải Block, ( kể cả lisp của bác #DuongTrungHuy cũng không xài được với block)

    + Chỉ áp dụng cho 1 loại: ký hiệu @. Bạn có thể thay "@" bằng ký kiệu khác trong lisp tùy ý. 

    • Like 1

  2. Code: 

    Test.lsp

    (defun c:test ( / objtext dxf text l kc1 kc2 pt)
      (command "cmdecho" 0)
      (if
        (and
          (setq     objtext (ssget '((0 . "text") (1 . "*@*"))))
        (setq    dxf (entget (ssname objtext 0)))
        (setq    text (cdr (assoc 1 (entget (ssname objtext 0)))))
        (setq    L     (entsel "Chon duong thang L: \n"))
          (= (cdr (assoc 0 (entget (car L)))) "LINE")
        (setq    Kc1 (distance (cdr (assoc 10 (entget (car L)))) (cdr (assoc 11 (entget (car L))))))
          (setq     Kc2  (distance (getpoint "Pick P1\n") (getpoint "Pick P2\n")))
        (setq     pt (getpoint "Chon diem chen text: \n"))
        ); end and
        (progn
            (setq i (strlen text))
            (while (not (= (substr text i 1) "@"))
               (setq i (- i 1)))
            (entmake
             (list
              (cons 0 "Text")
              (cons 1 (strcat (substr text 1 (- i 1)) " ," (rtos Kc1 2 0) " @" (substr text (+ i 1)) ", " (rtos Kc2 2 0)))
              (cons 100 "AcDbEntity")
              (cons 100 "AcDbText")
              (assoc 8 dxf)
              (assoc 7 dxf)
              (cons 10 pt)
              (cons 11 pt)
              (assoc 40 dxf)
              (assoc 50 dxf)
              (assoc 71 dxf)
              (assoc 72 dxf)
              ;(cons 73 0)
              ))
          );endprogn
        (princ "Co gi do sai sai !")
        ); end while
          (princ))

     

    • Vote tăng 1

  3. +. Bạn nên tìm kiếm trên diễn đàn nhiều hơn. 

    http://www.cadviet.com/forum/topic/5054-tính-tổng-chiều-dài-theo-từng-layer/

    http://www.cadviet.com/forum/topic/81011-nhờ-sửa-lisp-tính-chiều-dài-đường-ống-hàng-loạt/

    +. Tôi không thể trả lời câu số 2 vì không hiểu ý muốn của bạn. "x,y" là cái gì trong cái D8,x @15,y ?. Bạn trình bày không rõ ràng, thì làm sao mong được người khác giúp được. ( Nên kèm theo hình ảnh hoặc bản vẽ đi kèm để mọi người dễ hình dung )

    Theo quan điểm cá nhân: Đừng yêu cầu 1 lúc quá nhiều, nếu bạn để ý những người khác chỉ yêu cầu 1 mục đích nhất định. Yêu cầu nhiều mọi người sẽ cho rằng bạn là người lạm dụng lisp, không thật sự tôn trọng việc học cad. ( Khi bài viết của bạn nhận dấu "-", bạn nên xem lại yêu cầu của bài viết có gì đó hay không).


  4. 12 phút ago, tuanlbn83 cho biết:

    BÁC DuongTrungHuy  cho em hỏi em đang dùng thì bị lỗi : Cho huong: ; error: no function definition: VLAX-CURVE-GETCLOSESTPOINTTO là làm sao ạ

    Bạn tìm kiếm trên diễn đàn từ khóa: error: no function definition: VLAX là sẽ ra lỗi ! Nếu không biết sửa nữa thì quay lại đây mọi người trả lời tiếp ( Khuyến khích tự tìm hiểu :P )

    • Like 1

  5. + Code: (command "-hatch" (getpoint "Pick point) "")

    + Khuyến nghị: Khi dùng "Command" trong lisp thì nên dùng câu lệnh có "-" hoặc "." đầu câu lệnh: Ví dụ "Hatch" thành "-Hatch"... Việc đổi này nhằm thực hiện lệnh trực tiếp trên dòng Command chứ không xuất hiện bảng lệnh.

    Ví dụ: Trường hợp chọn "Pick point". Nếu dùng lệnh Hatch thì xuất hiện bảng , phải nhấn nút "Pick point". Còn dùng lệnh "-Hatch" thì nó tự có "pick point" rồi.

    • Vote tăng 1

  6. Lưu ý các thành viên trên diễn đàn cách đặt tiêu đề cho bài viết:

    + Tiêu đề trình bài ngắn gọn nội dung cần hỏi, để mọi người thấy ngay sơ lược nôi dung bên trong. Chứ không phải Click vào bài viết mới xem được câu hỏi là gì ! Đó là sự tôn trọng của các thành viên tới diễn đàn !

    • Like 1

  7. + Những trường hợp này bạn nên chụp hình ảnh lên để mọi người xem . Chứ quả thật đăng 1 cái file nặng tận 15Mp, thì mọi người rất ngại mở file. ( Máy tôi thì chịu thua, mở file được, nhưng vào block thì chịu)

    + Đối tượng của bạn là Block. Nên điểm chèn của bạn là "Điểm 1 điểm point" trong lúc bạn tạo ra block. ( Nhấn "B" để tạo mới Block, bạn sẽ nhìn thấy nút "Pick Point" để chọn 1 điểm chèn). Nếu không chọn điểm chèn. Thì mặc định tọa độ chèn của Block tính từ điểm (0,0)

    Bạn chọn toàn bộ hình của bạn. Zoom nhỏ lại , sẽ thấy tâm chèn nằm tít mít bên dưới.

    Cadviet2..png

    + Trường hợp bạn tạo block rồi, thì nhấn đúp vào block. Thay đổi điểm chèn về điểm bạn mong muốn qua "Base Point". 

    Cadviet.png

     

    • Like 1
×