明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1860|回复: 1

PlotStyleName 属性的问题

[复制链接]
发表于 2003-10-25 10:45:00 | 显示全部楼层 |阅读模式
不知这是不是个BUG。
如果在文件中未使用的打印样式中的名称,则使用程序就会出错。
看看下图:

其中当前使用的打印样式名有“普通”和“默认”,但打印样式表“monochrome.stb”中还有一个“Style 1”的打印样式名,可是通过程序就不能进行把打印样式改为“Style 1”。出现以下错误:


  1.             If LCase(ThisDrawing.ActiveLayout.StyleSheet) <> "monochrome.stb" Then ThisDrawing.ActiveLayout.StyleSheet = "monochrome.stb"
  2.             For Each LayerName In ThisDrawing.Layers
  3.                 If LayerName.Name = "5" Or LayerName.Name = "7" Then LayerName.Lineweight = acLnWt050
  4.                 Debug.Print LayerName.PlotStyleName
  5.                 LayerName.PlotStyleName = "Style 1"
  6.             Next LayerName
复制代码


但如果把其中一个图层手工设为Style 1后,程序也就可以正常运行了。
程序的前面已经加上了ThisDrawing.ActiveLayout.RefreshPlotDeviceInfo了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2003-10-27 15:55:00 | 显示全部楼层
解决办法:如果出错,则先使用以下该句让某一个图层使用相应样式,再执行就不会出错:
  1. ThisDrawing.SendCommand "-layer" & vbCr & "ps" & vbCr & "Style 1" & vbCr _
  2. & "需要更改样式的图层名" & vbCr & vbCr
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-28 12:36 , Processed in 0.185812 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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