Đến nội dung


Hình ảnh
* - - - - 1 Bình chọn

[Yêu cầu] viêt lisp vẽ đường thẳng VG và đi qua điểm M trên lwpolyline


  • Please log in to reply
4 replies to this topic

#1 minhndq

minhndq

    Chưa sử dụng CAD

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

Đã gửi 26 August 2011 - 05:30 PM

nhờ các anh trên diễn đàn giúp em việc như thế này, em có text tên cọc nằm trên đường lwpolyline, em muốn vẽ 1 đoạn thẳng có chiều dài tuỳ chọn (theo lúc chạy chương trình) khi đó em chỉ việc click chuột vào text đó là nó sẽ tự động vẽ đoạn thẳng vuông góc đi qua nó. xin cảm ơn các bạn, các anh trên diễn đàn trước nhé!
  • 0

#2 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 26 August 2011 - 07:53 PM

Hình hoặc file minh họa đâu bạn ?? Đầu vào là gì ? Đầu ra là gì ?
  • 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 minhndq

minhndq

    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 August 2011 - 02:59 AM

Hình hoặc file minh họa đâu bạn ?? Đầu vào là gì ? Đầu ra là gì ?

đay pác ạh: http://www.cadviet.c..._dtvg_qua_m.dwg
đầu vào là polyline, text
đầu ra là line
line phải vuông góc với polyline và phải đi qua các cọc C trong bản vẽ
Nhờ Pác giúp dùm em nhé... thanks
  • 0

#4 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 27 August 2011 - 07:27 AM

Bạn đoc quy định post bài ở Box Autolisp chưa ? Dưới chữ ký mình nè -_-
  • 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


#5 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 27 August 2011 - 07:41 AM

Qua bản vẽ sơ sài của bạn thì chỉ làm đc đến thế này thôi :
(defun c:kvg (/ curve curve1 txtSS tmp ang)
(vl-load-com)
(grtext -1 "Free lisp from Cadviet @Ketxu")
(defun ST:Ss->ListVLa (ss / n e l)
(setq n (sslength ss))(while (setq e (ssname ss (setq n (1- n))))
(setq l (cons (vlax-ename->vla-object e) l))))
(or len (setq len 5))
(setq len (cond ((getreal (strcat "\nLength of Line < " (rtos len 2 0) " > :")))(len)))
(if (setq curve1 (car(entsel "\nSelect Pline :")))
(progn (redraw curve1 3)(prompt "\nSelect Texts to Draw Line :")
(while
(setq txtSS (ssget (list (cons 0 "*TEXT"))))
(setq txtSS (ST:Ss->ListVLa txtSS) curve (vlax-ename->vla-object curve1))
(foreach txtObj txtSS
(setq tmp (vlax-curve-getClosestPointTo curve (trans (vlax-get txtObj 'InsertionPoint ) 1 0))
ang (angle '(0 0) (Vlax-curve-getfirstderiv curve (vlax-curve-getParamAtPoint curve tmp)))
)
(entmakex (list (cons 0 "LINE")
(cons 10 (polar tmp (+ ang (/ pi 2) ) (/ len 2)))
(cons 11 (polar tmp (- ang (/ pi 2) ) (/ len 2)))
(cons 62 4)
)
)
)
)(redraw curve1 4))
))

  • 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