2012-10-18 51 views
0

我試圖找到一些方法,我可以從AutoCAD創建的.dxf文件中獲得一些具體的組件。具體來說,在AutoCAD中將繪製一個建築物,其中指定了窗戶,門和其他類似的組件。如何從AutoCAD中創建的DXF中提取組件?

我發現了一些庫,例如ribbonsoft或kabeja的dxflib,它們能夠提取線條,弧線等。但是,如果我能夠直接識別窗戶,門等組件,這將非常有幫助。我需要它的原因是,我必須在我的應用程序中將現有建築物轉換爲我自己的數據模型(抽象一些不必要的屬性)。

有沒有這樣的解決方案?如果免費或付費無關緊要。也不要緊,如果解決辦法是在C/C++,Java和Lisp的...(最好是Java的:))

非常感謝你對你的答案和幫助:)

+0

這真的取決於是否這些組件已經存儲在他們的任何方式。如果,KAPS有你的答案。如果不是,我的答案是否定的。 – vextorspace

回答

1

使用代碼如下...它會幫助你。它是在C#

List<Entity> tListEntities = new List<Entity>(); 
Database database = HostApplicationServices.WorkingDatabase; 
using (Transaction transaction = database.TransactionManager.StartTransaction()) 
{ 
BlockTableRecord btRecord = (BlockTableRecord)transaction.GetObject(SymbolUtilityServices.GetBlockModelSpaceId(database), OpenMode.ForRead); 
foreach (ObjectId id in btRecord) 
{ 
    tListEntities.Add((Entity)transaction.GetObject(id, OpenMode.ForRead)); 
} 
transaction.Commit(); 

}

+0

你能否具體化我怎樣才能從cad cia這個代碼中獲得對象? :)一些互聯或如此 – Reshi

相關問題