導航:首頁 > 文件教程 > vc讀取dxf文件

vc讀取dxf文件

發布時間:2022-12-29 00:12:11

㈠ 小白,怎麼用VC讀取CAD的dwg文件中的數據

解析SWG文件步驟
第一,要能讀取存儲器,SD卡,或者U盤,SD卡實現比較簡單。解決這個問題就是讓單片機有SD卡介面(SDIO或者SPI),然後實現文件系統,能夠讀取SD卡裡面的文件
第二,你要會解析DWG的文件,這個需要去看資料,了解DWG的文件數據結構,才能讀取你想要的讀取的數據

解析BMP裡面的線條:
第一步同上。
第二步要讀取BMP裡面的信息,讀取裡面的像素值
第三步,把像素值變成線條,這個可以通過OpenCV裡面的部分函數實現

我建議:
這些文件在PC上處理,然後提取其中單片機能直接使用的信息或數據。因為上面的每一步,都需要很大的計算量和內存空間,不是一個小單片機就能承受的

㈡ 高分求助!VC讀取dwg文件遇到了問題T_T

OpenDwg確實有些老了,主要這個是第三方提供的,在新版本上不兼容。
AutoDesk自己有一套ActiveX控制項支持DWG的讀取,採用的是OLE技術,需要本機安裝AUTOCAD

㈢ VC讀取dxf文件生成NC代碼

http://www.amobbs.com/thread-4728703-1-1.html
http://wenku..com/link?url=VLTUGjTj0TEywfefh9RJ5hM1iVti_jonu4PkIUl-oYJd2bDgRp6dGglT__BZfUN_oXacLeYy
http://www.doc88.com/p-18560415027.html
http://wenku..com/link?url=E_bJP_tNjO7bMZA-_-eDHILyztEcYDqL-_3i2B0C
http://..com/link?url=5jTXmx_e0SXT2pe7JufrScWgMd8WsG08i-
http://vdafs-to-dxf-and-nc-converter-and-viewer.soft112.com/

自己再搜索,有現成的免費軟體可以用就用,低價可承受的收費軟體就買,沒有就看是否有人贈與程序和或源代碼

再不成就自己了解文件格式,自己用代碼讀,解析轉換,生成另一種文件格式

㈣ c#讀取dxf文件

1、使用FileStream讀寫文件

文件頭:

using System;
using System.Collections.Generic;
using System.Text;
using System.IO;

讀文件核心代碼:

byte[] byData = new byte[100];
char[] charData = new char[1000];

try
{
FileStream sFile = new FileStream("文件路徑",FileMode.Open);
sFile.Seek(55, SeekOrigin.Begin);
sFile.Read(byData, 0, 100); //第一個參數是被傳進來的位元組數組,用以接受FileStream對象中的數據,第2個參數是位元組數組中開始寫入數據的位置,它通常是0,表示從數組的開端文件中向數組寫數據,最後一個參數規定從文件讀多少字元.
}
catch (IOException e)
{
Console.WriteLine("An IO exception has been thrown!");
Console.WriteLine(e.ToString());
Console.ReadLine();
return;
}
Decoder d = Encoding.UTF8.GetDecoder();
d.GetChars(byData, 0, byData.Length, charData, 0);
Console.WriteLine(charData);
Console.ReadLine();

寫文件核心代碼:

FileStream fs = new FileStream(文件路徑,FileMode.Create);
//獲得位元組數組
byte [] data =new UTF8Encoding().GetBytes(String);
//開始寫入
fs.Write(data,0,data.Length);
//清空緩沖區、關閉流
fs.Flush();
fs.Close();

2、使用StreamReader和StreamWriter

文件頭:

using System;
using System.Collections.Generic;
using System.Text;
using System.IO;

StreamReader讀取文件:

StreamReader objReader = new StreamReader(文件路徑);
string sLine="";
ArrayList LineList = new ArrayList();
while (sLine != null)
{
sLine = objReader.ReadLine();
if (sLine != null&&!sLine.Equals(""))
LineList.Add(sLine);
}
objReader.Close();
return LineList;

StreamWriter寫文件:

FileStream fs = new FileStream(文件路徑, FileMode.Create);
StreamWriter sw = new StreamWriter(fs);
//開始寫入
sw.Write(String);
//清空緩沖區
sw.Flush();
//關閉流
sw.Close();
fs.Close();

===================================================================================

方式一:用FileStream
//實例化一個保存文件對話框
SaveFileDialog sf = new SaveFileDialog();
//設置文件保存類型
sf.Filter = "txt文件|*.txt|所有文件|*.*";
//如果用戶沒有輸入擴展名,自動追加後綴
sf.AddExtension = true;
//設置標題
sf.Title = "寫文件";
//如果用戶點擊了保存按鈕
if(sf.ShowDialog()==DialogResult.OK)
{
//實例化一個文件流--->與寫入文件相關聯
FileStream fs = new FileStream(sf.FileName,FileMode.Create);
//獲得位元組數組
byte [] data =new UTF8Encoding().GetBytes(this.textBox1.Text);
//開始寫入
fs.Write(data,0,data.Length);
//清空緩沖區、關閉流
fs.Flush();
fs.Close();
}
方式二:用StreamWriter
//實例化一個保存文件對話框
SaveFileDialog sf = new SaveFileDialog();
//設置文件保存類型
sf.Filter = "txt文件|*.txt|所有文件|*.*";
//如果用戶沒有輸入擴展名,自動追加後綴
sf.AddExtension = true;
//設置標題
sf.Title = "寫文件";
//如果用戶點擊了保存按鈕
if (sf.ShowDialog() == DialogResult.OK)
{
//實例化一個文件流--->與寫入文件相關聯
FileStream fs = new FileStream(sf.FileName, FileMode.Create);
//實例化一個StreamWriter-->與fs相關聯
StreamWriter sw = new StreamWriter(fs);
//開始寫入
sw.Write(this.textBox1.Text);
//清空緩沖區
sw.Flush();
//關閉流
sw.Close();
fs.Close();
}
string FileName = Guid.NewGuid().ToString() + ".txt"; //GUID生成唯一文件名
StringBuilder ckpw = new StringBuilder("\"憑證輸出\", \"V800\", \"001\", \"東風隨州專用汽車有限公司\"," + "\"F89自由項16\", \"F90審核日期:\"");
if (!FileIO.IsFolderExists(Server.MapPath("pzsc")))
FileIO.CreaterFolder(Server.MapPath(""), "file://pzsc/");
string filePath = Server.MapPath("pzsc") + "\\" + FileName;
System.IO.StreamWriter sw = new System.IO.StreamWriter(filePath, false, Encoding.GetEncoding("GB2312"));//創建的時候需要指定編碼格式,默認是UTF-8,中文顯示亂碼
sw.WriteLine(ckpw.ToString());
sw.Close();
方式三:用BinaryWriter
//實例化一個保存文件對話框
SaveFileDialog sf = new SaveFileDialog();
//設置文件保存類型
sf.Filter = "txt文件|*.txt|所有文件|*.*";
//如果用戶沒有輸入擴展名,自動追加後綴
sf.AddExtension = true;
//設置標題
sf.Title = "寫文件";
//如果用戶點擊了保存按鈕
if (sf.ShowDialog() == DialogResult.OK)
{
//實例化一個文件流--->與寫入文件相關聯
FileStream fs = new FileStream(sf.FileName, FileMode.Create);
//實例化BinaryWriter
BinaryWriter bw = new BinaryWriter(fs);
bw.Write(this.textBox1.Text);
//清空緩沖區
bw.Flush();
//關閉流
bw.Close();
fs.Close();
}
C#緩存流示例------>用緩存流復制文件
C#文件處理操作必須先導入命名空間:using System.IO;
背景:使用VS2005、一個按鈕、一個窗體、C#緩存流、把D:\KuGoo\愛得太多.wma復制到D:\並更名為love.wma,即:D:\love.wma
在按鈕的Click事件中添加如下代碼:
private void button1_Click(object sender, EventArgs e)
{
//創建兩個文件流 一個是源文件相關,另一個是要寫入的文件
FileStream fs = new FileStream(@"D:\KuGoo\愛得太多.wma",FileMode.Open);
FileStream fs2 = new FileStream(@"D:\love.wma",FileMode.Create);
//創建一個位元組數組,作為兩者之間的媒介
//好比兩個人拿蘋果,這個位元組數組就好比一個籃子,一個人作死的把蘋果送到籃子裡面,
//而我就可以作死得拿蘋果,通過這個媒介我們互不幹擾,
//不需要互相等待【她往籃子裡面放了蘋果我才可以去拿】,提高了效率
byte[] data = new byte[1024];
//創建兩個緩沖流,與兩個文件流相關聯
BufferedStream bs = new BufferedStream(fs);
BufferedStream bs2= new BufferedStream(fs2);
//fs作死的讀,fs2作死的寫,直到fs沒有位元組可讀fs2就不寫了
//好比,一個人作死的往籃子裡面丟蘋果,另一個人作死得往籃子裡面拿蘋果,直到籃子裡面沒有蘋果拿了為止
//即-->那個人沒有蘋果往籃子裡面放了
while(fs.Read(data,0,data.Length)>0)
{
fs2.Write(data,0,data.Length);
fs2.Flush();
}
//關閉流,好比兩個人累了,都要休息 呵呵o(∩_∩)o...
fs.Close();
fs2.Close();
}

C#內存流示例----->用內存流來讀取圖片
C#文件處理操作必須先導入命名空間:using System.IO;
背景:一個窗體、一個pictureBox、一個lable[沒有選擇圖片,lable的text為"圖片未選擇"],在pictureBox1的Click事件中添加如下代碼:
private void pictureBox1_Click(object sender, EventArgs e)
{
//實例化一個打開文件對話框
OpenFileDialog op = new OpenFileDialog();
//設置文件的類型
op.Filter = "JPG圖片|*.jpg|GIF圖片|*.gif";
//如果用戶點擊了打開按鈕、選擇了正確的圖片路徑則進行如下操作:
if(op.ShowDialog()==DialogResult.OK)
{
//清空文本
this.label1.Text = "";
//實例化一個文件流
FileStream fs = new FileStream(op.FileName, FileMode.Open);
//把文件讀取到位元組數組
byte[] data = new byte[fs.Length];
fs.Read(data, 0, data.Length);
fs.Close();
//實例化一個內存流--->把從文件流中讀取的內容[位元組數組]放到內存流中去
MemoryStream ms = new MemoryStream(data);
//設置圖片框 pictureBox1中的圖片
this.pictureBox1.Image = Image.FromStream(ms);
}
}

㈤ dxf文件讀取

dxf是AutoCAD ® DXFTM (Drawing eXchange Format) 向量抄圖型文件。
JPEG 是 JPEG 工作組的 圖像 文件 格式。
Opengl 可以讀取 SGI 圖像文件 和 BMP 圖像文件,不直接支持 dxf和JPEG。
你需要自己寫程序。

dxf文件是 ASCII, 可識別,例如 讀 Arc (弧)和弧線參數,然後你用Opengl畫弧線,讀 Spline (樣條曲線),和樣條曲線參數,然後你用Opengl畫曲線,讀 3DLine,然後你用Opengl畫三維線,。。。。

工作量很大。不如買現成軟體。

㈥ 用VC讀取DXF文件,用了DxfReader的部分代碼,結果出問題了,求解釋啊

第二個已經很明顯了,是CString出錯的,介意不用用CString,直接用一個動態數組,CString用不好好容易出奇怪的錯誤

㈦ 如何利用vb讀取一個dxf格式的圖形文件的數據

這方面成熟程序已有VB6代碼,解析 重新繪制到窗體PIC控制項,G代碼生成

閱讀全文

與vc讀取dxf文件相關的資料

熱點內容
access資料庫最新內容怎麼調 瀏覽:203
上古世紀新版本跑商 瀏覽:267
iphone5國際漫遊設置 瀏覽:107
ipodwatch如何安裝app 瀏覽:114
誰有微信搶紅包的群號 瀏覽:872
word07頁碼從任意頁開始 瀏覽:791
js禁止滑動事件 瀏覽:800
蘋果查序號怎麼看不是 瀏覽:61
linux在txt文件 瀏覽:568
ps如何導入文件匹配 瀏覽:201
轉轉app怎麼把自己的賬號租出去 瀏覽:828
福昕閱讀器合並照片pdf文件 瀏覽:591
vhd文件有什麼用 瀏覽:482
編程小朋友看什麼書 瀏覽:623
經營如何讓數據說話 瀏覽:258
如何在手機上升級opop 瀏覽:614
coreldrawx5免費視頻教程 瀏覽:725
網站引導頁面源碼 瀏覽:234
個人簡歷範文word 瀏覽:220
uc下載的視頻怎樣提取到文件 瀏覽:499

友情鏈接