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

[Yêu cầu] Lisp change text này

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

Thưa các bác, chắc ai làm thiết kế đều biết hiệu quả khi kết hợp autocad với excel. Công việc của em hiện đang có nhu cầu sau: Em có 1 file cad, 1 file excel như hình dướieeee.png

cadexcel1.jpg

Cụ thể:

1. Trong cad em có các dtext hoặc mtext như hình. Font TimeNewroman hoặc font khác nói chung là unicode.

2. Em có một file excel với dữ liệu nhập vào như hình trên. Font TimeNewroman hoặc font khác nói chung là unicode.

Nhờ các bác viết hộ em 1 lisp với nội dung sau:

1. Lệnh của lisp. VD: changetext

2. Hiện dưới command hoặc cạnh con trỏ: Change text/Insert text Với "C" là chọn change text và "I" là chọn insert text mới.

3.1 Nếu ấn chọn Changetext:

3.1.1 Chọn đối tượng text trong cad, enter

3.1.2 Bật hộp thoại chọn file excel, enter=>changetext (Với yêu cầu là các text sau khi change vẫn giữ nguyên thuộc tính text hiện có trong cad, VD: Căn trái, chữ hoa, font, cỡ chữ...

Sẽ có các trường hợp xảy ra:

- File excel chứa dữ liệu có các hàng và cột < hàng và cột trong cad đã chọn=> chỉ changetext những phần có trong excel, các text khác trong cad giữ nguyên.

- File excel chứa dữ liệu có các hàng và cột > hàng và cột text trong cad đã chọn=>chỉ changetext những phần text đã lựa chọn trong cad.

- File excel chứa dữ liệu có các hàng và cột = hàng và cột text trong cad đã chọn=>changetext.

3.2 Nếu ấn chọn Inserttext:

3.2.1 Hỏi cỡ chữ, em chọn vd là 200 enter. Text style thì theo text style đang chọn ạ.

3.2.2 Hỏi khoảng cách các dòng/Khoảng cách các cột: vd 100 enter; 200 enter

3.2.3 Insert text (dtext ạ) vào bản vẽ. em đưa con trỏ chọn vị trí và pick.(Đến đoạn này em khó mô tả lắm đại loại nó như lệnh move sau khi mình đã chọn đối tượng ấy ạ. Khi đó em di con trỏ đến đâu sẽ hiện phần em cần move đến đó để xem trước, sau đó em thấy ok rồi thì pick chuột thế là đối tượng được move tới vị trí mớ.

Em không biết là nhờ các bác vậy có quá không, mong các bác viết hộ em 1 lisp có tác dụng như trên em mô tả với ạ. Em cám ơn các bác rất nhiê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

EM nhờ các cao thủ viết hộ lisp ấy mà, dễ hiểu thế mà.

Hề hề hề,

Dễ ta khó người ấy mà.

Bạn tưởng rằng trình bày như vậy là quá kỹ rồi phải không??? Thưa rằng nếu cứ đúng như cái "kỹ" của bạn thì bó tay luôn.

Này nhé:

1/- 3.2.3 Insert text (dtext ạ) vào bản vẽ.

Vậy chứ cái text hay dtext (chứ không phải là "dtext ạ" đâu nhé) này bạn lấy ở đâu ra để insert??? Nếu từ file excel thì trong excel chả hề phân biệt text, dtext hay Mtext chi cả. Vậy thì biết chọn thằng nào đây???

Nếu lấy từ một file CAD hiện hành thì: 1. Trong cad em có các dtext hoặc mtext như hình. Vậy thì những thằng Mtext thì bỏ qua à???

2/- Khi đó em di con trỏ đến đâu sẽ hiện phần em cần move đến đó để xem trước. Cái vụ này ngó bộ không ngon à nghen. Đây hổng phải là việc copy and paste đơn thuần đâu mà thực chất là phải vẽ lại các text này vào trong bản vẽ của bạn. Mà phải vẽ lần lượt từng thằng cu một chớ không phải paste cái ạch toàn bộ vào một lúc.

Trong CAD khi vẽ chữ này thì khó mà đòi nó phải lấp lánh cho bạn coi trước được. Hề hề hề.

 

Ấy là mình mới ngu ngu nên hiểu như vầy. Còn nếu bạn thấy "dễ hiểu thế" thì hãy mách giùm cách giải quyết mấy khúc xương đó nhé.

Hề hề hề.....

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

2/- Khi đó em di con trỏ đến đâu sẽ hiện phần em cần move đến đó để xem trước. Cái vụ này ngó bộ không ngon à nghen. Đây hổng phải là việc copy and paste đơn thuần đâu mà thực chất là phải vẽ lại các text này vào trong bản vẽ của bạn. Mà phải vẽ lần lượt từng thằng cu một chớ không phải paste cái ạch toàn bộ vào một lúc.

Trong CAD khi vẽ chữ này thì khó mà đòi nó phải lấp lánh cho bạn coi trước được. Hề hề hề.

Cái đoạn này thì đành tạo các đối tượng tạm trước ở đâu đó, gom chúng lại rồi acet-ss-drag-move hoặc move pause thôi bác ^^

  • 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

Cái đoạn này thì đành tạo các đối tượng tạm trước ở đâu đó, gom chúng lại rồi acet-ss-drag-move hoặc move pause thôi bác ^^

Hề hề hề,

Hay, hay, hay. Cái vụ này tuy hơi lẩm cẩm một tí nhưng mà lại có thể giải được cái bí mà bạn gravedigger đặt ra. Để mình ngâm thêm vài bữa hỉ.????

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

Hề hề hề,

Hay, hay, hay. Cái vụ này tuy hơi lẩm cẩm một tí nhưng mà lại có thể giải được cái bí mà bạn gravedigger đặt ra. Để mình ngâm thêm vài bữa hỉ.????

Hi bác giúp em với nhé. Em chỉ biết diễn đạt ý tưởng như trên em mô tả thôi ạ. Em trình bày ở trên là ngôn ngữ "nói"; có gì không đúng, không thực tế với ngôn ngữ máy tính, ngôn ngữ lập trình thì các bác chỉnh lại theo ý các bác nhé miễn là các bác giúp em thực hiện được các công việc changetext hoặc inserttext như trên là được. Ngu ý của em là sau khi changetext hoặc inserttext thì trong cad nó là dtext ấy ạ chứ không phải là Mtext. Em xin cám ơn các bác đã quan tâm đến các vấn đề của em.

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

Thưa các bác, chắc ai làm thiết kế đều biết hiệu quả khi kết hợp autocad với excel. Công việc của em hiện đang có nhu cầu sau: Em có 1 file cad, 1 file excel như hình dướieeee.png

cadexcel1.jpg

Cụ thể:

1. Trong cad em có các dtext hoặc mtext như hình. Font TimeNewroman hoặc font khác nói chung là unicode.

2. Em có một file excel với dữ liệu nhập vào như hình trên. Font TimeNewroman hoặc font khác nói chung là unicode.

Nhờ các bác viết hộ em 1 lisp với nội dung sau:

1. Lệnh của lisp. VD: changetext

2. Hiện dưới command hoặc cạnh con trỏ: Change text/Insert text Với "C" là chọn change text và "I" là chọn insert text mới.

3.1 Nếu ấn chọn Changetext:

3.1.1 Chọn đối tượng text trong cad, enter

3.1.2 Bật hộp thoại chọn file excel, enter=>changetext (Với yêu cầu là các text sau khi change vẫn giữ nguyên thuộc tính text hiện có trong cad, VD: Căn trái, chữ hoa, font, cỡ chữ...

Sẽ có các trường hợp xảy ra:

- File excel chứa dữ liệu có các hàng và cột < hàng và cột trong cad đã chọn=> chỉ changetext những phần có trong excel, các text khác trong cad giữ nguyên.

- File excel chứa dữ liệu có các hàng và cột > hàng và cột text trong cad đã chọn=>chỉ changetext những phần text đã lựa chọn trong cad.

- File excel chứa dữ liệu có các hàng và cột = hàng và cột text trong cad đã chọn=>changetext.

3.2 Nếu ấn chọn Inserttext:

3.2.1 Hỏi cỡ chữ, em chọn vd là 200 enter. Text style thì theo text style đang chọn ạ.

3.2.2 Hỏi khoảng cách các dòng/Khoảng cách các cột: vd 100 enter; 200 enter

3.2.3 Insert text (dtext ạ) vào bản vẽ. em đưa con trỏ chọn vị trí và pick.(Đến đoạn này em khó mô tả lắm đại loại nó như lệnh move sau khi mình đã chọn đối tượng ấy ạ. Khi đó em di con trỏ đến đâu sẽ hiện phần em cần move đến đó để xem trước, sau đó em thấy ok rồi thì pick chuột thế là đối tượng được move tới vị trí mớ.

Em không biết là nhờ các bác vậy có quá không, mong các bác viết hộ em 1 lisp có tác dụng như trên em mô tả với ạ. Em cám ơn các bác rất nhiêu.

Vấn đề "kết hợp autocad với excel" :

- thực sự Lisp rất kém trong lĩnh vực này ?!

- với Visual Basic thì mạnh hơn (do Excel là "con ruột" của M$ cùng anh em với VB)

 

Do đó bạn "chuyển nhà" qua bên VBA hay Vb.Net thì khả quan hơn.

 

Vài góp ý với 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

Vấn đề "kết hợp autocad với excel" :

- thực sự Lisp rất kém trong lĩnh vực này ?!

- với Visual Basic thì mạnh hơn (do Excel là "con ruột" của M$ cùng anh em với VB)

 

Do đó bạn "chuyển nhà" qua bên VBA hay Vb.Net thì khả quan hơn.

 

Vài góp ý với bạn.

Cám ơn bác em sẽ "chuyển nhà ngay"

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

×