星辰大海

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

在进行 Microstation 二开时,若在代码执行耗时任务,则可能会导致界面出现假死的情况,此时窗体无法拖动、进度条也无法更新。

由于 Microstation 的非线程安全问题,代码必须在主线程上执行,但进度条位于主线程上,因此进度必定会卡死,这是一个矛盾的问题。

有两种方法来解决这个问题。

阅读全文 »

NuGet 是适用于 .NET 的包管理器。 它使开发人员能够创建、共享和使用有用的 .NET 库。 NuGet 客户端工具可生成这些库并将其作为“包”。

本文简要记录了如何创建 NuGet 包并发布。

阅读全文 »

在进行矩阵转换时,谨记如下公式: \[ \begin{aligned} M_{world} \cdot P_{world} &= M_{local} \cdot P_{local} \\ \because M_{world} &= E \\ \therefore P_{world} &= M_{local} \cdot P_{local} \\ \end{aligned} \] \(M\) 可以叫做坐标系的度量矩阵,将某个坐标系统转到另一个坐标系,是在原坐标系的值上左乘新坐标系度量矩阵的逆。

在理解 MS 中各个对象返回的 DTransform 含义时,先弄明白谁是度量矩阵,另一个是它的逆,就很好理解了。

阅读全文 »

image-20240222222605912

一些车主为了方便挪车,往往会在车上留下自己的电话,方便其他人及时与自己取得联系。直接展示电话号码的形式,会使号码非常容易泄露,从而遭受广告骚扰。

因此,可以将挪车信息转换成二维码的形式,避免电话号码直接曝光,从而保护隐私。

阅读全文 »

Ubuntu 安装 Nvidia 驱动后,有一天突然就无法识别到驱动了,使用 nvidia-smi 查看状态显示:

1
2
Failed to initialize NVML: Driver/library version mismatch
NVML ibrary version: 535.154

出现这个的原因是因为驱动驱动更新后,kernel mod 的 Nvidia driver 的版本没有更新。

阅读全文 »

1
2
3
4
5
# 查看可用终端
cat /etc/shells

# 修改终端
chsh -s /bin/zsh

VSCode SSH 连接 Linux 后,使用 Docker 插件时报错:

permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json": dial unix /var/run/docker.sock: connect: permission denied

这是由于用户的权限不够,按下列方法修改权限即可:

阅读全文 »