【已解决】请问如何获取当前选中(不是激活)的布局,包括同时选中多个布局的情况?
本帖最后由 tengte 于 2018-12-4 17:11 编辑请问如何获取当前选中(不是激活)的布局,包括同时选中多个布局的情况?
激活的布局可以用(getvar "ctab")获取,但选中的布局不一定是激活的,并且可以选中多个。
不知道有没有高手用过?
本帖最后由 e2002 于 2018-12-1 09:55 编辑
在AutoCAD窗口中,通过鼠标按住Ctrl键,然后鼠标点击多个Layout标签,这样可以选中多个Layouts,然后右键菜单,点击项目进行操作。这个菜单中的项目是程序内置的固定的。你就是获得了当前选择了的 Layouts,似乎也没什么意义啊?
如果在AutoLISP程序程序中需要遍历全部Layouts或者操作多个 Layouts ,办法就很多了 ,常用 DCL的 list控件获得多个选择。 e2002 发表于 2018-12-1 09:43
在AutoCAD窗口中,通过鼠标按住Ctrl键,然后鼠标点击多个Layout标签,这样可以选中多个Layouts,然后右键菜 ...
谢谢你的回复!但没有明白我的意思!我是想在选中多个布局后,用程序能获取选中的是哪几个?然后可以对选中的进行操作,如打印什么的 tengte 发表于 2018-12-3 09:19
谢谢你的回复!但没有明白我的意思!我是想在选中多个布局后,用程序能获取选中的是哪几个?然后可以对选 ...
用ARX可以实现,AcDbLayout有AcDbLayout :: getTabSelected tengte 发表于 2018-12-3 09:19
谢谢你的回复!但没有明白我的意思!我是想在选中多个布局后,用程序能获取选中的是哪几个?然后可以对选 ...
这里我们讨论的是 AutoLISP不是arx吧,你DCL中获得多个自己选定的 Layouts 之后,你想做什么就写出来,比如你说的打印什么的。但这些在AutoCAD中本来就提供这些功能(例如你说的选择某些layouts去批量打印,你选好后点击右键选publish就好了)。
我们要写那些Autodesk没在AutoCAD中没有的,但我们使用中又需要的功能。
例如:选中某些layouts,指定这些 layoouts的pagesetup;在对话框中批量修改Layouts名称... e2002 发表于 2018-12-3 15:20
这里我们讨论的是 AutoLISP不是arx吧,你DCL中获得多个自己选定的 Layouts 之后,你想做什么就写出来,比 ...
这里确实是讨论AutoLisp的,只不过楼主要求的功能,这个lisp很难实现,楼主应该是会arx的,所以提供arx方式参考,当然,如果楼主只要autolisp,用dcl自选列表方式也是比较好的。
我也觉得要写那些Autodesk没有的功能,需要找到适合的自己的方式去实现,无论arx、vlisp、.net api、com接口,只要能实现就好,有的情况适合lisp,那就用lisp,有的时候适合用arx,用arx。混合开发出自己的需求,arx嵌入lisp函数也是可以的,执行arx定义的函数也行。 edata 发表于 2018-12-3 16:57
这里确实是讨论AutoLisp的,只不过楼主要求的功能,这个lisp很难实现,楼主应该是会arx的,所以提供arx方 ...
非常赞同你的观点!lisp当然的首选,但lisp不是万能的!
页:
[1]