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

fengstupid

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

    6
  • Đã tham gia

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

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


  1. Tue_NV chưa biết cách làm với CAD. Nhưng hình như là không có.

    Lisp sau có thể bắt trọng tâm của một đa giác kín bất kì

    (defun centre(dt / cen)
     (if (or (= (cdr(assoc 0 (entget dt))) "REGION") 
         	(and (wcmatch (cdr(assoc 0 (entget dt))) "*POLYLINE")
          (= (cdr(assoc 70 (entget dt))) 1)
            )
         )
          (if (and (wcmatch (cdr(assoc 0 (entget dt))) "*POLYLINE")
          (= (cdr(assoc 70 (entget dt))) 1)
              )
     (Progn
       (command "copy" dt "" '(0 0 0) "@")
       	   (command "region" dt "")
       (setq dt (entlast))
       (setq cen (vlax-get (vlax-ename->vla-object dt) 'Centroid))
       (entdel dt)
     )
     (setq cen (vlax-get (vlax-ename->vla-object dt) 'Centroid))
           )
    
     )
     cen
    )
    (defun c:c() (centre (car(entsel "\n Pick chon doi tuong lay trong tam :"))))
    

    Cách bắt trọng tâm của 1 đa giác kín như sau : (trong 1 lệnh)

    1. Apload Lisp

    2. Vẽ 1 Line với điểm đầu là trọng tâm của 1 đa giác

    Command: L -> Gõ L

    LINE Specify first point: 'c -> Gõ 'c

     

    Pick chon doi tuong lay trong tam : -> Pick vào hình cần lấy trọng tâm

    (22.0409 20.9165)

     

    Specify next point or [undo]: -> Điểm kê tiếp của lệnh LINE

    Specify next point or [undo]:

     

    Để lấy trọng tâm ở 1 lệnh khác cũng gõ 'c

     

    Lisp trên cũng là 1 lời giải :rolleyes:

    cảm ơn bác

×