Đến nội dung


Hình ảnh
- - - - -

[Yêu cầu] Lisp chèn text vào Pl


  • Please log in to reply
29 replies to this topic

#21 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 21 September 2011 - 04:57 PM

có lệnh nào cho quay các text ngược lại được ko bạn?

Quick code :

(defun c:rb()
(defun ST:Geom-Center (ent / p1 p2)
(vla-getboundingbox (vlax-ename->vla-object ent) 'p1 'p2)
(setq p1 (vlax-safearray->list p1)
p2 (vlax-safearray->list p2)
pt (mapcar '* (mapcar '+ p1 p2) '(0.5 0.5 0.5))
)
)
(or ang (setq ang 180))
(setq ang (cond ((getreal (strcat "\nGoc quay < " (rtos ang 2 2) " >:")))(ang)))
(foreach e (acet-ss-to-list (ssget))
(command ".rotate" e "" "_non" (ST:Geom-Center e) ang )
))
Chú ý code tác dụng với mọi đối tượng, nếu bạn chỉ muốn quét Text thì sửa (ssget) thành (ssget (list (cons 0 "*TEXT")))
  • 3

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


#22 whatcholingon

whatcholingon

    biết lệnh break

  • Members
  • PipPipPipPip
  • 222 Bài viết
Điểm đánh giá: 37 (tàm tạm)

Đã gửi 22 September 2011 - 01:19 PM

Quick code :


(defun c:rb()
(defun ST:Geom-Center (ent / p1 p2)
(vla-getboundingbox (vlax-ename->vla-object ent) 'p1 'p2)
(setq p1 (vlax-safearray->list p1)
p2 (vlax-safearray->list p2)
pt (mapcar '* (mapcar '+ p1 p2) '(0.5 0.5 0.5))
)
)
(or ang (setq ang 180))
(setq ang (cond ((getreal (strcat "\nGoc quay < " (rtos ang 2 2) " >:")))(ang)))
(foreach e (acet-ss-to-list (ssget))
(command ".rotate" e "" "_non" (ST:Geom-Center e) ang )
))
Chú ý code tác dụng với mọi đối tượng, nếu bạn chỉ muốn quét Text thì sửa (ssget) thành (ssget (list (cons 0 "*TEXT")))


Bạn coi lại xem mình dùng lsp thì báo thế này:
Select objects: ; error: no function definition: ACET-SS-TO-LIST
Thanks!
  • 0

#23 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5447 Bài viết
Điểm đánh giá: 2624 (tuyệt vời)

Đã gửi 22 September 2011 - 01:33 PM


Bạn coi lại xem mình dùng lsp thì báo thế này:
Select objects: ; error: no function definition: ACET-SS-TO-LIST
Thanks!

Bạn dùng cad phiên bản nào? Nó báo no function definition: ACET-SS-TO-LIST tức là bạn chưa cài bộ "Express" rồi. (nhìn lên menu xem có "Express" không?)
  • 0

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#24 whatcholingon

whatcholingon

    biết lệnh break

  • Members
  • PipPipPipPip
  • 222 Bài viết
Điểm đánh giá: 37 (tàm tạm)

Đã gửi 22 September 2011 - 03:12 PM

Bạn dùng cad phiên bản nào? Nó báo no function definition: ACET-SS-TO-LIST tức là bạn chưa cài bộ "Express" rồi. (nhìn lên menu xem có "Express" không?)


Mình xài cad 2004, 2007, 2010
nhưng mình chỉ xài 2004 là chủ yếu 3 thằng kia hiện đại quá ko theo kip
bạn có thể chuyển lsp sài ở cad 2004 được ko vậy bạn?
thanks!
  • 0

#25 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 22 September 2011 - 05:37 PM


Mình xài cad 2004, 2007, 2010
nhưng mình chỉ xài 2004 là chủ yếu 3 thằng kia hiện đại quá ko theo kip
bạn có thể chuyển lsp sài ở cad 2004 được ko vậy bạn?
thanks!


(defun c:rb(/ ST:Geom-Center ST:Ss->ListEnt)
(defun ST:Geom-Center (ent / p1 p2)
(vla-getboundingbox (vlax-ename->vla-object ent) 'p1 'p2)
(setq p1 (vlax-safearray->list p1)
p2 (vlax-safearray->list p2)
pt (mapcar '* (mapcar '+ p1 p2) '(0.5 0.5 0.5))
)
)
(defun ST:Ss->ListEnt (ss / n e l)
(setq n (sslength ss))
(while (setq e (ssname ss (setq n (1- n))))
(setq l (cons e l))
)
)
(or ang (setq ang 180))
(setq ang (cond ((getreal (strcat "\nGoc quay < " (rtos ang 2 2) " >:")))(ang)))
(foreach e (ST:Ss->ListEnt (ssget))
(command ".rotate" e "" "_non" (ST:Geom-Center e) ang )
))

  • 1

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


#26 whatcholingon

whatcholingon

    biết lệnh break

  • Members
  • PipPipPipPip
  • 222 Bài viết
Điểm đánh giá: 37 (tàm tạm)

Đã gửi 22 September 2011 - 05:52 PM


(defun c:rb(/ ST:Geom-Center ST:Ss->ListEnt)
(defun ST:Geom-Center (ent / p1 p2)
(vla-getboundingbox (vlax-ename->vla-object ent) 'p1 'p2)
(setq p1 (vlax-safearray->list p1)
p2 (vlax-safearray->list p2)
pt (mapcar '* (mapcar '+ p1 p2) '(0.5 0.5 0.5))
)
)
(defun ST:Ss->ListEnt (ss / n e l)
(setq n (sslength ss))
(while (setq e (ssname ss (setq n (1- n))))
(setq l (cons e l))
)
)
(or ang (setq ang 180))
(setq ang (cond ((getreal (strcat "\nGoc quay < " (rtos ang 2 2) " >:")))(ang)))
(foreach e (ST:Ss->ListEnt (ssget))
(command ".rotate" e "" "_non" (ST:Geom-Center e) ang )
))

Thanks Mr ketxu nhiu nhé.
  • 0

#27 traigtmientay

traigtmientay

    biết vẽ arc

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

Đã gửi 14 October 2012 - 10:15 PM


(defun c:rb(/ ST:Geom-Center ST:Ss->ListEnt)
(defun ST:Geom-Center (ent / p1 p2)
(vla-getboundingbox (vlax-ename->vla-object ent) 'p1 'p2)
(setq p1 (vlax-safearray->list p1)
p2 (vlax-safearray->list p2)
pt (mapcar '* (mapcar '+ p1 p2) '(0.5 0.5 0.5))
)
)
(defun ST:Ss->ListEnt (ss / n e l)
(setq n (sslength ss))
(while (setq e (ssname ss (setq n (1- n))))
(setq l (cons e l))
)
)
(or ang (setq ang 180))
(setq ang (cond ((getreal (strcat "\nGoc quay < " (rtos ang 2 2) " >:")))(ang)))
(foreach e (ST:Ss->ListEnt (ssget))
(command ".rotate" e "" "_non" (ST:Geom-Center e) ang )
))

không hiểu sao em dùng cái này của bác ketxu text nó bị văng rất xa . phải dùng Ctrl + A mò lại mới thấy vị trí mới của nó .
bác ketxu co thể chỉnh lại hộ e tí dc ko .
  • 0

#28 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 14 October 2012 - 10:36 PM

Chắc chỉ xảy ra khi bạn không ở WCS thôi ^^
  • 1

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


#29 traigtmientay

traigtmientay

    biết vẽ arc

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

Đã gửi 14 October 2012 - 10:43 PM

Chắc chỉ xảy ra khi bạn không ở WCS thôi ^^

Chắc chỉ xảy ra khi bạn không ở WCS thôi ^^

chính xác như bác nói luôn . e dùng UCS rồi W phát nó dc ngay . nhưng bác có thể chỉnh cho em tí để ở mọi nơi có thể dùng dc ko bác .
  • 0

#30 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 14 October 2012 - 11:06 PM

Bạn cứ gửi file CAD lên, rỗi lúc nào mình sửa sau
  • 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