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

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

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

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

 

 

  • Vote tăng 1
  • 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

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

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

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 !

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

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

  • 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

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 !

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ế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 ạ!

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

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

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

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

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

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

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.autodesk.com/ACD/en/Detail/Index?id=8420095543248601052&appLang=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.

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

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

http://www.cadviet.com/upfiles/7/4301_tudien.lsp

http://www.cadviet.com/upfiles/7/4301_tmp.txt

http://www.cadviet.com/upfiles/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

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

http://www.cadviet.com/upfiles/7/4301_tudien.lsp

http://www.cadviet.com/upfiles/7/4301_tmp.txt

http://www.cadviet.com/upfiles/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 ! 

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,

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. 

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ừ 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.com/file/d/0B2LetfHDljPGc3BmaDlJX29lYTA/view?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).

  • 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

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

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

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
?

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

 

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

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

Google translate ngày càng mạnh và chính xác dần.

Với các đoạn text ngắn như đề cập, tại sao không truy vấn cụ google rồi lấy kết quả trả 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

Nhu cầu này thì lên chợ cho nhanh. không thiếu ứng dụng dịch, sử dụng trực tiếp API của Microsoft và GG luôn nên muốn dịch ngôn ngữ nào cũng ok. Dịch và sửa trực tiếp vào text luôn nếu muốn, miễn là text style sử dụng unicode là đượ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

Mềnh thừ gg translate: 1st floor plan -> Kế hoạch tầng 1. ^_^ còn nhiều câu dịch mà đọc hay lắm.

Word by word nhiều. Làm thế nào GG translate từng chuyên ngành chuẩn đượ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

- Uh... GG dịch từ, thuật ngữ chuyên ngành gần giống thằng ngáo đá. :D 

- Dùng lisp này thì bất chấp UNI, TCVN, VNI... (thậm chí Text này thì Uni, Text kia là Tcvn), miễn là bên Excel có khai báo nó...

- Tự mình xây dựng  từ điển nên ngôn ngữ nào cũng Ok.

  • 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

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

Không donwload được bạn ơi.

"You need permission

Your request for access has been sent.

You will receive an email if and when your request is approved."

 

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

×