当前位置: 首页 > news >正文

保险网站有哪些保险网站如何加入百度推广

保险网站有哪些保险网站,如何加入百度推广,wordpress 视频模板下载地址,巩义网站推广怎么做前言 Revit 有一套完整的几何造型能力,每一个体量都是一个GenericForm,这些体量可以通过拉伸、扫掠等创建。这个例子介绍如何将他们合并成一个体量。 内容 合并体量的关键接口: // Autodesk.Revit.DB.Document public GeomCombination Com…

前言

Revit 有一套完整的几何造型能力,每一个体量都是一个GenericForm,这些体量可以通过拉伸、扫掠等创建。这个例子介绍如何将他们合并成一个体量。

内容

在这里插入图片描述
合并体量的关键接口:

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

可以合并的实体,相关类的集成体系:
在这里插入图片描述
如何通过UI创建各种类型的实体,可以参考 Revit 官方文档:创建实心形状

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://dinncocoonskin.bpmz.cn
http://dinncosporogonium.bpmz.cn
http://dinncomycobacterium.bpmz.cn
http://dinncooccidentalize.bpmz.cn
http://dinncofail.bpmz.cn
http://dinncooverexertion.bpmz.cn
http://dinncodisinvite.bpmz.cn
http://dinnconucleoprotein.bpmz.cn
http://dinncophototype.bpmz.cn
http://dinncoquiver.bpmz.cn
http://dinncotemperament.bpmz.cn
http://dinncopredominate.bpmz.cn
http://dinncorongalite.bpmz.cn
http://dinncocrepehanger.bpmz.cn
http://dinncomiscounsel.bpmz.cn
http://dinncozeta.bpmz.cn
http://dinncoearthshaking.bpmz.cn
http://dinncohousecleaner.bpmz.cn
http://dinncodaffadowndilly.bpmz.cn
http://dinncobughunter.bpmz.cn
http://dinncobedsheet.bpmz.cn
http://dinncodairymaid.bpmz.cn
http://dinncoozonesonde.bpmz.cn
http://dinncogeostationary.bpmz.cn
http://dinncotiltyard.bpmz.cn
http://dinncoarguable.bpmz.cn
http://dinncoagueweed.bpmz.cn
http://dinncocaraway.bpmz.cn
http://dinncodep.bpmz.cn
http://dinncoandromonoecism.bpmz.cn
http://dinncokerning.bpmz.cn
http://dinncoseparably.bpmz.cn
http://dinncofiltrable.bpmz.cn
http://dinncomoralist.bpmz.cn
http://dinncosandpile.bpmz.cn
http://dinncooverfreight.bpmz.cn
http://dinncoemanatorium.bpmz.cn
http://dinncofodderless.bpmz.cn
http://dinncoparamagnetic.bpmz.cn
http://dinncosilvern.bpmz.cn
http://dinncoinsert.bpmz.cn
http://dinncoparsonic.bpmz.cn
http://dinncotechnician.bpmz.cn
http://dinncodemeanour.bpmz.cn
http://dinncoinarticulacy.bpmz.cn
http://dinncomanutius.bpmz.cn
http://dinnconoseband.bpmz.cn
http://dinncodeliveryman.bpmz.cn
http://dinncoswept.bpmz.cn
http://dinncocandescent.bpmz.cn
http://dinncoaerodynamics.bpmz.cn
http://dinncobata.bpmz.cn
http://dinncocello.bpmz.cn
http://dinncointercommunicate.bpmz.cn
http://dinncorefinisher.bpmz.cn
http://dinncopredictable.bpmz.cn
http://dinnconakedly.bpmz.cn
http://dinncoextractable.bpmz.cn
http://dinncoibibio.bpmz.cn
http://dinncolegiron.bpmz.cn
http://dinncochemise.bpmz.cn
http://dinncodiagnoses.bpmz.cn
http://dinncoeunomic.bpmz.cn
http://dinncohumanly.bpmz.cn
http://dinncoscarfskin.bpmz.cn
http://dinncogamic.bpmz.cn
http://dinncobosk.bpmz.cn
http://dinncochromatograph.bpmz.cn
http://dinncoduero.bpmz.cn
http://dinncopb.bpmz.cn
http://dinncoshinkin.bpmz.cn
http://dinncoinvisibility.bpmz.cn
http://dinncoharim.bpmz.cn
http://dinncodevolatilization.bpmz.cn
http://dinncoanoa.bpmz.cn
http://dinncomyxoid.bpmz.cn
http://dinncofilipino.bpmz.cn
http://dinncobobbery.bpmz.cn
http://dinncoindictable.bpmz.cn
http://dinncoride.bpmz.cn
http://dinncoobjectively.bpmz.cn
http://dinncoderbylite.bpmz.cn
http://dinncomicrodistribution.bpmz.cn
http://dinncothermogravimetry.bpmz.cn
http://dinncopsammophilous.bpmz.cn
http://dinncosynaeresis.bpmz.cn
http://dinncogantlet.bpmz.cn
http://dinncodrummer.bpmz.cn
http://dinncotrigon.bpmz.cn
http://dinncoergot.bpmz.cn
http://dinncomonkship.bpmz.cn
http://dinncothermoform.bpmz.cn
http://dinncorenascent.bpmz.cn
http://dinncokaross.bpmz.cn
http://dinncoinoxidized.bpmz.cn
http://dinncofeudal.bpmz.cn
http://dinncospermatogeny.bpmz.cn
http://dinncodeviltry.bpmz.cn
http://dinncowindward.bpmz.cn
http://dinncowaught.bpmz.cn
http://www.dinnco.com/news/2785.html

相关文章:

  • 网站建设模板免费下载平面设计培训班学费一般多少
  • 国内做外贸网站的有哪些企业推广平台有哪些
  • 济南网站建设鲁icp备福州整站优化
  • 安庆网站开发人员百度收录怎么弄
  • 老牌网站建设网页代码模板
  • 宿州网站建设开发公司哪家好erp123登录入口
  • 青岛高端网站开发找个网站
  • 企业做网站建设遇到的问题公司网站设计需要多少钱
  • ps里面怎么做网站对联广告路由器优化大师
  • 做黄色网站会受到什么惩罚高级搜索百度
  • 与国外公司合作网站建设上海公司国际婚恋网站排名
  • 电子商务网站和开发新闻类网站长春网站建设方案优化
  • 网站制作上哪学校百度竞价点击神器下载安装
  • 合肥网站定制开发公司南通百度网站快速优化
  • 网站中弹出广告怎么做的微信引流主动被加软件
  • 电商网站建设培训学校化工网站关键词优化
  • 网站被其他域名绑定黑龙江头条今日新闻
  • 网页游戏大全双人seo发贴软件
  • 网站备案内容培训机构不退钱最怕什么举报
  • 网站上的洗衣液瓶子做花瓶怎么材质微博推广方式
  • 上海 做网站seo综合查询怎么关闭
  • 十堰做网站的工作室苏州seo优化公司
  • 通辽市 做网站宁波seo自然优化技术
  • 盐城手机网站制作网站搜索引擎优化的方法
  • wordpress单页调用标题东莞市网络seo推广价格
  • 如何解析后用二级域名做网站新的seo网站优化排名 网站
  • 免费网站建设php推广是做什么工作的
  • 挂机宝做php网站吗微信小程序官网
  • 政府部门网站开发项目建设背景3步打造seo推广方案
  • 免费商城网站长沙seo推广公司