SolidWorks專門論壇 SolidWorks forum

 找回密碼
 註冊
查看: 15028|回復: 37

告訴悶人! 為何恐懼SW的API~悶人給你清晰的方向

[複製鏈接]
發表於 2014/2/15 18:32:14 | 顯示全部樓層 |閱讀模式
現在還有用戶總是逃避面對編程API 悶人很不忍心
因為這樣的作業毫無效率 也是10年前(甚至更多)的舊觀念  為何業界還用舊觀念與沒效率製圖
告訴悶人! 為何害怕SW的編程API~悶人給你更好的準備
因為你要維持使用SW的所謂正確性 要付出相當大的代價
無奈!還是很多企業故步自封(甚至規定)不允許編程  悶人絕對有資格這麼說 沒效率
因為悶人是過來人 也有絕對的方法 讓你拋開SW製圖的舊思維~
以下是悶人的SW編程的歷程
悶人 於2002年 才開始學SW,學習過程祖師爺和我們說
" 現在軟體已經發展非常成熟  完全沒需要自行編程搞開發  有些學長編寫了一些巨集 過一兩年就給新增功能取代"   
悶人眼見的用家都很厲害 只用單手鼠標操作  就可以畫出整套設計 . 建立工程圖和尺寸標註  
當時!算是很創新的技術 無奈!悶人始終學不會  沒人願意教  因為大家都處於競爭狀態

就像  有些人總是很會念書 拚前三名  當然不會傳授你念書的"眉角"
結訓了! 悶人很聽話 用單手的鼠標操作  後來厲害一點 設定了一些快捷鍵
還記得第一個用SW繪畫的產品 幾乎都用單手完成 右手差點就此廢掉
所以應該要用快捷鍵配合API畫圖 因為沒必要 並且要冒著出錯的風險


發表於 2014/2/15 19:16:05 | 顯示全部樓層
版主 你很厲害 你開個價 我找公司的人 開課
 樓主| 發表於 2014/2/15 20:22:50 | 顯示全部樓層
健仔 发表于 2014/2/15 19:16
版主 你很厲害 你開個價 我找公司的人 開課

1. 偶不是版主
2. 英語授課,每天USD350,包食宿及旅費
 樓主| 發表於 2014/2/15 20:33:24 | 顯示全部樓層
在大陸論壇分享巨集遭受非議,萬分無奈,覺得對這邊應該有人會用得著。
發表於 2014/2/16 16:52:05 | 顯示全部樓層
此生若能有幸与闷大见上一面,小翔便已知足;
若是再能当面聆听闷大授课,绝对三生有幸。
小翔对巨集很有兴趣,无奈VB和英文实在没有基础,
很是无奈。。。
记得闷大以前有过一份手稿,若是愿意卖给小翔就好了。
發表於 2014/2/16 17:25:18 | 顯示全部樓層
Francis 发表于 2014/2/15 20:33
在大陸論壇分享巨集遭受非議,萬分無奈,覺得對這邊應該有人會用得著。
因此在這裡先試一下水溫,並打算要 ...

有常規性的工作
如果有 <巨集> 可以利用(把工作完成)
那效率一定非常驚人
發表於 2014/2/16 21:35:53 | 顯示全部樓層
闷大 神人, 说的太对了,
期待更多教学
發表於 2014/2/16 22:01:20 | 顯示全部樓層
悶大我從來畫圖都是一隻滑鼠啊!不用快捷鍵不過右手抽筋後我就練就左手能畫圖的本事,現在基本是左右開工.
能教導大家api是大家的福氣.

 樓主| 發表於 2014/2/17 01:36:12 | 顯示全部樓層
悶人的一個巨集是從錄製回來的,是一個改變草圖基準面的巨集,
錄製時跟一般改變草圖基準面的操作無異,就會得出這樣的代碼:

再刪除一些不必要的代碼,慢慢體會,不難發現那句可以刪除,變得如下:

設定為一個快捷鍵,悶人是設定為Alt+P的,更可用小畫家創作圖示,悶人畫了一對鞋印,取名為【迷蹤步法】

就可以做到以下效果,免卻了至少4下的鼠標操作:(示範中為易於理解沒按快捷鍵,以圖示代替)

就可以從簡單例子動手製作巨集,開始進入API的領域。

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有賬號?註冊

x
發表於 2014/2/17 08:38:52 | 顯示全部樓層
Francis 发表于 2014/2/17 01:36
雖然站長堅決恐懼API,沒打算在這裡開辟API討論分享版塊,悶人也在此說說自己從何開始。

悶人的一個巨集是 ...

照著悶大的步驟成功做出了,不過沒有錄製螢幕的軟體所以沒PO圖
以前玩魔獸也會編輯一點簡單的巨集,一堆步驟轉變成一個指令,不過從來沒想過畫圖也可以這樣,妥善運用的話會很方便說

謝謝悶老大分享
發表於 2014/2/17 10:07:31 | 顯示全部樓層
我連API是啥都不知道....去查一下
 樓主| 發表於 2014/2/17 11:47:24 | 顯示全部樓層
7878so78 发表于 2014/2/17 10:07
我連API是啥都不知道....去查一下

扼要地說說:
一般來說,應用程式(軟體)都會提供 UI 及 API 給使用者,(有些只提供 UI)

UI:使用者介面 User Interface,就是看到的編輯版面,不用多說了。

API:應用程式介面 Application Programming Interface
1. 軟體供應了一些函數代碼,其他語言程序可通過這些函數操縱軟體。
2. 以SolidWorks為例,除了提供了函數代碼外,如Microsoft Office般附加了以VB6為基礎的VBA編輯器。
3. VBA(Visual Basic for Applications)可以理解為窮人恩物,無需額外購買的編程工具。
4. VBA編寫出來的功能局限性大,不能編寫出大型插件。但是,對一般用家來說已經足夠,而且門檻較低,容易入手,適合沒有編程認識的工程人員。
5. 當然,高階語言(如 C#, C++)編寫出來的功能局限性小,可編寫出大型插件,更可成為SolidWorks的合作伙伴。但是,除了要付費購買翻譯器外,更需要有一定的編程認識,並不適合一般工程人員。

ps:隨手打,別太認真啊。
發表於 2014/2/17 13:19:18 | 顯示全部樓層
Francis 发表于 2014/2/17 11:47
扼要地說說:
一般來說,應用程式(軟體)都會提供 UI 及 API 給使用者,(有些只提供 UI)

原來如此 看起來真難
 樓主| 發表於 2014/2/17 14:03:33 | 顯示全部樓層
7878so78 发表于 2014/2/17 13:19
原來如此 看起來真難

想表達的是『用VBA編寫Macro(巨集)不難,而且值得花點時間學習如何應用』。

主要原因有2:
1. 可更深入了解SolidWorks的運作機制,比起單從表面操作累積經驗或看教程,可更輕鬆地明白原理。
2. 編寫巨集花了時間,只要用上幾次就可以回本,以後再用得到都是賺到的。何況還有許多巨集可供免費下載的啊!
發表於 2014/2/17 14:11:50 | 顯示全部樓層
Francis 发表于 2014/2/17 14:03
不好意思,表達的不好,讓您誤會這是難事。

想表達的是『用VBA編寫Macro(巨集)不難,而且值得花點時間 ...

關於巨集是不是可以這樣理解:就像編寫cnc程式,每個指令都會有個代碼,透過控制代碼進行動作(例如移動指令,命令它移動多少距離),將所需要的動作依序編排,就成為一個巨集。而巨集只需要點擊一個快捷鍵就能完成預先編輯好的動作。

如果理解有誤,請悶老大用力地鞭笞不用客氣
發表於 2014/2/17 14:17:39 | 顯示全部樓層
臭臉翔 发表于 2014/2/17 14:11
關於巨集是不是可以這樣理解:就像編寫cnc程式,每個指令都會有個代碼,透過控制代碼進行動作(例如移動指令 ...

如果有用到副程式 M98,這樣理解也是可以的
再早期CAM的軟體,
還沒普及之前,手寫程式的macro
其實就巨集,常用在固定式的量產,單純的鑽孔和銑削
但是只適合在制式化下使用
面對求新求變的情況下就被慢慢淘汰,所以才會有CAM
就像用巨集設計了一個五軸,可以微調加工尺寸的米老鼠
再怎調也銑不出唐老鴨

 樓主| 發表於 2014/2/17 14:37:38 | 顯示全部樓層
臭臉翔 发表于 2014/2/17 14:11
關於巨集是不是可以這樣理解:就像編寫cnc程式,每個指令都會有個代碼,透過控制代碼進行動作(例如移動指令 ...

感謝大臭哥回復。大臭哥的開通思維值得悶人學習,不像有些人士,答對他的提問他不服氣,答不對說三道四。

Macro=巨集,基本只是一個概念,就是按自己需求拼合一些東西在一起而已,沒甚麼過時或先進的意味,當這些拼湊東西受到廣泛應用後,就會形成指令,也就是所謂的新增功能。從14樓的回復看到,相信大臭哥已經體會到SW巨集的用處。
ps:隨手亂打
 樓主| 發表於 2014/2/17 14:42:12 | 顯示全部樓層
剛到維基百科看了一下,不幸地與悶人亂打的東西有點雷同。
http://zh.wikipedia.org/zh-tw/%E5%B7%A8%E9%9B%86
發表於 2014/2/17 16:17:37 | 顯示全部樓層
以前也有这样学习过,后来发现没有效果,今天才知道原来要预先选择草图和基准面才能执行宏
向闷大学习:

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有賬號?註冊

x
 樓主| 發表於 2014/2/17 18:09:50 | 顯示全部樓層
zh.xiang 发表于 2014/2/17 16:17
以前也有这样学习过,后来发现没有效果,今天才知道原来要预先选择草图和基准面才能执行宏
向闷大学习:

看得出小翔成功踏進SW的編程領域,也就是大陸所稱的『SW二次開發』。


發表於 2014/2/17 21:51:09 | 顯示全部樓層
老實說API 是甚麼 剛開始也不是很懂~
看到這篇文章,覺得很有趣
悶哥,願意指導我們,真的很好~謝謝悶哥~

但~我必須先來研究一下錄製巨集 是怎麼用...
我也用成功了巨集,全部都是使用工具->巨集 底下功能就是把操作動作(切換修改草圖工作平面)用"錄製巨集" 將之錄下來
然後會產生一個"Macro1.swp"這檔案
然後使用"編輯巨集" 去開啟剛剛 產生的"Macro1.swp"這檔案
按照悶哥教學(#13),刪除一些不要的數據,得到如下



但是JUDY不明白是要刪除那些才是,
那是因為,看悶哥上面教學才知道刪除那些




本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有賬號?註冊

x
發表於 2014/2/18 14:29:34 | 顯示全部樓層
第一次使用巨集搞了好久,終於也給它完成了,轉面效率瞬間提昇
感謝悶大教學
發表於 2014/2/28 00:05:46 | 顯示全部樓層
支持開課!
學VBA(用在EXCEL)之前就有用到QB,VB6...沒人教就買本BASIC基礎書從寫九九乘法開始自學了,
總感覺工程人員是要學一下,結構力學計算,統計數據分析...,可節省許多時間.
現在碰到SW的API,最大的瓶頸是可查找的學習應用的資料太少,深入的進度超慢.
發表於 2014/2/28 08:41:42 | 顯示全部樓層


Macro應用手冊
http://www.docin.com/p-65776517.html

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有賬號?註冊

x
 樓主| 發表於 2014/2/28 16:07:47 | 顯示全部樓層
Macro在不同軟體有不同定義,不可直接比較。

hy123提供2個鏈接都是典型Macro,是一種“腳本”(Script)語法,只能做出一些簡單批次處理。

SolidWorks的VBA是基於VB語言,是一種電腦語言,可編寫出複雜功能。
 樓主| 發表於 2014/2/28 16:24:08 | 顯示全部樓層
因此,以典型Macro寫給唐老鴨後當然不能用於米老鼠。

而SolidWorks的VBA就不同,寫給唐老鴨後隨時可用於米老鼠的。

hy123提供的資料其實也很不錯的,建議另開主題讓大家學習,貼在這個主題內恐怕會讓想了解SolidWorks API的朋友感到混亂。
發表於 2014/2/28 17:32:04 | 顯示全部樓層
不知道為何要把CNC加工的程式指令和VBA,API混為一談,那是兩碼子不相關的事,
CNC加工的程式指令僅適用在控制CNC機械而已,無法廣泛用在數學計算分析及事件的判定....
發表於 2014/2/28 17:44:59 | 顯示全部樓層
scliang 发表于 2014/2/28 17:32
不知道為何要把CNC加工的程式指令和VBA,API混為一談,那是兩碼子不相關的事,
CNC加工的程式指令僅適用在控制 ...

是我在19#起的頭的...

抱歉,不懂還亂說,引導看帖的大大錯誤的方向。
發表於 2014/2/28 19:34:46 | 顯示全部樓層
如下VBA 依據 OPTION(作圖項目選擇鈕) 物件特性來改變圖片之事件

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有賬號?註冊

x
發表於 2020/6/19 15:59:43 | 顯示全部樓層
恐懼來自 英文爛+不懂程式語言
發表於 2020/12/21 08:59:02 | 顯示全部樓層
我不恐惧,就是太晚发现闷大的帖子。我只是一个学习机加工出身的机构工程师,喜欢用VBA的方式来解决繁琐的操作。

确实英文基础不好,但现在科技发达有翻译软件,Solidworks原厂的API说明我也会去看看。

没有编程基础我也不担心,闷大公开的VBA程序里面注解这么详细,自己在找点VB相关的书籍,了解下程序结构和基本指令,然后用F8逐句运行也要一点点把VBA程序工作流程给他啃下来,多弄几个就熟悉了。不明白的新指令就去翻论坛和原厂的API说明。

所以作为工程师连探索学习的技能都没有了就不要做了。在这也要感谢闷大,分享了那个装配体遍历的帖子,真的受益很多,感谢!
您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

論壇統計|手機版上論壇|論壇來自幾何科技 論壇架構版次 20240312

GMT+8, 2024/3/28 20:49 , Processed in 0.245952 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

快速回復 返回頂部 返回列表