當前位置:首頁 » 編程軟體 » 圖板編譯

圖板編譯

發布時間: 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)都是有問題的。

熱點內容
我的世界伺服器崩了重啟 發布:2025-05-14 16:09:37 瀏覽:44
android深拷貝 發布:2025-05-14 16:09:35 瀏覽:153
cf電腦版轉伺服器神器還在嗎 發布:2025-05-14 16:09:02 瀏覽:211
百度文庫伺服器如何搭建 發布:2025-05-14 16:09:00 瀏覽:248
安卓微信刪除的好友怎麼找回 發布:2025-05-14 16:08:56 瀏覽:706
iphone的訪問限制密碼忘記了怎麼辦 發布:2025-05-14 16:08:56 瀏覽:184
php對象轉換成數組 發布:2025-05-14 16:07:55 瀏覽:27
java服務端緩存 發布:2025-05-14 15:53:37 瀏覽:105
php判斷postget 發布:2025-05-14 15:34:24 瀏覽:357
linux查看電腦配置 發布:2025-05-14 15:32:07 瀏覽:317