前言

前几天在准备中期考核相关的内容,想要用 Solidworks 渲染一个示意图,但是我的芯片版图是用 L-Edit 绘制的,直接导入比较困难,我倒腾了一天才解决。

这里就写一下解决方法。

所需软件

  • L-Edit:用于绘制二维版图。至于我为什么用这个软件画,不直接用 Solidworks,只能说导师推荐的,而且我使用下来确实对大量、重复的内容支持比较好,响应速度很快。

  • AutoCAD:中间软件,用以处理 L-Edit 输出的 DXF 文件。如果你习惯的话,直接用 CAD 做示意图也行,不过我不太喜欢用它。

  • Solidworks:使用 2023 版,最后一个自带渲染工具的版本。

问题描述

在使用 L-Edit 绘图时,是用一个个多边形进行的轮廓构建:

但其输出为 DXF 时,会保留每个多边形的轮廓,不会取外包络线:

这就导致 Solidworks 在拉伸时,选择草图没办法准确判断哪部分是图形内部,很容易出现漏选或者错误。

另外由于通常一个版图的线条很多,所以处理速度很慢;选错一个地方想要修改可能要等十几分钟,非常麻烦。

因此,最好能够一次选择就能解决,这里我的方法是取外包络线。

解决方法

我尝试过直接使用 L-Edit 进行布尔运算,尝试把这些多边形进行合并,但是没有成功,运算结果依然会有边线,不知道是不是我的操作问题。

所以我就曲线救国,输出后再进行处理。

处理过程使用 AutoCAD,思路是取外包络。

  1. 转换为面域: 在命令行输入 ​REGION​,框选所有的图形,按回车。

    • 此时这些线段会变成一个个密闭的面:

  2. 执行并集: 输入 ​UNION​,框选刚刚的所有图形,按回车。

    • 内部线段会被全部删除,只保留包络线:

  3. 还原为多段线: 选中融合后的图形,输入 ​X​(EXPLODE,分解)并回车。

    • 看上去是没变化的,但是会将包络转换为线而不是多边形。

    • 我实测这步不做也不影响。

结语

通过这个方法就可以很好的取到版图的包络,再导入 Solidworks 中进行处理即可,但是仍然没法解决大量曲线处理速度慢的问题(可恶的Solidworks,为什么要用单线程处理),每一步操作都要等好几分钟。

当然,我这个解决方法是 L-Edit 布尔运算不起作用的情况下的无奈之举,如果能用布尔的话就无需这么麻烦了。