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. Code cho bạn đây: Dùng thử xem ổn không nhé !

    (defun c:test ()
    (vl-load-com)
    (setq ss (ssget '((0 . "LWPOLYLINE")))
          i 0)
    (repeat (SSLENGTH ss)
      (setq oldos (getvar "osmode"))
      (setvar "osmode" 0)
       (progn
         (setq sname (ssname ss i)
           i (+ i 1))
         (setq pt1 (vlax-curve-getStartPoint (vlax-ename->vla-object sname)))
         (setq pt2 (vlax-curve-getEndPoint (vlax-ename->vla-object sname)))
         (command "line" pt1 pt2 "")
         (command "erase" sname "")
         ); endprogn
      );end repeat
      (setvar "osmode" oldos)
      (princ)
      )
      


  2. + Lisp bạn đăng lên: (command "trim" tm2 "" (ssget "c" d4 d3) ""), thì dòng (ssget "c" d4 d3) này là thế nào? Tại sao không dùng  lệnh đầu tiên bạn đăng:  ( command "trim" tm2 "" "f"  d4 d3 "" "")

    + Lúc được lúc không có thể do Cad bắt điểm nhầm. Vậy nên bạn hãy tắt chế độ bắt điểm rồi thử lại xem thế nào. Code: (setvar "osmode" 0)

    (defun c:fff (/ p d1 d2 d3 tm1 tm2)
    (command "cmdecho" 0)
    (setq oldos (getvar "osmode"))
    (setvar "osmode" 0)

    (setq p (getpoint "\Chon diem dat:"))
    (setq d1 (polar p (/ (* pi 90) 180) 2000))
    (setq d2 (polar p 0 1000))
    (setq d3 (polar d1 (/ (* pi 135) 180) 1000))
    (setq d4 (polar d1 (/ (* pi 90) 180) 2000))
    (setq a (polar p 0 1000))
    (command "line" p d4 "")
    (setq tm1 (entlast))
    (command "line" d2 d1 "")
    (setq tm2 (entlast))
    (command "trim" tm2 "" "f" d4 d3 "" "")
    (setvar "osmode" oldos)

    (princ)
    )

    • Like 2

  3. + Phải mở bản vẽ lên , ngẫm mãi mới hiểu ý của  bạn ! Bạn nêu giải thích rõ hơn từ "Ghép" là như thế nào, ý muốn ghép ra sao , thực hiện thủ công như thế nào, có thể đăng hình ảnh để mọi người dễ hiểu. Chứ muốn giúp mà phải mở bản vẽ lên thì mất công lắm.

    + Nếu đầu tuần sau không ai giúp bạn thì mình sẽ giúp. Dự là không cần phải dùng lisp.

    • Like 1

  4. File .Vlx là file đã bị mã hóa do người viết, mục đích là để người dùng không lấy đi tài sản trí tuệ bên trong nó. Vậy nên theo kinh nghiệm mình biết thì không thay đổi được phím tắt cho loại lisp này. Trường hợp của bạn chắc chỉ thay đổi tên lệnh của máy thôi.

    + Tên lệnh của lisp .vlx: Cũng không mần được luôn. Chỉ có cách liên hệ với tác giả. :))))

    + Thêm điều này : Bạn nên đặt tiêu đề rõ ràng cho bài viết: Đừng đặt "Xin chỉ giáo" các kiểu. Để mọi người lướt qua diễn đàn là biết bạn hỏi gì, xem có giúp được không. Chứ không phải click vào bài của bạn để xem bạn hỏi gì. Mất thời gian lắm.

     

    • Like 1

  5. Bác Hoành có thể tạo 1 mục chỉ về Download các phiên bản phần mềm của Autocad, Revit, 3Dsmax, từ phiên bản thời kỳ đồ đá tới mới nhất luôn..... được không ạ?

    Em thấy diễn đàn mình thiếu mục này. Dù có thể lên google gõ tìm kiếm 1 lúc là ra. Nhưng nếu nó tích hợp trong diễn đàn thì sẽ hay hơn. Vì nhiều khi em tải ở các trang mạng khác về cài thì bị lỗi, phải tải ở mấy trang mới được 1 cái ra hồn.

    Bác xem xét ý kiến này thế nào nhé :)


  6. Nếu có điểm A rồi thì code như sau:

    (command "offset" [khoảng cách offset]  [đối tượng offset] [A] "")

    Ví dụ code offset limit:

    (defun c:oo ( / sskc ssrepeat ssobject sspoint ssnumber)

    (setq sskc (getdist "\nNhap khoang cach Offset: ")
          ssrepeat (getint "\nNhap so lan Offset: ")
          ssobject (car (entsel "\nChon doi tuong Offset : "))
          sspoint (getpoint "\nChon phia Offset"))

      ;;;;;; Thuc hien chuong trinh
      (setq ssnumber 0)
    (repeat ssrepeat
      (progn
      (setq ssnumber (+ 1 ssnumber))
      (command "offset" (* sskc ssnumber)  ssobject sspoint "")))
      (princ) )

    • Like 1

  7. Bạn bị trừ điểm vì các lý do sau:

    + Không giải thích rõ: Thế nào là "Tự động chọn đối tượng" . Không có thao tác chọn đối tượng thì lấy đâu ra cái gì để offset?

    + Khái niệm : Tự offset là thế nào? Quy luật nó ra làm sao?

    Nếu diễn đạt không để người khác hiểu thì làm sao mong nhận được sự giúp đỡ từ người khác.

    • Like 1

  8. Cao nhân nào cho e hỏi chút là : có 1 bản vẽ, e thấy model bản vẽ là hệ Oxy chuẩn( X ngang Y đứng) , nhưng sang bên layout người ta lại xoay trục tọa độ (Y ngang X đứng) , có thể là xoay vậy để làm cho thuận mắt, có ai biết cách xoay này không ạ ? E mắc quá huhu

    Cơm ăn đến tận miệng rồi, chỉ còn việc nhai thôi cũng cần người khác giúp sao.

    Bạn hịu khó lên mạng, tìm kiếm từ "Xoay trục tọa độ". hoặc từ khóa UCS. Không thiếu bài viết hướng dẫn bạn xoay tọa độ.

    • Vote tăng 1
    • Vote giảm 1

  9. Gõ "Dimzin" - Nhập "0"

     

    Controls the suppression of zeros in tolerance values.

    Values 0-3 affect feet-and-inch dimensions only.

    0 Suppresses zero feet and precisely zero inches

    1 Includes zero feet and precisely zero inches

    2 Includes zero feet and suppresses zero inches

    3 Includes zero inches and suppresses zero feet

    4 Suppresses leading zeros in decimal dimensions (for example, 0.5000 becomes .5000)

    8 Suppresses trailing zeros in decimal dimensions (for example, 12.5000 becomes 12.5)

    12 Suppresses both leading and trailing zeros (for example, 0.5000 becomes .5)


  10. + Đem cái vùng Hatch bạn không thấy diện tích ra ngoài:

    + Phải chuột ---> Generate Boundary  ---> Cad sẽ hiển thị đường bao bên ngoài Hatch của bạn.

    Để ý 1 chút. Bạn sẽ thấy có 1 đường thẳng nối với 1 vòng tròn nhỏ bên trong vùng Hatch. Đó là nguyên nhân gây ra lỗi không hiển thị vùng Hatch.

     

    Nguyên nhân: Đường thẳng nối với đường tròn nó gây ra 1 lỗi vòng lặp trong cách xác định diện tích ( Lỗi do phần mềm, không phải do người dùng )

    Khắc phục : Xóa cái đường tròn  hoặc xóa đường thẳng.

     

    124641_1_5.png

    • Vote tăng 2
×