【发布时间】:2018-08-30 08:34:17
【问题描述】:
代码如下(CATScript):
Sub CATMain()
' enter sheet background
Set oView = oDrawingDocument.DrawingRoot.ActiveSheet.Views.Item("Background View")
oView.Activate
' select all views in current screen
Set oSelection = oDrawingDocument.Selection
oSelection.Search "Type=*,scr"
' set visual to black
oSelection.VisProperties.SetRealColor 0, 0, 0, 0
' exit sheet background
Set oView = oDrawingDocument.DrawingRoot.ActiveSheet.Views.Item("Main View")
oView.Activate
End Sub
除了oSelection.VisProperties.SetRealColor 255, 255, 255, 0 不会在我的 2D 绘图中将任何选定的线条和框架更改为黑色之外,该代码可以无缝运行。手动我可以做到这一点,所以很确定我只是使用了错误的语法。 SetVisibleColor 都不起作用,但我也只能发现这些语法用于在 3D 中更改颜色,而我将其用于 2D 绘图。这里有人知道在“图形属性”工作区中为 2D 绘图操作颜色图标的语法吗?
【问题讨论】:
-
看着the documentation,您似乎做出了正确的选择。想知道这是否是分层问题,您是否需要在指定颜色之前设置特定图层?因为我从来没有使用过 CATIA,所以我可能会走得更远,所以请用少许盐来做我的猜测。
-
@Lankymart 手动输入工作表背景,选择整个工作表(就像代码一样),在“图形属性”工作区中选择黑色,一切都是黑色的。使用我现在拥有的代码行,没有改变单一颜色。在手动和脚本过程中,图层处于“无”状态。
-
@Lankymart 我还检查了是否在激活 oSelection.Search "Type=*,scr" 后使用 oSelection.Count 注册了选择。这会返回“11”。
-
在这种情况下,我建议遍历 Selection 对象 (使用
For Each循环) 并输出正在选择的对象以确认它们是预期的对象选择。目前,做出的假设太多了。 -
@Lankymart 选择了以下对象(如您指出的那样通过循环收集信息):1. Point2D (1x) - 2. Line2D (2x) - 3. DrawingComponent (5x) - 4。绘图文本 (4x)。