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

tung.bim

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

    1
  • Đã tham gia

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

Bài đăng được đăng bởi tung.bim


  1. Chào các bác, hiện tại e đang muốn chỉnh sửa 1 lisp. lisp đang nhận tọa độ có những tọa độ âm mà e muốn hiển thị kích là khoảng cách ( bỏ dấu âm)
    Và làm sao khi nhận object không nhận đường tròn nữa mà nhận đường tâm tròn ạ.
    code lisp ở dưới
     

    (defun c:TD(/ oldos ssd Lptx Lpty)
    (ChonLayer "DIM")
    (vl-load-com)

    (setq kc 10.0)
    (setq oldos (getvar "osmode"))
    (command "undo" "be")
     (setq ssd (Tue-ss-list (list (ssget '((0 . "*CIRCLE"))))))
    (command "ucs" "w")
    (setq goc (getpoint "\n Chon goc toa do tuong doi :"))
     (setvar "osmode" 0)
     (command "zoom" "e")


    (foreach x ssd
    (foreach z (vl-sort (Tue-ent-Lpoint x) '(lambda(x1 x2) (if (= (car x1) (car x2)) (< (cadr x1) (cadr x2)) (< (car x1) (car x2)) )
    )  )
     (if (not (member (- (car z) (car goc)) (mapcar 'car Lptx)))
    (setq Lptx (append Lptx (list(list (- (car z) (car goc))  z))))
     )
    ))
    (foreach x ssd
    (foreach z (vl-sort (Tue-ent-Lpoint x) '(lambda(x1 x2) (if (= (cadr x1) (cadr x2)) (< (car x1) (car x2)) (< (cadr x1) (cadr x2)))
    )  )
     (if (not (member (- (cadr z) (cadr goc)) (mapcar 'car Lpty)))
      (setq Lpty (append Lpty (list(list (- (cadr z) (cadr goc)) z))))
     )
    )
    )

    (foreach z Lptx
    (command "DIMORDINATE" (cadr z) "t" (rtos (car z) 2 2) "x" (list (caadr z) (+ (cadr (cadr z)) kc) 0.0) )
    )
    (foreach z Lpty
    (command "DIMORDINATE" (cadr z) "t" (rtos (car z) 2 2) "y" (list (- (caadr z) kc) (cadr (cadr z))  0.0) )
    )

     (command "zoom" "p")
     (setvar "osmode" oldos)
     (command "ucs" "p")
     (command "undo" "e")
    )
    image.png.6b059a4f13b0fb62bb14c59f705e0936.png

×