Grasshopper 二次开发 (C#) Part 5 - Tricks, 5.2 深度复制几何体 Deeply Duplicate Geometry

本博客探讨在Grasshopper二次开发中遇到的GeometryBase类型对象(如surface, box)深度复制问题。由于这些对象是引用类型,常规复制方法无效。通过研究RhinoCommon SDK和Grasshopper API,发现GeometryBase的Duplicate()方法能实现深度复制,成功解决对象在变换时被影响的问题。" 109607798,8379766,Vue项目中@touchstart点击穿透问题解决,"['vue', '前端开发', '事件处理']
摘要由CSDN通过智能技术生成

本博客内容正在持续更新,最后一次更新时间:2020.09.04
【说明】
1.本专栏的 Part 5 主要介绍作者在学习和实践中所遇到的一些问题的解决方案,如有差错或更优解,欢迎指正
2.您如果碰到有关 GH 二开的任何问题,欢迎在本专栏的任意一篇博文下留言交流

【本文重点】
1.查文档:(1) RhinoCommon SDK (2) Grasshopper API
2.专栏地址:专栏:Rhino (Grasshopper) 二次开发 (C#)

【推荐阅读】
1.有关 Grasshopper 部分知识点和操作欢迎参考 Grasshopper 学习笔记
2.视频教程:本文部分内容来自油管教程 C# Scripting and Plugin Development for Grasshopper

Problem

在复制 GeometryBase 类型的对象的过程中(如 surface, box),因为它们是引用类型的对象(不同于 point, line),有很多种方法都不能实现它们的深度复制,以至于在进行一些变换操作如旋转变换时,始终无法实现需求

以下是典型的失败案例集合:
(1)构建一对以 XY 平面为对称轴的圆面

// wrong method 1
/// 封闭圆环c形成圆面b
Brep b = Brep.CreatePlanarBreps(c.ToNurbsCurve())[0];
geometryList.Add
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

江湖留名

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值