Đến nội dung


Hình ảnh
- - - - -

[Yêu cầu] nhờ sửa lisp vẽ Pline tự động


  • Please log in to reply
1 reply to this topic

#1 phamthe

phamthe

    biết vẽ polygon

  • Members
  • PipPip
  • 75 Bài viết
Điểm đánh giá: 1 (bình thường)

Đã gửi 20 July 2014 - 06:42 AM

nhờ các anh sửa giúp đoạn code dưới đây nối các điểm Point lại với nhau thành Pline bằng đưa chuột đến các điểm nhưng có thể không cần quét chọn các điểm Point trước, mà nó tự hiểu khi mình đưa chuột tới gần điểm nào thì nó tự bắt điểm đó, có thể Zoom to khi cần bắt điểm gần nhau và có thể Undo khi bắt điểm sai với!

(defun c:AutoPL ( / *ModSpc *ActDoc *acad ss sslen junk done pnt ep )
  (setq *ModSpc (vlax-get-property (setq *ActDoc (vlax-get-property (setq *acad (vlax-get-acad-object)) 'ActiveDocument)) 'ModelSpace))
  (princ "\nSelect Point Objects:")
  (if
   (and
     (setq ss (ssget '(( 0 . "POINT"))))     (setq junk (getpoint "\nClick to Start")))
   (progn
      (setq sslen (sslength ss))
      (setq drawn nil)
      (setq done nil)
      (while
 (and (= 5 (car (setq pnt (grread T 1 0)))) (= done nil))
 (setq ep (is_nearest ss (nth 1 pnt)))
 (cond
   ((= drawn nil)(progn
     (setq drawn (list (car ep)))
     (drx (vlax-safearray->list (vlax-variant-value (vlax-get-Property (vlax-ename->vla-object (car ep)) 'Coordinates))))))
   ((= (length drawn) 1)(if (not (is_drawn (car ep)))
     (progn
       (setq drawn (cons (car ep) drawn))
       (drx (vlax-safearray->list (vlax-variant-value (vlax-get-Property (vlax-ename->vla-object (car ep)) 'Coordinates)))))))
   ((>= (length drawn) 2)(if (not (is_drawn (car ep)))
      (progn
        (setq drawn (cons (car ep) drawn))
        (drx (vlax-safearray->list (vlax-variant-value (vlax-get-Property (vlax-ename->vla-object (car ep)) 'Coordinates)))))))
   )
 (if (= sslen (length drawn))
   (setq done T)))
      (setq pl-obj (vlax-invoke-method *ModSpc 'Addpolyline (pl->var (drawn->pntlist)))))
    (exit))
  (princ)
  )

BAN VẼ TEST http://www.cadviet.c...rawing_test.dwg


  • 0

#2 phamthe

phamthe

    biết vẽ polygon

  • Members
  • PipPip
  • 75 Bài viết
Điểm đánh giá: 1 (bình thường)

Đã gửi 21 July 2014 - 09:47 PM

nhờ các anh quan tâm và giúp em với, hiện tại nó ổn cho các điểm cách xa nhau, nhưng nếu các điểm gần nhau nó cứ bắt loạn xạ không theo ý muốn, zoom to hoặc Pan thì nó dừng luôn. bởi vậy nhờ các anh giúp 


  • 0