明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2199|回复: 11

两个难题,请明总进来指导一下吧!

  [复制链接]
发表于 2008-5-26 22:56:00 | 显示全部楼层 |阅读模式
本帖最后由 作者 于 2008-5-28 23:28:32 编辑

1、 SelectionSet.SelectOnScreen typeArray, dataArray 语句在运行过程中,能不能忘命令栏发送命令?

也就是用户开始选择对象,但是还没有选择完成的过程中,我希望在命令栏中发送" f ",实现栏选的功能.

2、 有一个带属性的块,属性文字显示为黄色,图层为0,如何修改这个块的属性文字的颜色和图层?

我发现通过blockref找到block,然后修改block中的所有对象,并不能修改blockref显示的属性文字的颜色和图层。

应该如何修改呢?

发表于 2008-5-27 00:32:00 | 显示全部楼层

1.可以实现

2.不是不能修改,而是修改了没有显示出来,需要update或者regen

 楼主| 发表于 2008-5-27 20:09:00 | 显示全部楼层

1. 请问如何实现?

2.修改完以后自动regen了,但是没有用。

双击属性看看属性文字的属性,仍然没有变化。

其实如果把这个属性块打碎,已经是修改过的了,但是不打碎,颜色和图层都没有变化。

 楼主| 发表于 2008-5-27 20:23:00 | 显示全部楼层
本帖最后由 作者 于 2008-5-28 23:08:14 编辑

不知道明总有没有遇到过类似问题呢?

请教。。。。

 楼主| 发表于 2008-5-28 23:29:00 | 显示全部楼层
如果明总都没有遇到过这两个问题,那我就死心了。
发表于 2008-5-29 11:38:00 | 显示全部楼层

1.直接输入f后,就可以栏选了,与普通的选择对象是一样的操作。

2.属性块和属性块参照中,属性部分是在插入属性块后单独生成的,所以它们的特性在被单独修改过后,已经不能继承原属性块中的特性了。

发表于 2008-5-29 11:48:00 | 显示全部楼层
Sub test()
Dim objBlockRef As AcadBlockReference
Dim varPoint As Variant
ThisDrawing.Utility.GetEntity objBlockRef, varPoint
Dim att As Variant
att = objBlockRef.GetAttributes
att(0).color = 1
End Sub
Sub test1()
On Error Resume Next
Dim filtertype(0) As Integer
Dim filterdata(0) As Variant
filtertype(0) = 0
filterdata(0) = "LINE"
Dim sset As AcadSelectionSet
Set sset = ThisDrawing.SelectionSets.Item("test")
sset.Delete
Set sset = ThisDrawing.SelectionSets.Add("test")
sset.SelectOnScreen filtertype, filterdata
End Sub
发表于 2008-5-29 11:51:00 | 显示全部楼层

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-5-29 18:10:00 | 显示全部楼层
本帖最后由 作者 于 2008-5-29 18:11:46 编辑

感谢明总和sailorcwx兄弟!

其实第一个问题我希望是程序“自动”会在cad的“选择对象”的提示后面加入f和回车,

sset.SelectOnScreen filtertype, filterdata

xxxx'一段代码能够sendcommand (“f”& vbcrlf)

这个看来希望不大,算了,还是手动输入f吧。

属性块中的颜色看来是直接对属性修改的。

再次感谢!

不知道sailorcwx兄用什么软件做的gif?

 

发表于 2008-5-29 19:41:00 | 显示全部楼层
那就用SelectByPolygon 方法,其中有acSelectionSetFence 模式,即是你想要的栏选方式。可惜点坐标不是手工选的,而是直接提供数组给它的。但也可以这样,先用画直线模拟选择过程,并把点的坐标用于该选择方法做为点数据。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-26 09:40 , Processed in 0.181341 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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