Đến nội dung


Hình ảnh
5 stars - based on 24598 reviews
- - - - -

Lisp Tạo Text


  • Please log in to reply
62 replies to this topic

#1 Kieu Tan

Kieu Tan

    biết vẽ spline

  • Members
  • PipPip
  • 91 Bài viết
Điểm đánh giá: -23 (kém)

Đã gửi 28 October 2016 - 05:33 AM

Chào mọi người trên diễn đàn cadviet.com, hôm nay mình có vấn đề mong mọi người cần giúp đỡ:

Mình muốn tạo dòng text ghi sẵn nội dung trên cad. Ví dụ: mình có lsp với lệnh tắt là MB

gõ lệnh MB sau đó enter rồi chọn tỉ lệ sau đó enter và chọn điểm chèn text thì trên màn hình xuất hiện dòng chữ mà ta mong muốn, tỉ lệ 1 thì text có chiều cao là 2 và tỉ lệ 2 thì text có chiều cao là 4...: 

Tạm thời mình muốn tạo 2 dòng chữ (text) này: MẶT BẰNG TÔN MÁI

                                                                            MẶT BẰNG MÓNG

Hai dòng chữ nầy đều canh trái và có font là arial (bản mã unicode)

Mong mọi người giúp đỡ, mình xin thanks trước nha! 


  • -1

#2 duy782006

duy782006

    PHẠM QUỐC DUY

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

Đã gửi 28 October 2016 - 08:07 AM

Theo mình trong trường hợp của bạn tốt nhất là tạo các text có nội dung mong muốn thành block hết đi rồi viết lisp chèn ra sau đó EXPLODE là nhanh gọn bổ rẻ nhất. Không phải lăng tăng gì về font cả.


  • 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


#3 Kieu Tan

Kieu Tan

    biết vẽ spline

  • Members
  • PipPip
  • 91 Bài viết
Điểm đánh giá: -23 (kém)

Đã gửi 28 October 2016 - 12:25 PM

Theo mình trong trường hợp của bạn tốt nhất là tạo các text có nội dung mong muốn thành block hết đi rồi viết lisp chèn ra sau đó EXPLODE là nhanh gọn bổ rẻ nhất. Không phải lăng tăng gì về font cả.


Đây cũng là 1 ý kiến hay. Bạn có thể cho mình 1 lsp nhu vậy được khong?
  • -1

#4 Danh Cong

Danh Cong

    biết dimcontinue

  • Moderator
  • PipPipPipPipPip
  • 378 Bài viết
Điểm đánh giá: 83 (tàm tạm)

Đã gửi 28 October 2016 - 12:29 PM

Theo mình trong trường hợp của bạn tốt nhất là tạo các text có nội dung mong muốn thành block hết đi rồi viết lisp chèn ra sau đó EXPLODE là nhanh gọn bổ rẻ nhất. Không phải lăng tăng gì về font cả.

 

Đây cũng là 1 ý kiến hay. Bạn có thể cho mình 1 lsp nhu vậy được khong?

 

Câu trả lời của anh @Duy rõ ràng rồi mà. Bạn đâu cần lisp nữa mà bảo xin lisp mần răng  ? Cảm thấy khó hiểu...  :(  :(  :(


  • 0

            *** Vô lo - Vô nghĩ - Vô sầu hận ***
*** Chẳng thương - Chẳng giận - Chẳng đau lòng ***


#5 duy782006

duy782006

    PHẠM QUỐC DUY

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

Đã gửi 28 October 2016 - 03:41 PM

Viết lisp bạn chạy thử được ko rồi mông má em nó sau:

Yêu cầu trong ban vẽ bạn có sẳn style text tên là ARI và style text này có font là arial (theo ý bạn) hoặc font unicode nào đó.

Lisp lệnh là vtt. sẽ viết ra 1 text có nội dung là MẶT BẰNG TÔN MÁI tại điểm pick. Nếu chạy được thì tính tiếp.

(defun c:vtt ()
(setq d (getpoint "Diem viet text"))
(entmake (list (cons 0 "TEXT")(cons 10 d)(cons 11 d)(cons 40 2)(cons 50 0)(cons 72 0)(cons 1 "M\U+1EB6T B\U+1EB0NG TÔN MÁI")(cons 7 "ARI")(cons 8 (getvar "Clayer"))(cons 62 256))) 
(princ)
)

  • 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


#6 Kieu Tan

Kieu Tan

    biết vẽ spline

  • Members
  • PipPip
  • 91 Bài viết
Điểm đánh giá: -23 (kém)

Đã gửi 28 October 2016 - 09:04 PM

 

Viết lisp bạn chạy thử được ko rồi mông má em nó sau:

Yêu cầu trong ban vẽ bạn có sẳn style text tên là ARI và style text này có font là arial (theo ý bạn) hoặc font unicode nào đó.

Lisp lệnh là vtt. sẽ viết ra 1 text có nội dung là MẶT BẰNG TÔN MÁI tại điểm pick. Nếu chạy được thì tính tiếp.

(defun c:vtt ()
(setq d (getpoint "Diem viet text"))
(entmake (list (cons 0 "TEXT")(cons 10 d)(cons 11 d)(cons 40 2)(cons 50 0)(cons 72 0)(cons 1 "M\U+1EB6T B\U+1EB0NG TÔN MÁI")(cons 7 "ARI")(cons 8 (getvar "Clayer"))(cons 62 256))) 
(princ)
)

thanks bạn duy782006 !

Nhờ bạn mà mình đã tìm ra được nguyên nhân bị lỗi font và mình cũng đã tạo được lsp này:



(DEFUN C:MB (/ TILE P)
  (IF (= (TBLOBJNAME "STYLE" "ARIAL") NIL)
  	(command ".STYLE" "ARIAL" "ARIAL TUR" "" "" "" "" "" "")
    )
  (SETQ
	tile (getint "\nTi le: ")
	p (getpoint "\nDiem dat text: ")
	)
  (COMMAND "TEXT" "S" "ARIAL" "J" "TL" P (* TILE 2) "0" "%%UM\U+1EB6T B\U+1EB0NG TÔN MÁI"
	   "TEXT" "S" "ARIAL" "J" "TL" (POLAR P (/ PI -2) (* 3.5 TILE )) (* TILE 1.5) "0" "%%UM\U+1EB6T B\U+1EB0NG MÓNG"
	   	   
           )
)
Và mình chưa hiểu các bỏ dấu kiểu này nên nhờ bạn chỉ mình cách bỏ dấu kiểu này với:
M\U+1EB6T B\U+1EB0NG : MẶT BẰNG


  • 0

#7 quocmanh04tt

quocmanh04tt

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 742 Bài viết
Điểm đánh giá: 352 (khá)

Đã gửi 29 October 2016 - 07:19 AM

Ý tưởng:

dETekH.jpg

P/s: Chỉ cần bộ gõ, không quan tâm mấy ký tự loằng ngoằng...


  • 1

#8 duy782006

duy782006

    PHẠM QUỐC DUY

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

Đã gửi 29 October 2016 - 07:51 AM

đã nói ở topic kia với bạn là unicode và lisp rất là lằng nhằng.

hướng dẩn dụ này trên cadviet nhiều rồi.

cần ít thì đưa nội dung tôi chuyễn cho,

cần nhiều và chủ động thì tìm trên cadviet


  • 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


#9 Kieu Tan

Kieu Tan

    biết vẽ spline

  • Members
  • PipPip
  • 91 Bài viết
Điểm đánh giá: -23 (kém)

Đã gửi 29 October 2016 - 08:01 AM

đã nói ở topic kia với bạn là unicode và lisp rất là lằng nhằng.
hướng dẩn dụ này trên cadviet nhiều rồi.
cần ít thì đưa nội dung tôi chuyễn cho,
cần nhiều và chủ động thì tìm trên cadviet


Ok. Thanks Bạn nhiều nha
  • 0

#10 Kieu Tan

Kieu Tan

    biết vẽ spline

  • Members
  • PipPip
  • 91 Bài viết
Điểm đánh giá: -23 (kém)

Đã gửi 29 October 2016 - 12:31 PM

Ý tưởng:
dETekH.jpg
P/s: Chỉ cần bộ gõ, không quan tâm mấy ký tự loằng ngoằng...


Có thể cho mọi nguoi cho mình và mọi nguoi thưởng thức không Bạn
  • 0

#11 quocmanh04tt

quocmanh04tt

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 742 Bài viết
Điểm đánh giá: 352 (khá)

Đã gửi 29 October 2016 - 02:05 PM

Có thể cho mọi nguoi cho mình và mọi nguoi thưởng thức không Bạn

1- Bài ở trên mới chỉ là ý tưởng và phần vỏ, chưa có phần ruột.

2- Mới làm thêm được 1 ít: https://drive.google...iew?usp=sharing

    + Các nút mờ là chưa làm hoặc chưa làm xong.

    + String Library chỉ cần xây dựng 1 lần (có thể chỉnh sửa, bổ sung) cho đến khi cài lại windows.

    + Trong Library có thể chọn 1 hoặc nhiều dòng cùng lúc.

    + Phần Modify Library (Add...), gõ Text kiểu gì thì sau xuất ra kiểu đó.

3- Dùng tạm và cho ý kiến, để mình chỉnh sửa bổ sung (Lệnh: TT). Thanks!


  • 1

#12 conghoa

conghoa

    biết lệnh minsert

  • Members
  • PipPipPipPipPipPip
  • 439 Bài viết
Điểm đánh giá: 92 (tàm tạm)

Đã gửi 29 October 2016 - 02:34 PM

@quocmanh nên làm thêm phần xuất data để có thể dùng trên nhiều máy, vì ko sang máy khác lại mất công nhập lại dữ liệu :)
  • 0

#13 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 29 October 2016 - 03:18 PM

File data bác để trong Temporary Folder thì người ta clear cái là mất sạch chứ chờ đến khi cài lại Win đâu ^^


  • 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


#14 quocmanh04tt

quocmanh04tt

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 742 Bài viết
Điểm đánh giá: 352 (khá)

Đã gửi 29 October 2016 - 04:42 PM

File data bác để trong Temporary Folder thì người ta clear cái là mất sạch chứ chờ đến khi cài lại Win đâu ^^

Đang trong quá trình code mà.


  • 1

#15 Kieu Tan

Kieu Tan

    biết vẽ spline

  • Members
  • PipPip
  • 91 Bài viết
Điểm đánh giá: -23 (kém)

Đã gửi 29 October 2016 - 05:23 PM

1- Bài ở trên mới chỉ là ý tưởng và phần vỏ, chưa có phần ruột.

2- Mới làm thêm được 1 ít: https://drive.google...iew?usp=sharing

    + Các nút mờ là chưa làm hoặc chưa làm xong.

    + String Library chỉ cần xây dựng 1 lần (có thể chỉnh sửa, bổ sung) cho đến khi cài lại windows.

    + Trong Library có thể chọn 1 hoặc nhiều dòng cùng lúc.

    + Phần Modify Library (Add...), gõ Text kiểu gì thì sau xuất ra kiểu đó.

3- Dùng tạm và cho ý kiến, để mình chỉnh sửa bổ sung (Lệnh: TT). Thanks!

 

@quocmanh nên làm thêm phần xuất data để có thể dùng trên nhiều máy, vì ko sang máy khác lại mất công nhập lại dữ liệu :)

1. Đây là 1 lsp hay rất hữu ích cho mình và mọi người, mong bạn bổ dung các phần còn mờ để lsp hoàn thiện

2. Ý của bạn conghoa cũng là 1 ý kiến hay

3. a. Do mỗi người có tính chất công việc khác nhau, theo công việc của mình thì mình thấy như này:

Ví dụ mình muốn ghi tiêu đề cho 1 chi tiết trong 1 bản vẽ:

MẶT BẰNG MÓNG (text có chiều cao là 2)

TỶ LỆ: 1:1 (text có chiều cao là 1.5)

Hai text này nằm cạnh nhau nhưng lại có chiều cao text khác nhau (giải quyết vấn đề này cũng khó), mình thấy hầu như trong các bản vẽ người ta thường ghi như vậy (1 hộp thoại giải quyết nhiều vấn là rất khó). 

b. Nút điều chỉnh khoảng cách giữa các text

*** Ý số 3 chỉ là ý kiến góp ý của mình thôi (được thì tốt, không được cũng không sao đâu)

*** Hai ý 1 và 2 là tuyệt rồi

Chúc bạn cuối tuần vui vẽ


  • 0

#16 Bee

Bee

    biết lệnh text

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

Đã gửi 30 October 2016 - 07:59 PM

 

thanks bạn duy782006 !

Nhờ bạn mà mình đã tìm ra được nguyên nhân bị lỗi font và mình cũng đã tạo được lsp này:



(DEFUN C:MB (/ TILE P)
  (IF (= (TBLOBJNAME "STYLE" "ARIAL") NIL)
  	(command ".STYLE" "ARIAL" "ARIAL TUR" "" "" "" "" "" "")
    )
  (SETQ
	tile (getint "\nTi le: ")
	p (getpoint "\nDiem dat text: ")
	)
  (COMMAND "TEXT" "S" "ARIAL" "J" "TL" P (* TILE 2) "0" "%%UM\U+1EB6T B\U+1EB0NG TÔN MÁI"
	   "TEXT" "S" "ARIAL" "J" "TL" (POLAR P (/ PI -2) (* 3.5 TILE )) (* TILE 1.5) "0" "%%UM\U+1EB6T B\U+1EB0NG MÓNG"
	   	   
           )
)
Và mình chưa hiểu các bỏ dấu kiểu này nên nhờ bạn chỉ mình cách bỏ dấu kiểu này với:
M\U+1EB6T B\U+1EB0NG : MẶT BẰNG

Cái này là unicode chứ có phải vni đâu. Topic trước thì hỏi 1 kiểu. heizz. Lầu sau gửi cả file CAD để mọi người check vấn đề giúp cho nhanh. Kiến thức có hạn mà hỏi loanh quanh chỉ mất thời gian mà không hiệu quả. 


  • 0

#17 quocmanh04tt

quocmanh04tt

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 742 Bài viết
Điểm đánh giá: 352 (khá)

Đã gửi 31 October 2016 - 08:23 AM

Đang test:

 

Dự kiến:

ToxWZX.jpg


  • 1

#18 Kieu Tan

Kieu Tan

    biết vẽ spline

  • Members
  • PipPip
  • 91 Bài viết
Điểm đánh giá: -23 (kém)

Đã gửi 31 October 2016 - 02:08 PM

Đang test:


Dự kiến:
ToxWZX.jpg


Mong tin vui từ bạn
  • 0

#19 Kieu Tan

Kieu Tan

    biết vẽ spline

  • Members
  • PipPip
  • 91 Bài viết
Điểm đánh giá: -23 (kém)

Đã gửi 01 November 2016 - 12:23 PM

Hóng tin từ bạn quocmanh04tt
  • 0

#20 quocmanh04tt

quocmanh04tt

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 742 Bài viết
Điểm đánh giá: 352 (khá)

Đã gửi 01 November 2016 - 02:00 PM

@Kieu Tan,conghoa

https://drive.google...iew?usp=sharing

Hướng dẫn:

1. Lệnh CRT

2. Các nút điều khiển trên hộp thoại có thể xem ở Clip ở trên.

3. Sau khi chọn String và OK => trước khi chọn điểm đặt Text, có thể điều chỉnh Text như sau:

    a. Gõ phím S: để thay đổi chiều cao text của dòng đầu tiên, các dòng thứ 2 trở đi giữ nguyên theo giá trị trên hộp thoại.

    b. Nhấn giữ hoặc gõ phím: + , - để thay đổi khoảng cách giữa các dòng.

    c. Nhấn giữ hoặc gõ phím: > , < để thay đổi Width của text.

    d. Nhấn giữ hoặc gõ phím: [ , ] để thay đổi chiều cao text các dòng thứ 2 trở đi.

    e. Nhấn giữ hoặc gõ phím: R, O để xoay text.

P/s: - Khi tạo thư viện String từ nút Get-str: Thì tất cả các string được chuyển sang mã UNICODE.

       - Khi xuất String->Text: Đối với các font .TTF (thuộc các bảng mã: TCVN3, VNI) thì lisp tự chuyển đổi => Có nghĩa: Sau khi chọn các string, dùng TextStyle nào cũng được (Uni, Tcvn, Vni <=> font: *.ttf).


  • 1