
發布
注冊
/
登錄自動補全的案例
星辰技文|ABAQUS Python二次開發中讓UltraEdit更稱手(INP關鍵字跳轉、代碼高亮、自動補全)
【2、Python文件的高亮和自動補全】
UltraEdit高亮和自動補全方法,網上有很多具體的操作,而這里要解決:如何讓ABAQUS Python內的函數能被高亮和自動補全。方法很粗暴,就是將Python涉及的所有函數名稱全部寫入到uew配置文件中。
①從ABAQUS的二次開發幫助文檔中可以獲得其可調用的函數和類名稱列表,然后進行去重,是數據來源的一部分,②另外還有些ABAQUS自帶常量abaqusConstants,③最后一部分是使用過程中個人希望添加的高亮字符串,可按需進行手動補充;這三部分形成我個人特色的配置文件
polaris_python.uew
(公眾號【星辰北極星】回復關鍵字:【UE配置】可獲得下載鏈接)
,效果如下:
高亮顏色的修改:菜單欄→視圖→主題→管理主題→第三個子頁面修改不同關鍵字的顏色和字體格式;
自動補全的設置:菜單欄→高級→配置→導航→編輯器→自動完成,勾選自動顯示自動完成對話框,并設置“3”個字符已輸入。
溫馨提示:不同版本的設置方法可能不一樣,可百度搜索當前使用版本的設置方法。
【3、INP文件的關鍵字列表與快速索引】
作為一名ABAQUS仿真工程師,很多時候需要修改INP文件,這個文件數據行較多,要快速定位到所修改的關鍵字行,以往采用搜索的方式,這里
推薦
更方便的一種方式:配置文件設置的方法,
polaris_inp.uew
(公眾號【星辰北極星】回復關鍵字:【UE配置】可獲得下載鏈接)
。
展開 星辰技文|ABAQUS Python二次開發中讓UltraEdit更稱手(INP關鍵字跳轉、代碼高亮、自動補全)
【2、Python文件的高亮和自動補全】
UltraEdit高亮和自動補全方法,網上有很多具體的操作,而這里要解決:如何讓ABAQUS Python內的函數能被高亮和自動補全。方法很粗暴,就是將Python涉及的所有函數名稱全部寫入到uew配置文件中。
①從ABAQUS的二次開發幫助文檔中可以獲得其可調用的函數和類名稱列表,然后進行去重,是數據來源的一部分,②另外還有些ABAQUS自帶常量abaqusConstants,③最后一部分是使用過程中個人希望添加的高亮字符串,可按需進行手動補充;這三部分形成我個人特色的配置文件
polaris_python.uew
(公眾號【星辰北極星】回復關鍵字:【UE配置】可獲得下載鏈接)
,效果如下:
高亮顏色的修改:菜單欄→視圖→主題→管理主題→第三個子頁面修改不同關鍵字的顏色和字體格式;
自動補全的設置:菜單欄→高級→配置→導航→編輯器→自動完成,勾選自動顯示自動完成對話框,并設置“3”個字符已輸入。
溫馨提示:不同版本的設置方法可能不一樣,可百度搜索當前使用版本的設置方法。
【3、INP文件的關鍵字列表與快速索引】
作為一名ABAQUS仿真工程師,很多時候需要修改INP文件,這個文件數據行較多,要快速定位到所修改的關鍵字行,以往采用搜索的方式,這里
推薦
更方便的一種方式:配置文件設置的方法,
polaris_inp.uew
(公眾號【星辰北極星】回復關鍵字:【UE配置】可獲得下載鏈接)
。
展開 VS Code自動補全Hypermesh二次開發函數 ¥8.9
1.概述
利用VS Code的User Snippets功能,實現在VS Code中編寫Hypermesh Tcl腳本時自動補全Hypermesh的Tcl Query Commands 和Tcl Modify Commands函數。
Tcl Query Commands涵蓋hm_createmark等565個。
Tcl Modify Commands涵蓋*createmark等1807個。
2.實際效果
3.下載鏈接
ABAQUS Python二次開發入門技巧 - 星辰北極星的經驗沉淀 【直播預告】
【編程經驗和技巧演示】
通過上面的講解,大家應該能夠完成自己模型的參數化,后面將根據剩余時間長短補充一些編程經驗和小技巧:
當前對象獲取:如當前模型、當前視圖、當前Odb名稱;
靈活運用CLI窗口:自動補全、print或dir方法查詢;
隨機函數的使用:random, unifom, sample函數;
用戶輸入命令:如信息輸入框getInput和選擇輸入框getWarningReply;
等等
注意:直播時間限制,就沒有講解Python基礎,新手可以在技術鄰、B站或MOOC網等平臺學習Python基礎知識,希望能掌握了解: 數據類型、判斷循環結構、文件讀寫、以及函數和類的基本知識。
直播內容會隨大家關注的問題進行調整,歡迎在文后留言
直播時間:1月23日 19:30分
報名方式:https://www.yqgqt.org.cn/live/11140
報名入口
更多文章:
技文|用35行代碼生成二維隨機顆粒模型
技文|Abaqus中提取裂縫數據并用matplotlib庫繪圖
技文|INP關鍵字跳轉、代碼高亮、自動補全
技文|ABAQUS二次開發小工具推薦
技文|ABAQUS結果提取大于某值的區域體積
插件|POLARIS_PythonTest
插件|POLARIS_MesoConcrete
插件|POLARIS_Fibrogenesis
- 點擊與我聯系 -
展開 
基于Pycharm 的Abaqus ——python腳本編寫 ¥18
但是也存在一些問題……
問題:很容易將函數名或者是形參變量名編輯錯,也不會有參數類型的提示,代碼也沒有高亮顯示,復制代碼將后綴改成py后,觀感也不太舒適,
需求:
1,語法高亮顯示,這是最基本的
2,Abaqus對象的內部的屬性方法名聯想,自動補全,(訪問多級子對象更快捷)
項目Github地址:https://github.com/liangzulin/abaqus_pycharm 本py文件在其基礎上補充的,主要是認為其類與對象的太少,使用類的嵌套也不利于重用,所以把對象的構造放在父類,作為父類的一個方法,拆開構造
注:abaqus.py代碼只有1000行多一點,但已能滿足大部分腳本編輯所需的代碼補全,本人親測《ABAQUS PYTHON二次開發攻略》此書上代碼基本可自行敲出,后續還會補全……(因py無法上傳,只需將txt后綴名改為py即可使用)
展開 Matlab命令行窗口常用命令!
ans:最新計算默認變量
清除相關
clc :清屏
clear :清除工作空間
clf :清除圖形窗
幫助信息
doc :顯示幫助信息
help :顯示幫助信息
demo :運行演示程序
路徑相關
cd :切換到指定目錄
ls :顯示當前目錄內容
dir :顯示當前目錄內容
pwd :顯示當前路徑
path :顯示搜索目錄
who :內存變量
whos :內存變量 詳細描述
what :列出當前工作空間或指定空間的文件
which :顯示指定函數或文件的路徑
編輯文件
edit :打開M文件編輯器
type :顯示指定M文件內容
diary :把指令記錄為文件
save :保存內存變量到指定文件
esc:清除當前輸入行
常用快捷鍵
Tab鍵 :自動補全命令
Ctrl+C :終止程序運行
F5 :保存并運行程序
退出
exit :關閉MATLAB
quit :關閉MATLAB
來源:算法集市
展開 ABAQUS Python二次開發入門經驗與技巧(視頻課程附件中免費領取)
5、編程經驗和技巧演示:通過上面的講解,大家應該能夠完成自己模型的參數化,后面將根據剩余時間長短補充一些編程經驗和小技巧:
? 當前對象獲取:如當前模型、當前視圖、當前Odb名稱;
? 靈活運用CLI窗口:自動補全、print或dir方法查詢;
? 隨機函數的使用:random, unifom, sample函數;
? 用戶輸入命令:如信息輸入框getInput和選擇輸入框getWarningReply;
? 等等
通過講述個人ABAQUS二次開發經歷,讓初學者少走彎路,快速掌握Python前處理的開發流程和一些實用技巧。
1) 推薦使用的開發工具
2) 二次開發的一般流程
3) 幾何對象和網格對象
4) 個人經驗和技巧演示
視頻課程下載地址.docx
展開 COMSOL4及鏈接Matlab使用心得
在每一類中,又包含有很多函數,其中大部分函數是幫助文檔中沒有的,可以通過m文件中的自動補全命令顯示,但是不知道是干什么用的。 這也是學習m文件的最大難點了。我覺得以后幫助文檔可能會增添這一類的說明的。 不用不影響使用,最常用基本的幾類函數,在幫助文檔中是介紹的很詳細了。
第三個問題:M文件中如何提取數據?
現在的M函數是一整套的封裝式的了。之前想在3.5a版本中的本征值問題可以用以下語句提取出來: e = fem.sol.lambda(: ) ,但是在4.0a中時,發現找不到這一類的變量。但是可以通過以下語句來實現:d
1. 使用
Tereal = model.sol(solname).getPVals %返回實數部分
Leimg = model.sol(solname).getPValsImag %返回虛數部分
(這兩個函數就是上面所述的幫助文檔沒有的,在m文件中用tab鍵,命令補全顯示出來的。)
使用 mphglobal 這個命令,這是提取全局變量數據的命令;
比如 mphglobal(model, 'lambda'); 這里lambda可以任何表達式,也可以數學運算式子。如: mphglobal(model, '(-i*lambda)./(2*pi)‘)
展開 Altair Compose,讓效率與精準雙向奔赴
從線性代數運算、統計分析到微分方程求解,從信號濾波、傅里葉變換到控制系統設計,Altair Compose覆蓋了工程研發全流程的數學計算需求。無論是汽車行業的結構力學分析、航空航天領域的流體力學方程求解,還是電子行業的電磁場模擬后處理,它都能精準應對,輕松搞定傳統工具難以處理的復雜計算任務。更值得一提的是,其內置的CAE數據讀取器,可直接訪問HyperMesh網格數據、OptiStruct求解結果等CAE原生數據,實現計算與仿真數據的無縫銜接,告別手動轉換數據的繁瑣與誤差。
高效自動化能力,把工程師從重復勞動中解放
工程研發中,大量重復的計算與數據處理工作占據了工程師的寶貴時間。Altair Compose的交互式腳本編輯器,支持語法高亮、自動補全與斷點調試,讓腳本開發更高效;批量處理功能可自動執行重復計算任務,搭配自定義函數庫開發,實現代碼復用與共享,大幅提升工作效率。
諾斯羅普·格魯曼系統公司的工程師曾借助Altair Compose編寫腳本,優化NASTRAN結果后處理流程,不僅快速完成了自定義結果的可視化呈現,更在后續的處理與文檔工作中節省了大量時間。類似的案例在各行業屢見不鮮——從重復性工程計算自動化,到測試報告自動生成,Altair Compose讓工程師擺脫機械勞動,將精力聚焦于核心的創新設計環節。
深度生態集成+靈活許可,兼顧效率與成本最優解
作為Altair生態系統的重要組成部分,Altair Compose可與Twin Activate、Embed、HyperWorks、Inspire等產品無縫集成,實現多領域系統建模、控制算法自動代碼生成、仿真流程閉環等進階功能。
展開 【Zemax Programming】開始使用 Python
這是因為IDE能夠調試Python腳本并查看給定對象的屬性,類似于Visual Basic?或Matlab?中的自動補全代碼。小編使用的是由Jet Brains提供的PyCharm 共享版IDE,PyCham支持代碼補全,語法問題檢查,內置控制臺,斷點糾錯工具。此IDE的最新版本能夠檢查ZOS-API環境中任一對象的屬性,絕對是最好用的版本之一。
舉例來說,要檢查NSCRayTrace的屬性,可以在出現該對象(NSCRayTrace)代碼行的下方左側欄中(行序號旁邊)鼠標左擊插入斷點,再在主窗口的右擊菜單欄中選擇“Debug”(而不是選擇“Run”)。
在返回的變量列表中(Variables),可以展開變量,在下圖中展開了_prop_map_get_的屬性。
初次運行PyCharm提示需要配置 interpreter option 時,點擊 File>Settings>Project:>Project interpreter,再點擊 Add Local 來添加 Python 。
Python故障排除
任何時候當改變 OpticStudio 或者 Python 的環境時,將有可能破壞 pywin32 的封裝。每個樣本代碼在腳本的最開始都有注釋說明幫助用戶重新注冊封裝,詳細的說明如下:
導航至路徑{Python}\Lib\site-packages\win32com\gen_py\*.* 并刪除目錄(gen_py)下的所有文件。
開啟Windows “cmd”窗口(win+R>輸入“cmd”>回車)。
展開 Beamer簡易教學——序言篇
WinEdt
這款編譯器相對配置較為簡單,進入頁面后可見下圖,快速編寫,代碼自動補全,顏色、字體、插圖、表格等,即點即用。
WinEdt的安裝教程也打包在資源中,感興趣的可以按照資源內的步驟Step-by-Step安裝,安裝流程簡單,可自己上手安裝,無需某寶遠程。
Texstudio
該編譯器也是常用的本地編譯器,我之前使用過,只是內存占用太大,后來轉向WinEdt,大家后期感興趣可以嘗試安裝。
資料獲取
參考資料、相關的配置和安裝方法,可在后臺回復:Beamer,即可自動獲取。
具體案例
本節結合具體的代碼,展示演示效果,可能剛開始看的時候比較懵逼,后期會給大家一一講解,零基礎方式演繹,努力讓沒接觸過Latex的伙伴,也可以快速上手。
代碼片
documentclass{beamer}
\usefonttheme{structuresmallcapsserif}
\usetheme{Madrid}
\setbeamerfont{title}{shape=\itshape,family=\rmfamily}
\setbeamertemplate{caption}[numbered]
\usepackage[absolute,overlay]{textpos}
\usepackage{minted}%使用minted宏包
\usepackage{booktabs} % 引入三線表宏包
\usepackage{ctex}
\newenvironment{reference}[2]{%
\begin{textblock*}{\textwidth}(#1,#2)
\footnotesize\it\bgroup\color{red!50!
展開 
引領數字體驗未來:UI框架基礎
如今,在用戶體驗由實時協作內容創作工具定義的時代,Qt支持將設計自動轉換為功能完備的應用程序,并在沉浸式虛擬現實(VR)環境中進行驗證。
UI框架
UI應用開發需要一個包含各種功能和服務的開發環境,為設計師和工程師提供通用功能和資源,作為構建UI應用的基礎。UI框架能夠為UI設計師和后端開發者提供一個富有創意的環境,幫助他們最大程度地實現產品的愿景。
在設計方面,UI框架能夠提供內容創作工具、資源庫、數據綁定機制、狀態管理工具、可配置的圖形和視覺效果、實時預覽以及在模擬器上進行測試等功能,用于打造最終產品的用戶體驗。
對開發者而言,UI框架則提供了參考代碼、應用程序、API、編譯器、性能分析器、代碼工具集、庫。此外,框架還提供各類連接協議支持,將設計和原型打造成功能全面且具有前瞻性的UI應用程序。
框架提供的每個功能都減少了開發者需要編寫的代碼,進而縮短了上市時間,并提高了可靠性。功能向導會引導用戶交互式完成項目各階段操作,包括創建必要文件、解決依賴關系和基于用例指定設置等。語義代碼高亮、語法檢查、自動補全、重構操作等實用功能均有助于更快地編寫高質量代碼。
顯然,UI框架在軟件開發各階段提供的功能越完整,設計師和開發者發揮創意時所需付出的工作就越少。采用全面的框架使用戶擺脫細枝末節的工作和容易出錯的例行流程,讓他們能夠全心專注于打造最佳的用戶體驗。
除了提供工具和功能,UI框架還可以充當中間件,作為一個中立的開發環境提供公共API用于創建UI應用,隱去硬件和操作系統底層的細枝末節。這個所謂的“中間件”充當了應用程序與底層平臺架構之間的橋梁,確保在各個目標環境都能自動提供原生的用戶體驗。
跨平臺部署
現代軟件支持在多種設備上運行,如智能手機、平板、筆記本和臺式電腦等,它們都具有豐富的跨平臺應用生態。
展開 [譯] 自然語言處理真是有趣!
我們自動收集了大量的信息。
為了讓事情變得更有趣,試試安裝 neuralcoref 庫并且添加共指解析到你的管道。這將為你提供更多的信息,因為它會捕捉含有“它”的而不是直接表示“倫敦”的句子。
我們還能做什么?
看看這個 spaCy 文檔和 textacy 文檔,你會發現很多能夠用于解析文本的方法示例。目前我們所看見的只是一個小示例。
這里有另外一個實例:想象你正在構建一個能夠向用戶展示我們在上一個例子中提取出的全世界城市的信息的網站。
如果你的網站有搜索功能,能像谷歌那樣能夠自動補全常規的查詢就太好了:
谷歌對于“倫敦”的自動補全建議
如果這么做,我們就需要一個可能提供給用戶的建議列表。我們可以使用 NLP 來快速生成這些數據。
這是從文檔中提取常用名詞塊的一種方式:
import spacy import textacy.extract # 加載大型英語 NLP 模型 nlp = spacy.load('en_core_web_lg') # 需要檢測的文檔 text = """London is the capital and most populous city of England and the United Kingdom. Standing on the River Thames in the south east of the island of Great Britain, London has been a major settlement for two millennia.
展開 星辰技文|一步步教你如何使用35行代碼生成ABAQUS二維隨機顆粒模型
相關文章:
技文|ABAQUS二次開發小工具推薦
插件|POLARIS_PythonTest
插件|POLARIS_MesoConcrete
技文|ABAQUS結果提取大于某值的區域體積
技文|INP關鍵字跳轉、代碼高亮、自動補全
技文|Abaqus中提取裂縫數據并用matplotlib庫繪圖
HyperMesh 新界面功能與技術升級深度解析
在一個窗口選中對象按Ctrl+C復制,到另一個窗口按Ctrl+V粘貼,不僅對象能復制過來,關聯的材料、屬性、載荷等數據也會自動同步。另外,處理大模型時,如果只需要修改局部結構,直接把這部分結構拷貝到新窗口操作,能避免整機模型旋轉、拖動時的延遲,修改完再拷貝回整機模型即可,效率提升很明顯。
3.2 瀏覽器功能優化
新版的對象瀏覽器也做了升級,現在所有對象都按類型細分了。比如單元,瀏覽器會明確顯示 1D 單元、2D 單元、3D 單元的數量,大家不用再依賴專門的 “顯示 / 隱藏瀏覽器”,直接在當前瀏覽器里就能控制對象的隱藏或顯示。
另外,大家在使用過程中會創建很多材料卡片、載荷工況卡片,過去按字母排序查找很麻煩,現在HyperMesh 會給常用的卡片打上星標,自動前置顯示,相當于幫大家做了 “常用收藏”。而且瀏覽器的搜索功能支持自動補全,輸入部分關鍵詞就能識別出可能想找的對象,檢索更高效。
3.3 界面自定義與材料庫對接
新版界面的所有窗口都支持任意懸浮,不再固定在左邊或右邊,而且功能大多以圖標形式呈現,這些圖標還能自定義。HyperMesh 功能很多,但每個人常用的可能就二三十個,大家可以把高頻功能做成專屬的懸浮菜單,放在界面旁邊,不用每次都到頂部菜單欄查找,操作更便捷。
材料是仿真中的關鍵環節,現在 HyperMesh 能對接 Altair One 的官方材料庫。Altair One 是 Altair 的統一用戶門戶,大家可以在上面下載軟件、使用云端產品,也能訪問材料庫。
這個庫目前有六七萬種材料,包括國內寶鋼等企業的材料。
展開