Đến nội dung


Hình ảnh
- - - - -

Nhờ viết Lisp xác định lý trình và khoảng cách tới tim


  • Please log in to reply
19 replies to this topic

#1 txchuong

txchuong

    biết vẽ circle

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

Đã gửi 23 September 2013 - 11:04 AM

Em đang làm trong lĩnh vực thiết kế công trình giao thông nhưng có rất nhiều cái cần thống kê ra, mà đến cái phần xác định nó nằm ở đâu thì gặp trục trặc, nhờ các bác ở đây giúp cho.

 Bài toán của em là: Em có 1 đường Polyline định nghĩa cho nó là đường tim tuyến (đường này có thể copy ở đâu đó hoặc được tạo ra bởi phần mềm khác như Nova, Land, Civil ... nhưng đại loại nó là 1 polyline gồm nhiều đoạn thẳng, cong, spline ...)

- Đầu tiên cho chương trình nhận đường đó là tim tuyến và chỉ cho nó vị trí bắt đầu (thường là đầu hoặc cuối).

- Xác định lý trình của 1 điểm bất kỳ có thể trên tim tuyến hoặc ngoài tim tuyến, tức là kẻ vuông góc với tim tuyến rồi tính chiều dài từ điểm đầu đến điểm vuông góc đó. (nếu có thể kẻ được >1 đường vuông góc với tim tuyến thì chọn đường vị trí có đường vuông góc ngắn nhất, trường hợp các đường vuông góc bằng nhau (như tâm cung tròn) thì chọn vị trí trung điểm của cung tròn.

- Xác định khoảng cách từ điểm bất kỳ tới đường tim tuyến và phía của điểm đó (trái hoặc phải theo chiều tăng của lý trình)

- Xác định góc tiếp tuyến tại vị trí kẻ vuông góc đó

Nhờ các bác giúp em với

Cảm ơn các bác nhiều.


  • 0

#2 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5678 Bài viết
Điểm đánh giá: 2605 (tuyệt vời)

Đã gửi 23 September 2013 - 11:18 AM

Quá đơn giản, mà thiếu mất file nên k ai mần được :)


  • 0

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#3 txchuong

txchuong

    biết vẽ circle

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

Đã gửi 25 September 2013 - 08:12 AM

Em gửi file minh hoạ để các bác tiện giúp em.

Cu thể trong bản vẽ thì ta cần định nghĩa cái polyline là tim tuyến với gốc tuyến tại điểm đầu.

Ví có điểm A bất kỳ cần xác định khoảng cách tới tim chính là k/c em đã dim trên bản vẽ, còn lý trình là chiều dài từ đầu tuyến (điểm đầu) tới vị trí kể vuông góc của điểm A đó.

Az là phương của tiếp tuyến tại điểm kẻ vuông góc (nếu kẻ vuông góc gặp đoạn thẳng thì chính là phương của đoạn thẳng đó, trường hợp kẻ vuông góc gặp đường cong thì mới phải tính).

Trong VD thì điểm A nằm bên phải tuyến các tim tuyến 6.169, lý trình ......, phương tại tim tuyến .........

Trong bản vẽ thì điểm B là điểm sẽ có nhiều nghiệm vì nó nằm tại tâm của cung tròn, trường hợp này vị trí kẻ vuông góc lấy tại điểm giữa của cung tròn.


  • 0

#4 txchuong

txchuong

    biết vẽ circle

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

Đã gửi 25 September 2013 - 08:14 AM

http://www.cadviet.c...3/123735_vd.rar


  • 0

#5 txchuong

txchuong

    biết vẽ circle

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

Đã gửi 27 September 2013 - 08:42 AM

Lôi lên tý để các bác để ý giúp em.


  • 0

#6 phuongcuong

phuongcuong

    biết zoom

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

Đã gửi 27 September 2013 - 09:29 AM

@ Txchuong : Như mình thấy thì có vẻ giống công tác giải phóng mặt bằng, lý trình và kc thì Land xuất ngon lành rồi. ( mỗi cái là xác định cái Az , góc tiếp tuyến thế mục đích làm gì... phức tạp thêm lisp)


  • 0

#7 hochoaivandot

hochoaivandot

    biết dimradius

  • Members
  • PipPipPipPipPip
  • 310 Bài viết
Điểm đánh giá: 106 (tàm tạm)

Đã gửi 27 September 2013 - 01:46 PM

Viết nhanh cho bạn
(defun C:ttt(/ e obj pt pt1 dis lt)
(vl-load-com)
(setq e (car (entsel "Chon PL")))
(setq obj (vlax-ename->vla-object e))
(setq pt (getpoint "Pick diem"))
(setq pt1 (vlax-curve-getClosestPointTo obj pt))
(setq dis (distance pt pt1))
(setq lt (vlax-curve-getDistAtPoint obj pt1))
(alert (strcat "Ly trinh = " (rtos lt 2 2) "\nKhoach cach den tim = " (rtos dis 2 2)))
)

  • 0

Dương Bá Diệp

 

www.cadonline.duyxuyen.vn 

 

Thành viên nhóm CADMAGIC

 


#8 txchuong

txchuong

    biết vẽ circle

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

Đã gửi 27 September 2013 - 03:53 PM

Cảm ơn các bác phuongcuong và bác hochoaivandot đã trả lời em.

Trước hết giải thích với bác phuongcuong: Land làm được như bác nói, tính khoảng cách, lý trình nhưng với point (điểm đo của nó) nhưng em lại cần tính các giá trị đó để phục vụ công việc thống kê của em, VD trên bản vẽ có cái cột điện thì em phải thống kê ra cái cột điện đó nằm ở vị trí nào? Lý trình? cách tim? phải hay trái tuyến .... Và rất nhiều đối tượng nữa phải thống kê ra. Còn cái góc tại tiếp tuyến em cần để xoay các đối tượng theo hướng tuyến.

Cảm ơn bác hochoaivandot đã cho em một đoạn nhưng nhờ bác sủa lại giúp em, vì cái của bác không cho định nghĩa đâu là đầu tuyến, không biết vị trí đó nằm bên phải hay bên trái? Hơn nữa nhờ bác làm giúp em theo kiểu:

Định nghĩa tim tuyến thì làm 1 lần thôi, gán cho nó 1 biến nào đó và giữ nguyên cho đến khi định nghĩa lại, còn việc tính lý trình, khoảng cách thì dạng hàm con em sẽ gọi hàm đó và cho vị trí điểm thì nó trả về cho em tất cả những thứ em cần bằng 1 list gồm: lý trình, cách tim, Phải or trái, góc tiếp tuyến.

Em gửi lại file bản vẽ nhờ các bác giúp em.

Trong bản vẽ em đã tính ví dụ cho điểm A và B, còn thêm cái góc nữa là cái em cần.

Trường hợp 1 đoạn thẳng nối với 1 đoạn cong mà đoạn thẳng không là tiếp tuyến với đoạn cong thì sẽ xuất hiện 2 vùng: 1 vùng không kể được đường vuông góc với tim tuyến (vùng màu đỏ) - trường hợp này bác chọn nghiệm là vị trí nối của đoạn thẳng và đoạn cong đó.

1 vùng có 2 nghiệm; 1 vuông góc với đường thẳng, 1 vuông với đoạn cong (Ví dụ điểm D) trường hợp này đoạn vuông góc nào ngắn hơn thì chọn vị trí đó làm nghiệm.

Tại điểm C (tâm của đoạn cong) sẽ có vô số nghiệm thì chọn nghiệm tại trung điểm của đoạn cong đó.

Nhờ các bác bớt chút thời gian giúp em. Cảm ơn các bác nhiều.http://www.cadviet.c...123735_vd_1.rar


  • 0

#9 thai11000

thai11000

    biết vẽ arc

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

Đã gửi 27 September 2013 - 04:01 PM

Bac hochoaivandot giải quyết được vấn đề cơ bản rồi. Nhưng bác có thể giúp thêm em là ghi cái khoảng cách và lý trình đó ra bản vẽ được không ạ!

Em hay làm thoát nước cũng cần cái này.

Với cả dòng lệnh của bác có thể chỉ chọn PLine 1 lần rồi pick nhiều điểm không ?

Ví dụ như hình của emhttp://www.cadviet.c.../3/70461_vd.dwg

Mong bac giúp đỡ!


  • 0

#10 hochoaivandot

hochoaivandot

    biết dimradius

  • Members
  • PipPipPipPipPip
  • 310 Bài viết
Điểm đánh giá: 106 (tàm tạm)

Đã gửi 27 September 2013 - 04:57 PM

thai11000, on 27 Sept 2013 - 15:54, said:
Bac hochoaivandot giải quyết được vấn đề cơ bản rồi. Nhưng bác có thể giúp thêm em là ghi cái khoảng cách và lý trình đó ra bản vẽ được không ạ!
Em hay làm thoát nước cũng cần cái này.
Với cả dòng lệnh của bác có thể chỉ chọn PLine 1 lần rồi pick nhiều điểm không ?
Ví dụ như hình của emhttp://www.cadviet.c.../3/70461_vd.dwg
Mong bac giúp đỡ!

Phải như thế này không thai1000
(defun MakeLeader (pt pt1 lmt)
(entmake
(list
(cons 0 "LEADER")
; (cons 8 layer)
; (cons 3 sty)
(cons 100 "AcDbEntity")
(cons 100 "AcDbLeader")
(cons 71 1)
(cons 72 0)
(cons 73 3)
(cons 74 0)
(cons 75 0)
(cons 10 pt)
(cons 10 pt1)
; (cons 10 (getpoint pt1 "\nSpecify Next Point"))
(list -3
(list "ACAD"
(cons 1000 "DSTYLE")
(cons 1002 "{")
(cons 1070 41)
(cons 1040 lmt)
(cons 1002 "}")
)
)
)
)
)
(defun MakeText (point string Height Wid Ang justify Style Layer Color xdata / Lst); Ang: Radial
(setq Lst (list '(0 . "TEXT")
(cons 8 (if Layer Layer (getvar "Clayer")))
(cons 62 (if Color Color 256))
(cons 10 point)
(cons 40 Height)
(cons 41 Wid)
(cons 1 string)
(if Ang (cons 50 Ang))
(cons 7 (if Style Style (getvar "Textstyle")))
(cons -3 (if xdata (list xdata) nil)))
justify (strcase justify))
(cond ((= justify "C") (setq Lst (append Lst (list (cons 72 1) (cons 11 point)))))
((= justify "R") (setq Lst (append Lst (list (cons 72 2) (cons 11 point)))))
((= justify "M") (setq Lst (append Lst (list (cons 72 4) (cons 11 point)))))
((= justify "TL") (setq Lst (append Lst (list (cons 72 0) (cons 11 point) (cons 73 3)))))
((= justify "TC") (setq Lst (append Lst (list (cons 72 1) (cons 11 point) (cons 73 3)))))
((= justify "TR") (setq Lst (append Lst (list (cons 72 2) (cons 11 point) (cons 73 3)))))
((= justify "ML") (setq Lst (append Lst (list (cons 72 0) (cons 11 point) (cons 73 2)))))
((= justify "MC") (setq Lst (append Lst (list (cons 72 1) (cons 11 point) (cons 73 2)))))
((= justify "MR") (setq Lst (append Lst (list (cons 72 2) (cons 11 point) (cons 73 2)))))
((= justify "BL") (setq Lst (append Lst (list (cons 72 0) (cons 11 point) (cons 73 1)))))
((= justify "BC") (setq Lst (append Lst (list (cons 72 1) (cons 11 point) (cons 73 1)))))
((= justify "BR") (setq Lst (append Lst (list (cons 72 2) (cons 11 point) (cons 73 1))))))
(entmakex Lst));end
(defun GetAngleVuong (obj pt)
(+ (angle pt (polar pt (angle '(0 0 0) (vlax-curve-getFirstDeriv obj (vlax-curve-getParamAtPoint obj pt))) 2)) (* pi 0.5))
)
(defun C:ttt(/ e obj pt pt1 dis lt)
(vl-load-com)
(setq e (car (entsel "Chon PL")))
(setq obj (vlax-ename->vla-object e))
(while (setq pt (getpoint "Pick diem"))
(setq pt1 (vlax-curve-getClosestPointTo obj pt))
(setq dis (distance pt pt1))
(setq lt (vlax-curve-getDistAtPoint obj pt1))
(princ (strcat "Ly trinh = " (rtos lt 2 2) "\nKhoach cach den tim = " (rtos dis 2 2)))

(MakeText pt (strcat "KC=" (rtos dis 2 2)) 2.0 0.7 (GetAngleVuong obj pt1) "BL" nil nil nil nil)
(MakeText pt (strcat "LT=" (rtos lt 2 2)) 2.0 0.7 (GetAngleVuong obj pt1) "TL" nil nil nil nil)
(MakeLeader pt1 pt 1.0)
)
)

  • 0

Dương Bá Diệp

 

www.cadonline.duyxuyen.vn 

 

Thành viên nhóm CADMAGIC

 


#11 txchuong

txchuong

    biết vẽ circle

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

Đã gửi 27 September 2013 - 05:19 PM

Với em cái của bác hochoaivandot cũng đã cơ bản có những thứ em cần nhưng nhờ bác chỉnh lại hộ em tý:

- Cái của bác không cho chọn điểm đầu nên nó mặc định là chiều của polyline, nhờ bác chỉnh lại cho phép mình chỉ vị trí bắt dầu (để có thể đao chiều đươc) Cái file em gửi VD là theo hướng ngược với pline như vậy.

- Chọn Pline chỉ cần làm 1 lần thôi sau đó tự nó nhận đường đó trừ khi mình gọi lệnh để nó nhận lại.

- Cái Anglevuong của bác ở trên cũng gần giống với góc tiếp tuyến như ý của em, chỉ cần +/- 90 độ.

- Nhờ bác bố cục dạng hàm con để em gọi cái hàm này rất nhiều lần trong khi thực hiện và trả về danh sách lý trình, khoảng cách, Trái/phải (cái này có thể suy được nhờ cái góc ở trên của bác không?), góc tiếp tuyến.

Em cần nhiều lần các thông tin đó cho nhiều mục đích khác nhau, em sẽ gọi ra và nhặt thông tin mà em cần.

Nhờ bác giúp em với


  • 0

#12 thai11000

thai11000

    biết vẽ arc

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

Đã gửi 29 September 2013 - 11:01 AM

Em mới tải về dùng thì load lisp không được. Đánh lệnh nó không hiểu! Bác xem lại cho em với. Cảm ơn bác trước! Em không hiểu gì về lisp nên nhờ các bác chỉ giúp!


  • 0

#13 Polyline

Polyline

    biết lệnh mirror

  • Members
  • PipPipPip
  • 159 Bài viết
Điểm đánh giá: 18 (tàm tạm)

Đã gửi 29 September 2013 - 12:13 PM

Viết nhanh cho bạn

(defun C:ttt(/ e obj pt pt1 dis lt)
(vl-load-com)
(setq e (car (entsel "Chon PL")))
(setq obj (vlax-ename->vla-object e))
(setq pt (getpoint "Pick diem"))
(setq pt1 (vlax-curve-getClosestPointTo obj pt))
(setq dis (distance pt pt1))
(setq lt (vlax-curve-getDistAtPoint obj pt1))
(alert (strcat "Ly trinh = " (rtos lt 2 2) "\nKhoach cach den tim = " (rtos dis 2 2)))
)

Đã giải quyết được yêu cầu của chủ thớt trong trường hợp đơn giản nhất, tuy nhiên, nó cần được mở rộng thêm các tính năng sau:
- Cho phép chọn điểm bất kỳ (nằm trên Pline) làm gốc, lý trình gốc có thể thay đổi được (bằng cách nhập vào).
- Cho phép chọn hướng bất kỳ để làm chiều tăng của lý trình (theo chiều hoặc ngược chiều của Pline).
- Cho phép xuất ra text trên bản vẽ (nên có hướng vuông góc với Pline tại vị trí đo lý trình).
- Cho phép tỉ lệ bất kỳ (nghĩa là lý trình bằng chiều dài Pline nhân với một hệ số tỷ lệ).

Cũng nhiều phết, nếu bác thể hiện nó bằng hộp thoại thì tốt quá! :)
  • 0

#14 hochoaivandot

hochoaivandot

    biết dimradius

  • Members
  • PipPipPipPipPip
  • 310 Bài viết
Điểm đánh giá: 106 (tàm tạm)

Đã gửi 30 September 2013 - 08:33 AM

Em mới tải về dùng thì load lisp không được. Đánh lệnh nó không hiểu! Bác xem lại cho em với. Cảm ơn bác trước! Em không hiểu gì về lisp nên nhờ các bác chỉ giúp!

Chức năng load lisp của cadviet.com bị lỗi rồi.

Lệnh vlax-ename->vla-object download về nó thành vlax-ename->vla-object

Mình đính kèm cho bạn download nhé 

http://www.cadviet.c..._khoangcach.lsp


  • 0

Dương Bá Diệp

 

www.cadonline.duyxuyen.vn 

 

Thành viên nhóm CADMAGIC

 


#15 hochoaivandot

hochoaivandot

    biết dimradius

  • Members
  • PipPipPipPipPip
  • 310 Bài viết
Điểm đánh giá: 106 (tàm tạm)

Đã gửi 30 September 2013 - 08:42 AM

Với em cái của bác hochoaivandot cũng đã cơ bản có những thứ em cần nhưng nhờ bác chỉnh lại hộ em tý:

- Cái của bác không cho chọn điểm đầu nên nó mặc định là chiều của polyline, nhờ bác chỉnh lại cho phép mình chỉ vị trí bắt dầu (để có thể đao chiều đươc) Cái file em gửi VD là theo hướng ngược với pline như vậy.

- Chọn Pline chỉ cần làm 1 lần thôi sau đó tự nó nhận đường đó trừ khi mình gọi lệnh để nó nhận lại.

- Cái Anglevuong của bác ở trên cũng gần giống với góc tiếp tuyến như ý của em, chỉ cần +/- 90 độ.

- Nhờ bác bố cục dạng hàm con để em gọi cái hàm này rất nhiều lần trong khi thực hiện và trả về danh sách lý trình, khoảng cách, Trái/phải (cái này có thể suy được nhờ cái góc ở trên của bác không?), góc tiếp tuyến.

Em cần nhiều lần các thông tin đó cho nhiều mục đích khác nhau, em sẽ gọi ra và nhặt thông tin mà em cần.

Nhờ bác giúp em với

Không hiểu khái niệm hàm con của bạn. Ý bạn là nhiều hàm hay hàm con tức là hàm để bạn tận dụng viết lisp khác.

Hình như bạn cần lisp này để tham khảo viết lisp khác đúng không? Đọc reply của bạn mình đoán vậy.

Mà nếu biết lisp bạn có thể tách ra thành hàm con hay chỉnh sửa để sử dụng mà.

 

- Ý kiến về pick điểm để xác định chiều thì mình nghĩ bạn dùng lisp đổi chiều trên cadviet.com sẽ hay hơn.

Nhập vào chương trình thì nó là rắc rối thêm các thao tác.


  • 0

Dương Bá Diệp

 

www.cadonline.duyxuyen.vn 

 

Thành viên nhóm CADMAGIC

 


#16 thai11000

thai11000

    biết vẽ arc

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

Đã gửi 30 September 2013 - 09:46 AM

Em lại không tải được cái lisp bác đính kèm! Em sửa theo dòng kia bác đánh dấu được không ạ! Để em thử?


  • 0

#17 thai11000

thai11000

    biết vẽ arc

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

Đã gửi 30 September 2013 - 09:51 AM

Thanks bác hochoaivandot nhé! Em sửa theo bác hướng dẫn được rồi ạ!


  • 0

#18 txchuong

txchuong

    biết vẽ circle

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

Đã gửi 30 September 2013 - 02:34 PM

Không hiểu khái niệm hàm con của bạn. Ý bạn là nhiều hàm hay hàm con tức là hàm để bạn tận dụng viết lisp khác.

Hình như bạn cần lisp này để tham khảo viết lisp khác đúng không? Đọc reply của bạn mình đoán vậy.

Mà nếu biết lisp bạn có thể tách ra thành hàm con hay chỉnh sửa để sử dụng mà.

 

- Ý kiến về pick điểm để xác định chiều thì mình nghĩ bạn dùng lisp đổi chiều trên cadviet.com sẽ hay hơn.

Nhập vào chương trình thì nó là rắc rối thêm các thao tác.

Bác đã nói rất đúng, em có biết vọc vạch 1 vài hàm của lisp, nhưng thú thật với bác mấy cái hàm vl, vlax là em mù tịt đại vương luôn.

Như trên em đã nói em cần thống kê ra tất cả mọi đối tượng dọc theo tuyến, như cột điện chẳng hạn: Dọc tuyến có rất nhiều cột điện, em phải thống kê ra file tất cả các cột, tọa độ cột thì em đã thống kê rồi còn cái món tính lý trình và khoảng các này cần dùng đến mấy hàm vl, vlax đó thì em bó tay chấm com. Vì vậy nên nhờ các bác giúp cho đoạn này, rồi em sẽ gọi nó để tính cho tất cả các tọa độ mà em đã thống kê ra. Vì không hiểu mấy hàm vl, vlax đó nên em không dám tách với cái kiến thức lisp amater của em nên nhờ bác và các cao thủ ở đây giúp cho.

Hơn nữa em còn phải xoay cái cột điện đó dọc theo chiều của tuyến nên mới nhờ bác tính giúp cho cái góc tiếp tuyến.

Cái lisp đảo chiều mà bác đề cập không dùng được đối với arc mà tim tuyến của em trong cái đường polyline đó có đủ thứ.

Nó tương đối phức tạp mà khả năng em có hạn nên nhờ bác tranh thủ thời gian giúp cho em.

Cảm ơn bác nhiều nhiều.


  • 0

#19 VoHoan

VoHoan

    biết lệnh move

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

Đã gửi 26 May 2016 - 03:09 PM

Mình đang làm cắm cọc GPMB có yêu cầu là tính khoảng cách từ cọc GPMB đến tim tuyến, mình đã có cọc trên mặt bằng và nối các cọc lại theo 1 đường polyline với các đỉnh là tim cọc. Giờ cần lisp tính khoảng cách từ các đỉnh đến tim tuyến theo phương vuông góc và xuất ra bảng excel.

Nhờ các bác trên diện đàn viết giùm với!


  • -1

#20 VoHoan

VoHoan

    biết lệnh move

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

Đã gửi 27 May 2016 - 10:53 PM

Ngồi cả buổi tối chắp vá cóp nhặt từ các lisp lại thì được kết quả thế này, đưa lên cho ae nào cần thì dùng tạm vậy:

(defun c:KCTT( / oidos olddim e obj PL pr pt pt1 dis i)
(vl-load-com)
(command "CMDECHO" 0)
(command "undo" "be")
(setq oldos (getvar "osmode"))
(setvar "osmode" 0)
(setq olddim (getvar "dimzin"))
(setvar "dimzin" 0)

(setq e (car (entsel "\nChon tim tuyen")))
(setq obj (vlax-ename->vla-object e))
(HLI e)

(setq PL (car (entsel "\nChon duong PL")))
(setq pr (vlax-curve-getEndParam PL) i 0)
(HLI PL)

(setq 	fn (getfiled "Chon file de ghi ket qua" "" "CSV" 1)
	fid (open fn "w")
)
(while (<= i pr)
(setq pt (vlax-curve-getPointAtParam PL i))
(setq pt1 (vlax-curve-getClosestPointTo obj pt))
(setq dis (distance pt pt1))
(setq i (1+ i))
(princ dis fid)
(princ "\n" fid)

)
(close fid)
(setvar "dimzin" olddim)
(setvar "osmode" oldos)
(command "undo" "end")
(Princ)
)

;---------------------------------
(defun HLI(enT)
(sssetfirst (ssadd enT (ssadd)) (ssadd enT (ssadd)))
)

  • 0