999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

使用WebLink二次開發(fā)Creo

2023-08-26 03:08:11胡迪羅輝
電腦知識與技術(shù) 2023年19期
關(guān)鍵詞:二次開發(fā)

胡迪 羅輝

關(guān)鍵詞:CREO;WebLink;二次開發(fā);二維碼

0 引言

Creo是美國PTC公司推出的一款三維設(shè)計(jì)軟件,已成為國內(nèi)制造企業(yè)最普及的標(biāo)準(zhǔn)軟件之一,針對其進(jìn)行二次開發(fā)獲得個(gè)性化功能也成為國內(nèi)外研究熱點(diǎn)之一[1-5]。Creo 提供了Creo/Toolkit、VB API、J-Link 等豐富的二次開發(fā)接口[6-9],其中WebLink使用JavsS? cript語言進(jìn)行開發(fā),可在Creo軟件的內(nèi)置瀏覽器中通過HTML網(wǎng)頁進(jìn)行訪問和運(yùn)行,不僅完全免費(fèi),而且易于上手[5,10],編程效率高,可與Windchill等PLM服務(wù)器進(jìn)行無縫連接,且部署容易。

本文根據(jù)近年來實(shí)際工作中取得的開發(fā)經(jīng)驗(yàn),闡述如何使用WebLink對Creo進(jìn)行二次開發(fā),降低Creo 二次開發(fā)的難度。

1 WebLink 環(huán)境設(shè)置

1.1 Creo 的設(shè)置

要在Creo中使用WebLink功能,首先必須在安裝Creo時(shí),選中WebLink功能。之后在Creo中修改以下選項(xiàng):

2) web_link_file_read和web_link_file_write。將這兩個(gè)選項(xiàng)設(shè)置為yes,表示可以通過WebLink程序進(jìn)行本地文件操作。

3) web_link_proe_read和web_link_proe_write。將這兩個(gè)選項(xiàng)設(shè)置為yes,表示可以通過WebLink程序從Creo會(huì)話中讀取數(shù)據(jù)。

4) web_link_security_autoprompt。將該選項(xiàng)設(shè)置為yes,表示當(dāng)WebLink程序功能超出當(dāng)前設(shè)置的安全訪問時(shí),顯示“安全”對話框。

5) windows_browser_type。指定Creo內(nèi)置瀏覽器的類型,在Creo2.0及之前僅有IE和Firefox內(nèi)核的瀏覽器選項(xiàng),在Creo3.0及以后則將Firefox內(nèi)核瀏覽器給更換為Chromium內(nèi)核瀏覽器選項(xiàng)。盡管IE瀏覽器因?yàn)榘踩珕栴}已被微軟棄用,但由于其獨(dú)有的Ac? tiveX控件可以擴(kuò)展WebLink程序進(jìn)行一定程度的本地文件操作,也有其一定的便利性,可以根據(jù)需要選擇Creo內(nèi)置瀏覽器的類型。

1.2 IE 瀏覽器安全設(shè)置

完成上述設(shè)置后,WebLink程序在Firefox內(nèi)核或Chromium內(nèi)核的內(nèi)置瀏覽器即可運(yùn)行。如果選擇使用IE瀏覽器,則仍需要對JavaScript腳本的執(zhí)行環(huán)境進(jìn)行設(shè)置:

1) 設(shè)置IE安全選項(xiàng),將部署WebLink程序的站點(diǎn)網(wǎng)址加入受信任站點(diǎn)。

2) 設(shè)置IE安全選項(xiàng),將“對未標(biāo)記為可安全執(zhí)行腳本的ActiveX控件初始化并執(zhí)行腳本”選項(xiàng)設(shè)置為啟用。

2 WebLink 開發(fā)的關(guān)鍵技術(shù)

2.1 WebLink 中的類和對象

WebLink采用面向?qū)ο蟮姆绞竭M(jìn)行編碼。由于JavaScript在IE、Firefox以及Chromium內(nèi)核瀏覽器創(chuàng)建對象的機(jī)理和方式各不相同,但創(chuàng)建對象所有的操作和代碼編寫是一致的,所以首先可以抽象出一個(gè)根據(jù)不同內(nèi)核的瀏覽器創(chuàng)建對象的函數(shù):

由于JavaScript是一種動(dòng)態(tài)類型的腳本語言,因此在編程過程中,子類調(diào)用父類的屬性或方法無須進(jìn)行類型轉(zhuǎn)換,且如果父類對象確定也是子類的對象實(shí)例后,一樣可以直接調(diào)用子類的屬性或方法。例如pf? cSolid的父類分別為pfcFamilyMember和pfcModel,當(dāng)系統(tǒng)獲得一個(gè)pfcModel對象時(shí),如果能夠確定也是Ip? fcsolid對象,則該對象可以直接調(diào)用pfcFamilyMember 類的屬性和方法,無須進(jìn)行顯式類轉(zhuǎn)換。

2.2 WebLink 程序與Creo 的連接

WebLink程序采用網(wǎng)頁的形式運(yùn)行,導(dǎo)致Creo在切換窗口、打開新實(shí)例等操作時(shí)無法與WebLink程序?qū)崟r(shí)通信,必須在WebLink程序運(yùn)行過程中,先單向檢查當(dāng)前Creo會(huì)話是否與網(wǎng)頁打開時(shí)一致。每次檢查過程可使用如下方式獲取Creo的Session對象,進(jìn)而再進(jìn)行模型檢查等操作:

3 WebLink 程序的調(diào)試

3.1 系統(tǒng)設(shè)置

作為JavaScript 編寫的網(wǎng)頁程序,WebLink應(yīng)該是具備調(diào)試功能的,只是由于 Creo 2.0及之前的嵌入式瀏覽器內(nèi)核為IE和Firefox而暫時(shí)無法使用瀏覽器的調(diào)試工具。如前文所述,Creo 在3.0 版本后嵌入式瀏覽器內(nèi)核加入了Chromium,自此當(dāng)Creo瀏覽器設(shè)置為Chromium內(nèi)核瀏覽器就可以使用Chromium內(nèi)核瀏覽器進(jìn)行調(diào)試了,相關(guān)設(shè)置如下:

1) 添加Windows 系統(tǒng)環(huán)境變量,設(shè)置Chromium 的調(diào)試端口,變量名為CEF_DEBUG_PORT,端口填一個(gè)不要與別的程序沖突的值,例如可設(shè)置為9222。也可以直接在parametric.psf中添加對應(yīng)的設(shè)置,添加如下內(nèi)容到文件最后:“ENV=CEF_DEBUG_PORT=9222”。

2) 確保本機(jī)已經(jīng)安裝了獨(dú)立的Chrome/Chromium 內(nèi)核的瀏覽器,微軟默認(rèn)瀏覽器Edge等使用了Chro? mium內(nèi)核的瀏覽器也可以。

3.2 調(diào)試步驟

在Creo的嵌入式瀏覽器打開要調(diào)試的網(wǎng)頁。之后在瀏覽器的地址欄輸入“Chrome://inspect/#de? v#iLcOesC”A。LH稍O(shè)作ST等”下待面,在會(huì)瀏顯覽示器Cr的eo頁嵌面入中瀏“覽Re器m中ote打 T開arg的et頁面,如圖3所示。

從圖3可以看到,外置瀏覽器中最下方Target下面顯示了Creo嵌入瀏覽器打開的網(wǎng)頁列表。點(diǎn)擊該網(wǎng)頁下面的“inspect”鏈接,會(huì)彈出Chrome內(nèi)核瀏覽器的獨(dú)立調(diào)試窗口,之后的操作就和調(diào)試普通網(wǎng)頁一樣,執(zhí)行調(diào)試窗口的源碼處打上斷點(diǎn),添加監(jiān)視等,然后在Creo內(nèi)置瀏覽器中執(zhí)行相關(guān)操作就可以了,調(diào)試過程和界面如圖4所示。

4 工程應(yīng)用實(shí)例

4.1 系統(tǒng)功能分析

二維碼(Dimensional Barcode),又稱二維條碼,是在一維條碼的基礎(chǔ)上擴(kuò)展出的一種具有可讀性的條碼,可靠性高、存儲(chǔ)可擴(kuò)性強(qiáng)、成本低廉、保密性和糾錯(cuò)能力較好[11] 。二維碼在縱橫兩個(gè)方向都存有字母、漢字、照片、指紋等各種信息是由一系列黑白點(diǎn)按照一定的規(guī)律構(gòu)成的幾何圖形,在代碼編制上巧妙地利用構(gòu)成計(jì)算機(jī)內(nèi)部邏輯基礎(chǔ)的“0”“1”比特流的概念,使用若干個(gè)與二進(jìn)制相對應(yīng)的幾何形體來表示文字?jǐn)?shù)值信息,通過圖像輸入設(shè)備或光電掃描設(shè)備自動(dòng)識讀[12]。

隨著信息技術(shù)在工業(yè)領(lǐng)域的全面深入融合,在工程圖中插入二維碼可以方便機(jī)器掃描讀取圖紙信息,易于將圖紙與MES、ERP等系統(tǒng)結(jié)合。由于Creo并未直接提供生成并插入二維碼的功能,因此在上述研究的基礎(chǔ)上,綜合設(shè)計(jì)經(jīng)驗(yàn),以在工程圖中插入二維碼為例,對本文介紹的方法進(jìn)行驗(yàn)證。添加二維碼一般可以考慮以下方式:

1) 在工程圖中插入圖片等OLE內(nèi)容。可以在Creo中導(dǎo)入外部程序生成的諸如jpg、png等圖片格式的二維碼文件。經(jīng)測試,插入OLE內(nèi)容暫時(shí)不僅未提供Toolkit接口,并且錄制宏發(fā)現(xiàn),插入圖片的操作也無法通過宏的方式實(shí)現(xiàn),所以該方法只能由設(shè)計(jì)人員手動(dòng)添加,無法進(jìn)行二次開發(fā)。

2) 在工程圖中插入dxf。可以在Creo中導(dǎo)入外部程序生成的dxf格式的二維碼文件。經(jīng)測試,導(dǎo)入的dxf文件會(huì)轉(zhuǎn)換為草繪對象,而且WebLink也提供了對應(yīng)的函數(shù)和方法用于導(dǎo)入dxf文件,所以該方法不僅可以手動(dòng)操作,也適合于二次開發(fā)。但該方法導(dǎo)入dxf后添加了一系列草繪圖元,當(dāng)需要修改時(shí)難以確定哪些草繪時(shí)導(dǎo)入的dxf文件轉(zhuǎn)換得到,導(dǎo)致難以對二維碼相關(guān)的草繪刪除修改,故該方法僅適用于一次性導(dǎo)入二維碼的操作。

3) 生成包含二維碼信息的符號。可以在繪圖中添加一個(gè)符號,在符號中繪制對應(yīng)的二維碼圖案,之后插入該符號。該方法手工操作較復(fù)雜,主要需要手動(dòng)繪制對應(yīng)的二維碼符號,但易于插入修改及替換,而WebLink也提供了繪制符號的函數(shù)和方法。

考慮系統(tǒng)的茁壯性和易操作修改,采用第三種方法在繪圖中添加二維碼,根據(jù)日常操作習(xí)慣,繪圖中應(yīng)該只有一個(gè)二維碼,故使用WebLink二次開發(fā)為工程圖添加二維碼的基本流程主要包含以下幾個(gè)步驟:

1) 遍歷工程圖所有符號,刪除之前添加的二維碼符號定義和所有實(shí)例;

2) 對輸入進(jìn)行轉(zhuǎn)碼,生成二維碼信息;

3) 創(chuàng)建新的符號定義,根據(jù)二維碼信息對該符號定義進(jìn)行修改,生成包含二維碼信息的符號定義;

4) 通過鼠標(biāo)點(diǎn)選的方式將新的二維碼符號實(shí)例擺放到正確的位置。

4.2 代碼實(shí)現(xiàn)

4.2.1 系統(tǒng)初始化

在具體操作過程中,首先保證瀏覽器所在Creo窗口中打開的模型為繪圖類型才能確保進(jìn)行下一步操作。判斷當(dāng)前窗口模型類型為繪圖關(guān)鍵代碼如下:

4.2.2 刪除符號定義和所有實(shí)例

在WebLink義使用pfcDetailItem類進(jìn)行描述,其詳細(xì)信息由pfcDetailSymbolDefIn? sDtrruawctiinogns的類Li描stD述eta。ilI可tem通s方過法繪訪圖問對繪象圖pf包c(diǎn)?含的所有符號pfcDetailItem 對象。由于在Creo中符號定義的名稱是唯一的,所以可以遍歷繪圖包含的符號通過名稱進(jìn)行比對后確定需要?jiǎng)h除的符號定義。刪除符號定義可由pfcDetailItem類的Delete方法完成,故刪除對應(yīng)的符號定義關(guān)鍵代碼如下:

同時(shí),由于WebLink程序直接刪除符號定義后,符號定義生成的對象實(shí)例也同時(shí)一并刪除,故無須進(jìn)行刪除符號實(shí)例的操作。

4.2.3 生成二維碼符號定義

將字符串轉(zhuǎn)為二維碼是一項(xiàng)成熟的技術(shù),針對JavaScript語言,Github.com上已有人提供了庫。本文直接調(diào)用其接口函數(shù),輸入對應(yīng)的文字信息即可獲得要生成的二維碼的二維矩陣數(shù)據(jù):

生成新的符號定義后,根據(jù)二維碼的矩陣數(shù)據(jù)依次在符號定義中繪畫對應(yīng)的點(diǎn)即可完成二維碼的繪制。點(diǎn)的繪制可以設(shè)定為一個(gè)線長1 mm、線寬1 mm 的線段,可先通過pfcLineDescriptor類生成對應(yīng)的線段對象,再由pfcDetailItem類的CreateDetailItem方法將其插入到符號定義中。最后依次遍歷二維碼矩陣數(shù)據(jù),即可完成在符號中的二維碼繪制工作,關(guān)鍵代碼如下:

4.2.4 插入符號實(shí)例

插入符號的位置可以采用鼠標(biāo)點(diǎn)擊的方式獲取。

首先,通過WebLink 中的Session 對象的UIGetNext? MousePick方法獲得鼠標(biāo)點(diǎn)擊的坐標(biāo)點(diǎn)。插入符號實(shí)例依然是通過pfcDetailItem類的CreateDetailItem方法實(shí)現(xiàn),但是在設(shè)定好符號實(shí)例pfcDetailSymbolInstIn? structions 類的Attachment 為自由,AttachmentPoint 為鼠標(biāo)點(diǎn)選的位置即可:

最終開發(fā)的系統(tǒng)如圖5所示。用戶在左側(cè)網(wǎng)頁中輸入需要轉(zhuǎn)換成二維碼的文字,點(diǎn)擊“左鍵單擊繪圖位置插入二維碼”按鈕,之后根據(jù)提示在工程圖中點(diǎn)擊鼠標(biāo)左鍵選擇需要插入二維碼的位置即可完成工程圖二維碼的插入。

5 結(jié)束語

本文探討了使用WebLink二次開發(fā)Creo的方法和關(guān)鍵技術(shù),由于其具有易于編程和升級維護(hù)方便等特點(diǎn),降低了開發(fā)難度,提高了開發(fā)效率,有助于相關(guān)領(lǐng)域的推廣應(yīng)用。

猜你喜歡
二次開發(fā)
淺談基于Revit平臺的二次開發(fā)
甘肅科技(2020年20期)2020-04-13 00:30:02
西門子Operate高級編程的旋轉(zhuǎn)坐標(biāo)系二次開發(fā)
淺談Mastercam后處理器的二次開發(fā)
模具制造(2019年3期)2019-06-06 02:11:02
基于C#的AutoCAD建筑構(gòu)件庫二次開發(fā)
江西建材(2018年2期)2018-04-14 08:01:14
西門子Easy Screen對倒棱機(jī)床界面二次開發(fā)
基于全站儀二次開發(fā)的覆冰厚度測量與實(shí)現(xiàn)
電測與儀表(2016年9期)2016-04-12 00:29:52
Micaps3.2 版本二次開發(fā)入門淺析
西藏科技(2015年12期)2015-09-26 12:13:51
基于VB的ANSYS二次開發(fā)在變壓器抗短路性能分析中的應(yīng)用
基于CATIA的橡皮囊成形毛料展開的二次開發(fā)
ANSYS Workbench二次開發(fā)在汽車穩(wěn)定桿CAE分析中的應(yīng)用
汽車零部件(2014年5期)2014-11-11 12:24:32
主站蜘蛛池模板: 国产在线观看第二页| 亚洲精品欧美日本中文字幕| 亚洲成A人V欧美综合| 伊人大杳蕉中文无码| 久久黄色小视频| 天天综合亚洲| 亚洲人成色在线观看| 国产95在线 | 三级视频中文字幕| 婷婷成人综合| 日日拍夜夜操| 国产男女XX00免费观看| 成人91在线| 亚洲国产日韩欧美在线| 国产精品欧美日本韩免费一区二区三区不卡 | 中文字幕亚洲精品2页| 亚洲第一页在线观看| 精品欧美一区二区三区在线| 丁香婷婷久久| 好紧太爽了视频免费无码| 亚洲成人一区在线| 国产91色在线| 97国产精品视频自在拍| 中文国产成人精品久久一| a国产精品| 在线观看国产网址你懂的| 中文字幕资源站| 国产午夜精品一区二区三| 国产成人一区| 亚洲高清在线天堂精品| 亚洲男人天堂网址| 国产精品lululu在线观看| 国产色爱av资源综合区| 美女无遮挡免费网站| 亚洲第一成年免费网站| 香蕉久人久人青草青草| 啊嗯不日本网站| 综合人妻久久一区二区精品 | 四虎永久在线| 免费观看成人久久网免费观看| 91麻豆国产视频| 无码电影在线观看| 久久这里只精品国产99热8| 成人国产精品网站在线看| 在线五月婷婷| 波多野结衣爽到高潮漏水大喷| 99热国产这里只有精品9九| swag国产精品| 2020精品极品国产色在线观看 | 国产中文一区二区苍井空| 亚洲欧洲日韩国产综合在线二区| 久草视频中文| 精品无码一区二区三区电影| 欧美日本中文| 国产99精品久久| 日本影院一区| 亚洲成人网在线观看| 国产麻豆aⅴ精品无码| 一本一道波多野结衣av黑人在线| 国产美女叼嘿视频免费看| 国产91丝袜| 青草视频免费在线观看| 欧美性猛交一区二区三区| 18禁高潮出水呻吟娇喘蜜芽| 看国产一级毛片| 91小视频在线播放| 日韩美毛片| 亚洲AV无码精品无码久久蜜桃| 日本一区二区不卡视频| 国产精品白浆无码流出在线看| 亚洲中文字幕久久精品无码一区 | 免费人成视频在线观看网站| 自偷自拍三级全三级视频| 日本三区视频| 国产麻豆精品久久一二三| 精品91自产拍在线| 制服丝袜 91视频| 青青草原国产精品啪啪视频| 色婷婷电影网| 99免费在线观看视频| 九色91在线视频| 亚洲精品大秀视频|