在通过放样创建solid的方式来实现钢束的创建,在使用 Solid solid = GeometryCreationUtilities.CreateSweptGeometry(…)时候出现了以下异常:The swept geometry would contain self-intersections or other such problems; the profile probably extends too far toward the inner curvature of the sweep path.

这是出现异常的代码

放样路径我是通过海尔米特曲线创建的(如果不创建实体,光是创建线的话,创建出来如图所示是准确的,但我想把它创建成solid,后面要做碰撞检查

最后发现原因:
就是一定要注意在创建HermiteSpline的时候端点的切线方向!切线方向应当朝向相同,啥意思呢
比如:HermiteSpline1的两端向量为(1,0,0)和(0.7,0.7,0)
HermiteSpline2的两端向量为(1,0,0)和(-0.7,-0.7,0)
两者端点坐标相同,这两条曲线创建出来形状也是相同的,但是!HermiteSpline1可以用于生成solid, HermiteSpline2却会抛出上述异常,这就是曲线创建时的朝向问题。
如果不是这个问题的话,那就请注意放样路径的连续性,还是建议一条曲线放样创建一个实体,别放样路径里面同时加入多条曲线。
这玩意我找了半天原因才发现,太不容易了。
最后放个生成的钢束。

C# Revit二次开发相关推荐

  1. Revit二次开发 - C#程序员的佳好选择

    虽然Revit的使用者和开发目前在中国都很少,但是这是个趋势. 未来Revit会在许多方面取代Autocad 做CAD二次开发的,在中国也很吃香. 但是使用C++难倒了许多人. 而Revit二次开发可 ...

  2. Revit二次开发_1.过滤器笔记篇

    Revit二次开发_1.过滤器笔记篇 前言 对象分类 过滤方法 前言 最近在用过滤器功能,先按照教程做了筛选墙,再自己做了筛选常规模型的功能,发现有点不一样,问题在于筛选这些Elements的时候没弄 ...

  3. revit二次开发之教学视频

    一.背景 刚入门revit二次开发的小伙伴,很多是零基础的工程人员,为了解决这个问题,博主做了revit二次开发的一系列教学视频(包括C#基础与revit二次开发两个模块),来帮助大家更好的入门. 二 ...

  4. Revit二次开发——引用dynamo中的几何库

    前沿 dynamo的几何库其实是非常强大的,如果自己靠着RevitAPI去写还是非常费劲的.所以想引用dynamo的几何库来做一些工作.主要参考的就是这篇文章.Revit二次开发--不开启Dynamo ...

  5. revit二次开发之程序调试

    欢迎加入BIM行业开发交流1群 群号:711844216(满),二群群号:1016453207 需要Revit二次开发全流程教学 的朋友可以联系我qq:1056295111 一.背景 小伙伴们在rev ...

  6. revit二次开发之多线程的正确使用

    欢迎加入BIM行业开发交流1群 群号:711844216(满),二群群号:1016453207 一.背景 小伙伴们为了加快revit程序运行速度, 可能会考虑使用多线程,但是我们必须首先搞清楚一个问题 ...

  7. Revit二次开发入门秘籍 01如何入门

    关于入门 我想在开始学习之前大家应该更需要知道如何入门,对比一下我们在学校的学习,我们需要书.老师-书上呢,是有所有的知识点,有重要的,有不重要的,而老师呢,会知道哪些是重点,也就是我们考试要考的,教 ...

  8. revit二次开发之数据库的使用

    一.背景 小伙伴们在revit二次开发时,可能会需要与数据库做交互,那么如何实现呢? 二.思路 笔者为此录制了一个教学视频,通俗易懂,大家直接看就行了 地址:https://www.bilibili. ...

  9. Revit二次开发之绘制钢筋

    第一次在博客园上写东西,也不知道该写些什么,我想就写点最近项目到遇到的问题吧. 最近在做一个小项目,具体需求大概是在一个revit模型中的对应的楼板位置绘制钢筋. 由于刚接触Revit二次开发,之前也 ...

  10. Revit二次开发—载入族并交互式放置

    文章目录 核心代码 问题一:按esc取消放置时报错 问题二:如何在放置一个族实例之后退出放置 问题三:已存在所载入族时,如何正常放置 参考资料 核心代码 using (Transaction tx = ...

最新文章

  1. hibernate c3p0 mysql_hibernate-使用c3p0数据库连接池,以及其它配置
  2. 关于使用 git 命令行来和“码云”账号上的项目互通过程的基础步骤
  3. yii2事务运用举例
  4. 普元部署包部署找不到构建_让我们在5分钟内构建和部署AutoML解决方案
  5. 介绍几个医学图像处理会议
  6. c++中的全排列函数next_permutation()
  7. 华为南太无线解决方案部梁旭阳_华为无线充电新专利:激光无线充电,替代传统半接触式...
  8. bzoj 1151: [CTSC2007]动物园zoo
  9. 我的第一个python web开发框架(6)——第一个Hello World
  10. 为什么大厂都在用 GO 语言?读透 GO 语言的切片
  11. 大一c语言作业操作题库,c语言题目(大一c语言编程题库)
  12. 精灵3P+Pix4D简单航测详细应用教程
  13. html 显示动态时间
  14. 时序数据库在船舶风险管理领域的应用
  15. 论文阅读笔记--Predicting Human Eye Fixations via an LSTM-based Saliency Attentive Model
  16. iThenticate查重系统的使用及如何去除参考文献
  17. php后端开发主要会哪些技术?
  18. Android 10 11 删除本地照片方法
  19. SDWebImage使用详解
  20. MySQL占用CPU过高,排查原因及解决的多种方式法

热门文章

  1. PCB Layout的10个细节
  2. pcb板制作流程图解
  3. cf的服务器型号,常用CF法兰的型号和尺寸表
  4. 你知道这些SOLIDWORKS零件图知识吗?
  5. 微信小程序使用code码获取用户信息提示errcode:40163 code been used,rid:
  6. 端口扫描工具是什么?端口扫描工具有什么用
  7. Mac系统Cornerstone安装和使用说明(最佳的SVN管理工具)
  8. 哈夫曼编码详解——图解真能看了秒懂
  9. 腾讯的天天快报凭什么想挑战今日头条?
  10. 文件转换swf/flv