【发布时间】:2020-09-21 23:50:29
【问题描述】:
我是第一次尝试 AutoLISP。 在我的 AutoCAD 绘图中,我有大约 300 个对象的副本分布在不同的地方。 我想围绕对象中间的固定轴镜像每个对象。
我遇到的第一个障碍是逐个选择对象的每个副本以进行镜像操作。 任何人都可以帮助我吗?有可能吗?
【问题讨论】:
我是第一次尝试 AutoLISP。 在我的 AutoCAD 绘图中,我有大约 300 个对象的副本分布在不同的地方。 我想围绕对象中间的固定轴镜像每个对象。
我遇到的第一个障碍是逐个选择对象的每个副本以进行镜像操作。 任何人都可以帮助我吗?有可能吗?
【问题讨论】:
您可以使用 AutoLISP ssget 函数获得选择,该函数带有适当的模式字符串和过滤器列表参数,允许选择其属性符合您的选择标准的对象。
如果您的选择是在没有用户输入的情况下自动进行的(例如,使用X 模式字符串来查询图形数据库),您将需要一个属性来区分图形中的目标对象和其他对象- 这可能取决于您要选择的对象类型。
例如,您可以使用 DXF 组 0 过滤所有相同类型的对象;在同一布局内使用 DXF 组 410;使用 DXF 组 8 驻留在同一层;或通过其他属性,例如颜色、线型或线宽。
基于对象几何的过滤器将取决于您要定位的对象的类型,例如,可以通过对 DXF 组 40 进行过滤来获取相同半径的圆的选择;或使用 DXF 组 2 的同名标准(非动态)块。
获得您的选择后,您需要对选择进行迭代,以便可以对每个对象单独执行镜像操作(因为选择中的每个对象的镜像轴都不同)。为此,您可以选择我在Selection Set Processing 上的教程中描述的方法之一。
【讨论】: