Đến nội dung


Hình ảnh
- - - - -

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


  • Please log in to reply
11 replies to this topic

#1 gravedigger

gravedigger

    biết vẽ line

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

Đã gửi 22 June 2011 - 02:54 PM

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ướiHình đã gửi
Hình đã gửi
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.
  • 0

#2 anhphu88

anhphu88

    biết pan

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

Đã gửi 22 June 2011 - 03:01 PM

Không biết bạn muốn hỏi gì nhỉ?
  • 0

#3 gravedigger

gravedigger

    biết vẽ line

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

Đã gửi 22 June 2011 - 06:00 PM

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

#4 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

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

Đã gửi 22 June 2011 - 09:59 PM

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ề.....
  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#5 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 22 June 2011 - 10:18 PM

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


#6 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

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

Đã gửi 23 June 2011 - 12:30 AM

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ỉ.????
  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#7 gravedigger

gravedigger

    biết vẽ line

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

Đã gửi 23 June 2011 - 01:01 AM

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.
  • 0

#8 gravedigger

gravedigger

    biết vẽ line

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

Đã gửi 24 June 2011 - 10:10 PM

Em mạn phép up lên trên.
  • 0

#9 gravedigger

gravedigger

    biết vẽ line

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

Đã gửi 14 July 2011 - 08:37 AM

Em sợ vấn đề đã bị lãng quên. Up lên mong được sự giúp đỡ của các bạn.
  • 0

#10 gia_bach

gia_bach

    biết lệnh adcenter

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

Đã gửi 14 July 2011 - 09:21 AM

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ướiHình đã gửi
Hình đã gửi
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.
  • 0

#11 gravedigger

gravedigger

    biết vẽ line

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

Đã gửi 14 July 2011 - 04:33 PM

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"
  • 0

#12 qnlntbx

qnlntbx

    Chưa sử dụng CAD

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

Đã gửi 14 July 2011 - 05:28 PM

Cảm ơn các bạn nhiều...........................
  • 0