国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當前位置: 首頁 > news >正文

自個網站媒體軟文推廣平臺

自個網站,媒體軟文推廣平臺,百度seo規(guī)則,wordpress阿里云esc前言 Revit 有一套完整的幾何造型能力,每一個體量都是一個GenericForm,這些體量可以通過拉伸、掃掠等創(chuàng)建。這個例子介紹如何將他們合并成一個體量。 內容 合并體量的關鍵接口: // Autodesk.Revit.DB.Document public GeomCombination Com…

前言

Revit 有一套完整的幾何造型能力,每一個體量都是一個GenericForm,這些體量可以通過拉伸、掃掠等創(chuàng)建。這個例子介紹如何將他們合并成一個體量。

內容

在這里插入圖片描述
合并體量的關鍵接口:

// Autodesk.Revit.DB.Document
public GeomCombination CombineElements(CombinableElementArray members);

可以合并的實體,相關類的集成體系:
在這里插入圖片描述
如何通過UI創(chuàng)建各種類型的實體,可以參考 Revit 官方文檔:創(chuàng)建實心形狀

case 1:手動選中了一些元素

核心邏輯:

  1. 遍歷所有選中元素
  2. 確保元素是GenericForm,且是實體solid
  3. 確保都是 CombinableElementGenericForm集成自CombinableElement,這步有點多余)
  4. 合并符合條件的元素: doc.Document.CombineElements(solids)

核心代碼:

// 遍歷所有選中元素
foreach (Autodesk.Revit.DB.ElementId elementId in doc.Selection.GetElementIds())
{Autodesk.Revit.DB.Element element = doc.Document.GetElement(elementId);// 確保元素是`GenericForm`,且是實體solidGenericForm gf = element as GenericForm;if (null != gf && !gf.IsSolid)continue;// 確保都是 `CombinableElement` (`GenericForm`集成自`CombinableElement`,這步有點多余)CombinableElement ce = element as CombinableElement;if (null != ce)solids.Append(ce);
}
// 合并符合條件的元素
doc.Document.CombineElements(solids);

case 2:沒有選中,則處理整個文檔

核心邏輯:

  1. 過濾出所有的GenericFormGeomCombination
  2. 遍歷過濾元素
  3. 確保元素是GenericForm,且是實體solid
  4. 確保都是 CombinableElementGenericForm集成自CombinableElement,這步有點多余)
  5. 對有重疊的元素進行幾何合并:JoinOverlapping,判斷是否重疊的邏輯在 IsOverlapped

核心代碼:

// 過濾出所有的`GenericForm`和`GeomCombination`
LogicalOrFilter filter = new LogicalOrFilter(new ElementClassFilter(typeof(GenericForm)), new ElementClassFilter(typeof(GeomCombination)));
// 遍歷過濾元素
FilteredElementIterator itor = (new FilteredElementCollector(document)).WherePasses(filter).GetElementIterator();
itor.Reset();
while (itor.MoveNext()){// 確保元素是`GenericForm`,且是實體solidGenericForm gf = itor.Current as GenericForm;if (null != gf && !gf.IsSolid)continue;// 確保都是 `CombinableElement` (`GenericForm`集成自`CombinableElement`,這步有點多余)CombinableElement ce = itor.Current as CombinableElement;if (null == ce)continue;m_elements.Add(ce);
}
// 對有重疊的元素進行幾何合并
GeomCombination geomCombination = JoinOverlapping(m_elements, document);

JoinOverlapping 的核心邏輯在于判斷是否重疊的邏輯, IsOverlapped

  1. 獲取元素幾何,GeometryElement get_Geometry(Options options)
  2. 獲取GeometryObject所有Face
    類型是 Solid,通過接口 solid.Faces
    類型是 GeometryElement, 通過 GetEnumerator 接口遞歸調用
  3. 獲取所有的線 GetAllCurves
    首先獲取所有的 Face,通過 face.EdgeLoops 獲取線的幾何信息
  4. 判斷線和面是否相交

部分核心代碼:

// 獲取元素幾何
Options geOptions = Command.s_appCreation.NewGeometryOptions();
elementA.get_Geometry(geOptions);// 獲取所有的 Face,需要遞歸調用
private static void GetAllFaces(GeometryElement geoElement, List<Face> faces){IEnumerator<GeometryObject> Objects = geoElement.GetEnumerator();while (Objects.MoveNext()){GeometryObject geObject = Objects.Current;GetAllFaces(geObject, faces);}
}
private static void GetAllFaces(Solid solid, List<Face> faces){foreach (Face face in solid.Faces){faces.Add(face);}
}
private static void GetAllFaces(GeometryObject geometry, List<Face> faces){if (geometry is GeometryElement){GetAllFaces(geometry as GeometryElement, faces);return;
}if (geometry is Solid){GetAllFaces(geometry as Solid, faces);return;}
}// 獲取所有的 curve,類似,省略

其它

這個 sample 代碼質量有些混亂,需自行整理分析。

http://aloenet.com.cn/news/46617.html

相關文章:

  • wordpress+Apache升級seo深圳網絡推廣
  • wordpress安裝云服務器紹興網站快速排名優(yōu)化
  • 豐鎮(zhèn)網站建設福州百度推廣排名
  • 一個網絡空間如何做兩個網站百度關鍵詞推廣條件
  • 網站建設與微店網絡營銷推廣及優(yōu)化方案
  • 上海十大網站建電商網絡營銷
  • app網站開發(fā)成本seo推廣崗位職責
  • 房地產網站制作seo搜索引擎優(yōu)化
  • wordpress模板添加授權廣州網站排名優(yōu)化報價
  • 響應式網頁設計最方便快速seo網站推廣計劃
  • 有哪些制作網站的公司嗎鹽酸達泊西汀片是治療什么的藥物
  • 視頻網站做視頻節(jié)目賺錢嗎推廣互聯網推廣
  • 做的好的中醫(yī)網站廣州新聞熱點事件
  • 電子通訊錄網站建設近日網站收錄查詢
  • 國外網站為什么不用備案軟件推廣接單平臺
  • 做網站應該注意哪些方面臨沂seo推廣外包
  • 網站首頁被掛黑鏈百度網盤會員
  • 如何做好公司網站接推廣app任務的平臺
  • 學完ssm可以做哪些網站搜索引擎優(yōu)化的內部優(yōu)化
  • wordpress圖片網站網站要怎么創(chuàng)建
  • 成都 商業(yè)網站建設app網絡推廣公司
  • 網站建設 樂視百度軟件中心下載安裝
  • 網站優(yōu)化推廣怎么做強強seo博客
  • 網站群系統(tǒng)站長工具網站排名
  • 湖州網站制作網站快速排名推廣軟件
  • 24小時二手表網站免費友情鏈接平臺
  • thinkphp做網站有什么好處seo網絡優(yōu)化平臺
  • 門戶網站是指網絡營銷方式有哪些
  • 南京h5網站開發(fā)seo根據什么具體優(yōu)化
  • 怎么查網站備案信息查詢運營是做什么的