给你一个实例,下面是一个单行文字的组码表:
((-1 . <Entity name: 7efc1640>) (0 . "TEXT") (330 . <Entity
name: 7efbfcf8>) (5 . "200") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 .
"0") (100 . "AcDbText") (10 2907.02 911.746 0.0) (40 . 2.5) (1 . "[string]")
(50 . 0.0) (41 . 1.0) (51 . 0.0) (7 . "Standard") (71 . 0) (72 . 0) (11 0.0 0.0
0.0) (210 0.0 0.0 1.0) (100 . "AcDbText") (73 . 0))
在这个组码表中随便拿出一个, 例如(0 . "TEXT") ,点对表左边的“0”组码表示类型,右边是具体的类别,“TEXT”即使单行文字;
再比如:
(7 . "Standard")表示该文字文字类型(”7”)为”Standard“
(1 . "[string]") 表示该文字内容(”1”)为"[string]"
(10 2907.02 911.746 0.0)表示文字的插入点(10),这个店的具体坐标就是:2907.02 911.746 0.0
通过上边几个比较可以看出图元类型总是整数,但是图元数据却不然,它可能是整数可能是字符串也有可能是一个插入点
然后再以SelectOnScreen方法为例介绍,我们先看看语法:
object.SelectOnScreen [FilterType][, FilterData] object —— SelectionSetThe object or objects this method applies to. FilterType——Integer; input-only; optional A DXF group code specifying the type of filter to use. FilterData——Variant; input-only; optional The value to filter on.
object这里指的是一个具体的选择集(SelectionSet),需要你提前在创建(Thisdrawing.selectionsets.add("SelectionSet_name"));
FilterType——这是一个整型变量,比如图元类型0,文字类型7,文字内容1,插入点10,都是整数;
FilterData——这是一个变量(Variant)类型,定义好后可以具体赋值;
FilterType和FilterData的共同点是它们都是数组,且上下标都是一样的,因为他们都是点对,总是成双成对出现。
我再给你一个例子,如果我现在要创建一个只选择单行文字的,且内容为”V1“的选择集,代码如下:
Dim fType(1) As Integer
Dim fData(1) As Variant
fType(0) = 0: fData(0) = "TEXT"
fType(1) = 1: fData(1) = "V1"
SSet.SelectOnScreen fType,fType
当然选择集还不止这些,比如:与或条件(-4 . and>)之类的。 |