Đến nội dung


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

[Cần giúp] Lập trình phần mềm tự động dịch trong CAD


  • Please log in to reply
53 replies to this topic

#1 dunkare01

dunkare01

    Chưa sử dụng CAD

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

Đã gửi 12 October 2014 - 08:46 PM

Kính gửi các cụ,

 

Em đang cần làm 1 phần mềm tự động dịch trong CAD, cơ bản ý tưởng là bên em sử dụng phần mềm thiết kế của nước ngoài để xuất bản vẽ chế tạo, tuy nhiên các mô tả kỹ thuật lại bằng tiếng Anh. Các mô tả này thường lặp đi lặp lại nên việc cứ ngồi dịch tốn rất nhiều time và nhàm chán. Do đó em muốn có 1 phần mềm theo ý tưởng sau:

 

- Bên em có sẵn kho từ theo kiểu 1 cột là tiếng anh 1 cột là các tiếng việt được dịch sang

- Phần mềm đó tự động nhận diện từ tiếng anh trong bản vẽ và thay bằng từ tiếng việt (kiểu find and replace trong word ấy ạ)

 

Vậy các cụ cho em hỏi có ngôn ngữ lập trình nào giải quyết được cái này không ạ

 

Em cảm ơn

 

 


  • 0

#2 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

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

Đã gửi 12 October 2014 - 09:06 PM

Kính gửi các cụ,

 

Em đang cần làm 1 phần mềm tự động dịch trong CAD, cơ bản ý tưởng là bên em sử dụng phần mềm thiết kế của nước ngoài để xuất bản vẽ chế tạo, tuy nhiên các mô tả kỹ thuật lại bằng tiếng Anh. Các mô tả này thường lặp đi lặp lại nên việc cứ ngồi dịch tốn rất nhiều time và nhàm chán. Do đó em muốn có 1 phần mềm theo ý tưởng sau:

 

- Bên em có sẵn kho từ theo kiểu 1 cột là tiếng anh 1 cột là các tiếng việt được dịch sang

- Phần mềm đó tự động nhận diện từ tiếng anh trong bản vẽ và thay bằng từ tiếng việt (kiểu find and replace trong word ấy ạ)

 

Vậy các cụ cho em hỏi có ngôn ngữ lập trình nào giải quyết được cái này không ạ

 

Em cảm ơn

Hề hề hề,

Nếu là tương ứng 1-1 giữa tiếng Việt và tiếng Anh thì có thể dùng lisp được. Hãy gửi cái kho từ điển ấy lên để mọi người xem xét nhé.


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

#3 HungDHXD

HungDHXD

    biết vẽ ellipse

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

Đã gửi 12 October 2014 - 09:47 PM

Kính gửi các cụ,

 

Em đang cần làm 1 phần mềm tự động dịch trong CAD, cơ bản ý tưởng là bên em sử dụng phần mềm thiết kế của nước ngoài để xuất bản vẽ chế tạo, tuy nhiên các mô tả kỹ thuật lại bằng tiếng Anh. Các mô tả này thường lặp đi lặp lại nên việc cứ ngồi dịch tốn rất nhiều time và nhàm chán. Do đó em muốn có 1 phần mềm theo ý tưởng sau:

 

- Bên em có sẵn kho từ theo kiểu 1 cột là tiếng anh 1 cột là các tiếng việt được dịch sang

- Phần mềm đó tự động nhận diện từ tiếng anh trong bản vẽ và thay bằng từ tiếng việt (kiểu find and replace trong word ấy ạ)

 

Vậy các cụ cho em hỏi có ngôn ngữ lập trình nào giải quyết được cái này không ạ

Em cảm ơn

ngôn ngữ lập trình không quan trong / quan trọng là giải thuật !

Với bài này thì giải thuật không có gì là đặc biệt, chỉ là lấy phần tử tương ứng giữa 2 mảng . Thông thường người ta hay dùng Scritpting.dictionary để giải quyết bài toán này ! Tức là đưa toàn bộ kho từ Anh - Việt vào một Dictionary, duyệt qua các phần tử trên bản vẽ rồi truy xuất giá trị từ dictionary sang !


  • 0

#4 dunkare01

dunkare01

    Chưa sử dụng CAD

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

Đã gửi 13 October 2014 - 12:36 AM

Bác HungDHXD nói đúng rồi ạ! Đối với bài toán của em, để nhanh & nhẹ thì cũng không cần đưa toàn bộ kho từ vào mà chỉ khoảng 50-100 từ bên em hay dùng thôi, sau đó duyệt trên bản vẽ xem từ tiếng anh nào có trong dictionary thì thay bằng từ tiếng việt tương ứng. 

 

Bác có thể nói thêm về scripting dictionary được không ạ

 

Theo em tìm hiểu thì hiện cũng có nhiều phần mềm hỗ trợ việc dịch trong autocad, nhưng toàn kiểu export text trên 1 hoặc 1 số bản vẽ cad cố định ra file txt hoặc định dạng khác -> sửa từ trên file txt -> import ngược trở lại.


  • 0

#5 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 13 October 2014 - 05:25 AM

Nếu chỉ là tương ứng Anh Việt kiểu replace từ thì đơn giản rồi. Chỉ sợ là khi dịch ra được nó lủng cà lủng củng mà thôi


  • 1

#6 HungDHXD

HungDHXD

    biết vẽ ellipse

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

Đã gửi 13 October 2014 - 11:18 AM

Bác HungDHXD nói đúng rồi ạ! Đối với bài toán của em, để nhanh & nhẹ thì cũng không cần đưa toàn bộ kho từ vào mà chỉ khoảng 50-100 từ bên em hay dùng thôi, sau đó duyệt trên bản vẽ xem từ tiếng anh nào có trong dictionary thì thay bằng từ tiếng việt tương ứng. 

 

Bác có thể nói thêm về scripting dictionary được không ạ

 

Theo em tìm hiểu thì hiện cũng có nhiều phần mềm hỗ trợ việc dịch trong autocad, nhưng toàn kiểu export text trên 1 hoặc 1 số bản vẽ cad cố định ra file txt hoặc định dạng khác -> sửa từ trên file txt -> import ngược trở lại.

Cho xin 1 cái file Cad, và 1 file dữ liệu  thì mới cụ thể được, chứ cứ giải lập như vậy thì mất công lắm !


  • 0

#7 hoan2182

hoan2182

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 2646 Bài viết
Điểm đánh giá: 836 (rất tốt)

Đã gửi 13 October 2014 - 02:23 PM

Nếu chỉ là tương ứng Anh Việt kiểu replace từ thì đơn giản rồi. Chỉ sợ là khi dịch ra được nó lủng cà lủng củng mà thôi

 

Thực ra thì Google Dịch, nó cũng dịch lởm khà lởm khởm và lủng cà lủng củng, nhưng người sử dụng thành thạo AutoCAD vẫn chắt lọc được tinh chất của nó.

Chỉ sợ nhất là nó không dịch "kê" là "gà" mà nó lại dịch thành TAM ĐẠI CON GÀ kiểu như: "Dủ dỉ là chị con công, con công là ông con gà" thì cứ gọi là ...đứt phần phần phật....phần phật, bác Tue_NV ạ!


  • 0

Gió đưa cây cải về trời

Rau răm ở lại chịu lời đắng cay...


#8 Nad SK

Nad SK

    biết vẽ spline

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

Đã gửi 17 April 2017 - 02:15 PM

Bài toán này chưa có lời giải à các bác???

Em cũng đang bị trường hợp này, chỉ cần dịch những từ ngữ đơn giản thôi. Đang dịch từ Tiếng Việt sang Tiếng Anh, nhiều bản vẽ ở nhiều file khác nhau, bản vẽ nào cũng có một số từ có thể dịch tự động được như: Mặt bằng, mặt cắt, tỷ lệ, ghi chú...


  • 0

#9 quocmanh04tt

quocmanh04tt

    biết lệnh adcenter

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

Đã gửi 18 April 2017 - 09:18 AM

Bài toán này chưa có lời giải à các bác???

Em cũng đang bị trường hợp này, chỉ cần dịch những từ ngữ đơn giản thôi. Đang dịch từ Tiếng Việt sang Tiếng Anh, nhiều bản vẽ ở nhiều file khác nhau, bản vẽ nào cũng có một số từ có thể dịch tự động được như: Mặt bằng, mặt cắt, tỷ lệ, ghi chú...

Có giải pháp, vấn đề chỉ là thời gian viết lisp và xây dựng từ điển.


  • 0

#10 Nad SK

Nad SK

    biết vẽ spline

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

Đã gửi 18 April 2017 - 02:08 PM

Có giải pháp, vấn đề chỉ là thời gian viết lisp và xây dựng từ điển.

Từ điển thì kiểu như dạng file excel chẳng hạn, cột này Tiếng Anh, cột kia Tiếng Việt. Từ điển thì mình bổ sung theo nhu cầu.


  • 0

#11 duy782006

duy782006

    PHẠM QUỐC DUY

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

Đã gửi 18 April 2017 - 03:18 PM

Mồi 1 cái lisp để người ra đề thử và có yêu cầu cụ thể thêm gì không ở đây tôi chỉ chuẩn bị từ điển nguồn gồm số "10" và số "2" từ điển đích dịch thành "muoi" và "hai".
-Khi dùng sẽ ra 1 đống vấn đề lúc đó thì người ra để sẽ rỏ thêm và ra cái đề đầy đủ cho mọi người giải.
*Hông hiểu sao code hông hiện? Nhấn trả lời thì sẽ lòi ra.

-List từ điển bạn tự nhập thêm trong lisp bằng cách thêm vào:
(setq listnguonchuyenm (list "10" "2"))
(setq listdichchuyenm (list "muoi" "hai"))


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;Thay noi dung 1 doan trong chuoi
;;;Cu phap su dung (duy:s_chuoi>thay chuoigoc noidungcanthay thaythanhnoidung)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun duy:s_chuoi>thay (ndnhap ndsua ndthay / ndnhap ndsua ndthay skt sktd ndnhan ktd)
(setq skt (strlen ndnhap))
(setq sktd (strlen ndsua))
(setq stt 1)
(setq ndnhan "")
(while 
(< stt (+ skt 1))
(cond 
((=  (substr ndnhap stt sktd) ndsua) (setq ktd ndthay) (setq stt (+ stt sktd))) 
((/=  (substr ndnhap stt sktd) ndsua) (setq ktd (substr ndnhap stt 1)) (setq stt (+ stt 1))) 
)
(setq ndnhan (strcat ndnhan ktd))
)
ndnhan)


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;Thay noi dung chuoi bang list nguon va list dich
;;;Cu phap su dung (duy:s_chuoi>thay chuoigoc noidungcanthay thaythanhnoidung)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun duy:chuyenma (chuoi lstgoc lstthay / chuoi listgoc listthay goc thay)
(mapcar '(lambda(goc thay)(setq chuoi (duy:s_chuoi>thay chuoi goc thay))) lstGoc lstThay)
chuoi)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(Defun c:dich (/ b i N DTMs kqthay)
(command "undo" "be")
(setq listnguonchuyenm (list "10" "2"))
(setq listdichchuyenm (list "muoi" "hai"))
(setq b (ssget (list (cons 0 "*TEXT,DIMENSION"))))
(setq SUMb 0)
(setq i 0)
(setq N (sslength b))
(while (< i N)
(setq kqthay (duy:chuyenmatong (cdr (assoc 1 (entget (ssname b i))))  listnguonchuyenm listdichchuyenm)) 
(setq DTMs (subst (cons 1 kqthay) (assoc 1 (entget (ssname b i))) (entget (ssname b i))))
(entmod DTMs)

(setq i (1+ i))
)
(command "undo" "end")
(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


#12 Bee

Bee

    biết dimbaseline

  • Members
  • PipPipPipPipPip
  • 367 Bài viết
Điểm đánh giá: 107 (tàm tạm)

Đã gửi 19 April 2017 - 08:54 AM

Mình cũng đang cần phần mềm này ghê. Mong có file lisp này thế ^_^


  • 0

#13 conghoa

conghoa

    biết lệnh divide

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

Đã gửi 19 April 2017 - 11:31 AM

Trong thời gian đợi lisp, các bác dùng tạm cái này, dịch trực tiếp trong cad nhưng chỉ hỗ trợ đối tượng Text thôi thì phải.

 

https://apps.autodes...=en&os=Win32_64

 

Nhưng cái nhược điểm của nó là dịch sẽ không chuẩn theo yêu cầu.


  • 0

#14 cuongtk2

cuongtk2

    biết lệnh mirror

  • Members
  • PipPipPip
  • 150 Bài viết
Điểm đánh giá: 40 (tàm tạm)

Đã gửi 22 April 2017 - 06:19 PM

Mình cũng đang cần phần mềm này ghê. Mong có file lisp này thế ^_^

http://www.cadviet.c...4301_tudien.lsp

http://www.cadviet.c.../7/4301_tmp.txt

http://www.cadviet.c.../7/4301_abc.txt

Bạn lưu các file này vào d:\tudien

- file tudien.lsp có các lệnh 

THAYTV dùng để thi hành lệnh chính

lệnh này dùng phù hợp với font unicode, nếu dung TCVN3 có thể không hiển thị đúng nội dung 

GHINOIDUNG dùng để lấy các dòng nội dung ra file tmp.txt

- file abc.txt có cấu trúc nguồn - đích với nguồn "tab" đích (cách nhau = phím tab), hết dòng cuối cùng chỉ có 1 dòng enter

- file tmp.txt để lấy nội dung dán vào abc.txt nếu bạn muốn thêm nội dung vào từ điển


  • 0

#15 Bee

Bee

    biết dimbaseline

  • Members
  • PipPipPipPipPip
  • 367 Bài viết
Điểm đánh giá: 107 (tàm tạm)

Đã gửi 22 April 2017 - 06:48 PM

http://www.cadviet.c...4301_tudien.lsp

http://www.cadviet.c.../7/4301_tmp.txt

http://www.cadviet.c.../7/4301_abc.txt

Bạn lưu các file này vào d:\tudien

- file tudien.lsp có các lệnh 

THAYTV dùng để thi hành lệnh chính

lệnh này dùng phù hợp với font unicode, nếu dung TCVN3 có thể không hiển thị đúng nội dung 

GHINOIDUNG dùng để lấy các dòng nội dung ra file tmp.txt

- file abc.txt có cấu trúc nguồn - đích với nguồn "tab" đích (cách nhau = phím tab), hết dòng cuối cùng chỉ có 1 dòng enter

- file tmp.txt để lấy nội dung dán vào abc.txt nếu bạn muốn thêm nội dung vào từ điển

Thanks,

nhưng file txt này mà làm từ điển thì hơi mệt. Bạn chuyển qua file từ điển excel thì bổ sung từ điển thuận tiện hơn được không ! 


  • 0

#16 cuongtk2

cuongtk2

    biết lệnh mirror

  • Members
  • PipPipPip
  • 150 Bài viết
Điểm đánh giá: 40 (tàm tạm)

Đã gửi 22 April 2017 - 10:41 PM

Thanks,

nhưng file txt này mà làm từ điển thì hơi mệt. Bạn chuyển qua file từ điển excel thì bổ sung từ điển thuận tiện hơn được không ! 

bạn save as file từ điển từ excel sang dạng *.txt (tab delimit) là được. Tuy nhiên hiển thị tiếng Việt với cad đời cao có thể sẽ gặp vấn đề với file gốc excel dùng font TCVN3, và unicode thì tất nhiên là không được rồi. 


  • 0

#17 quocmanh04tt

quocmanh04tt

    biết lệnh adcenter

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

Đã gửi 22 April 2017 - 11:07 PM

- Từ file từ điển là Excel (nội dung nằm ở sheet1, cột A: tiếng Việt, cột B: tiếng khác thì lệnh chuyển đổi là: TTA =>sang tiếng khác, chuyển ngược lại là TTV => Sang tiếng Việt).

- Nếu cột A là tiếng khác, B là tiếng Việt thì lệnh TTV, TTA bị hoán đổi.

- Sau khi có file Excel, dùng lệnh TAOTUDIEN để tạo từ điển cho CAD, chỉ cần tạo 1 lần cho đến thay đổi hoặc bổ sung...

Đây là file chạy: https://drive.google...iew?usp=sharing

 

P/s: - Bảng mã phải tương ứng (Có nghĩa: Cad mã UNICODE thì bên Excel cũng UNICODE...)

       - Chuyển theo kiểu String by String (bởi vậy: CAD& Excel=>Chữ hoa thì cùng chữ hoa, thường thì cùng thường, gạch chân thì cùng gạch chân).


  • 0

#18 Bee

Bee

    biết dimbaseline

  • Members
  • PipPipPipPipPip
  • 367 Bài viết
Điểm đánh giá: 107 (tàm tạm)

Đã gửi 23 April 2017 - 08:35 AM

 Hì lisp thì ngon roài vấn đề còn lại là xây dựng hệ thống từ điển riêng. Mọi người có thể share hệ thống từ điển góp phần xây dựng nên hệ thống từ điển mọi người dùng chung. Cá nhân mình sẽ pót hệ thống từ điển sau khi xây dựng xong. ^_^


  • 0

#19 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

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

Đã gửi 23 April 2017 - 09:19 AM

Mình vọc thử lisp của chú Mạnh, load xong, dùng TAOTUDIEN, chọn file excel >> báo: ; error: bad argument type: lentityp nil >> treo cad luôn.

Đây là format file excel:

67029_a.png
?

  • 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ờ. Và đừng làm điều ngược lại.

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


#20 Bee

Bee

    biết dimbaseline

  • Members
  • PipPipPipPipPip
  • 367 Bài viết
Điểm đánh giá: 107 (tàm tạm)

Đã gửi 23 April 2017 - 04:46 PM

 

Mình vọc thử lisp của chú Mạnh, load xong, dùng TAOTUDIEN, chọn file excel >> báo: ; error: bad argument type: lentityp nil >> treo cad luôn.

Đây là format file excel:

67029_a.png
?

 

CAD bác lỗi hay sao ý, chứ máy em chạy vẫn bình thường mà. 


  • 0