
發(fā)布
注冊(cè)
/
登錄賦值的案例
西門子 | 840D參數(shù)賦值和探測程序
如何把探測的值賦值到機(jī)床中?
看圖中的坐標(biāo)值為原始的機(jī)床坐標(biāo),如果工件坐標(biāo)系和機(jī)床坐標(biāo)系不重合的話,那么是無法直接按圖紙程序加工工件的。
【ANSYS經(jīng)驗(yàn)技巧】- 學(xué)會(huì)使用變量數(shù)組函數(shù)(轉(zhuǎn)載)
利用*DIM格式如下:
*DIM,par,type,imax,jmax,kmax,var1,var2,var3
其中:par——數(shù)組名
Type——數(shù)組類型(array char table)缺省為array"
Imax~kmax——數(shù)組下標(biāo)(i,j,k)的最大值
Var1~var3——type=table時(shí)對(duì)應(yīng)行列面的變量名
3.賦值數(shù)組參數(shù)
1)
利用*set命令或“=”給單個(gè)或多個(gè)數(shù)組元素賦值與scalar變量賦值是格式相同。
2)
利用*set或“=”賦值時(shí),賦值對(duì)象為第一個(gè)元素名,賦值數(shù)據(jù)是一個(gè)列矢量,賦值結(jié)果是按列下標(biāo)遞增順序從第一個(gè)賦值數(shù)組依次賦值。注意,一次最多只能給10個(gè)連續(xù)數(shù)組元素賦值,當(dāng)只給一個(gè)元素賦值時(shí)與變量賦值完全一致。
舉例:
a) *DIM,,12,1,1. D; T! u; k8 \" D6 F
定義數(shù)組A為一個(gè)array類型,12行1列
A(1)=1,2,……12
給每個(gè)元素賦值為其行標(biāo)
b) *DIM,B,array,4,3,1
定義數(shù)組B為一個(gè)array類型4行3列
B(1,1)=11,21,31,41
B(1,2)=12,22,32,42
B(1,3)=31,32,33,43
B=
注意此賦值的下標(biāo)! 對(duì)于二維數(shù)組,賦值順序按照列進(jìn)行賦值,注意此規(guī)律。三維也是一樣的。
展開 詳解Abaqus插件腳本中的關(guān)鍵字(AFXKeyword)(下)
使用浮點(diǎn)型關(guān)鍵字的控件,參數(shù)sel的賦值為0
3、字符串類型關(guān)鍵字 AFXStringKeyword
構(gòu)造方法:
AFXStringKeyword(command, name, isRequired=False, defaultValue='')
使用字符串類型關(guān)鍵字的典型控件有:文本框控件、列表控件、下拉列表控件等。
使用字符串類型關(guān)鍵字的控件,參數(shù)sel的賦值為0
4、布爾類型關(guān)鍵字 AFXBoolKeyword
構(gòu)造方法:
AFXBoolKeyword(command, name, booleanType=ON_OFF, isRequired=False, defaultValue=False)
參數(shù)解釋:
booleanType:布爾值,一般賦值為AFXBoolKeyword.TRUE_FALSE
使用布爾類型關(guān)鍵字的典型控件有:復(fù)選框控件。
使用布爾類型關(guān)鍵字的控件,參數(shù)sel的賦值為0
5、符號(hào)常數(shù)類型關(guān)鍵字 AFXSymConstKeyword
構(gòu)造方法:
AFXSymConstKeyword(command, name, isRequired=False, defaultValue=0)
abaqus自帶有大量的符號(hào)常數(shù),用from abaqusConstants import *導(dǎo)入后,可以使用。比如THREE_D、DEFORMABLE_BODY等
我們也可以人為定義一個(gè)符號(hào)常數(shù),這樣使用起來很直觀。
使用符號(hào)常數(shù)類型關(guān)鍵字的典型控件有:列表控件和下拉列表,此時(shí)sel賦值為0;也可以用于單選框控件,此時(shí)sel賦值是大于0的整數(shù)。
展開 PFC接觸分組賦值
今天將接觸分組這部分思考了一下,總結(jié)了一下接觸分組的做法,并提出一個(gè)做法可以實(shí)現(xiàn)接觸層面賦值的方法。
首先我們這里提出一個(gè)工況,有兩層土,底層是礫石,上層是砂土,礫石的參數(shù)為:kn=ks=5e7,砂土為:kn=ks=2e7,組間接觸為:kn=ks=3e7,顆粒與墻的接觸定義為:kn=ks=1e8。
下面的demo是我經(jīng)常用的做法,在cmat entry中將除了組間接觸之外的所有接觸都定義好,id 1對(duì)應(yīng)的是礫石內(nèi)部,2對(duì)應(yīng)的是砂土內(nèi)部,3對(duì)應(yīng)的是顆粒與墻的。那組間接觸在cmat entry中找不到自己的range時(shí),就會(huì)返回到default中。

Excel與Python的交互處理: Openpyxl (1)
from openpyxl import Workbookfrom openpyxl.styles import Fontwb = Workbook()ws = wb.active
3 直接賦值到cell
openpyxl可以直接把值賦值到cell中, 可以賦值字符串,也可以輸入數(shù)值. 例如:
ws['A1'] = '公路橋涵結(jié)構(gòu)設(shè)計(jì)'ws['B1'] = 24
此外, 也可以把當(dāng)前時(shí)間賦值到cell中. 例如:
import datetimews['C1'] = datetime.datetime.now()
4 批量賦值多個(gè)cell
openpyxl使用append方法可以輸入多個(gè)cell, 例如:
ws.append([1, 2, 3, 4])把這四個(gè)值分別賦值到A1,A2,A3,A4中.
一個(gè)更萬能的方法是使用數(shù)組賦值, 例如:
rows_count = ( (14, 27), (22, 30), (42, 92), (51, 32), (16, 60), (63, 13) )
在定義了這個(gè)數(shù)值后, 使用append把這些值賦值到(A1:B6)中:
for i in rows_count: ws.append(i)
5 使用Excel公式
首先, 對(duì)一個(gè)cell的指定可以使用A1, B3這種格式外, 也可以直接使用行和列的數(shù)值來指定.
展開 干貨|手把手教你寫單片機(jī)的指針
4、函數(shù)指針
先看一下,如果感覺不理解就接著往下看
#include "sys.h"
#include "led.h"
#include "delay.h"
#include "usart.h"
int value = 0;
int *p;//定義一個(gè)指針
int *function(void)
{
return &value;//把value的地址返回
}
int main(void)
{
uart_init(115200);//串口初始化
delay_init();
p=function();//調(diào)用函數(shù),其實(shí)就是把value的地址賦值給了p
printf("Address1 of a: %p\n",&value);//打印value的地址
printf("Address2 of a: %p\n",p);//打印p所代表的地址
while(1)
{
}
}
很多人用過返回值是int、char的函數(shù),但是在int,char 后面加個(gè)*
估計(jì)對(duì)于初學(xué)者沒有用過。其實(shí)就是指針之間賦值。下面就是把p(int*類型的指針) 代表的地址賦值給q
變量之間可以互相賦值吧,指針之間也一樣,可以互相之間賦值。
展開 鄒軍老師:數(shù)控宏程序?qū)毜浣坛?/span>
那么變量沒有去給它賦值,也就沒有多大意義。
這所謂賦值,我們可以這么理解,比如把#1這個(gè)變量當(dāng)做的,你往卡里存了多錢,那么這些卡里就有多了錢。
比如往#1里面存了500元,這么一個(gè)過程就叫變量賦值。如果你不在往“#1“里面存錢,或取錢,那么#1就相當(dāng)于500.也就是說#1不發(fā)生運(yùn)算的情況下就是500.如果有這么一個(gè)程序段G0X#1,也就等同于此程序段G0X500.
關(guān)于變量的賦值,機(jī)床有格式要求的(以FUNC系統(tǒng)為例)
變量=表達(dá)式
什么意思呢,也就是說右邊的表達(dá)式運(yùn)算后的結(jié)果賦值給左邊的變量。
比如:#1=1+2 也就是說右邊1+2這個(gè)表達(dá)式運(yùn)算的結(jié)果賦值給左邊的變量 #1
比如:#3=6*COS30 右邊6*COS3這個(gè)表達(dá)式運(yùn)算的結(jié)果賦值給左邊的變量 #3
比如:#101=100 右邊100這個(gè)數(shù)值賦值給左邊的變量 #101
小結(jié):變量=表達(dá)式
表達(dá)式的結(jié)果賦值給變量,這個(gè)表達(dá)式可以是具體數(shù)值(如10,30.5等數(shù)值),也可以是運(yùn)算式如300-20,還可以是變量與數(shù)值的運(yùn)算 (如#2+160),以及變量與變量之間的運(yùn)算在賦值給變量(如#1=#10/#3)等。
在機(jī)床上運(yùn)行下列程序,檢查變量數(shù)值以及機(jī)床動(dòng)作
上面諸如ABS、ROUND、FUP、FIX等其實(shí)是些函數(shù)
比如ROUND這個(gè)函數(shù) ,它的含義是去掉小數(shù)點(diǎn),并對(duì)小數(shù)點(diǎn)后面的值四舍五入,使整個(gè)數(shù)值結(jié)果為整數(shù)。
展開 鄒軍老師:數(shù)控宏程序?qū)毜浣坛?/span>
那么變量沒有去給它賦值,也就沒有多大意義。
這所謂賦值,我們可以這么理解,比如把#1這個(gè)變量當(dāng)做的,你往卡里存了多錢,那么這些卡里就有多了錢。
比如往#1里面存了500元,這么一個(gè)過程就叫變量賦值。如果你不在往“#1“里面存錢,或取錢,那么#1就相當(dāng)于500.也就是說#1不發(fā)生運(yùn)算的情況下就是500.如果有這么一個(gè)程序段G0X#1,也就等同于此程序段G0X500.
關(guān)于變量的賦值,機(jī)床有格式要求的(以FUNC系統(tǒng)為例)
變量=表達(dá)式
什么意思呢,也就是說右邊的表達(dá)式運(yùn)算后的結(jié)果賦值給左邊的變量。
比如:#1=1+2 也就是說右邊1+2這個(gè)表達(dá)式運(yùn)算的結(jié)果賦值給左邊的變量 #1
比如:#3=6*COS30 右邊6*COS3這個(gè)表達(dá)式運(yùn)算的結(jié)果賦值給左邊的變量 #3
比如:#101=100 右邊100這個(gè)數(shù)值賦值給左邊的變量 #101
小結(jié):變量=表達(dá)式
表達(dá)式的結(jié)果賦值給變量,這個(gè)表達(dá)式可以是具體數(shù)值(如10,30.5等數(shù)值),也可以是運(yùn)算式如300-20,還可以是變量與數(shù)值的運(yùn)算 (如#2+160),以及變量與變量之間的運(yùn)算在賦值給變量(如#1=#10/#3)等。
在機(jī)床上運(yùn)行下列程序,檢查變量數(shù)值以及機(jī)床動(dòng)作
上面諸如ABS、ROUND、FUP、FIX等其實(shí)是些函數(shù)
比如ROUND這個(gè)函數(shù) ,它的含義是去掉小數(shù)點(diǎn),并對(duì)小數(shù)點(diǎn)后面的值四舍五入,使整個(gè)數(shù)值結(jié)果為整數(shù)。
展開 詳解Abaqus插件腳本中的關(guān)鍵字(AFXKeyword)(上)
第26行,構(gòu)造方法AFXStringKeyword(),創(chuàng)建關(guān)鍵字對(duì)象,賦值給self.keyword01Kw
對(duì)話框腳本:
字符串類型關(guān)鍵字使用于特定的控件中,比如文本框控件:
參數(shù)tgt的賦值,即為剛才創(chuàng)建的關(guān)鍵字對(duì)象。因?yàn)樘幱诓煌哪_本,需要用form來調(diào)用該關(guān)鍵字。
由于關(guān)鍵字的類型是字符串,所以sel的賦值為0,這是固定格式。
如此一來,文本框控件創(chuàng)建好了。文本框中輸入的字符串(Part-1),會(huì)被賦值給參數(shù) keyword01,傳遞給內(nèi)核腳本。
參數(shù)tgt和sel通常有三種設(shè)置方式,在《Abaqus插件對(duì)話框二次開發(fā),參數(shù)tgt和sel的設(shè)置方法》帖子中有詳細(xì)闡述,這里使用的是第一種方式。
在下一貼中,我們繼續(xù)討論8種關(guān)鍵字的具體創(chuàng)建方法,以及用于何種控件:
詳解Abaqus插件腳本中的關(guān)鍵字(AFXKeyword)(下)
Abaqus GUI二次開發(fā)三部曲:
Abaqus 主窗口GUI的二次開發(fā)
Abaqus插件程序GUI的二次開發(fā) 初、中級(jí)篇
Abaqus插件程序GUI的二次開發(fā) 高級(jí)篇
展開 ANSYS中的變量
2:數(shù)組參數(shù)的賦值。
1) 用*SET命令或=進(jìn)行賦值。用*SET一次只能給一個(gè)元素賦值,=最多能給10個(gè)元素賦值。看例子。
例如:
*SET,DISP_1(2),20 !DISP_1(2)=20
DISP_1(3)=10,15 !DISP_1(3)=10 DISP_1(4)=15
STRS_A(1,1)=10,20,30 !STRS_A(1,1)=10 STRS_A(2,1)=20 STRS_A(3,1)=30
STRS_A(2,3)=50,70 !STRS_A(2,3)=50STRS_A(3,3)=70
2)用*VFILL命令。*VFILL命令可以用來填充一個(gè)一般的數(shù)組或表數(shù)組的列向量。具體見ANSYS幫助文檔。
例如:
*VFILL,LABEL(1),DATA,'S1','S2','S3','S4','S5'
3)用*VREAD或者*TREAD命令。*VREAD或者*TREAD命令可將數(shù)據(jù)文件填充到數(shù)組中去。具體見ANSYS幫助文檔。
3:數(shù)組參數(shù)的刪除與標(biāo)量參數(shù)相同。
4:數(shù)組參數(shù)操作的GUI。Utility Menu->Parameters->Array Parameters。下面又四個(gè)子菜單,可以進(jìn)行上述所有的操作。
【更多資訊信息請(qǐng)關(guān)注《CAE技術(shù)聯(lián)盟》官方微信】
展開 COMSOL隨機(jī)多面體骨料 三維凸多面體骨料 無規(guī)則孔隙 三維混凝土細(xì)觀 三維骨料模型
將該模型分圖層導(dǎo)出為.iges格式文件,這里分圖層導(dǎo)出是為了可以分部件導(dǎo)入到comsol軟件內(nèi),更方便材料賦值等操作。
本模型共導(dǎo)出四個(gè)iges文件,分別是帶有多面體孔洞的基體材料以及三種不同粒徑的多面體。
然后將iges文件分別導(dǎo)入到comsol內(nèi),這里建議每導(dǎo)入一部分后緊接著進(jìn)行材料賦值操作,材料賦值完成并將該部分隱藏,然后再導(dǎo)入另一部分,否則可能會(huì)出現(xiàn)材料賦值難以選取的問題。
最后進(jìn)行網(wǎng)格劃分、邊界條件、模擬計(jì)算等操作即可。
這里再放一張賦值不同材料后的模型:
插件下載
CAD隨機(jī)多面體3D插件
模型樣圖
隨機(jī)多面體骨料_AbyssFish.rar
展開 
根據(jù)規(guī)范大批量計(jì)算軸壓穩(wěn)定系數(shù) ¥10
= sheet1.ncols # 獲得列數(shù)
fa = [[] for i in range(rows-1)] # 定義了一個(gè)二維列表,行數(shù)等于sheet的行數(shù)
for i in range(1,rows): # 去掉表頭,從第二行開始讀
fa[i-1] = sheet1.row_values(i)[1:cols] # 給二維列表賦值
lamda1 = []
#寫入數(shù)組lamda1,規(guī)范豎向數(shù)值,用于判斷計(jì)算值位置
for a in range(1,sheet1.nrows):
cells = sheet1.row_values(a) #每行數(shù)據(jù)賦值給cells
a = cells[0] #因?yàn)楸韮?nèi)可能存在多列數(shù)據(jù),0代表第一列數(shù)據(jù),1代表第二列,以此類推
lamda1.append(a) #把每次循環(huán)讀取的數(shù)據(jù)插入到list
lamda2 = []
#寫入數(shù)組lamda1,規(guī)范豎向數(shù)值,用于判斷計(jì)算值位置
for a in range(1,sheet1.ncols):
cells = sheet1.col_values(a) #每行數(shù)據(jù)賦值給cells
a = cells[0] #因?yàn)楸韮?nèi)可能存在多列數(shù)據(jù),0代表第一列數(shù)據(jù),1代表第二列,以此類推
lamda2.append(a) #把每次循環(huán)讀取的數(shù)據(jù)插入到list
完整代碼見收費(fèi)部分。
展開 初學(xué)宏編程加工,從程序哪個(gè)階段入門?分享兩個(gè)實(shí)例看完就懂了
為此,在主程序中還需要加入地址B,程序可修改如下:
主程序:
01012(主程序號(hào))
G50 X150.0 Z50.0(工件坐標(biāo)系設(shè)定)
S550 M03(主軸正轉(zhuǎn))
G00 X20.0 Z2.0(刀具快速到達(dá)切削起始點(diǎn))
G65 P1013 A15.0 B30.0 (調(diào)用用戶宏程序)
(將軸肩長度15和軸肩直徑30分別賦值給變量#1和#2 )
G00 X150.0 Z200. 0(快速返回刀具起始點(diǎn))
M05(主軸停轉(zhuǎn))
M3 0(程序結(jié)束)
宏子程序:
01013(宏子程序號(hào))
G01 Z-#1 F0.2(車削外圓,可獲得任意軸肩長度)
X#2(車削軸肩可得到任意直徑)
M99(返回主程序)
該程序中通過地址B把直徑30賦值給變量#2,只需要修改N40程序段中的A、B值即可加工不同軸肩長度直徑的工件。
從以上例子可以看出,用戶宏程序中可以用變量代替具體數(shù)值,因此在加工同一類型工件時(shí),只需對(duì)變量賦不同的值,而不必對(duì)每一個(gè)零件都編一個(gè)程序。
"
【親點(diǎn)好看】小編工資漲五毛
↙↙↙別操機(jī)了,快來學(xué)UG軟件吧
展開 C語言最全入門筆記
運(yùn)算符號(hào)
C語言中運(yùn)算符:
※ 算術(shù)運(yùn)算符
※ 賦值運(yùn)算符
※ 關(guān)系運(yùn)算符
※ 邏輯運(yùn)算符
※ 三目運(yùn)算符
算術(shù)運(yùn)算符
c語言基本運(yùn)算符:
除法運(yùn)算中注意:
如果相除的兩個(gè)數(shù)都是整數(shù)的話,則結(jié)果也為整數(shù),小數(shù)部分省略,如8/3 = 2;
而兩數(shù)中有一個(gè)為小數(shù),結(jié)果則為小數(shù),如:9.0/2 = 4.500000。
mtianyan: 取余運(yùn)算中注意:
該運(yùn)算只適合用兩個(gè)整數(shù)進(jìn)行取余運(yùn)算,如:10%3 = 1;
mtianyan: notes: 而10.0%3則是錯(cuò)誤的;運(yùn)算后的符號(hào)取決于被模數(shù)的符號(hào),如(-10)%3 = -1;而10%(-3) = 1;
mtianyan: %%表示這里就是一個(gè)%符.
注:C語言中沒有乘方這個(gè)運(yùn)算符,也不能用×, ÷等算術(shù)符號(hào)。
自增與自減運(yùn)算符
自增運(yùn)算符為++,其功能是使變量的值自增1
自減運(yùn)算符為--,其功能是使變量值自減1。
它們經(jīng)常使用在循環(huán)中。自增自減運(yùn)算符有以下幾種形式:
賦值運(yùn)算符
C語言中賦值運(yùn)算符分為簡單賦值運(yùn)算符和復(fù)合賦值運(yùn)算符
簡單賦值運(yùn)算符=號(hào)了,下面講一下復(fù)合賦值運(yùn)算符:
復(fù)合賦值運(yùn)算符就是在簡單賦值符=之前加上其它運(yùn)算符構(gòu)成.
例如+=、-=、*=、/=、%=
分析:定義整型變量a并賦值為3,a += 5;這個(gè)算式就等價(jià)于a = a+5; 將變量a和5相加之后再賦值給a
注意:復(fù)合運(yùn)算符中運(yùn)算符和等號(hào)之間是不存在空格的。
關(guān)系運(yùn)算符
C語言中的關(guān)系運(yùn)算符:
關(guān)系表達(dá)式的值是真和假,在C程序用整數(shù)1和0表示。
注意:>=, <=, ==, !=這種符號(hào)之間不能存在空格。
展開 ABAQUS中非均質(zhì)煤巖體的水力壓裂模擬 ¥80
., 0.
2)材料定義
*material, name=mat-flpipe
*density, porefluid
1000
*viscosity, definition=newtonian
0.001
在CAE操作中先要建立一個(gè)“一入四出”的二維線單元,之后將線單元四個(gè)出口與地層的四個(gè)注入點(diǎn)綁定,之后的單元定義以及材料屬性賦值操作就都要在inp文件中進(jìn)行啦,每個(gè)參數(shù)啥意思幫助文檔里有的哦。之后給我們的管單元的“一入”設(shè)置集中注入,他就會(huì)把流量分進(jìn)“四出”后進(jìn)入地層。
至于如何實(shí)現(xiàn)材料非均質(zhì)性的描述,本文中使用的是Weibull分布,對(duì)模型中的Cohesive單元進(jìn)行隨機(jī)賦值,如何實(shí)現(xiàn)材料的隨機(jī)賦值參照b站大佬哦,大佬的腳本講解細(xì)致,可以自己學(xué)會(huì)的,不愛學(xué)的可以花點(diǎn)銀子打賞一下我,哈哈哈哈
abaqus腳本之單元隨機(jī)賦予材料 - 嗶哩嗶哩 (bilibili.com)
最終的模擬結(jié)果如下,效果還是不錯(cuò)的,想要模擬復(fù)雜縫網(wǎng),考慮材料的非均質(zhì)性必不可少!
剩下就是要花小錢錢啦,壓縮文件里有CAE文件,inp文件以及隨機(jī)賦值的腳本,嘿嘿不過學(xué)習(xí)方法文章中都給了哦。
p.s. Inp文件才是最終提交計(jì)算的文件,CAE里的模型是不能直接提交計(jì)算的
Python腳本的運(yùn)行要在CAE中完成
CAE是2021版本建的模型
展開