ollie 发表于 2022-7-6 11:57:10

vla select(acselectionsetwind

大家晚上好
 
使用activeX aCselectionsetWindowPolygon选择集创建方法时遇到一些问题
 
问题最初出现在遗留问题上
如果文件缩放到点列表中的所有点都可见,则会导致ot失败的方法。
activeX方法不受缩放问题的影响,因为它使用更类似于ObjectARX的文档对象方法
 
以下代码与我所掌握的最接近
 
有什么想法吗?
 
编辑:
 
提供问题的原因是调用它的方法

vlr-object-reactor ...:vlr-modified

这不允许以下任何一种解决方法
 

(setq zfactor (ggetvar "ZOOMFACTOR"))
(setvar "ZOOMFACTOR" 1)
...
(setvar "ZOOMFACTOR zfactor)
;ERROR - Something along the lines of setvar has been rejected by AutoCAD

;----------

(command"zoom""o" ent"")
;ERROR - Invalid Autocad function call

干杯
奥利

wizman 发表于 2022-7-6 12:02:53

命令函数不适用于反应器,请尝试vla selectbypolygon,还要注意pointslist参数是一个指定选择栏的3D WCS坐标数组。

Lee Mac 发表于 2022-7-6 12:05:52

不确定这是否有帮助,奥利。

wizman 发表于 2022-7-6 12:08:49

以下是一个示例:
 
 
 
感谢Wizman的真知灼见。昨晚我花了几个小时试图找到我试图在互联网上使用的无效方法。
 
遗憾的是,vla选择集似乎与传统的ssget方法存在相同的问题。只有当传递给任一选择集方法的所有点都可见时,才能找到属性块
 
话虽如此,我想我会尝试与这种方法相反的方法,然后我会检查所有相关插入的插入点,看看它们是否包含在多段线中
 
干杯
奥利

ollie 发表于 2022-7-6 12:10:43

 
我正要推荐这种方法。。。
 
虽然,如果处理不规则多边形,这可能是一个困难的方法-LISP没有内在的“insidep”函数。。。
 
但是是的,比如:
 

vla-select ...
;rather than
vla-selectbypolygon

Lee Mac 发表于 2022-7-6 12:13:28

不客气,奥利,你可能还想试试(vla zoom..使其在屏幕上可见。。

wizman 发表于 2022-7-6 12:19:05

 
好主意,可惜这个函数不存在。我一直在不懈地尝试文档对象模型,试图找到一种在vla中缩放的方法——甚至没有一丝希望

ollie 发表于 2022-7-6 12:19:23

 
vla缩放范围
vla ZoomCenter
vla ZoomAll。。
 
有很多。。。

Lee Mac 发表于 2022-7-6 12:24:03

使用CTRL+SPACE或CTRL+SHIFT+SPACE来完成单词:
 

Lee Mac 发表于 2022-7-6 12:28:31

 
呵呵,我忘了围裙了。从本质上讲,Wizman的评论是一种文字陈述。
 
先生们,我再次感谢你们,这就够了。以下是psuedo解决方案
 
6
 
一旦我整理了其余的代码,我会发布结果
 
干杯
奥利
页: [1] 2
查看完整版本: vla select(acselectionsetwind