Đến nội dung


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

Hỏi về Lisp (thuật toán, ý tưởng, coding,...)


  • Please log in to reply
2854 replies to this topic

#1061 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

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

Đã gửi 14 January 2012 - 11:53 AM

E nghĩ là được bác ạ - Nếu nhất thiết muốn dùng "setvar ? *"
Để làm được điều đó thì bác ĐVH cần làm vài việc sau :
1- Chọn đường dẫn để logfilepath -> Logfileoff -> logfileon
2- Sử dụng vla-sendcommand hoặc WSH để tạo hàm send nút Enter
3- Kết hợp lệnh setvar ? với hàm send enter + cmdactive để enter đến khi xong lệnh setvar
4- Lúc này toàn bộ các thứ trên F2 đã được lưu vào log -> logfileoff
5- Hàm tách chuỗi (xử lý phân biệt var - val) để lấy text đầu trong mỗi dòng file log (bắt đầu từ đoạn Enter variable(s) to list <*>: *)
6 - Đưa ngược trở về list

Thực ra thì khái niệm "làm được" này không "ép phê" lắm mà thôi. Ngoài cách của Ket, còn có thể làm bằng cách dùng "Sysvdlg" -> "Save all" -> Write file -> Read file -> Create List -> Xử lý list là được. Tuy nhiên, hoặc phải nhấn enter như Ket hoặc phải mở dialoge như tôi thì tôi không thích lắm. Tôi muốn lisp cứ âm thầm lặng lẽ mà lấy list of system variables thì dễ thương hơn. Dù sao vẫn rất cám ơn các vị: Tue_NV, Ketxu, Thaistreetz đã quan tâm.
Thân thươ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.


#1062 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 14 January 2012 - 12:54 PM

Thực ra thì khái niệm "làm được" này không "ép phê" lắm mà thôi. Ngoài cách của Ket, còn có thể làm bằng cách dùng "Sysvdlg" -> "Save all" -> Write file -> Read file -> Create List -> Xử lý list là được.

Ket nói là để k dựa vào ACET, chứ nếu ôm thằng này thì bác lấy code của nó xem hoặc sử dụng luôn acadinfo e nói ở bài trước là có file rồi còn j ^^ (k hiện Dialog) - Hoặc lọc ngay file defaults.scr có sẵn trong thư mục Express phiên bản ACET tương ứng
  • 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


#1063 Detailing

Detailing

    biết lệnh imageclip

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

Đã gửi 14 January 2012 - 03:22 PM

Cám ơn bạn! Trong lúc chờ đợi thì cũng chợt nghĩ ra hướng g/q. Nhưng dù sao vẫn cám ơn bạn.

@ Doan Van Ha,
Mình nghĩ bạn cũng viết lisp cho mọi ng nhiều, dùng công cụ search cũng nhiều, tuy nhiên lần sau hãy chờ khi nào ko thể giải quyết dc hãy đặt câu hỏi vì mình rất ko thích cách trả lời này nó làm mình cảm thấy vừa làm 1 việc vô ích. Mình đã nhận dc câu trả lời dạng này vài lần tuy nhiên ko nhớ của ai. Mình ko cần các bạn click like this hay cám ơn chỉ cần các bạn xem hiểu và nếu có cơ hội thì hướng dẫn lại giúp ai đó, vậy là đủ.
p/s: phần này gửi riêng bạn Doan Van Ha cũng như gửi chung cho các bạn quan tâm đến các bài viết của mình mong Mod có đi ngang thì xóa dùm.
thanks All!
  • 0

Ideas don't matter, execution does!

1908412_308002392716743_8165279281236341


#1064 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

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

Đã gửi 14 January 2012 - 03:32 PM

@ Doan Van Ha,
Mình nghĩ bạn cũng viết lisp cho mọi ng nhiều, dùng công cụ search cũng nhiều, tuy nhiên lần sau hãy chờ khi nào ko thể giải quyết dc hãy đặt câu hỏi vì mình rất ko thích cách trả lời này nó làm mình cảm thấy vừa làm 1 việc vô ích. Mình đã nhận dc câu trả lời dạng này vài lần tuy nhiên ko nhớ của ai. Mình ko cần các bạn click like this hay cám ơn chỉ cần các bạn xem hiểu và nếu có cơ hội thì hướng dẫn lại giúp ai đó, vậy là đủ.
p/s: phần này gửi riêng bạn Doan Van Ha cũng như gửi chung cho các bạn quan tâm đến các bài viết của mình mong Mod có đi ngang thì xóa dùm.
thanks All!

Đừng nói như vậy! Tôi suy nghĩ suốt mấy tiếng mà chưa tìm ra nên mới hỏi. Tôi chả bao giờ đi hỏi một vấn đề mà mình chưa chịu vắt óc cả. Trong lúc đang hỏi cũng là đang suy nghĩ tiếp thì bỗng có hướng giải quyết là chuyện thường. Bạn không thích thì tôi cũng chịu, chứ đôi lúc thực tế là thế.
  • 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.


#1065 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 14 January 2012 - 09:12 PM

Thực ra thì khái niệm "làm được" này không "ép phê" lắm mà thôi. Ngoài cách của Ket, còn có thể làm bằng cách dùng "Sysvdlg" -> "Save all" -> Write file -> Read file -> Create List -> Xử lý list là được. Tuy nhiên, hoặc phải nhấn enter như Ket hoặc phải mở dialoge như tôi thì tôi không thích lắm. Tôi muốn lisp cứ âm thầm lặng lẽ mà lấy list of system variables thì dễ thương hơn. Dù sao vẫn rất cám ơn các vị: Tue_NV, Ketxu, Thaistreetz đã quan tâm.
Thân thương!

Thực ra cách làm như trong Acet, trong file acadinfo.lsp hoặc file defaults.scr là cách làm liệt kê ra các biến hệ thống trong 1 phiên bản CAD. Tue_NV đọc các bài viết trên chỉ nghĩ đến phương án không liệt kê ra thôi, Nếu liệt kê các biến hệ thống ra theo từng phiên bản CAD thì bài toán đơn giản rồi, Mình đang sử dụng CAD2012 và thực sự là nó không thể LOAD các file arx ở CAD2008. Nếu chẳng may mà các bản CAD đời cao không hỗ trợ Express nữa thì liệt kê cũng hơi bị khổ sở 1 chút....

@KetXu: Cách sử dụng Sendcommand thì Tue_NV cũng đã thử nhưng Sendcommand không nhận Key Enter trong trường hợp này. Ketxu kiểm tra lại xem. Tue_NV đã thử nhưng bất thành
Vài dòng, các bác xin góp ý thêm
  • 1

#1066 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 14 January 2012 - 10:58 PM

@KetXu: Cách sử dụng Sendcommand thì Tue_NV cũng đã thử nhưng Sendcommand không nhận Key Enter trong trường hợp này. Ketxu kiểm tra lại xem. Tue_NV đã thử nhưng bất thành
Vài dòng, các bác xin góp ý thêm

XIn lỗi mọi người, giờ Ket mới test thử và thấy đúng thật. Built-in command này của CAD k cho phép nhập thêm đối số nào nữa, kể cả "" trong cùng command ^^ Cảm ơn bác Tuệ đã test mấy dòng ket múa may ^^
  • 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


#1067 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 17 January 2012 - 07:52 AM

XIn lỗi mọi người, giờ Ket mới test thử và thấy đúng thật. Built-in command này của CAD k cho phép nhập thêm đối số nào nữa, kể cả "" trong cùng command ^^ Cảm ơn bác Tuệ đã test mấy dòng ket múa may ^^

Có gì đâu, Thấy Ket xu khởi điểm ý tưởng, hứng quá Tue_NV cầm bút đi test. Ai ngờ bút tắc tị mực, mực xịt hoài không ra….hehee….
Thế mới biết rằng có ý tưởng rồi, thì làm lại là 1 công việc khác nữa, cốt yếu mong muốn cho ra sản phẩm của ý tưởng nhằm thỏa mãn cho nhu cầu ….đâm mê của mình.

Sắp sang năm mới, cầu chúc cho các ý tưởng của các Lisper, Programer sớm trở thành hiện thực và sẽ cho ra đời các sản phẩm có giá trị.
http://www.cadviet.c...=0
Thân ái.
  • 1

#1068 Thaistreetz

Thaistreetz

    biết lệnh adcenter

  • Advance Member
  • PipPipPipPipPipPipPip
  • 903 Bài viết
Điểm đánh giá: 505 (tốt)

Đã gửi 30 January 2012 - 07:22 PM

Vla cung cấp cho chúng ta hàm Vla-DisplayPlotPreview:
(vla-DisplayPlotPreview (vla-get-plot (vla-get-activedocument (vlax-get-acad-object))) acFullPreview)
nhưng mình chẳng thể làm gì với nó, menu chính và menu chuột fải của nó không có nút Plot (dù đã thiết lập đầy đủ tất cả các thông số in), mà nhấn Esc, Space, Enter hay kích nút Exit kiểu gì nó cũng chỉ trả về 1 kết quả duy nhất là nil.
Các bác có cao kiến gì để em nó dùng như bình thường được không? hiện tại mình đang chữa cháy bằng hàm command nhưng thấy chạy nặng nề quá. :(
  • 0

Hình đã gửi
IN HIM, I TRUST. THE TRUST IN MY GOD


#1069 Thaistreetz

Thaistreetz

    biết lệnh adcenter

  • Advance Member
  • PipPipPipPipPipPipPip
  • 903 Bài viết
Điểm đánh giá: 505 (tốt)

Đã gửi 12 February 2012 - 08:52 PM

Mình dùng hàm vlax-safearray->list để chuyển 1 safearray với <value> chứa thông tin tọa độ điểm về list. Tuy nhiên hàm này sẽ lỗi khi safearray có <value> là nil. Các bác có cách nào để khống chế được lỗi này không? thanks
  • 0

Hình đã gửi
IN HIM, I TRUST. THE TRUST IN MY GOD


#1070 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 12 February 2012 - 09:11 PM

Mình dùng hàm vlax-safearray->list để chuyển 1 safearray với <value> chứa thông tin tọa độ điểm về list. Tuy nhiên hàm này sẽ lỗi khi safearray có <value> là nil. Các bác có cách nào để khống chế được lỗi này không? thanks

Bạn có thể nói rõ hơn không?
  • 0

#1071 Thaistreetz

Thaistreetz

    biết lệnh adcenter

  • Advance Member
  • PipPipPipPipPipPipPip
  • 903 Bài viết
Điểm đánh giá: 505 (tốt)

Đã gửi 12 February 2012 - 09:37 PM

Theo hiểu biết của em thì cấu trúc của Safearray có 3 thành phần:
1) kiểu <type>: có 8 kiểu (bác đọc thêm trong help developer, hàm vlax-safearray-type)
2) Kích thước <number of dimensions>: số đối tượng mà Safearray mô tả
3) Giá trị <value>: là các giá trị của các đối tượng mà Safearray mô tả

Với Safearray mô tả tọa độ điểm 3D thì cấu trúc của nó như sau:
<type> Double
<number of dimensions> là số nguyên - số điểm 3D mà Safearray mô tả
<value> là tọa độ các điểm, ví dụ nếu Safearray mô tả 2 điểm 3D thì <value> sẽ có dạng (x1 y1 z1 x2 y2 z2)

Trong trường hợp của em thì:
<number of dimensions> là 1
<value> là nil
kết quả (vlax-safearray->list #Safearray) trả về lỗi

Edit: đã tìm ra cách khống chế lỗi.
Với Safearray có <value> là nil thì hàm (vlax-safearray-get-u-bound #Safearray 1) trả về kết quả -1, khác nil trả về kết quả > 0
  • 2

Hình đã gửi
IN HIM, I TRUST. THE TRUST IN MY GOD


#1072 hugo007

hugo007

    biết lệnh erase

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

Đã gửi 28 February 2012 - 02:01 PM

Nhờ các bác xem giùm lỗi này:
>>Enter new value for DIMTXSTY <"Standard">: dimstyle
Cannot set DIMTXSTY to that value.
; error: Function cancelled
*Invalid*

Chân thành cảm ơn trước.
  • 0

#1073 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

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

Đã gửi 28 February 2012 - 02:52 PM

Nhờ các bác xem giùm lỗi này:
>>Enter new value for DIMTXSTY <"Standard">: dimstyle
Cannot set DIMTXSTY to that value.
; error: Function cancelled
*Invalid*
Chân thành cảm ơn trước.

Lý do: kiểu "dimstyle" của bạn chưa được set.
Xử lý: vào Format -> Dimension Style -> (New hoặc Modify hoặc Overriide) -> Text -> Text Style -> Set "Dimstyle". Sau đó mới setvar hoặc command được.
  • 1

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


#1074 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 28 February 2012 - 04:41 PM

Lý do: kiểu "dimstyle" của bạn chưa được set.
Xử lý: vào Format -> Dimension Style -> (New hoặc Modify hoặc Overriide) -> Text -> Text Style -> Set "Dimstyle". Sau đó mới setvar hoặc command được.

Lý do chính là trong bản vẽ chưa tồn tại Text style có tên là "dimstyle"
Cái này thì phải vô Lệnh ST (Style) -> Tạo ra Style mới có tên là "dimstyle" mới đúng.

Nếu dùng Lisp, có thể kiểm tra dòng này
(tblsearch "STYLE" "dimstyle")
-> Nếu trả về NIL tức là Text style tên là "dimstyle" chưa tồn tại. Bạn có thể tạo Style mới tên là "dimstyle" bằng Command rồi setvar cho biến DIMTXSTY
-> Nếu trả về T tức là Text style tên là "dimstyle" đã tồn tại. Bạn chỉ việc (setvar DIMTXSTY "dimstyle")
  • 2

#1075 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

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

Đã gửi 28 February 2012 - 04:46 PM

Lý do chính là trong bản vẽ chưa tồn tại Text style có tên là "dimstyle"
Cái này thì phải vô Lệnh ST (Style) -> Tạo ra Style mới có tên là "dimstyle" mới đúng.

Nếu dùng Lisp, có thể kiểm tra dòng này
(tblsearch "STYLE" "dimstyle")
-> Nếu trả về NIL tức là kiểu Text style tên là "dimstyle" chưa tồn tại. Bạn có thể tạo Style mới bằng Command rồi setvar cho biến DIMTXSTY
-> Nếu trả về T tức là kiểu Text style tên là "dimstyle" đã tồn tại. Bạn chỉ việc (setvar DIMTXSTY "dimstyle")

Vâng, vào cách này đơn giản hơn. Nhưng vào kiểu tui, chọn new (srr Modify và Overriide) cũng được, nhưng rối nhỉ!
  • 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.


#1076 hugo007

hugo007

    biết lệnh erase

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

Đã gửi 28 February 2012 - 04:57 PM

Lý do chính là trong bản vẽ chưa tồn tại Text style có tên là "dimstyle"
Cái này thì phải vô Lệnh ST (Style) -> Tạo ra Style mới có tên là "dimstyle" mới đúng.

Nếu dùng Lisp, có thể kiểm tra dòng này
(tblsearch "STYLE" "dimstyle")
-> Nếu trả về NIL tức là Text style tên là "dimstyle" chưa tồn tại. Bạn có thể tạo Style mới tên là "dimstyle" bằng Command rồi setvar cho biến DIMTXSTY
-> Nếu trả về T tức là Text style tên là "dimstyle" đã tồn tại. Bạn chỉ việc (setvar DIMTXSTY "dimstyle")

Đầu tiên là:
(command "style" "dimstyle" "VHELVCN.TTF" "0" "1" "0" "n" "n")
rồi mà sao nó lại báo chưa có?Thanks.
  • 0

#1077 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

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

Đã gửi 28 February 2012 - 05:06 PM

Đầu tiên là:
(command "style" "dimstyle" "VHELVCN.TTF" "0" "1" "0" "n" "n")
rồi mà sao nó lại báo chưa có?Thanks.

Có lẽ bạn nhập tên fontfile chưa đúng nên tạo style chưa được (lỗi). Thử sửa lại fontfile là "VHELVCN_0.TTF" xem sao hè!
  • 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.


#1078 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 28 February 2012 - 05:15 PM

Đầu tiên là:
(command "style" "dimstyle" "VHELVCN.TTF" "0" "1" "0" "n" "n")
rồi mà sao nó lại báo chưa có?Thanks.

Cũng hơi khó trả lời câu của bạn. Vì mình không biết Command của bạn báo gì???
Bạn đọc và thử code nhé:


(defun c:ktd()
(if (tblsearch "STYLE" "dimstyle")
(setvar "DIMTXSTY" "dimstyle")
(Progn
(command "style" "dimstyle" "VHELVCN.TTF" "0" "1" "0" "n" "n")
(setvar "DIMTXSTY" "dimstyle")
)
)
)

  • 1

#1079 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

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

Đã gửi 28 February 2012 - 05:20 PM

Cũng hơi khó trả lời câu của bạn. Vì mình không biết Command của bạn báo gì???
Bạn đọc và thử code nhé:


(defun c:ktd()
(if (tblsearch "STYLE" "dimstyle")
(setvar "DIMTXSTY" "dimstyle")
(Progn
(command "style" "dimstyle" "VHELVCN.TTF" "0" "1" "0" "n" "n")
(setvar "DIMTXSTY" "dimstyle")
)
)
)

Nó lỗi, dù cad đã có font file VHELVCN.TTF
Trích dẫn:
Command: ktd
style Enter name of text style or [?] <Standard>: dimstyle
New style.
Specify full font name or font filename (TTF or SHX) <txt>: VHELVCN.TTF
Font file doesn't exist.
Command: 0 Unknown command "0". Press F1 for help.
Command: 1 Unknown command "1". Press F1 for help.
Command: 0 Unknown command "0". Press F1 for help.
Command: n Unknown command "N". Press F1 for help.
Command: n Unknown command "N". Press F1 for help.
Command: ; error: AutoCAD variable setting rejected: "DIMTXSTY" "dimstyle"
  • 1

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


#1080 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 28 February 2012 - 05:24 PM

Nó lỗi, dù cad đã có font file VHELVCN.TTF
Trích dẫn:
Command: ktd
style Enter name of text style or [?] <Standard>: dimstyle
New style.
Specify full font name or font filename (TTF or SHX) <txt>: VHELVCN.TTF
Font file doesn't exist.
Command: 0 Unknown command "0". Press F1 for help.
Command: 1 Unknown command "1". Press F1 for help.
Command: 0 Unknown command "0". Press F1 for help.
Command: n Unknown command "N". Press F1 for help.
Command: n Unknown command "N". Press F1 for help.
Command: ; error: AutoCAD variable setting rejected: "DIMTXSTY" "dimstyle"

Ừ! Do mình chưa kiểm tra máy có Font đó hay không mà
Đây là đoạn kiểm tra máy tính của bạn có Font hay không?


(defun ktrafont (font)
;;;write by Tue_NV
(vl-cmdf "style" "dimstyle" font)
(if (/= (getvar "cmdactive") 0)
(progn
(command "0" "1" "0" "n" "n")
(alert (strcat "Ten " font "co trong may tinh cua ban"))
)
(alert (strcat "Ten " font "khong co trong may tinh cua ban"))
)
)
Bạn DVH kiểm tra lại xem
Lisp chạy trên máy của mình đã tồn tại Font


Command: ktd style Enter name of text style or [?] <Standard>: dimstyle
New style.
Specify full font name or font filename (TTF or SHX) <txt>: VHELVCN.TTF Specify
height of text or [Annotative] <0.0000>: 0 Specify width factor <1.0000>: 1
Specify obliquing angle <0>: 0 Display text backwards? [Yes/No] <No>: n Display
text upside-down? [Yes/No] <No>: n
"dimstyle" is now the current text style.
  • 1