明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 989|回复: 1

[【PyCAD】] 使用Pycad中,如何使用`SelectImplied`预选择?

  [复制链接]
发表于 2022-8-31 20:53:01 | 显示全部楼层 |阅读模式
Os: windows11;

AutoCAD version: AutoCAD 2018;
PyCad version: git d911cd8 ;


各位大佬,我是二开的新手,现在用 狐大佬的 `pycad`进行开发,但是对 如何读取 预选择有些问题,想请教一下。



  1. from pycad.system import *
  2. from pycad.runtime import *

  3. @command()
  4. def te11(doc):

  5.     acSSPrompt = doc.Editor.SelectImplied()
  6.     print(acSSPrompt.Status)
复制代码
出来的结果
都是`Error`

如果代码改一下
  1. acSSPrompt = aced.Editor.SelectImplied()
复制代码
还会报错
  1. SelectImplied() takes exactly 1 argument(0 given)
复制代码
可是我看类函数
  1. def SelectImplied(self) -> PromptSelectionResult:...
复制代码
也没有要求传入参数啊,很不解,求大神能解答一下






 楼主| 发表于 2022-8-31 22:00:54 | 显示全部楼层
我看了 知乎大佬 束梦斋(https://www.zhihu.com/people/yang-kai-yu-32) 的 `pycad学习笔记(二)`(https://zhuanlan.zhihu.com/p/269183974)中的介绍,了解了`pycad`的用法,非常感谢。
同时文章中 指出了
  1. # 在启动命令之前选择对象就创建了PickFirst选择集。获得PickFirst选择集对象必须具备下列几个条件:
  2. # 系统变量PICKFIRST必须设置为1;
  3. # 要使用PickFirst选择集的命令必须定义好UsePickSet命令标志;
复制代码
如果应该修改 装饰器如下
  1. @command(flags=acrx.CommandFlags.UsePickSet)
复制代码
如果感兴趣的话,可以看看大佬的原网笔记
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 03:38 , Processed in 0.146544 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表