Gần đây mình thấy có nhiều người quan tâm hỏi về vấn đề lập trình bằng Excel(VBA) khi sử dụng Icad nên mình sẽ đưa ra 1 bài để giúp các bạn hiểu và đi sâu hơn một chút về lập trình trong Excel liên kết với Icad.

1. Căn bản của căn bản thì các bạn học làm quen với macro trong Icad.

Cái này thì nó y hệt macro trong excel. Tất cả các thao tác thực hiện trong icad sẽ được nút macro này lưu lại và khi gọi nó ra thì nó sẽ lặp lại y hệt các hành động trước đó của bạn.

Nhược điểm là nó chỉ làm được những việc thực sự đơn giản thôi. Ví dụ khi bạn muốn tạo 1 shortcut đến 1 nút lệnh. ví dụ bạn muốn viết Ra6.3 chẳng hạn. nếu đúng trình tự trong menu thì bạn phải theo tuần tự: 製図⇒表面粗さ⇒詳細記号⇒bấm chọn chuyển sang Ra6.3. vậy để tạo 1 shortcut để ngay lập tức bấm vào 1 nút là nó hiện lên Ra6.3 thì bạn sẽ dùng 1 macro làm đúng các bước trên. sau đó gọi nó vào menu tùy chỉnh, rồi sau đó như mình thích thì mình tạo trên thanh menu phải trên màn hình là gọi được nó ngày khi muốn.

Tiện đây mình giới thiêu cho các bạn một file lệnh khá hay có trong thư mục cài của Icad.

C:\ICADSX\HELP\SXPROKEY.chm

trong này sẽ thể hiện các câu lệnh trong icad rất chi tiết.

chẳng hạn mình muốn viết kí hiệu nhám Ra6.3. mình nhìn vào file như dưới đây thì mình chỉ cần gõ 1 dòng lệnh: ;NSMARK ;DETA rồi enter

Kết quả là sẽ hiện bảng này:

Giờ mình muốn nó lên luôn Ra6.3 thì mình làm gì?

mình sẽ gõ dòng sau vào dòng lệnh:

;NSMARK ;DETA ;..PARAM1 /Ra6.3/

rồi enter thì kết quả thành bảng này:

Giờ bạn muốn nó nằm trong menu lệnh giống như hình dưới(cái chữ RA6.3)

thì trước hết bạn tạo 1 macro để nó hiện sẵn Ra6.3 đi(tức là bạn dùng lệnh ghi macro đặt tên là RA63, sau đó làm các bước tuần tự để chọn ra Ra6.3 rồi thì bạn bấm OK rồi kết thúc ghi macro)

Sau đó mình vào menusetup chọn đại 1 menu còn trống hoặc 1 menu mới tùy bạn.

Sau đó mình đặt tên của lệnh là RA6.3

dòng lệnh ghi là ;MACRO;@ION;LET RA63 @GO

sau khi khởi động lại Icad, bấm vào ô Ra6.3 kia thì….. ôi thôi

bấm chuột 1 cái là ra cái hình mờ mờ kia kìa, đặt 1 cái là ra Ra6.3 ngay

Chúc các bạn thành hotboy trong cty với cái kỹ thuật bé tí này :))

Mình tin là sau bài này các bạn sẽ có 1 thanh menu ngập macro.

Còn nếu muốn để trong thanh menu icon phía bên phải thì cũng làm tương tự thôi, các bạn tự mò đi cho có tí thành quả.

2. Tiếp theo cao cấp hơn 1 chút thì các bạn sẽ phải tích hợp giữa excel và một số các function mẫu được giới thiệu trong file có sẵn trên máy của ác bạn khi cài Icad.

Thư mục trong máy các bạn theo đường link sau: C:\ICADSX\HELP\icadolea.chm

Tài liệu này là bược đệm để các bạn hiểu về VBA khi dùng với Icad. nó có nhiều ví dụ mẫu để các bạn ứng dụng vào trong công việc của mình. Bản thân mình cũng tự học từ đây ra, lấy các ví dụ mẫu của họ để dùng cho bài toán thực tế mình cần.

file tự tìm các Fuusen cũng là 1 trong những nội dung mình mày mò trong đấy.

Trong những ví dụ ở file đó thì họ có sử dụng 2 kiểu ngôn ngữ chính là Visual Basic và Visual Basic for Applications. Khi các bạn làm với excel thì chính là Visual Basic for Applications.

Hiện mình mới chỉ làm việc với excel là vì mình đã từng học căn bản về Visual Basic for Applications và có nhiều cơ hội làm thật ứng dụng trong công việc nên mình thuận hơn. Tuy nhiên Visual Basic for Applications thì nó chỉ làm được 1 số việc bề nổi thôi. Nếu muốn sâu hơn nữa thì các bạn phải học ngôn ngữ khác.

Dưới đây là bảng so sánh khi dùng các cấp độ lập trình khác nhau để thấy rõ bạn có thể làm gì.

Mình hiện có học qua căn bản về C# nhưng có hai thứ cản mình không đi tiếp được: 1 là không có SDK để thử, hai là không có thầy dậy nên rơi vào ngõ cụt, chỉ loanh quanh ở mức VBA. Mặc dù chưa thỏa mãn với VBA nhưng cũng chưa tìm được cách giải quyết.

Icad có 1 chút hơi khó chịu là bạn muốn lập trình ở ngôn ngữ cao hơn thì bắt buộc phải mua bản quyền SDK. Mình chưa học được cao hơn nên dù sếp mình có đồng ý cho mình dùng thì mình cũng chưa đủ trình độ để dùng nên cũng không muốn ngỏ lời xin mua bản SDK. Mình mới chỉ xin lên bản Pro để học 1 chút về time chart xem nó có hữu ích cho công việc không trước. Còn với lượng tài nguyên mình có trong tay thì đã tương đối đủ dùng trong công việc(đương nhiên là vẫn chưa được như mình mong muốn) và với bấy nhiêu thôi đã làm các bác trong cty chóng mặt rồi chứ chưa nói đến lập trình cấp cao hơn. Cá nhân mình thì mình vẫn còn muốn học nữa và đang cố tìm thầy.

3. Khi bạn đã có được trình độ lập trình cao hơn như C# chẳng hạn thì bạn sẽ muốn mua SDK và sử dụng thư viện tạo sẵn là sx.net.

Để biết nó là gì thì các bạn có thể tìm các tool đang bán của các bạn Fuji, giá khá chát so với khả năng của nó. Tuy nhiên với ai không có hiểu biết về lập trình thì sẽ thấy nó quá khủng khiếp :))

Ví dụ điển hình là công cụ thiết lập 付加情報 của các bạn fuji. nhìn nó hơi buồn cười nhưng mình thấy có ích. nó tiện cho việc thiết lập các thông tin đi kèm 3D để tăng tốc độ làm bản vẽ. rồi có công cụ khác hay hơn 1 chút nữa là thay vì thiết lập hàng loạt trong excel các thông tin 付加情報 thì giờ các bạn fuji làm cho nó 1 cái dao diện trực quan hơn bằng window form.

Nhưng nói đi nói lại thì giá chát các bạn ạ:)) Mình dùng bản office 365 chưa đến 1 sen/tháng mà các bạn bán 1 cái tool đấy giá đắt gấp mấy lần bản office 365 kia :)). Đương nhiên là hàng độc thì đắt hơn là chuyện bt rồi, không có thì lấy đâu tiền nuôi các bạn lập trình chứ.

Điều mình muốn các bạn chuyên sâu 1 chút khi học về lập trình trong excel(VBA) là các bạn nên nắm rõ các cách thức xử lí số liệu, tách chuỗi, sắp xếp, so sánh….vv

Ví dụ khi mình làm danh sách tự động chẳng hạn. Cty mình có 1 cái hay là treeview phải nhìn 1 cái là biết được đồ mua là mã ra sao, số hiệu trong danh sách là số thứ tự bao nhiêu, của hãng nào. Nếu thông thường các bạn không biết lập trình mà các bạn muốn nó phải hiện trong treeview cả số thứ tự trong danh sách đồ mua thì bạn phải dùng thêm 1 tính năng là 拡張. Nhược điểm của 拡張 là phải làm từng cái một còn vất vả hơn cả thay đổi trong property.
Nhưng khi bạn biết lập trình thì bạn gắn thẳng số thứ tự vào trước mã đồ mua. Khi gọi vào danh sách tự động bạn chỉ cần thêm 1 nút bấm để tách phần số thứ tự riêng ra là xong.

Hiện mình đang cải tạo phần tự động hóa để ít lỗi nhất và hiệu quả nhất có thể. cũng đồng thời nhận trách nhiệm tuyên truyền & đào tạo cho các nhân viên trong cty cũng như các cty hợp tác với cty mình.

Hiện mình có thể làm: Tùy chỉnh để cho ra 1 list khớp với mong muốn, xuất sang file định dạng như mong muốn. Một template tự động điền vào khung tên trong bản vẽ dựa trên thông tin đính kèm 3D(付加情報), có thể tạo theo nhiều khung bản vẽ khác nhau tùy khách hàng. có thể thiết lập vật liệu hàng loạt bằng danh sách excel, tự động tìm số lượng chi tiết trong 3D rồi điền vào file thiết lập 付加情報.(PartsInfo)

Đấy là lợi thế của mình trong công việc khi biết lập trình.