Chuyển đến nội dung
Diễn đàn CADViet
Kieu Tan

Lisp Tạo Text

Các bài được khuyến nghị

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! 

  • Vote giảm 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

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ả.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

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?

  • Vote giảm 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

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...  :(  :(  :(

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

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)
)

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

 

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

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

đã 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

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

đã 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

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Ý 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

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

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.com/file/d/0B2LetfHDljPGRWxYSTNqbTM3WXc/view?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!

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

@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 :)

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

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 ^^

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

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à.

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

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.com/file/d/0B2LetfHDljPGRWxYSTNqbTM3WXc/view?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ẽ

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

 

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ả. 

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

@Kieu Tan,conghoa

https://drive.google.com/file/d/0B2LetfHDljPGMlFBcktDWU0ybms/view?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).

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

@Kieu Tan,conghoa

https://drive.google.com/file/d/0B2LetfHDljPGMlFBcktDWU0ybms/view?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).

Bác chấp nhận cái request mail zùm nhé.

 

Trân trọng!

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Bác chấp nhận cái request mail zùm nhé.

 

Trân trọng!

Đã mở, lúc nãy đóng là vì phát hiện 1 lỗi nhỏ ở get-str (vẫn chưa fix được) - Có 1 số dòng text chưa phát hiện ra loại font gì.

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

@QuocManh04tt

 

Command: AP
APPLOAD CRT_KT_CH.fas successfully loaded.




Command:
:: Create TEXT from Library | © QuocManh04tt 2016 - www.CadViet.com ::
:: Type "CRT" to Invoke ::
Command:
Command: CRT
Lib-str10


Error: bad argument type: streamp nil

Bị lỗi luôn đó bác, test với cad 2017

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

 

@QuocManh04tt

 

Command: AP
APPLOAD CRT_KT_CH.fas successfully loaded.




Command:
:: Create TEXT from Library | © QuocManh04tt 2016 - www.CadViet.com ::
:: Type "CRT" to Invoke ::
Command:
Command: CRT
Lib-str10


Error: bad argument type: streamp nil

Bị lỗi luôn đó bác, test với cad 2017

 

Bị lỗi luôn đó bác, test với cad 2012, 2017

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Tạo một tài khoản hoặc đăng nhập để nhận xét

Bạn cần phải là một thành viên để lại một bình luận

Tạo tài khoản

Đăng ký một tài khoản mới trong cộng đồng của chúng tôi. Điều đó dễ mà.

Đăng ký tài khoản mới

Đăng nhập

Bạn có sẵn sàng để tạo một tài khoản ? Đăng nhập tại đây.

Đăng nhập ngay

×