Revit二次開發 不同Revit版本下橢圓的處理

2021-10-07 15:15:06 字數 673 閱讀 5323

筆者近期在處理revit專案公升級的時候,出現了乙個小問題:

不同revit版本下橢圓的建構函式處理機制還不一樣。具體說明如下:

在revit2016版本中,ellipse.create的靜態建構函式可以建立乙個橢圓物件。

但是在高版本中,ellipse.create建立生成的可不是橢圓物件了,而是它的基類型別curve

。如果您使用【ellipse trans = crv_ellipse as ellipse;】這樣的轉換的話,很不幸有可能會得到的trans是個空值。

原因:如果橢圓的長軸和短軸相等的場合下,那麼此時

trans

是個arc型別。那麼arc型別和ellipse是兄弟關係,您說它能轉換成功嗎?(下圖是它們的api型別說明)

擴充套件:如果開始角度是0和終了角度是360度,那麼ellipse.createcurve會生成啥東東呢?

請各位看官自行驗證~-~

Revit二次開發之「建立窗體執行Revit命令」

ribbon選單的空間有限,因此可能需要大量控制項放在乙個windows窗體裡,然後在窗體裡執行revit命令。方法就是傳遞引數,新建iexternalcommand 呼叫execute 窗體 using system using system.collections.generic using s...

Revit二次開發之十七 深入解析Revit介面

同理可知道,其定義 二 文件document 1 資料承載物件 autodesk.revit.db.document 在任何三維軟體,不得不說乙個重要的東西,就是資料,我們所有的三維呈現必須以資料為基礎,不管是呈現為平面 立面 三維或者其他,都必須有一套唯一的資料,所有我們所有的檢視,只是當前資料的...

Revit二次開發 初學

前言 由於工作需要,近期開始學習revit二次開發知識。學習的同時將學習過程與小夥伴們一起分享,希望後來的小夥伴在看到我的學習筆記的時候有所幫助。說明由於revit的版本在不斷更新中,所以我在學習revit的時候選擇了從revit自帶的幫助檔案開始學習,不同版本的revit,就看相應的help檔案。...