Đế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

#1 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 21 September 2011 - 09:24 AM

Chào mọi người!
Mọi người viết giùm mình Lsp :
Hình đã gửi

Thanks!
  • 0

#2 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 21 September 2011 - 09:27 AM

Làm tay cái này cũng nhanh mà bạn :) Block text -> measure/divide -> explode
  • 2

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 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 21 September 2011 - 09:46 AM

Làm tay cái này cũng nhanh mà bạn :) Block text -> measure/divide -> explode


Rất cám ơn bạn.
lệnh này text lại nằm ở trên pl, có thể đưa text nằm ở giữa pl được ko vậy bạn.

Và có thể chọn text rùi chèn vào 1 chỗ bất kỳ trên pl ko?
  • 0

#4 lp_hai

lp_hai

    biết lệnh measure

  • Members
  • PipPipPipPipPipPip
  • 456 Bài viết
Điểm đánh giá: 202 (khá)

Đã gửi 21 September 2011 - 09:51 AM


Rất cám ơn bạn.
lệnh này text lại nằm ở trên pl, có thể đưa text nằm ở giữa pl được ko vậy bạn.

Và có thể chọn text rùi chèn vào 1 chỗ bất kỳ trên pl ko?

text nằm trên hay giữa là do lúc bạn chọn điểm chèn của block, bạn chọn điểm chèn của block ngay giữa text là dc
  • 1
Hình đã gửi

#5 duy782006

duy782006

    PHẠM QUỐC DUY

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

Đã gửi 21 September 2011 - 09:54 AM

Chào mọi người!
Mọi người viết giùm mình Lsp :
Thanks!

Muốn lisp thì qua đây nhé
http://www.cadviet.c...l=&fromsearch=1
  • 1

Cứ ngỡ trần gian là cõi thật.Cho nên tất bật đến bây giờ.
Tạo hộp thoại bằng lisp My blog QUY ĐỊNH ĐẶT TÊN TOPIC TRONG CHUYÊN MỤC LISPD http://ktsduy.wordpress.com/
Để cám ơn chỉ cần nhấn rep_up.png
(Là nhấn vào nút đó phía bài viết của người ta í chứ đừng có nhè cái hình này mà nhấn miết đi nha :-D


#6 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 21 September 2011 - 10:01 AM

text nằm trên hay giữa là do lúc bạn chọn điểm chèn của block, bạn chọn điểm chèn của block ngay giữa text là dc


mình cũng mò được ra rùi. mình x block ra rùi chọn cách text kiểu : Justify (Middle center)
  • 0

#7 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 21 September 2011 - 10:12 AM

Muốn lisp thì qua đây nhé
http://www.cadviet.c...l=&fromsearch=1


Nhiều lsp quá hổng biết lsp nào là đúng ý mình nhỉ mò này giờ mà chưa ra bạn à.
  • 0

#8 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 21 September 2011 - 10:14 AM

Nằm ở đâu phụ thuộc vào điểm chọn Block của bạn khi tạo block. Nếu bạn tạo điểm InsertPoint giữa text thì chèn nó sẽ vào giữa Pline
thôi
P/s : lisp của bác Duy khá tổng quát đó :)
  • 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


#9 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 21 September 2011 - 10:21 AM

Về dải text là ok rùi. còn vấn đề này mọi người xem làm thế nào?
có thể chọn text rùi chèn vào 1 chỗ bất kỳ trên pl ko?

cho mình hỏi: sao khi sử dụng lệnh measure thì text nó cứ quay ngược xuống dưới mà lại không quay lên trên cho dễ nhìn nhỉ?
Hình đã gửi
  • 0

#10 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 21 September 2011 - 10:28 AM

Trả lời nhanh : Được ^^
P/s bài trên : do measure phụ thuộc hướng Pline được tạo ra :)
  • 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


#11 duy782006

duy782006

    PHẠM QUỐC DUY

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

Đã gửi 21 September 2011 - 10:45 AM


Nhiều lsp quá hổng biết lsp nào là đúng ý mình nhỉ mò này giờ mà chưa ra bạn à.

Thế thì qua đây
http://duy782006.blo...-theo-uong.html
  • 0

Cứ ngỡ trần gian là cõi thật.Cho nên tất bật đến bây giờ.
Tạo hộp thoại bằng lisp My blog QUY ĐỊNH ĐẶT TÊN TOPIC TRONG CHUYÊN MỤC LISPD http://ktsduy.wordpress.com/
Để cám ơn chỉ cần nhấn rep_up.png
(Là nhấn vào nút đó phía bài viết của người ta í chứ đừng có nhè cái hình này mà nhấn miết đi nha :-D


#12 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 21 September 2011 - 10:46 AM

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

#13 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 21 September 2011 - 10:55 AM

Thế thì qua đây
http://duy782006.blo...-theo-uong.html


mấy lần ghé blog của bạn rùi. hôm nay mới thấy đầy đủ và dễ tìm. mà sao không thạnk được nữa nhỉ?
  • 0

#14 duy782006

duy782006

    PHẠM QUỐC DUY

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

Đã gửi 21 September 2011 - 11:04 AM

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

Tìm lệnh ROT trên cadviet đi bạn! bạnb trên cad
  • 0

Cứ ngỡ trần gian là cõi thật.Cho nên tất bật đến bây giờ.
Tạo hộp thoại bằng lisp My blog QUY ĐỊNH ĐẶT TÊN TOPIC TRONG CHUYÊN MỤC LISPD http://ktsduy.wordpress.com/
Để cám ơn chỉ cần nhấn rep_up.png
(Là nhấn vào nút đó phía bài viết của người ta í chứ đừng có nhè cái hình này mà nhấn miết đi nha :-D


#15 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 21 September 2011 - 11:29 AM

Về dải text là ok rùi. còn vấn đề này mọi người xem làm thế nào?
có thể chọn text rùi chèn vào 1 chỗ bất kỳ trên pl ko?

Quick code :

(defun c:test(/ curve txtObj pt ang)
(if
(and
(setq curve (car(entsel "\nCurve:")))
(setq txtObj (car (entsel "\nText :")))
(setq txtObj (vlax-ename->vla-object txtObj))
(setq txtObj (vla-copy txtObj))
(setq pt (vlax-curve-getClosestPointTo curve (trans (getpoint "\nPoint to Insert :") 0 1)))
(setq ang (angle '(0 0 0) (vlax-curve-getFirstDeriv curve (vlax-curve-getParamAtPoint curve pt))))
(setq pt (vlax-3d-point pt))
)
(progn
(if (= (vla-get-Alignment txtObj) 0)
(vla-put-InsertionPoint txtObj pt)
(vla-put-TextAlignmentPoint txtObj pt)
)
(vla-put-Rotation txtObj 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


#16 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 21 September 2011 - 11:52 AM

mình hết quyền thanks mất rùi Mr ketxu à. để mai mình thanks nhé.
còn vấn đề này Mr ketxu có giai quyết luôn cho mình nhé
có lệnh nào cho quay các text ngược lại được ko bạn?
Thanks!
  • 0

#17 duy782006

duy782006

    PHẠM QUỐC DUY

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

Đã gửi 21 September 2011 - 01:45 PM

mình hết quyền thanks mất rùi Mr ketxu à. để mai mình thanks nhé.
còn vấn đề này Mr ketxu có giai quyết luôn cho mình nhé
có lệnh nào cho quay các text ngược lại được ko bạn?
Thanks!

http://www.cadviet.c...l=&fromsearch=1
Đọc ở đây tìm lệnh ROT
  • 1

Cứ ngỡ trần gian là cõi thật.Cho nên tất bật đến bây giờ.
Tạo hộp thoại bằng lisp My blog QUY ĐỊNH ĐẶT TÊN TOPIC TRONG CHUYÊN MỤC LISPD http://ktsduy.wordpress.com/
Để cám ơn chỉ cần nhấn rep_up.png
(Là nhấn vào nút đó phía bài viết của người ta í chứ đừng có nhè cái hình này mà nhấn miết đi nha :-D


#18 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 21 September 2011 - 02:12 PM

Mình thực hiện lệnh nó báo như thế này là sao hỉ bạn:
; error: no function definition: DNINT
  • 0

#19 duy782006

duy782006

    PHẠM QUỐC DUY

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

Đã gửi 21 September 2011 - 03:03 PM

Mình thực hiện lệnh nó báo như thế này là sao hỉ bạn:
; error: no function definition: DNINT

Nề bạn. :b
 
(Defun c:rot ( )
(princ "\nPHAM QUOC DUY Binh Son - Quang ngai")
(command "undo" "be")
(Princ "\nHay chon doi tuong :")
(setq SS (ssget '((0 . "TEXT"))))

(setq gqtTB (getstring 5"\nNhap goc xoay: "))

(setq i 0)
(setq N (sslength ss))
(while (< i N)
(setq TEXTENT (ssname SS i))
(setq luubatdiem (getvar "osmode"))
(setvar "osmode" 0)
(command "ucs" "object" textent)
(setq tbTB (textbox (list (cons -1 textent)))
ll (car tbTB)
ur (cadr tbTB)
ul (list (car ll) (cadr ur))
lr (list (car ur) (cadr ll))
)

(setq daitext (distance ul lr))
(setq goctext(angle ul lr))
(setq dainuatext (/ daitext 2))
(setq diemquay (polar ul goctext dainuatext))

(command ".rotate" textent "" diemquay gqtTB)
(command "ucs" "p")
(setq i (1+ i))
(setvar "osmode" luubatdiem)
)
(command "undo" "end")
(setvar "MODEMACRO" "**CHUC BAN LAM VIEC HIEU QUA** PHAM QUOC DUY - BINH SON - QUANG NGAI")
(Princ)
)

  • 1

Cứ ngỡ trần gian là cõi thật.Cho nên tất bật đến bây giờ.
Tạo hộp thoại bằng lisp My blog QUY ĐỊNH ĐẶT TÊN TOPIC TRONG CHUYÊN MỤC LISPD http://ktsduy.wordpress.com/
Để cám ơn chỉ cần nhấn rep_up.png
(Là nhấn vào nút đó phía bài viết của người ta í chứ đừng có nhè cái hình này mà nhấn miết đi nha :-D


#20 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 21 September 2011 - 03:18 PM

Nề bạn. :b


(Defun c:rot ( )
(princ "\nPHAM QUOC DUY Binh Son - Quang ngai")
(command "undo" "be")
(Princ "\nHay chon doi tuong :")
(setq SS (ssget '((0 . "TEXT"))))

(setq gqtTB (getstring 5"\nNhap goc xoay: "))

(setq i 0)
(setq N (sslength ss))
(while (< i N)
(setq TEXTENT (ssname SS i))
(setq luubatdiem (getvar "osmode"))
(setvar "osmode" 0)
(command "ucs" "object" textent)
(setq tbTB (textbox (list (cons -1 textent)))
ll (car tbTB)
ur (cadr tbTB)
ul (list (car ll) (cadr ur))
lr (list (car ur) (cadr ll))
)

(setq daitext (distance ul lr))
(setq goctext(angle ul lr))
(setq dainuatext (/ daitext 2))
(setq diemquay (polar ul goctext dainuatext))

(command ".rotate" textent "" diemquay gqtTB)
(command "ucs" "p")
(setq i (1+ i))
(setvar "osmode" luubatdiem)
)
(command "undo" "end")
(setvar "MODEMACRO" "**CHUC BAN LAM VIEC HIEU QUA** PHAM QUOC DUY - BINH SON - QUANG NGAI")
(Princ)
)


Hay thật Thanks bạn nhiều nhé!
  • 0