星辰大海

人生万事须自为,跬步江山即寥廓

随着 Bentley 二开的深入,对各种需求的不断增加,面向 .NET 提供的 API 已经有些不能满足需求了,这就迫使我们必须接触 MDL 的开发,利用 Bentley 面向 C++ 提供的丰富接口,达到我们的需求。

本教程基于优先社区的 一步步学习MDL 教程,再根据自己的知识短板,进行其它相关知识的补充以及对教程的深入解读。

阅读全文 »

什么是 makefile ?

makefile关系到了整个工程的编译规则。一个工程中的源文件不计其数,并且按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为makefile就像一个Shell脚本一样,其中也可以执行操作系统的命令。

因为 windows 集成的开发环境为我们做了上述工作,所以在平时开发的时候,没有太多的感觉。

阅读全文 »

判断 CurveVector 是否在一个平面

1
2
3
4
5
// C#
cv.IsPlanar(out DTransform3d localToWorld, out DTransform3d worldToLocal, out DRange3d range3D);

// 转到 xy 平面
cv.Transform(worldToLocal);

返回的第一个参数为 localToWorld,该坐标系是 curve 的局部坐标第,曲线位于局部坐标系的 xy 平面。如果要将其变成世界坐标系的 xy,则要将左乘 localToWorld 的逆矩阵,即 worldToLocal

创建线串

CurveVector静态

1
2
// CurveVector 类中
public static CurveVector CreateLinear(IList<DPoint3d> points, BoundaryType boundaryType, bool forceXYOrientation);

最后一个参数在使用中经常会让人误解,当它为 true 时,将强制生成的曲线外部和内部循环具有正确的(CCW/CW)顺序。

CurvePrimitive静态

判断点与曲线的关系

1
2
3
// CurveVector 类中

public InOutClassification PointInOnOutXY([In] DPoint3d xyz);

在用 scoop 安装 mongodb 后,没有像直接使用安装包那样,会将数据库服务一次安装到位,而是需要使用命令行来进行安装。

网上虽然有很多的教程,但是参差不齐,每次想找到一个能使用,还是会浪费一些时间,于是根据自己的需要,进行了总结。

阅读全文 »

有时候,我们需要将 mongodb 的数据进行备份和还原,然后采用 Navicat 这种可视化工具导出的数据集合会有一个问题,就是一个文档的字段里面如果包含对象,它是不能支持的。所以我们需要用到原生的命令来进行。

阅读全文 »

初学 JavalScrip 时,它的自由让人很不适应,特别是对于对象的创建,很是疑惑:它没有类的概念(初学时了解的水平),也没有构造函数, 而更不能理解的是,它的实例是通过 new 函数得到的。直到看了《JavaScrip高级程序设计》之后,才恍然大悟,特此总结,希望能给那些初学者一点解惑之光,若有不足之处,还请斧正。

阅读全文 »

用了一段时间的quasar了,它里面封装的 css 类确实很好用,但是在帮助文档中,描述得零零散散,不方便使用,遂总结一下。

阅读全文 »

Promise 的使用是 js 编程中必须要掌握的技能,而且,它确实使用起来很方便,下面整理一下相关的知识点,以免今后遗忘,同时,节约查询的时间。

阅读全文 »

页面布局是样式开发的第一步,也是 CSS 最重要的功能之一。

img

常用的页面布局,其实就那么几个。下面我会介绍5个经典布局,只要掌握了它们,就能应对绝大多数常规页面。

这几个布局都是自适应的,自动适配桌面设备和移动设备。代码实现很简单,核心代码只有一行,有很大的学习价值,内容也很实用。

阅读全文 »