Đến nội dung


Hình ảnh
- - - - -

[Yêu cầu] lisp lấy toạ độ XYZ đường 3D polyline


  • Please log in to reply
2 replies to this topic

#1 nmn1918

nmn1918

    Chưa sử dụng CAD

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

Đã gửi 27 June 2011 - 10:06 AM

Mình đang cần lisp để lấy toạ độ x,y,z của một đường 3D polyline, mong các bạn giúp đỡ, xin chân thành cám ơn!
  • 0

#2 gia_bach

gia_bach

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 1436 Bài viết
Điểm đánh giá: 1426 (rất tốt)

Đã gửi 27 June 2011 - 11:02 AM

Mình đang cần lisp để lấy toạ độ x,y,z của một đường 3D polyline, mong các bạn giúp đỡ, xin chân thành cám ơn!

Lisp lấy toạ độ x,y,z của một đường 3D polyline và 2D (LWPOLYLINE).
(defun c:tdpl (/ cPl n pt)
(vl-load-com)
(if (and
(setq cPl (entsel "\nSelect Polyline : "))
(wcmatch (cdr (assoc 0 (entget (setq cPl (car cPl))))) "*POLYLINE" ) )
(progn
(setq n -1)
(while (setq pt (vlax-curve-getPointAtParam cPl (setq n (1+ n))))
(princ (strcat "\nVetex " (itoa (1+ n)) " : "
(rtos (car pt)) ";" (rtos (cadr pt)) ";" (rtos (last pt)) ) ) ) )
(princ "<!> It isn't Polyline <!> ") )
(princ))

hoặc nếu có Express Tool :
(defun c:tdpl1 (/ cPl n  pLst)
(vl-load-com)
(if (and
(setq cPl (entsel "\nSelect Polyline : "))
(wcmatch (cdr (assoc 0 (entget (setq cPl (car cPl))))) "*POLYLINE" ) )
(progn
(setq pLst (acet-geom-vertex-list cPl) n 0)
(foreach pt pLst
(princ (strcat "\nVetex " (itoa (setq n (1+ n))) " : "
(rtos (car pt)) ";" (rtos (cadr pt)) ";" (rtos (last pt)) ) ) ) )
(princ "<!> It isn't Polyline <!> ") )
(princ))

  • 1

#3 nmn1918

nmn1918

    Chưa sử dụng CAD

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

Đã gửi 27 June 2011 - 11:28 AM

Đúng cái mình cần, cám ơn bạn nhiều
  • 0