1 頁 (共 2 頁)

請教怎樣編寫c#程序,能生成一個在building model的指定座標中生成一個點

發表於 : 2009年 6月 9日, 03:35
admin
本人現在幫professor做一個項目,要從數據文件中讀取object的x,y,z座標,然後在revit里的building model中顯示那個點。
想請問在revit里,building model有沒有默認座標的?如果沒有,怎麼編寫c#程序生成呢?還有如題,怎麼通過程序在指定座標中生成一個點呢?
請達人回答,謝謝

回覆: 請教怎樣編寫c#程序,能生成一個在building model的指定座標中生成一個點

發表於 : 2009年 6月 9日, 09:17
admin
在Revit裡面是有默認座標系統的,就像autocad一樣,以預設樣板來說,座標原點位置應該是在立面符號的交會點,至於C#程序的編寫,可以透過軟體附帶的開發工具VSTA來開發

回覆: 請教怎樣編寫c#程序,能生成一個在building model的指定座標中生成一個點

發表於 : 2009年 6月 9日, 17:50
admin
在理論上是這樣說沒錯,但是我在實際在安裝vsta巨集後,去尋找內建的範例資料檔,發現原廠並沒有內建範例,對於學習上造成很大的困擾,上次的發問"關於vsta學習上之問題"很可惜並沒有得到任何協助,希望原廠能補足這方面的範例資料

回覆: 請教怎樣編寫c#程序,能生成一個在building model的指定座標中生成一個點

發表於 : 2009年 6月 10日, 00:31
admin
我不會寫程式,所以只能協助找一些參考資料給大家
1. Autodesk Developer Center:有SDK下載點(裡面就有包括vsta範例)及影片...等資訊
http://usa.autodesk.com/adsk/servlet/in ... id=2484975
初學者教學影片
http://download.autodesk.com/media/adn/ ... ogramming/

2. Create Marco with Revit VSTA
http://www.bimwit.com/files/manuals/Rev ... t_VSTA.pdf

回覆: 請教怎樣編寫c#程序,能生成一個在building model的指定座標中生成一個點

發表於 : 2009年 6月 10日, 20:34
admin
1.首先感謝版主大大的資料
2.我講我的經驗
所有的sdk在安裝程式的過程有個Utility(工具)裡有...
我曾經在 9.0 or 2008 版寫過也Try過,沒有問題...唯一的問題是Revit的類別架構把我搞混了....我總共寫一個篩選器...還可以啦,只是不曉得寫什麼...再者國內資源不足

我用的是Visual C# 2005 Express...這個不要錢!...最近2009和2010版...我也重編也沒問題!

2009版和2010版有個VSTA的IDE安裝,安裝之後..進入Revit要等很久我就將它移除掉!因為我不是每次都要寫程式阿!

其實用Visual C# 2008 Express就很好用了!編譯完了就在Revit.ini補上一段就可以了!...這部份我應該還幫得上忙!

有個地方很重要就是在繁體中文版的物件在程式裡面一定要用"牆",不能用"Walls".....Revit的中文化不是表面而已!

回覆: 請教怎樣編寫c#程序,能生成一個在building model的指定座標中生成一個點

發表於 : 2009年 6月 11日, 01:28
admin
謝謝各位的熱情回覆,版主發的那些資料我都看過,好像c#的程序在revit里只能做external tool用來分析building model。所以我想在這看看有哪位高手以前寫過c#程序,用於座標,和生成一個點

回覆: 請教怎樣編寫c#程序,能生成一個在building model的指定座標中生成一個點

發表於 : 2009年 6月 11日, 06:18
admin
如果可以再building model中定一個點,把它的xyz設定成0,0,0,
那只要知道object的xyz,就可以生成object的點了。

但是本人從來都沒有用過revit,請教怎麼在building model中指定一個點啊?不是通過程序,就是用revit本身來做。我的building model文件是ifc來的。

回覆: 請教怎樣編寫c#程序,能生成一個在building model的指定座標中生成一個點

發表於 : 2009年 6月 13日, 18:03
admin
1.Revit沒有"點",這個元件,Revit也是極座標系統....我是不知道Revit是否有迪卡兒座標系統.....所以不可能用內建的系統建立出來...

2.如果可以也是要用vc#或VB....寫個3D線在0,0,0點畫個十字線....
但要這麼做也要先搞清礎Revit如何讓VC#或VB在裡面畫3D線...
也就是要很熟悉Revit的構造的人...

我還不熟!要我花時間去搞清礎恐怕是猴年馬月!...
恐怕還是你自己去做比較有動力吧!

不然你就用AutoLisp在Autocad最快!

回覆: 請教怎樣編寫c#程序,能生成一個在building model的指定座標中生成一個點

發表於 : 2009年 7月 8日, 06:04
admin
我看過有關的sample,知道應該可以如樓上所說的畫一條線的。那最簡單的方法,是怎麼在指定座標上畫出線呢?

回覆: 請教怎樣編寫c#程序,能生成一個在building model的指定座標中生成一個點

發表於 : 2009年 7月 8日, 09:05
admin
打開2010版的的公制專案樣版檔,在敷地視圖中,可以看到一個新增的功能,也就是專案基準點,在建模之後,使用標柱中的定點座標功能,就可以標出定點與原點的相對座標