当前位置:文档之家› 12864C程序及注释

12864C程序及注释

12864C程序及注释
12864C程序及注释

#include

#include

#define uchar unsigned char

#define uint unsigned int

#define LCD_data PORTA

sbit LCD_RS =P2^5;//数据命令选择端:H为数据;L为命令sbit LCD_RW =P2^6;//读写选择端:H为读;L为写

sbit LCD_EN =P2^7;//使能信号端:高脉冲完成操作

sbit LCD_PSB =P2^4;//串并选择端:H为并行;L为串行sbit LCD_RST =P2^2; //复位,低电平有效

sbit qq=P3^2;

unsigned char code pic2[];

uchar code dis1[]={"0123456789 "};

uchar code IC_DA T2[]={

" 白日依山尽,"//0x80

" 黄河入海流。"//0x90欲穷千里目,

" 欲穷千里目,"//0x88

" 更上一层楼。"//0x98

};

/********************************

延时误差:每秒0.005秒

*********************************/

void delayms(uint z)

{

uint i,j;

for(i=z;i>0;i--)

for(j=113;j>0;j--);

}

void delay(unsigned int m) //延时程序

{

unsigned int i,j;

for(i=0;i

for(j=0;j<10;j++);

}

/*******************************

12864写命令函数

RS=L、RW=L,EN高脉冲

D0-D7指令码

******************************/

void L12864_writecmd(uchar cmd)

{

LCD_RS=0;

LCD_RW=0;

LCD_EN=0;

LCD_data=cmd;

delayms(5);

LCD_EN=1;

delayms(5);

LCD_EN=0;

}

/********************************

12864初始化函数

********************************/

void L12864_init_1()

{

LCD_PSB=1;

LCD_RST=0;

delay(1);

LCD_RST=1;

L12864_writecmd(0x30);// 功能设定:基本功能,关图片显示

L12864_writecmd(0x0c);//开显示,开游标

L12864_writecmd(0x01);//清屏显示

}

/********************************************************************

* 名称: 12864初始化函数

***********************************************************************/

void L12864_initi_2(void) //LCD显示图片(扩展)初始化程序

{

//delay(40); //大于40MS的延时程序

LCD_PSB=1; //设置为8BIT并口工作模式

delay(1); //延时

LCD_RST=0; //复位

delay(1); //延时

LCD_RST=1; //复位置高

delay(10);

L12864_writecmd(0x36); //Extended Function Set RE=1: extended instruction

//delay(100); //大于100uS的延时程序

//L12864_writecmd(0x36,0); //Extended Function Set:RE=1: extended instruction set

//L12864_writecmd(37); ////大于37uS的延时程序

L12864_writecmd(0x3E); //EXFUNCTION(DL=8BITS,RE=1,G=1)

//delay(100); //大于100uS的延时程序

L12864_writecmd(0x01); //CLEAR SCREEN

//delay(100); //大于100uS的延时程序

}

/***************************

12864写数据函数

RS=H、RW=L、EN高脉冲

D0-D7数据信息

**************************/

void L12864_writedat(uchar dat)

{

LCD_RS=1;

LCD_RW=0;

LCD_EN=0;

LCD_data=dat;

delayms(5);

LCD_EN=1;

delayms(5);

LCD_EN=0;

}

/***********************

12864设定初始显示位置

***********************/

void L12864_focuspos(uchar X,uchar Y)

{

uchar pos;

if(X==0)

{

X=0x80;

}

else if(X==1)

{

X=0x90;

}

else if(X==2)

{

X=0x88;

}

else if(X==3)

{

X=0x98;

}

pos=X+Y-1;

L12864_writecmd(pos);

}

void L12864_displayline(uchar hang1, uchar hang2, uchar code *adder1) { uchar X,Y,i;

X=hang1;

Y=hang2;

if(X==1) X=0x80;

else if(X==2) X=0x90;

else if(X==3) X=0x88;

else if(X==4) X=0x98;

L12864_writecmd(X);

if(Y==1)

{

for(i=0;i<16;i++)

{

L12864_writedat(*adder1);

adder1++;

}

}

if(Y==2)

{

for(i=0;i<16;i++)

adder1++;

for(i=16;i<32;i++)

{

L12864_writedat(*adder1);

adder1++;

}

}

if(Y==3)

{

for(i=0;i<32;i++)

adder1++;

for(i=32;i<48;i++)

{

L12864_writedat(*adder1);

adder1++;

}

}

if(Y==4)

{

for(i=0;i<48;i++)

adder1++;

for(i=48;i<64;i++)

{

L12864_writedat(*adder1);

adder1++;

}

}

}

void L12864_displaypage( uchar code *adder1)

{

unsigned char i;

L12864_writecmd(0x80);

delay(100);

for(i=0;i<32;i++)

{

L12864_writedat(*adder1);

adder1++;

}

L12864_writecmd(0x90);

delay(100);

for(i=32;i<64;i++)

{

L12864_writedat(*adder1);

adder1++;

}

}

void L12864_displaypicture( uchar code *adder)

{

int a,b;

//*******显示上半屏内容设置

for(a=0;a<32;a++) //

{

L12864_writecmd((0x80 + a)); //SET 垂直地址VERTICAL ADD

L12864_writecmd(0x80); //SET 水平地址HORIZONTAL ADD for(b=0;b<16;b++)

{

L12864_writedat(*adder);

adder++;

}

}

//*******显示下半屏内容设置

for(a=0;a<32;a++) //

{

L12864_writecmd((0x80 + a)); //SET 垂直地址VERTICAL ADD

L12864_writecmd(0x88); //SET 水平地址HORIZONTAL ADD

for(b=0;b<16;b++)

{

L12864_writedat(*adder);

adder++;

}

}

}

void main()

{

while(1){

L12864_writecmd(0x01);

delay(10);

L12864_writecmd(0x30);

delay(10);

L12864_displayline(2,3,IC_DA T2);

delayms(500);

L12864_writecmd(0x01);

L12864_writecmd(0x36);

//L12864_displaypicture(pic2);

//delayms(500);

}

}

unsigned char code pic2[]=

{ /*-- 调入了一幅图像:C:\Users\Administrator\Desktop\889.bmp --*/

/*-- 宽度x高度=128x64 --*/

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xDC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xDE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x3F,0x80,0x01,0xCE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x7F,0xF0,0x01,0xCE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x0F,0xFF,0xFF,0x81,0xCE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x01,0xFF,0xF1,0xFF,0xC1,0xCF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x03,0xFF,0xE0,0x3F,0xF9,0xCF,0x00,0x00,0x3F,0x80,0x00,0x00,0x00,0x00, 0x00,0x00,0x01,0xFC,0x00,0x01,0xFF,0xC7,0x00,0x07,0xFF,0xC0,0x00,0x00,0x00,0x00, 0x00,0x00,0x01,0xE0,0x00,0x00,0x3F,0xFF,0x80,0x3F,0xFF,0xE0,0x00,0x00,0x00,0x00, 0x00,0x00,0x01,0xE0,0x00,0x00,0x1F,0xFF,0xFF,0xFF,0xC0,0xF0,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0xE0,0x00,0x00,0x01,0xFF,0xFF,0xFF,0x00,0xF0,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0xF0,0x00,0x00,0x01,0xC7,0xFF,0xF0,0x00,0x70,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0xF0,0x00,0x00,0x01,0xC7,0x00,0x00,0x00,0x70,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x70,0x00,0x00,0x01,0xC7,0x00,0x00,0x00,0x70,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x70,0x00,0x00,0x01,0xC7,0x80,0x00,0x00,0x70,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x70,0x00,0x00,0x01,0xC7,0x80,0x00,0x00,0x70,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x70,0x00,0x00,0x01,0xC3,0x80,0x00,0x00,0x70,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x70,0x00,0x00,0x01,0xC3,0x80,0x00,0x00,0x70,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x70,0x00,0x00,0x01,0xC3,0x80,0x00,0x00,0x70,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x70,0x00,0x00,0x01,0xC3,0x80,0x00,0x00,0x70,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x70,0x00,0x00,0x03,0xC3,0x80,0x00,0x00,0x70,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x70,0x00,0x00,0x03,0xC3,0x80,0x00,0x00,0x70,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x70,0x00,0x00,0x03,0x83,0x80,0x00,0x00,0x70,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x70,0x00,0x00,0x03,0x83,0x80,0x00,0x00,0x70,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x38,0x00,0x00,0x03,0x83,0x80,0x00,0x00,0x70,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x38,0x00,0x00,0x03,0x83,0x80,0x00,0x00,0x70,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x38,0x00,0x00,0x07,0x83,0x80,0x00,0x00,0x70,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x38,0x00,0x00,0x07,0x03,0x80,0x00,0x00,0x70,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x38,0x00,0x00,0x07,0x03,0x80,0x00,0x00,0x78,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x38,0x00,0x00,0x07,0x03,0x80,0x00,0x00,0x38,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x38,0x00,0x00,0x07,0x03,0x80,0x00,0x00,0x38,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x3C,0x00,0x00,0x07,0x03,0x80,0x00,0x00,0x38,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x3F,0xFF,0x80,0x07,0x03,0x80,0x00,0x00,0x38,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x1F,0xFF,0xFF,0x07,0x03,0xFF,0xFF,0x00,0x38,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x3C,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDC,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x80,0x00,0xFF,0xF8,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x03,0x80,0x00,0x07,0xF8,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x07,0x80,0x00,0x00,0x38,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xF7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x1F,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x0F,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x07,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x07,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

};

UMAT全过程

UMAT全过程——技术篇 1.ABAQUS中非线性问题的处理2.用户子程序接口3.用户子程序和主程序的结合4.用户材料子程序UMAT接口的原理5.UMAT子程序流程ABAQUS是怎么计算的 I.ABAQUS一共有42个用户子程序接口,15个应用程序接口,可以定义包括边界条 件,荷载条件,接触条件,材料特性以及利用用户子程序和其它应用软件进行数值交换。 1.根据ABAQUS提供的相应接口,按照FORTRAN语法自己编写的代码,是一个独立的程序单元,可以独立地被储存和编译,也能被其他程序单元引用。 I.一般结构形式 II. 一个算例中,可以用到多个用户子程序,但必须把它们放在一个以.for为扩展名的文件中。 III.运行带有用户子程序的算例的两种方法 1.在CAE中运行,在EDIT JOB菜单中的GENRAL子菜单的USERSUBROUTINE GILE对话框中选择用户子程序所在的文件 2.在https://www.doczj.com/doc/071989158.html,MAND中运行语法如下 IV.编制用户子程序时应注意: 1.用户子程序相互之间不能调用,可以调用用户自己编写的Fortran子程序和 ABAQUS应用程序,ABAQUS应用程序必须由用户子程序调用。编写Fortran子程序时,建议子程序以K开头,以免和ABAQUS内部程序冲突。2.用户在用户子程序中利用OPEN打开外部文件时,要注意以下两点: (1)设备号的选择有限制,只能取15~18和大于100的设备号 (2)用户需提供外部文件的绝对路径而不是相对路径。3.对于不同的用户子程序,ABAQUS调用的时间不相同,有的在每个STEP的开始,有的在结尾,有的在每个 INCREMENT的开始。(当ABAQUS在调用用户子程序时,都会把当前的STEP 和INCREMENT 利用用户子程序的两个实参KSTEP 和KINC 传给用户子程序,用户可把他们输出到外部文件中,这样可清楚知道何时调用) V.ABAQUS提供给用户定义自己的材料属性的Fortran程序接口,用户材料子程序 UMAT 通过与ABAQUS主求解程序的接口实现与ABAQUS的资料交流,输入文件中,使用“UESER MATERIAL”表示定义用户材料属性。 I.UMAT子程序采用Fortran语言编制,包括以下几个部分:子程序定义语句、 ABAQUS 定义的参数说明、用户定义的局部变量说明、用户编制的程序主体、子程序返回和结束语句。I.

程序代码注释编写规范

程序代码注释编写规范 为提高控制程序的阅读性与可理解性,现制定相关代码程序代码注释编写的编写规范。 一般情况下,源程序有效注释量必须在20%以上,注释的原则是有助于对程序的阅读理解,在该加的地方都加了,注释不宜太多也不能太少,注释语言必须准确、易懂、简洁。 常规注释有以下两种方式。 单行:以"//"符号开始,任何位于该符号之后的本行文字都视为注释。 多行:以"/*"符号开始,以"*/"结束。任何介于这对符号之间的文字都视为注释。 一、说明性文件 说明性文件(如头文件.h文件、.inc文件、.def文件、编译说明文件.cfg等)头部应进行注释,注释必须列出:版权说明、版本号、生成日期、作者、内容、功能、与其它文件的关系、修改日志等,头文件的注释中还应有函数功能简要说明。 示例:下面这段头文件的头注释比较标准,当然,并不局限于此格式,但上述信息建议要包含在内。 /************************************************* COPYRIGHT (C), MicTiVo International. Co., Ltd. File NAME: // 文件 Author: Version: Date: // 作者、版本及完成日期 DESCRIPTION: // 用于详细说明此程序文件完成的主要功能,与其他模块 // 或函数的接口,输出值、取值范围、含义及参数间的控 // 制、顺序、独立或依赖等关系 Others: // 其它内容的说明 Function List: // 主要函数列表,每条记录应包括函数名及功能简要说明 1.... History: // 修改历史记录列表,每条修改记录应包括修改日期、修改 // 者及修改内容简述 1. Date: Author: Modification: 2. .. *************************************************/ 二、源文件头 源文件头部应进行注释,列出:版权说明、版本号、生成日期、作者、模块目的/功能、主要函数及其功能、修改日志等。 示例:下面这段源文件的头注释比较标准,当然,并不局限于此格式,但上述信息建议要包含在内。 /************************************************************ COPYRIGHT (C), MicTiVo International. Co., Ltd. FileName: Author:

ABAQUS子程序UMAT里弹塑本构的实现

前言 有限元法是工程中广泛使用的一种数值计算方法。它是力学、计算方法和计算机技术相结合的产物。在工程应用中,有限元法比其它数值分析方法更流行的一个重要原因在于:相对与其它数值分析方法,有限元法对边界的模拟更灵活,近似程度更高。所以,伴随着有限元理论以及计算机技术的发展,大有限元软件的应用证变得越来越普及。 ABAQUS软件一直以非线性有限元分析软件而闻名,这也是它和ANSYS,Nastran等软件的区别所在。非线性有限元分析的用处越来越大,因为在所用材料非常复杂很多情况下,用线性分析来近似已不再有效。比方说,一个复合材料就不能用传统的线性分析软件包进行分析。任何与时间有关联,有较大位移量的情况都不能用线性分析法来处理。多年前,虽然非线性分析能更适合、更准确的处理问题,但是由于当时计算设备的能力不够强大、非线性分析软件包线性分析功能不够健全,所以通常采用线性处理的方法。 这种情况已经得到了极大的改善,计算设备的能力变得更加强大、类似ABAQUS这样的产品功能日臻完善,应用日益广泛。 非线性有限元分析在各个制造行业得到了广泛应用,有不少大型用户。航空航天业一直是非线性有限元分析的大客户,一个重要原因是大量使用复合材料。新一代波音 787客机将全部采用复合材料。只有像 ABAQUS这样的软件,才能分析包括多个子系统的产品耐久性能。在汽车业,用线性有限元分析来做四轮耐久性分析不可能得到足够准确的结果。分析汽车的整体和各个子系统的性能要求(如悬挂系统等)需要进行非线性分析。在土木工程业, ABAQUS能处理包括混凝土静动力开裂分析以及沥青混凝土方面的静动力分析,还能处理高度复杂非线性材料的损伤和断裂问题,这对于大型桥梁结构,高层建筑的结构分析非常有效。 瞬态、大变形、高级材料的碰撞问题必须用非线性有限元分析来计算。线性分析在这种情况下是不适用的。以往有一些专门的软件来分析碰撞问题,但现在ABAQUS在通用有限元软件包就能解决这些问题。所以,ABAQUS可以在一个软件完成线性和非线性分析。 ABAQUS给用户提供了强大二次开发接口,尤其是在材料本构方面,给用户开发符合实际工程的材料本构模型提供了强大帮助,本文将针对其用户材料子程序展开研究,总结常用材料模型的开发方法。

程序代码注释编写规范

百度文库- 让每个人平等地提升自我 1 程序代码注释编写规范 为提高控制程序的阅读性与可理解性,现制定相关代码程序代码注释编写的编写规范。 一般情况下,源程序有效注释量必须在20%以上,注释的原则是有助于对程序的阅读理解,在该加的地方都加了,注释不宜太多也不能太少,注释语言必须准确、易懂、简洁。 常规注释有以下两种方式。 单行:以"文件、.inc文件、.def文件、编译说明文件.cfg等)头部应进行注释,注释必须列出:版权说明、版本号、生成日期、作者、内容、功能、与其它文件的关系、修改日志等,头文件的注释中还应有函数功能简要说明。 示例:下面这段头文件的头注释比较标准,当然,并不局限于此格式,但上述信息建议要包含在内。 /************************************************* (C), MicTiVo International. Co., Ltd. 1.File : . History: Date: Author: Modification: 2. .. *************************************************/ 一、源文件头 源文件头部应进行注释,列出:版权说明、版本号、生成日期、作者、模块目的/功能、主要函数及其功能、修改日志等。 示例:下面这段源文件的头注释比较标准,当然,并不局限于此格式,但上述信息建议要包含在内。 /************************************************************ (C), MicTiVo International. Co., Ltd. FileName: Author: Version : Date: : / /*receive _process() */ 意:与溢出中断写初值不同}

abaqus简单umat子程序

SUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,RPL,DDSDDT, 1 DRPLDE,DRPLDT,STRAN,DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED, 2 CMNAME,NDI,NSHR,NTENS,NSTATV,PROPS,NPROPS,COORDS,DROT, 3 PNEWDT,CELENT,DFGRD0,DFGRD1,NOEL,NPT,LAYER,KSPT,KSTEP,KINC) include 'aba_param.inc' CHARACTER*8 CMNAME DIMENSION STRESS(NTENS),STATEV(NSTATV),DDSDDE(NTENS,NTENS), 1 DDSDDT(NTENS),DRPLDE(NTENS),STRAN(NTENS),DSTRAN(NTENS), 2 TIME(2),PREDEF(1),DPRED(1),PROPS(NPROPS),COORDS(3),DROT(3,3), 3 DFGRD0(3,3),DFGRD1(3,3) C UMAT FOR ISOTROPIC ELASTICITY C CANNOT BE USE D FOR PLAN E STRESS C ---------------------------------------------------------------- C PROPS(1) - E C PROPS(2) - NU C ---------------------------------------------------------------- C IF (NDI.NE.3) THEN WRITE (*,*) 'THIS UMAT MAY ONLY BE USED FOR ELEMENTS 1 WITH THREE DIRECT STRESS COMPONENTS' CALL XIT ENDIF open(400,file='D:\test.txt') C ELASTIC PROPERTIES EMOD=PROPS(1) ENU=PROPS(2) EBULK3=EMOD/(1-2*ENU) EG2=EMOD/(1+ENU) EG=EG2/2 EG3=3*EG ELAM=(EBULK3-EG2)/3 write(400,*) 'temp=',temp C ELASTIC STIFFNESS C DO K1=1, NDI DO K2=1, NDI DDSDDE(K2, K1)=ELAM END DO DDSDDE(K1, K1)=EG2+ELAM

程序代码注释编写规范

程序代码注释编写规范 XXX份公司

为提高控制程序的阅读性与可理解性,现制定相关代码程序代码注释编写的编写规范。 一般情况下,源程序有效注释量必须在20%以上,注释的原则是有助于对程序的阅读理解,在该加的地方都加了,注释不宜太多也不能太少,注释语言必须准确、易懂、简洁。 常规注释有以下两种方式。 单行:以"//"符号开始,任何位于该符号之后的本行文字都视为注释。 多行:以"/*"符号开始,以"*/"结束。任何介于这对符号之间的文字都视为注释。 一、说明性文件 说明性文件(如头文件.h文件、.inc文件、.def文件、编译说明文件.cfg等)头部应进行注释,注释必须列出:版权说明、版本号、生成日期、作者、内容、功能、与其它文件的关系、修改日志等,头文件的注释中还应有函数功能简要说明。 示例:下面这段头文件的头注释比较标准,当然,并不局限于此格式,但上述信息建议要包含在内。 /************************************************* COPYRIGHT (C), MicTiVo International. Co., Ltd. File NAME: // 文件 Author: Version: Date: // 作者、版本及完成日期 DESCRIPTION: // 用于详细说明此程序文件完成的主要功能,与其他模块 // 或函数的接口,输出值、取值范围、含义及参数间的控 // 制、顺序、独立或依赖等关系 Others: // 其它内容的说明 Function List: // 主要函数列表,每条记录应包括函数名及功能简要说明 1.... History: // 修改历史记录列表,每条修改记录应包括修改日期、修改 // 者及修改内容简述 1. Date: Author: Modification: 2. .. *************************************************/ 二、源文件头 源文件头部应进行注释,列出:版权说明、版本号、生成日期、作者、模块目的/功能、主要函数及其功能、修改日志等。 示例:下面这段源文件的头注释比较标准,当然,并不局限于此格式,但上述信息建议要包含在内。 /************************************************************

ABAQUS-二次开发资料-UMAT

各个楼层及内容索引 2-------------------------------------什么是UMAT 3-------------------------------------UMAT功能简介 4-------------------------------------UMAT开始的变量声明 5-------------------------------------UMAT中各个变量的详细解释 6-------------------------------------关于沙漏和横向剪切刚度 7-------------------------------------UMAT流程和参数表格实例展示 8-------------------------------------FORTRAN语言中的接口程序Interface 9-------------------------------------关于UMAT是否可以用Fortran90编写的问题 10-17--------------------------------Fortran77的一些有用的知识简介 20-25\30-32-----------------------弹塑性力学相关知识简介 34-37--------------------------------用户材料子程序实例JOhn-cook模型压缩包下载 38-------------------------------------JOhn-cook模型本构简介图 40-------------------------------------用户材料子程序实例JOhn-cook模型完整程序+david详细注解[欢迎大家来看看,并提供意见,完全是自己的diy的,不保证完全正确,希望共同探讨,以便更正,带"?"部分,还望各位大师\同仁指教] 1什么是UMAT??? 1.1 UMAT功能简介!!![-摘自庄茁老师的书 UMAT子程序具有强大的功能,使用UMAT子程序: (1)可以定义材料的本构关系,使用ABAQUS材料库中没有包含的材料进行计算,扩充程序 功能。ABAQUS软件2003年度用户年会论文集 (2)几乎可以用于力学行为分析的任何分析过程,几乎可以把用户材料属性赋予ABAQUS中 的任何单元; (3)必须在UMAT中提供材料本构模型的雅可比(Jacobian)矩阵,即应力增量对应变增量 的变化率。 (4)可以和用户子程序“USDFLD”联合使用,通过“USDFLD”重新定义单元每一物质点上传 递到UMAT中场变量的数值。 1.2 UMAT开始的变量声明 由于主程序与UMAT之间存在数据传递,甚至共用一些变量,因此必须遵守有关书写格式,UMAT中常用的变量在文件开头予以定义,通常格式为: SUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD, 1 RPL,DDSDDT,DRPLDE,DRPLDT, 2STRAN,DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,CMNAME 3 NDI,NSHR,NTENS,NSTATV,PROPS,NPROPS,COORDS,DROT,PNEWDT,

程序源代码注释规范

程序注释规范说明 程序注释规范应包括以下三方面: 一、文件头部注释 在代码文件的头部进行注释,这样做的好处在于,我们能对代码文件做变更跟踪。在代码头部分标注出创始人、创始时间、修改人、修改时间、代码的功能,这在团队开发中必不可少,它们可以使后来维护/修改的同伴在遇到问题时,在第一时间知道他应该向谁去寻求帮助,并且知道这个文件经历了多少次迭代、经历了多少个程序员的开发和修改。 样本: /***************************************************** ** 作者:Liuchao ** 创始时间:2007-11-12 ** 修改人:Liuchao ** 修改时间:2007-11-12 ** 修改人:Liaochao ** 修改时间:2007-11-12 ** 描述: ** 主要用于产品信息的资料录入,… *****************************************************/ 二、函数、属性、类等注释 请使用///三斜线注释,这种注释是基于XML的,不仅能导出XML制作帮助文档,而且在各个函数、属性、类等的使用中,编辑环境会自动带出注释,方便你的开发。以protected,protected Internal,public声明的定义注释都建议以这样命名方法。 例如: ///

/// 用于从ERP系统中捞出产品信息的类 ///

class ProductTypeCollector { … } 三、逻辑点注释 在我们认为逻辑性较强的地方加入注释,说明这段程序的逻辑是怎样的,以方便我们自己后来的理解以及其他人的理解,并且这样还可以在一定程度上排除BUG。在注释中写明我们的逻辑思想,对照程序,判断程序是否符合我们的初衷,如果不是,则我们应该仔细思考耀修改的是注释还是程序了… 四、变量注释 我们在认为重要的变量后加以注释,说明变量的含义,以方便我们自己后来的理解以及其他人的理解,并且这样还可以在一定程度上排除BUG.我们常用///三斜线注释。 /// 用于从ERP系统中捞出产品信息的类 class ProductTypeCollector { int STData;/// … }

Abaqus材料用户子程序UMAT基础知识与手册例子完整解释

1、为何需要使用用户材料子程序(User-Defined Material, UMAT )? 很简单,当ABAQUS 没有提供我们需要的材料模型时。所以,在决定自己定义一种新的材料模型之前,最好对ABAQUS 已经提供的模型心中有数,并且尽量使用现有的模型,因为这些模型已经经过详细的验证,并被广泛接受。 UMAT 子程序具有强大的功能,使用UMAT 子程序: (1)可以定义材料的本构关系,使用ABAQUS 材料库中没有包含的材料进行计算,扩充程序功能。 (2) 几乎可以用于力学行为分析的任何分析过程,几乎可以把用户材料属性赋予ABAQU S 中的任何单元。 (3) 必须在UMAT 中提供材料本构模型的雅可比(Jacobian )矩阵,即应力增量对应变增量的变化率。 (4) 可以和用户子程序“USDFLD ”联合使用,通过“USDFLD ”重新定义单元每一物质点上传递到UMAT 中场变量的数值。 2、需要哪些基础知识? 先看一下ABAQUS 手册(ABAQUS Analysis User's Manual )里的一段话: Warning: The use of this option generally requires considerable expertise(一定的专业知识). The user is cautioned that the implementation (实现) of any realistic constitutive (基本) model requires extensive (广泛的) development and testing. Initial testing on a single eleme nt model with prescribed traction loading (指定拉伸载荷) is strongly recommended. 但这并不意味着非力学专业,或者力学基础知识不很丰富者就只能望洋兴叹,因为我们的任务不是开发一套完整的有限元软件,而只是提供一个描述材料力学性能的本构方程(Constitutive equation )而已。当然,最基本的一些概念和知识还是要具备的,比如: 应力(stress),应变(strain )及其分量; volumetric part 和deviatoric part ;模量(modul us )、泊松比(Poisson’s ratio)、拉梅常数(Lame constant);矩阵的加减乘除甚至求逆;还有一些高等数学知识如积分、微分等。 3、UMAT 的基本任务? 我们知道,有限元计算(增量方法)的基本问题是: 已知第n 步的结果(应力,应变等)n σ,n ε,然后给出一个应变增量1+n d ε,计算新的应力1+n σ。UMAT 要完成这一计算,并要计算Jacobian 矩阵DDSDDE(I,J) =εσΔ?Δ?/。σΔ是应力增量矩阵(张量或许更合适),εΔ是应变增量矩阵。DDSDDE(I,J) 定义了第J 个应变分量的微小变化对

Java串口通信程序(程序及注释) 可编译运行

Java的串口通信程序 首先需要到到sun主页下载串口通信的包,因为一般的jrd中不含有这个包的,有点补丁的意思。(CSDN上也有)。解压缩,为了使Java Communications API能够正确的与Windows系统交互,需要几个小的技巧。下面是三个很重要的文件,你可以从Sun的网站上下载得到 comm.jar win32com.dll https://www.doczj.com/doc/071989158.html,m.properties 对于JVM来说,要正确的识别串口,将这几个文件放在系统中合适的位置使很重要的。 comm..jar应该放在以下目录中 %JAVA_HOME%/lib %JAVA_HOME%/jre/lib/ext win32com.dll应该放在以下目录中 %windir%system32 https://www.doczj.com/doc/071989158.html,.properties应该放在以下目录中 %JAVA_HOME%/lib %JAVA_HOME%/jre/lib 你可以通过编译和运行Sun的例程来验证串口是否可以使用了。 JBuilder中安装安装Java Communication API (以下在JBuilder 2006中测试通过) 如果你使用JBuilder,那么还需要为JBuilder配置API。 一般来说,根据你的JBuilder配置,你也许需要将win32com.dll和 https://www.doczj.com/doc/071989158.html,.properties安装到相应的目录中,可以参照上述的目录。例如,如果你使用JBuilder附带的JVM的话,你也许需要将win32com.dll和 https://www.doczj.com/doc/071989158.html,.properties放到C:\Borland\JBuilder2006\jdk1.5的相应位置。

UMAT子程序在复合材料强度分析中的应用

UMAT子程序在复合材料强度分析中 的应用 本例使用UMAT用户子程序进行复合材料单层板的应力分析和渐进损伤压缩强度分析,介绍UMA T用户子程序编写方法及在Abaqus/CAE中的设置。本章使用最大应变强度理论作为复合材料单层板的失效准则,相应的Fortran程序简单易读,便于理解UAMT子程序的工作原理。 知识要点: 强度分析 UMAT用户子程序 最大应变理论 刚度折减讲师:孔祥宏 版本:Abq 6.14 难度: 关键词:强度分析,UMAT

『 2 』 第&章复合材料分析入门 &.1 本章内容简介 本章通过两个实例介绍UMAT用户子程序在复合材料单层板的应力分析和强度分析中的应用。在第一个实例中,对一个简单的复合材料单层板进行应力分析,UMAT子程序主要计算应力,不进行强度分析,本例用于验证UMA T子程序的计算精度。在第二个实例中,对复合材料单层板进行渐进损伤强度分析,UMAT子程序用于应力计算、强度分析和刚度折减。 本章所用复合材料为T700/BA9916,材料属性如表&-1所示。 表&-1 T700/BA9916材料属性 参数值强度值 E1/GPa 114 X T/MPa 2688 E2/GPa 8.61 X C/MPa 1458 E3/GPa 8.61 Y T/MPa 69.5 μ120.3 Y C/MPa 236 μ130.3 Z T/MPa 55.5 μ230.45 Z C/MPa 175 G12/GPa 4.16 S XY/MPa 136 G13/GPa 4.16 S XZ/MPa 136 G23/GPa 3.0 S YZ/MPa 95.6

程序注释及运行结果

第二部分程序注释及运行结果 读者须知: 为了便于读者理解,现将光盘上第一部分可直接在MATLAB6.I 下运行的MATLAB程序的编号和书本上的内容对应如下,每个程序题目括号内的file.m是对应书本上的内容在光盘上第一部分的程序编号。 第二章的随机序列产生程序 例2.1 用乘同余法产生随机数(见光盘FLch2sjxleg1.m) ①编程如下: A=6; N=100; %初始化; x0=1; M=255; for k=1:N %乘同余法递推100次; x2=A*x0; %x2和x0分别表示x i和x i-1; x1=mod (x2,M); %将x2存储器的数除以M,取余数放x1(x i)中; v1=x1/256; %将x1存储器的数除以256得到小于1的随机数放v1中; )存放在矩阵存储器v的第k列中,v(:,k) v(:,k)=v1; % 将v1中的数( i %表示行不变、列随递推循环次数变化; x0=x1; %x i-1= x i; v0=v1; end %递推100次结束; v2=v %该语句末无‘;’,实现矩阵存储器v中随机数放在v2中,% 且可直接显示在MA TLAB的window中; k1=k; %grapher %以下是绘图程序; k=1:k1; plot(k,v,k,v,'r'); xlabel('k'), ylabel('v');tktle('(0-1)均匀分布的随机序列') ②程序运行结果如图2.5所示。

图2.5 采用MA TLAB产生的(0,1)均匀分布的随机序列图 ③产生的(0-1)均匀分布的随机序列 在程序运行结束后,产生的(0,1)均匀分布的随机序列,直接从MATLAB的window 界面中copy出来如下(v2中每行存6个随机数): v2 = 0.0234 0.1406 0.8438 0.0820 0.4922 0.9609 0.7852 0.7266 0.3750 0.2578 0.5508 0.3164 0.9023 0.4336 0.6094 0.6680 0.0234 0.1406 0.8438 0.0820 0.4922 0.9609 0.7852 0.7266 0.3750 0.2578 0.5508 0.3164 0.9023 0.4336 0.6094 0.6680 0.0234 0.1406 0.8438 0.0820 0.4922 0.9609 0.7852 0.7266 0.3750 0.2578 0.5508 0.3164 0.9023 0.4336 0.6094 0.6680 0.0234 0.1406 0.8438 0.0820 0.4922 0.9609 0.7852 0.7266 0.3750 0.2578 0.5508 0.3164 0.9023 0.4336 0.6094 0.6680 0.0234 0.1406 0.8438 0.0820 0.4922 0.9609 0.7852 0.7266 0.3750 0.2578 0.5508 0.3164 0.9023 0.4336 0.6094 0.6680 0.0234 0.1406 0.8438 0.0820 0.4922 0.9609 0.7852 0.7266 0.3750 0.2578 0.5508 0.3164 0.9023 0.4336 0.6094 0.6680 0.0234 0.1406 0.8438 0.0820

DSP程序注释

DSP程序注释 2006-08-18 18:55 DSP5402程序注释 2004年3月30日作者:浙江大学微系统公司 实验一 关于本程序的整体说明: 本程序的目的是利用5402进行处理,在屏幕上显示“hello,world!”其中使用了 #ifdef FILEIO 来选择是否输入字符串。 流程图如下: 定义了 FILEIO 么? | / \ Y / \ N 输出“hello,world!” 输出“hello,world!” | | 要求输入字符串 OVER | 输出读入字符串大小 | OVER /* ======= hello.h ========== 头函数 struct PARMS { /*头函数中仅定义了一个结构体 PARMS*/ int Beta; int EchoPower; int ErrorPower; int Ratio; struct PARMS *Link; }; ======================= */ /* ======== hello.c ======== */ #include #include "hello.h" #define BUFSIZE 30 /*定义BUFSIZE(缓冲空间)为30*/ struct PARMS str = /*全局变量是一个结构体 str*/ { 2934, /*Beta = 2934*/ 9432, /*EchoPower = 9432*/

213, /*ErrorPower = 213*/ 9432, /*Ratio = 9432*/ &str /*Link 是指向str自己的指针。本程序中并未使用*/ }; /*PARAMS是在hello.h中定义的结构类型*/ /* * ======== main ======== 主函数 */ void main() { #ifdef FILEIO /*第一次运行程序时,FILEIO没有定义,此处不执行,只执行puts()一句。*/ int i; char scanStr[BUFSIZE]; /*输入字符存入scanStr数组中*/ char fileStr[BUFSIZE]; /*存储从文件中读出的内容*/ size_t readSize; /* size_t 是在stdio.h中定义的无符号整型,用来存储输入字符数目*/ FILE fptr; /*FILE是在stdio.h中定义的一结构变量,用来记录控制输入输出流的所有信息,fprt是文件指针*/ #endif /* 向标准输出设备写一字符串*/ puts("hello world!\n"); #ifdef FILEIO /*清除字符型数组*/ for (i = 0; i < BUFSIZE; i++) { scanStr[i] = 0 /* 预置的语法错误(少一个“;”)*/ fileStr[i] = 0; } /* 从输入设备读入一字符串,并存入scanStr数组中 */ scanf("%s", scanStr); /*在主机上打开一文件,然后向文件写入刚才的字符串 */ fptr = fopen("file.txt", "w"); fprintf(fptr, "%s", scanStr); fclose(fptr); /* 在主机打开一文件,然后从中读入字符串 */ fptr = fopen("file.txt", "r"); fseek(fptr, 0L, SEEK_SET); /*SEEK_SET是stdio.h中通过宏定义定义的常量0x0000*/ /*此句如果没有,运行结果不改变,此处为了保证程序的规范(修改方便)*/ readSize = fread(fileStr, sizeof(char), BUFSIZE, fptr); /*获取文件大小,即输入字符数目*/ printf("Read a %d byte char array: %s \n", readSize, fileStr); /*输出“Read a ??(数字) byte char array: ??????(字符串)”*/ fclose(fptr); /*关闭文件*/ #endif

一起学习UMAT 的一些公式注释

一起学习UMAT的一些公式注释 ZHANG chunyu herrliubs comments in formulas 知识积累和储备 在进行ABAQUS子程序UMAT的编写前,要弄清楚:ABAQUS调用UMAT子程序流程;要建立的材料模型的本构关系和屈服准则等;UMAT子程序中相关参数、以及矩阵的表达。 主要求解过程:每一个增量步开始,ABAQUS主程序在单元积分点上调用UMAT 子程序,并转入应变增量、时间步长及荷载增量,同时也传入当前已知的状态的应力、应变及其他求解过程相关的变量;UMAT子程序根据本构方程求解应力增量及其他相关的变量,提供Jacobian矩阵给ABAQUS主程序以形成整体刚度矩阵;主程序结合当前荷载增量求解位移增量,继而进行平衡校核;如果不满足指定的误差,ABAQUS将进行迭代直到收敛,然后进行下一增量步的求解。 弹性力学相关知识(基本) 仿真论坛(https://www.doczj.com/doc/071989158.html,/forum.php ... &highlight=UMAT) ABAQUS二次开发版块这个人帖子结合例子,列出了弹性力学的基本公式。 UMAT变量含义 UMAT中可以得到的量增量步开始时刻的,应力(Stress),应变(Strain), 状态变量(Solution-dependent state variables (SDVs)) 增量步开始时刻的,应变增量(Strain increment),转角增量(Rotation increment),变形梯度(Deformation gradient) 时间总值及增量(Total and incremental values of time),温度(Temperature),用户定义场变量 材料常数,材料点的位置,特征单元长度 当前分析步,增量步 必须定义的变量应力,状态变量,材料Jacobian矩阵(本构关系) 可以定义的变量应变能,塑性耗能,蠕变耗能 新建议的时间增量 变量分类 UMAT中可以直接调用(Call ……)的子程序或子函数 SINV(STRESS,SINV1,SINV2,NDI,NSHR)——用于计算应力不变量。其中:SINV1=第一应力不变量;SINV2=第二应力不变量。 SPRINC(S,PS,LSTR,NDI,NSHR)——用于计算主应力或应变值。其中:S=应力或应变张量;PS(I),I=1,2,3, 主应力或应变值;LSTR=标识,1表示S为应力张量,2表示S为应变张量。 SPRIND(S,PS,AN,LSTR,NDI,NSHR)——用于计算主应力或应变的方向。其中:AN(K1,I),I=1,2,3,表示PS(K1)的法向的方向余弦。 ROTSIG(S,R,SPRIME,LSTR,NDI,NSHR)——用于复原已旋转的张量。其中:R=转角矩阵;SPRIME=已旋转的应力或应变张量。XIT——用于停止分析,并关闭所有与分析相关的文件。 Variables Define STRESS(NTENS)该增量步开始之前的应力向量,在增量步结束之后,必须进行更新。如果指定了初始应力,则该向量在分析开始始将保持初始应力。真实Cauchy 应力。需要定义的变量,在所有分析情况下均适用。

UMAT符号说明

******************************************************************** inp ********************************************************* *MATERIAL, NAME= <用户自定义材料的名称> *USER MATERIAL, CONSTANTS= 8<需输入的变量个数>,(UNSYMN) 30.E6, 0.3, 30.E3, 0., 40.E3, 0.1, 50.E3, 0.5 <依次给出需输入的变量的值> *DEPVAR 13 <定义求解过程中的状态变量(SDVs)需要的存储空间,即状态变量个数,=NSTATV> *INITIAL CONDITIONS, TYPE=SOLUTION <依次给出状态变量的值,也可不写> *USER SUBROUTINES,(INPUT=) ******************************************************************** Fortran程序 ************************************************ SUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD, 1 RPL,DDSDDT,DRPLDE,DRPLDT, 2 STRAN,DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,CMNAME, 3 NDI,NSHR,NTENS,NSTATV,PROPS,NPROPS,COORDS,DROT,PNEWDT, 4 CELENT,DFGRD0,DFGRD1,NOEL,NPT,LAYER,KSPT,KSTEP,KINC) C INCLUDE 'ABA_PARAM.INC' C CHARACTER*80 CMNAME DIMENSION STRESS(NTENS),STATEV(NSTATV), 1 DDSDDE(NTENS,NTENS),DDSDDT(NTENS),DRPLDE(NTENS), 2 STRAN(NTENS),DSTRAN(NTENS),TIME(2),PREDEF(1),DPRED(1), 3 PROPS(NPROPS),COORDS(3),DROT(3,3),DFGRD0(3,3),DFGRD1(3,3) user coding to define DDSDDE, STRESS, STATEV, SSE, SPD, SCD and, if necessary, RPL, DDSDDT, DRPLDE, DRPLDT, PNEWDT RETURN END

程序代码及解释

程序代码及解释 集团企业公司编码:(LL3698-KKI1269-TM2483-LUI12689-ITT289-

程序代码及解释 1、optionexplicit设置显示变量声明 2、Dimswappasobject定义各变量 3、Dimpartasobject 4、Dimsksegmentasobject 5、Dimvsklinesasvariant 6、Dimmyfeatureasobject 7、Dimboolstatusasboolean 8、Dimlongstatusaslong,longwarningsaslong 9、Dimmydisplaydimasobject 10、Privatesubcommand2_click()单击command2按钮时退出程序 11、End 12、Endsub 13、Privatesubcommand1_click()单击command1按钮时执行程序 14、Setswapp=createobject(“sldworks.application”)创建sldworks 对象 15、Swapp.visible=ture设置显示SolidWorks程序界面 16、Setpart=swapp.Newdocument(c;\documentsandsettings\Allusers\a pplicationdata\solidworks2009\templates\零件I) 17、Setpart=swappactivedoc激活文件

18、Boolstatus=partextensionselectbyID2(上视基准面,plane,0,0,0fales,0,nothing,0)选择上视基准面 19、Partsketchmanagerinsertsketchture开始草图绘制 20、Setsksegment=(0#,0#,0#,0.033)绘制半径为33的圆 21、对圆进行单向拉伸,形成头部圆柱体 22、Boolstatus=选择上视基准面 23、true 24、Setsksegment=绘制半径为30的圆 25、对圆进行单向拉伸,形成头部圆柱体 26、“”,”face”选择拉伸2形成的短柱体底面 27、Part.sketchmanager.insertsketchtrue 28、Setsksegment=绘制半径为24的圆 29、Setmyfeature=对圆进行单向拉伸,形成长柱体 30、Boolstatus=“前视基准面”,“plane”,0,0,0,false,0,nothing,0)选择前视基准面 31、Part.sketchmanager,insersketchtrue 32、Setsksegment=绘制中心线 33、 34、 35、...... 36、绘制六条直线,形成旋转切除草图 37、Part.clearselection2true

相关主题
文本预览
相关文档 最新文档