我的任务是通过在坐标系中指定一个点来找到轮廓(封闭区域)。
Autocad 中的 _-BOUNDARY 命令可以执行类似的功能,但在处理大数据时,与命令界面交互是一个缓慢的解决方案。
所以我想使用Autocad的COM API(即Autocad的对象模型),但我不知道可以使用什么方法来做到这一点。
我正在使用 python 工作,所以请使用 pyautocad、win32com.client 或 comtypes 建议您的解决方案。
您可以使用 PyRx - Object ARX 上的 Python 包装器。
import traceback
from pyrx_imp import Db, Ed, Ge
POINT = (100.0, 100.0, 0.0)
def PyRxCmd_doit():
try:
db = Db.curDb()
for pline in Ed.Editor.traceBoundary(
Ge.Point3d(*POINT), False # or True if you want to detect islands
):
pline.setColorIndex(1)
db.addToCurrentspace(pline)
except Exception:
traceback.print_exc()