当前位置:首页 » 编程软件 » 图板编译

图板编译

发布时间: 2022-04-16 16:45:58

① 如何用Altium Designer实现原理图到PCB板的转换

1、用Altium Designer打开原理图,通过图示位置的鼠标右键来选择编译

java编译简易画图板代码

import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;
import java.awt.geom.*;
import java.io.*;

class Point implements Serializable
{
int x,y;
Color col;
int tool;
int boarder;

Point(int x, int y, Color col, int tool, int boarder)
{
this.x = x;
this.y = y;
this.col = col;
this.tool = tool;
this.boarder = boarder;
}
}

class paintboard extends Frame implements ActionListener,MouseMotionListener,MouseListener,ItemListener
{
int x = -1, y = -1;
int con = 1;//画笔大小
int Econ = 5;//橡皮大小

int toolFlag = 0;//toolFlag:工具标记
//toolFlag工具对应表:
//(0--画笔);(1--橡皮);(2--清除);
//(3--直线);(4--圆);(5--矩形);

Color c = new Color(0,0,0); //画笔颜色
BasicStroke size = new BasicStroke(con,BasicStroke.CAP_BUTT,BasicStroke.JOIN_BEVEL);//画笔粗细
Point cutflag = new Point(-1, -1, c, 6, con);//截断标志

Vector paintInfo = null;//点信息向量组
int n = 1;

FileInputStream picIn = null;
FileOutputStream picOut = null;

ObjectInputStream VIn = null;
ObjectOutputStream VOut = null;

// *工具面板--画笔,直线,圆,矩形,多边形,橡皮,清除*/
Panel toolPanel;
Button eraser, drLine,drCircle,drRect;
Button clear ,pen;
Choice ColChoice,SizeChoice,EraserChoice;
Button colchooser;
Label 颜色,大小B,大小E;
//保存功能
Button openPic,savePic;
FileDialog openPicture,savePicture;

paintboard(String s)
{
super(s);
addMouseMotionListener(this);
addMouseListener(this);

paintInfo = new Vector();

/*各工具按钮及选择项*/
//颜色选择
ColChoice = new Choice();
ColChoice.add("black");
ColChoice.add("red");
ColChoice.add("blue");
ColChoice.add("green");
ColChoice.addItemListener(this);
//画笔大小选择
SizeChoice = new Choice();
SizeChoice.add("1");
SizeChoice.add("3");
SizeChoice.add("5");
SizeChoice.add("7");
SizeChoice.add("9");
SizeChoice.addItemListener(this);
//橡皮大小选择
EraserChoice = new Choice();
EraserChoice.add("5");
EraserChoice.add("9");
EraserChoice.add("13");
EraserChoice.add("17");
EraserChoice.addItemListener(this);
////////////////////////////////////////////////////
toolPanel = new Panel();

clear = new Button("清除");
eraser = new Button("橡皮");
pen = new Button("画笔");
drLine = new Button("画直线");
drCircle = new Button("画圆形");
drRect = new Button("画矩形");

openPic = new Button("打开图画");
savePic = new Button("保存图画");

colchooser = new Button("显示调色板");

//各组件事件监听
clear.addActionListener(this);
eraser.addActionListener(this);
pen.addActionListener(this);
drLine.addActionListener(this);
drCircle.addActionListener(this);
drRect.addActionListener(this);
openPic.addActionListener(this);
savePic.addActionListener(this);
colchooser.addActionListener(this);

颜色 = new Label("画笔颜色",Label.CENTER);
大小B = new Label("画笔大小",Label.CENTER);
大小E = new Label("橡皮大小",Label.CENTER);
//面板添加组件
toolPanel.add(openPic);
toolPanel.add(savePic);

toolPanel.add(pen);
toolPanel.add(drLine);
toolPanel.add(drCircle);
toolPanel.add(drRect);

toolPanel.add(颜色); toolPanel.add(ColChoice);
toolPanel.add(大小B); toolPanel.add(SizeChoice);
toolPanel.add(colchooser);

toolPanel.add(eraser);
toolPanel.add(大小E); toolPanel.add(EraserChoice);

toolPanel.add(clear);
//工具面板到APPLET面板
add(toolPanel,BorderLayout.NORTH);

setBounds(60,60,900,600); setVisible(true);
validate();
//dialog for save and load

openPicture = new FileDialog(this,"打开图画",FileDialog.LOAD);
openPicture.setVisible(false);
savePicture = new FileDialog(this,"保存图画",FileDialog.SAVE);
savePicture.setVisible(false);

openPicture.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{ openPicture.setVisible(false); }
});

savePicture.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{ savePicture.setVisible(false); }
});

addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{ System.exit(0);}
});

}

public void paint(Graphics g)
{
Graphics2D g2d = (Graphics2D)g;

Point p1,p2;

n = paintInfo.size();

if(toolFlag==2)
g.clearRect(0,0,getSize().width,getSize().height);//清除

for(int i=0; i<n ;i++){
p1 = (Point)paintInfo.elementAt(i);
p2 = (Point)paintInfo.elementAt(i+1);
size = new BasicStroke(p1.boarder,BasicStroke.CAP_BUTT,BasicStroke.JOIN_BEVEL);

g2d.setColor(p1.col);
g2d.setStroke(size);

if(p1.tool==p2.tool)
{
switch(p1.tool)
{
case 0://画笔

Line2D line1 = new Line2D.Double(p1.x, p1.y, p2.x, p2.y);
g2d.draw(line1);
break;

case 1://橡皮
g.clearRect(p1.x, p1.y, p1.boarder, p1.boarder);
break;

case 3://画直线
Line2D line2 = new Line2D.Double(p1.x, p1.y, p2.x, p2.y);
g2d.draw(line2);
break;

case 4://画圆
Ellipse2D ellipse = new Ellipse2D.Double(p1.x, p1.y, Math.abs(p2.x-p1.x) , Math.abs(p2.y-p1.y));
g2d.draw(ellipse);
break;

case 5://画矩形
Rectangle2D rect = new Rectangle2D.Double(p1.x, p1.y, Math.abs(p2.x-p1.x) , Math.abs(p2.y-p1.y));
g2d.draw(rect);
break;

case 6://截断,跳过
i=i+1;
break;

default :
}//end switch
}//end if
}//end for
}

public void itemStateChanged(ItemEvent e)
{
if(e.getSource()==ColChoice)//预选颜色
{
String name = ColChoice.getSelectedItem();

if(name=="black")
{c = new Color(0,0,0); }
else if(name=="red")
{c = new Color(255,0,0);}
else if(name=="green")
{c = new Color(0,255,0);}
else if(name=="blue")
{c = new Color(0,0,255);}
}
else if(e.getSource()==SizeChoice)//画笔大小
{
String selected = SizeChoice.getSelectedItem();

if(selected=="1")
{
con = 1;
size = new BasicStroke(con,BasicStroke.CAP_BUTT,BasicStroke.JOIN_BEVEL);

}
else if(selected=="3")
{
con = 3;
size = new BasicStroke(con,BasicStroke.CAP_BUTT,BasicStroke.JOIN_BEVEL);

}
else if(selected=="5")
{con = 5;
size = new BasicStroke(con,BasicStroke.CAP_BUTT,BasicStroke.JOIN_BEVEL);

}
else if(selected=="7")
{con = 7;
size = new BasicStroke(con,BasicStroke.CAP_BUTT,BasicStroke.JOIN_BEVEL);

}
else if(selected=="9")
{con = 9;
size = new BasicStroke(con,BasicStroke.CAP_BUTT,BasicStroke.JOIN_BEVEL);

}
}
else if(e.getSource()==EraserChoice)//橡皮大小
{
String Esize = EraserChoice.getSelectedItem();

if(Esize=="5")
{ Econ = 5*2; }
else if(Esize=="9")
{ Econ = 9*2; }
else if(Esize=="13")
{ Econ = 13*2; }
else if(Esize=="17")
{ Econ = 17*3; }

}

}

public void mouseDragged(MouseEvent e)
{
Point p1 ;
switch(toolFlag){
case 0://画笔
x = (int)e.getX();
y = (int)e.getY();
p1 = new Point(x, y, c, toolFlag, con);
paintInfo.addElement(p1);
repaint();
break;

case 1://橡皮
x = (int)e.getX();
y = (int)e.getY();
p1 = new Point(x, y, null, toolFlag, Econ);
paintInfo.addElement(p1);
repaint();
break;

default :
}
}

public void mouseMoved(MouseEvent e) {}

public void update(Graphics g)
{
paint(g);
}

public void mousePressed(MouseEvent e)
{
Point p2;
switch(toolFlag){
case 3://直线
x = (int)e.getX();
y = (int)e.getY();
p2 = new Point(x, y, c, toolFlag, con);
paintInfo.addElement(p2);
break;

case 4: //圆
x = (int)e.getX();
y = (int)e.getY();
p2 = new Point(x, y, c, toolFlag, con);
paintInfo.addElement(p2);
break;

case 5: //矩形
x = (int)e.getX();
y = (int)e.getY();
p2 = new Point(x, y, c, toolFlag, con);
paintInfo.addElement(p2);
break;

default :
}
}

public void mouseReleased(MouseEvent e)
{
Point p3;
switch(toolFlag){
case 0://画笔
paintInfo.addElement(cutflag);
break;

case 1: //eraser
paintInfo.addElement(cutflag);
break;

case 3://直线
x = (int)e.getX();
y = (int)e.getY();
p3 = new Point(x, y, c, toolFlag, con);
paintInfo.addElement(p3);
paintInfo.addElement(cutflag);
repaint();
break;

case 4: //圆
x = (int)e.getX();
y = (int)e.getY();
p3 = new Point(x, y, c, toolFlag, con);
paintInfo.addElement(p3);
paintInfo.addElement(cutflag);
repaint();
break;

case 5: //矩形
x = (int)e.getX();
y = (int)e.getY();
p3 = new Point(x, y, c, toolFlag, con);
paintInfo.addElement(p3);
paintInfo.addElement(cutflag);
repaint();
break;

default:
}
}

public void mouseEntered(MouseEvent e){}

public void mouseExited(MouseEvent e){}

public void mouseClicked(MouseEvent e){}

public void actionPerformed(ActionEvent e)
{

if(e.getSource()==pen)//画笔
{toolFlag = 0;}

if(e.getSource()==eraser)//橡皮
{toolFlag = 1;}

if(e.getSource()==clear)//清除
{
toolFlag = 2;
paintInfo.removeAllElements();
repaint();
}

if(e.getSource()==drLine)//画线
{toolFlag = 3;}

if(e.getSource()==drCircle)//画圆
{toolFlag = 4;}

if(e.getSource()==drRect)//画矩形
{toolFlag = 5;}

if(e.getSource()==colchooser)//调色板
{
Color newColor = JColorChooser.showDialog(this,"调色板",c);
c = newColor;
}

if(e.getSource()==openPic)//打开图画
{

openPicture.setVisible(true);

if(openPicture.getFile()!=null)
{
int tempflag;
tempflag = toolFlag;
toolFlag = 2 ;
repaint();

try{
paintInfo.removeAllElements();
File filein = new File(openPicture.getDirectory(),openPicture.getFile());
picIn = new FileInputStream(filein);
VIn = new ObjectInputStream(picIn);
paintInfo = (Vector)VIn.readObject();
VIn.close();
repaint();
toolFlag = tempflag;

}

catch(ClassNotFoundException IOe2)
{
repaint();
toolFlag = tempflag;
System.out.println("can not read object");
}
catch(IOException IOe)
{
repaint();
toolFlag = tempflag;
System.out.println("can not read file");
}
}

}

if(e.getSource()==savePic)//保存图画
{
savePicture.setVisible(true);
try{
File fileout = new File(savePicture.getDirectory(),savePicture.getFile());
picOut = new FileOutputStream(fileout);
VOut = new ObjectOutputStream(picOut);
VOut.writeObject(paintInfo);
VOut.close();
}
catch(IOException IOe)
{
System.out.println("can not write object");
}

}
}
}//end paintboard

public class pb
{
public static void main(String args[])
{ new paintboard("画图程序"); }
}

③ Keil 、Protel(Altium Designer)、Proteus、Multisium这几款软件什么关系

Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。

PROTEL是PORTEL公司在80年代末推出的EDA软件,在电子行业的CAD软件中,它当之无愧地排在众多EDA软件的前面,是电子设计者的首选软件,它较早就在国内开始使用,在国内的普及率也最高,有些高校的电子专业还专门开设了课程来学习它,几乎所有的电子公司都要用到它,许多大公司在招聘电子设计人才时在其条件栏上常会写着要求会使用PROTEL。

Proteus软件是英国Labcenter electronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上着名的EDA工具 (仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB 设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、 AVR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持 IAR、Keil和MPLAB等多种编译器。

Multisim是美国国家仪器(NI)有限公司推出的以Windows为基础的仿真工具,适用于板级的模拟/数字电路板的设计工作。它包含了电路原理图的图形输入、电路硬件描述语言输入方式,具有丰富的仿真分析能力。

④ 计算机辅助技术的发展历程

CAD/CAM/CAE技术的发展与计算机图形学的发展密切相关,并伴随着计算机及其外围设备的发展而发展。计算机图形学中有关图形处理的理论和方法构成了CAD/CAM/CAE技术的重要基础。综观CAD/CAM/CAE技术的发展历程,主要经历了以下主要发展阶段。
20世纪50年代,计算机主要用于科学计算,使用机器语言编程,图形设备仅具有输出功能。美国麻省理工学院(MIT)在其研制的旋风I号计算机上采用了阴极射线管(CRT)作为图形终端,并能被动显示图形。其后出现了光笔,开始了交互式计算机图形学的研究,也为CAD/CAM技术的出现和发展铺平了道路。1952年MIT首次试制成功了数控铣床,通过数控程序对零件进行加工,随后MIT研制开发了自动编程语言(APT),通过描述走刀轨迹的方法来实现计算机辅助编程,标志着CAM技术的开端。1956年首次尝试将现代有限单元法用于分析飞机结构。50年代末,出现了平板式绘图仪和滚筒式绘图仪,开始了计算机绘图的历史。此间CAD技术处于酝酿、准备阶段。
20世纪60年代,这是交互式计算机图形学发展的最重要时期。1963年MIT学者I.E.Sutherland发表了题为“人机对话图形通讯系统”的博士论文,首次提出了计算机图形学等术语。由他推出的二维SKETCHPAD系统,允许设计者操作光笔和键盘,在图形显示器上进行图形的选择、定位等交互作业,对符号和图形的存储采用分层的数据结构。这项研究为交互式计算机图形学及CAD技术奠定了基础,也标志着CAD技术的诞生。此后,出现了交互式图形显示器、鼠标器和磁盘等硬件设备及文件系统和高级语言等软件。并陆续出现了许多商品化的CAD系统和设备。例如,1964年美国通用汽车公司研制了用于汽车设计DAC-1系统,1965年美国洛克希德飞机公司开发了CADAM系统,贝尔电话公司也推出了GRAPHIC-1系统等。此间CAD技术的应用以二维绘图为主。在制造领域中,1962年研制成功了世界上第一台机器人,实现物料搬运自动化,1965年产生了计算机数控机床CNC系统,1966年以后出现了采用通用计算机直接控制多台数控机床DNC系统以及英国莫林公司研制的由计算机集中控制的自动化制造系统。20世纪60年代末,挪威开始了CAPP技术的研究,并于1969年正式推出第一个CAPP系统AutoPros。
20世纪70年代,计算机图形学理论及计算机绘图技术日趋成熟,并得到了广泛应用。这期间,硬件的性能价格比不断提高;图形输入板、大容量的磁盘存储器等相应出现;数据库管理系统等软件得以应用;以小型、超小型计算机为主机的CAD/CAM系统进入市场并形成主流,这些系统的特点是硬件和软件配套齐全、价格便宜、使用方便,形成所谓的交钥匙系统(Turnkey System)。同时,三维几何建模软件也相继发展起来,出现了一些面向中小企业的CAD/CAM商品化系统,法国达索公司率先开发出以表面模型为特点的三维曲面建模系统CATIA。20世纪70年代中期开始创立CAPP系统的研究与开发。1976年由CAM-I公司开发了CAPP系统——CAM-I Automated Process Planning。在制造方面,美国辛辛那提公司研制出了一条柔性制造系统(FMS),将CAD/CAM技术推向了新的阶段。这一时期各种计算机辅助技术的功能模块已基本形成,但数据结构尚不统一,集成性差,应用主要集中在二维绘图、三维线框建模及有限元分析方面。
20世纪80年代,CAD/CAM技术及其应用系统得到迅速发展。这期间,出现了微型计算机和32位字长工作站,同时,计算机硬件成本大辐下降,计算机外围设备(彩色高分辨率图形显示器、大型数字化仪、自动绘图机、彩色打印机等)已逐渐形成系列产品,网络技术也得到应用;CAD与CAM相结合,形成了CAD/CAM集成技术,导致了新理论、新算法的大量涌现。在软件方面,不仅实现了工程和产品的设计计算和绘图,而且还实现了工程造型、自由曲面设计、机构分析与仿真等工程应用,特别是实体建模、特征建模、参数化设计等理论的发展和应用,推动CAD技术由表面模型到实体建模,再到参数化建模发展,并出现了许多成熟的CAD软件。在此期间,为满足数据交换要求,相继推出了有关标准(如CGI、GKS、IGES及STEP等)。20世纪80年代后期,人们认识到计算机集成制造(CIM)的重要性,开始强调信息集成,出现了CIMS,将CAD/CAM技术推向了更高的层次。
20世纪90年代以来,CAD/CAM/CAE技术更加强调信息集成和资源共享,出现了产品数据管理技术,CAD建模技术日益完善,出现了许多成熟的CAD/CAE/CAM集成化的商业软件,如采用变量化技术的I-DEAS、应用复合建模技术的UG等。随着世界市场的多变与激烈竞争,随着各种先进设计理论和先进制造模式的发展,随着高档微机、操作系统和编程软件的发展,随着网络技术的迅速发展,CAD/CAM/CAE技术正在经历着前所未有的发展机遇与挑战,正在向集成化、网络化、智能化和标准化方向发展。 一个完善的CAD/CAM/CAE系统应具有如下功能:快速数字计算及图形处理功能、几何建模功能、处理数控加工信息的功能、大量数据和知识的存储及快速检索与操作功能、人机交互通信功能、输入和输出信息及图形功能、工程分析功能等。为实现这些功能,CAD/CAM/CAE系统的运行环境由硬件、软件和人三大部分所构成。
硬件主要包括计算机及其外围设备等具有有形物质的设备,广义上讲硬件还包括用于数控加工的机械设备和机床等。硬件是CAD/CAM/CAE系统运行的基础,硬件的每一次技术突破都带来CAD/CAM/CAE技术革命性的变化。软件是CAD/CAM/CAE系统的核心,包括系统软件、各种支撑软件和应用软件等。硬件提供了CAD/CAM/CAE系统潜在的能力,而系统功能的实现是由系统中的软件运行来完成。随着CAD/CAM/CAE系统功能的不断完善和提高,软件成本在整个系统中所占的比重越来越大,目前一些高端软件的价格已经远远高于系统硬件的价格。
任何功能强大的计算机硬件和软件均只是辅助设计工具,而如何充分发挥系统的功能,则主要是取决于用户的素质,CAD/CAM/CAE系统的运行离不开人的创造性思维活动,不言而喻,人在系统中起着关键的作用。在21世纪初,CAD/CAM/CAE系统基本都采用人机交互的工作方式,这种方式要求人与计算机密切合作,发挥各自所长:计算机在信息的存储与检索、分析与计算、图形与文字处理等方面具有特有的功能;人则在创造性思维、综合分析、经验判断等方面占有主导地位。 CAD/CAM系统的硬件主要由计算机主机、外存储器、输入设备、输出设备、网络设备和自动化生产装备等组成。有专门的输入及输出设备来处理图形的交互输入与输出问题,是CAD/CAM/CAE系统与一般计算机系统的明显区别。
(1)计算机主机
主机是CAD/CAM/CAE系统的硬件核心,主要由中央处理器(CPU)及内存储器(也称内存)组成。CPU包括控制器和运算器,控制器按照从内存中取出的指令指挥和协调整个计算机的工作,运算器负责执行程序指令所要求的数值计算和逻辑运算。CPU的性能决定着计算机的数据处理能力、运算精度和速度。内存储器是CPU可以直接访问的存储单元,用来存放常驻的控制程序、用户指令、数据及运算结果。衡量主机性能的指标主要有两项:CPU性能和内存容量。按照主机性能等级的不同,可将计算机分为大中型机、小型机、工作站和微型机等不同档次。
(2)外存储器
外存储器简称外存,用来存放暂时不用或等待调用的程序、数据等信息。当使用这些信息时,由操作系统根据命令调入内存。外存储器的特点是容量大,经常达到数百MB、数十GB或更多,但存取速度慢。常见的有磁带、磁盘(软盘、硬盘)和光盘等。随着存储技术的发展,移动硬盘、U盘等移动存储设备成为外存储器的重要组成部分。
(3)输入设备
输入设备是指通过人机交互作用将各种外部数据转换成计算机能识别的电子脉冲信号的装置,主要分为键盘输入类(如:键盘)、指点输入类(如:鼠标)、图形输入类(如:数字化仪)、图像输入类(如:扫描仪、数码相机)、语音输入类等。
(4)输出设备
将计算机处理后的数据转换成用户所需的形式,实现这一功能的装置称为输出设备。输出设备能将计算机运行的中间或最终结果、过程,通过文字、图形、影像、语音等形式表现出来,实现与外界的直接交流与沟通。常用的输出设备包括显示输出(如:图形显示器)、打印输出(如:打印机)、绘图输出(如:自动绘图仪)及影像输出、语音输出等。
(5)网络互联设备
包括网络适配器(也称网卡)、中继器、集线器、网桥、路由器、网关及调制解调器等装置,通过传输介质联接到网络上以实现资源共享。网络的连接方式即拓扑结构可分为星状结构、环状结构、树状结构、网状结构、等结构。先进的CAD/CAM系统都是以网络的形式出现的。 为了充分发挥计算机硬件的作用,CAD/CAM/CAE系统必须配备功能齐全的软件,软件配置的档次和水平是决定系统功能、工作效率及使用方便程度的关键因素。计算机软件是指控制CAD/CAM/CAE系统运行、并使计算机发挥最大功效的计算机程序、数据以及各种相关文档。程序是对数据进行处理并指挥计算机硬件工作的指令集合,是软件的主要内容。文档是指关于程序处理结果、数据库、使用说明书等,文档是程序设计的依据,其设计和编制水平在很大程度上决定了软件的质量,只有具备了合格、齐全的文档,软件才能商品化。
根据执行任务和处理对象的不同,CAD/CAM/CAE系统的软件可分系统软件、支撑软件和应用软件三个不同层次。系统软件与计算机硬件直接关联,起着扩充计算机的功能和合理调度与运用计算机硬件资源的作用。支撑软件运行在系统软件之上,是各种应用软件的工具和基础,包括实现CAD/CAM/CAE各种功能的通用性应用基础软件。应用软件是在系统软件及支撑软件的支持下,实现某个应用领域内的特定任务的专用软件。
(1)系统软件
系统软件是用户与计算机硬件连接的纽带,是使用、控制、管理计算机的运行程序的集合。系统软件通常由计算机制造商或软件公司开发。系统软件有两个显着的特点:一是通用性,不同应用领域的用户都需要使用系统软件;二是基础性,即支撑软件和应用软件都需要在系统软件的支持下运行。系统软件首先是为用户使用计算机提供一个清晰、简洁、易于使用的友好界面;其次是尽可能使计算机系统中的各种资源得到充分而合理的应用。系统软件主要包括三大部分:操作系统、编程语言系统和网络通信及其管理软件。
操作系统是系统软件的核心,是CAD/CAM/CAE系统的灵魂,它控制和指挥计算机的软件资源和硬件资源。其主要功能是硬件资源管理、任务队列管理、硬件驱动程序、定时分时系统、基本数学计算、日常事务管理、错误诊断与纠正、用户界面管理和作业管理等。操作系统依赖于计算机系统的硬件,用户通过操作系统使用计算机,任何程序需经过操作系统分配必要的资源后才能执行。21世纪流行的操作系统有Windows、UNIX、Linux。
编程语言系统主要完成源程序编辑、库函数及管理、语法检查、代码编译、程序连接与执行。按照程序设计方法的不同,可分为结构化编程语言和面向对象的编程语言;按照编程时对计算机硬件依赖程度的不同,可分为低级语言和高级语言。21世纪广泛使用面向对象的编程语言,如Visual C++、Visual Basic、Java等。
网络通信及其管理软件主要包括网络协议、网络资源管理、网络任务管理、网络安全管理、通信浏览工具等内容。国际标准的网络协议方案为“开放系统互连参考模型”(OSI),它分为七层:应用层、表示层、会话层、传输层、网络层、数据链路层和物理层。CAD/CAM/CAE系统中流行的主要网络协议包括TCP/IP协议、MAP协议、TOP协议等。
(2)支撑软件
支撑软件是CAD/CAM软件系统的重要组成部分,一般由商业化的软件公司开发。支撑软件是满足共性需要的CAD/CAM/CAE通用性软件,属知识密集型产品,这类软件不针对具体的应用对象,而是为某一应用领域的用户提供工具或开发环境。支撑软件一般具有较好的数据交换性能、软件集成性能和二次开发性能。根据支撑软件的功能可分为功能单一型和功能集成型软件。功能单一型支撑软件只提供CAD/CAM/CAE系统中某些典型过程的功能,如交互式绘图软件、三维几何建模软件、工程计算与分析软件、数控编程软件、数据库管理系统等。功能集成型支撑软件提供了设计、分析、造型、数控编程以及加工控制等综合功能模块。
1)交互式绘图软件
这类软件主要以交互方法完成二维工程图样的生成和绘制,具有图形的编辑、变换、存储、显示控制、尺寸标注等功能;具有尺寸驱动参数化绘图功能;有较完备的机械标准件参数化图库等。这类软件绘图功能很强、操作方便、价格便宜。在微机上采用的典型产品是AutoCAD以及国内自主开发的CAXA电子图板、PICAD、高华CAD等。
2)三维几何建模软件
这类软件主要解决零部件的结构设计问题,为用户提供完整准确地描述和显示三维几何形状的方法和工具,具有消隐、着色、浓淡处理、实体参数计算、质量特性计算、参数化特征造型及装配和干涉检验等功能,具有简单曲面造型功能,价格适中,易于学习掌握。这类软件在国内的应用主要以MDT、SolidWorks和SolidEdge为主。
3)工程计算与分析软件
这类软件的功能主要包括基本物理量计算、基本力学参数计算、产品装配、公差分析、有限元分析、优化算法、机构运动学分析、动力学分析及仿真与模拟等,有限元分析是核心工具。ADAMS。
4)数控编程软件
这类软件一般具有刀具定义、工艺参数的设定、刀具轨迹的自动生成、后置处理及切削加工模拟等功能。应用较多的有MasterCAM、SurfCAM及CAXA制造工程师等。
5)数据库管理系统
工程数据库是CAD/CAM/CAE集成系统的重要组成部分,工程数据库管理系统能够有效地存储、管理和使用工程数据,支持各子系统间的数据传递与共享。工程数据库管理系统的开发可在通用数据库管理系统基础上,根据工程特点进行修改或补充。21世纪比较流行的数据库管理系统有ORACLE、SYBASE、FOXPRO、FOXBASE等。
(3)功能集成型软件
1)Pro/Engineer
2)UG
3)I-DEAS
4)CATIA

⑤ 电子图版二次开发中块消隐函数是什么,如何使自己定义的块实现块消隐

\ 表示强制换行,而换行后的内容与前一行的内容编译器仍把它看作是同一行.

#define后面定义的内容比须在同一行,而有时是为了让程序便于阅读,从中间进行换行,如果没有符号'\',则我们的换行表示 #define的结束,这也是为什么你去掉后会报错的原因.如果在这里加了'\',也可以说是对"回车"的转义,表示这里有一个回车字符而已,#define并没有结束.而程序编译的时候,编译器会忽略掉这些'\回车'的字符.

讲得不好,表达能力不强呵呵,但仍希望你能了解.如果你会用LINUX系统的话,你用命令行中输入 ls \回车 ,系统也不会执行ls这个命令.它会认为你命令仍没有输完,会继续等待用户的输入.

⑥ Altium 原理图编译问题好心人帮我解答啊 困扰我好几天了

原理图网络有重复命名,我猜你的原理图可能是从其他地方复制过来的,可以这么处理:Net identifier Scope 改为 Global。 Project-Project Option

⑦ 为什么几何画板上的图像在latex上不能完全显示

LaTeX和其他程序软件一样每写一样代码都是需要调用函数的。对于LaTeX中的图像插入问题则需要调用
\begin{figure}[htbp]
\centering
\includegraphics[width=0.35\textwidth]{handwrite.jpg}
\caption{Handwrite}\label{fig:digit}
\end{figure}
注:需要宏包 \usepackage{graphicx}。LaTeX对于图片插入的图片格式是有要求的,否则要么程序运行不出来要么图片显示不完全。一般说来图片格式都是用eps格式的。

另外还可以用下面的软件来插入其他格式图片:Adobe Illustrator, Adobe Acrobat

①生成原始图片
首先你要得到要查入的图片,格式不论,可以是bmp、jpg、png、wmf等等。
建议:如果是栅格图像,使用bmp或jpg格式;如果是矢量图形,使用wmf格式。
总之只要是Illustrator能读的都可以(Illustrator是专业的图形处理软件,大部分格式都可以的)。

②生成pdf格式的图片
然后用Illstrator把图片转换成pdf格式。
方法是:先打开你的原始图片,复制;再打开Illustrator建一张空白的图(大小都可以),把原始图粘贴进来;之后选择Illstrator的菜单【文件】-【文件信息】,把【图板】(就是图纸)改成和你的图大小一样;最后另存为pdf文件就可以了。
说明:在修改【图板】时,如果是原始图片栅格的,那就把【图板】改成和图片尺寸一样;如果原始图片是矢量的,那只要保持图片的长宽比不变,可以把图片缩放到跟图板一样大小。

③在LaTeX中使用pdf图片
我就不详细说了,给个最简单的例子,各位看看:
\usepackage[pdftex]{graphicx}
\begin{document}
\includegraphics[width=0.8\linewidth]{filename}
\end{document}
之后用pdfLaTeX生成pdf文件即可,注意是pdfLaTeX,不是LaTeX。

几点说明:
①最后的tex文件要用pdfLaTeX编译,不能用LaTeX。
②如果是使用SWP,图片文件要放在SWP的temp目录下,如c:\swp50\temp。

⑧ 加工中心一般用什么绘图软件进行编绘

加工中心一般用UG(UnigraphicsNX)、PowerMill、Cimatron、Mastercam等编程绘图软件进行编绘。

因为编译是加工中心运行的第一步,也是支持所有加工程序的前提,所以就加工中心可用的编译软件而言,如今数控技术的开发已经非常完善。

其中,UG(UnigraphicsNX)是一种交互式CAD/CAM(计算机辅助设计和计算机辅助制造)系统,该系统功能强大,可以轻松实现各种复杂实体和模型的构建。随着PC技术的发展,已逐渐成为模具行业三维设计的主流应用软件,它也广泛用于加工中心的编程操作。

(8)图板编译扩展阅读:

除了上述各种编译软件之外,还有许多人熟悉CXCA电子绘图板。CAXA电子绘图板是在中国具有自主知识产权的二维CAD软件。其界面和操作习惯与AutoCAD完全一致。它可以直接直接快速打开,编辑和存储各种版本的DWG文档,并实现DWG图纸的双向和批量转换。

CAXA支持中国机械设计的国家标准和使用习惯。通过专业工程图,工程标签,标准件库,国家标准模板,摘要和打印图的功能,产品开发和改型设计得以快速完成,同时,中文安装和操作系统更方便国内用户使用。

⑨ AD10原理图生成pcb版图时如何编译部分原理图

我的印象中是画一个边框,但是用什么线画我忘了。还有AD10好多版本安装上(w7)都是有问题的。

热点内容
易语言连接access数据库 发布:2025-03-18 03:12:48 浏览:658
苗木源码 发布:2025-03-18 03:12:38 浏览:745
oracle卸载数据库 发布:2025-03-18 03:05:15 浏览:44
编译时生成固件怎么办 发布:2025-03-18 03:04:30 浏览:704
c语言breakcontinue 发布:2025-03-18 02:52:41 浏览:162
服务器云主机改成云电脑 发布:2025-03-18 02:46:11 浏览:423
php环境的搭建 发布:2025-03-18 02:44:47 浏览:491
java实现文件上传到ftp 发布:2025-03-18 02:43:25 浏览:402
编程出游戏 发布:2025-03-18 02:43:15 浏览:179
使用公网ip搭建服务器 发布:2025-03-18 02:34:23 浏览:215