mxcad_2d API 文档 / 2d / McDbLinetypeTableRecord
Class: McDbLinetypeTableRecord
2d.McDbLinetypeTableRecord
表示一个线型表记录对象,实现了对线型的属性相关操作函数。
Example
// 添加线型
import { MxCpp, McDbLinetypeTableRecord } from "mxcad"
const mxcad = MxCpp.getCurrentMxCAD();
// 拿到当前线型样式表
let linetypeTable = mxcad.getDatabase().getLinetypeTable();
// 构造新线型表记录对象
let newLinetypeRecord = new McDbLinetypeTableRecord();
// 设置线型对象的虚线数量
newLinetypeRecord.numDashes = 0.2
// 设置线型对象的名字
newLinetypeRecord.name = "TestMyLine"
// 添加线型
const res = linetypeTable.add(newLinetypeRecord).isValid()
if (res) {
console.log("add ok");
}Hierarchy
↳
McDbLinetypeTableRecord
Table of contents
Constructors
Properties
Accessors
Methods
- assertObjectModification
- clone
- createExtensionDictionary
- dashLengthAt
- erase
- getDatabase
- getDatabaseIndexId
- getExtensionDictionary
- getGripPoints
- getHandle
- getImp
- getJson
- getObjectID
- getOwnerID
- initTempObject
- isErased
- isHaveExtensionDictionary
- isKindOf
- isNull
- moveGripPointsAt
- setDashLengthAt
- setJson
- setShapeIsUcsOrientedAt
- setShapeNumberAt
- setShapeOffsetAt
- setShapeRotationAt
- setShapeScaleAt
- setShapeStyleAt
- setTextAt
- shapeIsUcsOrientedAt
- shapeNumberAt
- shapeOffsetAt
- shapeRotationAt
- shapeScaleAt
- shapeStyleAt
- textAt
- unErase
Constructors
constructor
• new McDbLinetypeTableRecord(imp?)
构造函数。
Parameters
| Name | Type | Description |
|---|---|---|
imp? | any | 内部实现对象。 |
Example
import { McDbLinetypeTableRecord } from "mxcad";
const linetypeRec = new McDbLinetypeTableRecord();Overrides
Properties
imp
• imp: any = 0
内部实现对象。
Inherited from
Accessors
comments
• get comments(): string
获取或设置线型说明字符串。
Returns
string
Example
import { McDbLinetypeTableRecord } from "mxcad";
const linetypeRec = new McDbLinetypeTableRecord();
linetypeRec.comments = "说明字符串"
console.log(linetypeRec.comments) // 说明字符串• set comments(val): void
Parameters
| Name | Type |
|---|---|
val | string |
Returns
void
dxf0
• get dxf0(): string
得到对象的DXF组码的类型名,这个和AutoCAD中的DXF组码是一样。 比如直线的类型名为:McDbLine,DXF0组码值: LINE,DXF0组码值可以用来构造集时的类型过滤。
Returns
string
Inherited from
McDbObject.dxf0
isScaledToFit
• get isScaledToFit(): boolean
获取或设置线型是否根据绘图比例进行缩放。
Returns
boolean
布尔值
Example
import { McDbLinetypeTableRecord } from "mxcad";
const linetypeRec = new McDbLinetypeTableRecord();
linetypeRec.isScaledToFit = true;
console.log(linetypeRec.isScaledToFit) // true• set isScaledToFit(scaledToFit): void
Parameters
| Name | Type |
|---|---|
scaledToFit | boolean |
Returns
void
name
• get name(): string
获取或设置线型名称。
Returns
string
Example
import { McDbLinetypeTableRecord } from "mxcad";
const linetypeRec = new McDbLinetypeTableRecord();
linetypeRec.name = "测试线型"
console.log(linetypeRec.name) // 测试线型• set name(val): void
Parameters
| Name | Type |
|---|---|
val | string |
Returns
void
numDashes
• get numDashes(): number
获取或设置线型的虚线数量。
Returns
number
Example
import { McDbLinetypeTableRecord } from "mxcad";
const linetypeRec = new McDbLinetypeTableRecord();
linetypeRec.numDashes = 6
console.log(linetypeRec.numDashes) // 6• set numDashes(val): void
Parameters
| Name | Type |
|---|---|
val | number |
Returns
void
objectName
• get objectName(): string
获取对象名称。
Returns
string
返回对象名
Example
import { McRxObject } from 'mxcad';
let obj = new McRxObject();
console.log(obj.objectName);Inherited from
McDbObject.objectName
Methods
assertObjectModification
▸ assertObjectModification(autoUndo?): number
设置对象被改变的状态,可自动触发更新显示函数,更新显示。 比如块表记录更新了,需要通知块引用更新显示,可以调用该函数。
Parameters
| Name | Type | Default value |
|---|---|---|
autoUndo | boolean | false |
Returns
number
Example
//假设obj为一个数据库对象
obj.assertObjectModification()Inherited from
McDbObject.assertObjectModification
clone
▸ clone(): null | McDbObject
克隆对象。
Returns
null | McDbObject
克隆出的对象。
Example
//假设obj为一个数据库对象
const obj_clone = obj.clone();Inherited from
createExtensionDictionary
▸ createExtensionDictionary(): boolean
创建对象的扩展字典数据.
Returns
boolean
Example
//假设obj为一个数据库对象
const res = obj.createExtensionDictionary();Inherited from
McDbObject.createExtensionDictionary
dashLengthAt
▸ dashLengthAt(index): number
获取或设置指定索引处的虚线长度。
Parameters
| Name | Type | Description |
|---|---|---|
index | number | 线型定义数组中索引。 |
Returns
number
Example
import { McDbLinetypeTableRecord } from "mxcad";
const linetypeRec = new McDbLinetypeTableRecord();
linetypeRec.setDashLengthAt(0, 8)
console.log(linetypeRec.dashLengthAt(0)) // 8erase
▸ erase(): boolean
删除对象。
Returns
boolean
是否删除成功。
Example
//假设obj为一个数据库对象
const res = obj.erase();
console.log(res);Inherited from
getDatabase
▸ getDatabase(): McDbDatabase
得到对象所在的数据库
Returns
返回数据库
Example
//假设obj为一个数据库对象
const data = obj.getDatabase();Inherited from
getDatabaseIndexId
▸ getDatabaseIndexId(): number
获取对象的索引ID
Returns
number
Example
//假设obj为一个数据库对象
const id = obj.getDatabaseIndexId();Inherited from
getExtensionDictionary
▸ getExtensionDictionary(): McDbDictionary
得到对象的扩展字典数据.
Returns
扩展字典数据
Example
//假设obj为一个数据库对象
const id = obj.getOwnerID();Inherited from
McDbObject.getExtensionDictionary
getGripPoints
▸ getGripPoints(): McGePoint3dArray
获取对象的控制点
Returns
Example
//假设obj为一个数据库对象
const ptArr = obj.getGripPoints();Inherited from
getHandle
▸ getHandle(): string
得到对象句柄
Returns
string
返回对象句柄
Example
//假设obj为一个数据库对象
const handle = obj.getHandle();Inherited from
getImp
▸ getImp(): any
获取内部实现对象。
Returns
any
内部实现对象。
Example
import { McRxObject } from 'mxcad';
let obj = new McRxObject();
let imp = obj.getImp();Inherited from
getJson
▸ getJson(): string
获取 JSON 格式的字符串。
Returns
string
JSON 格式的字符串。
Example
import { McRxObject } from 'mxcad';
let obj = new McRxObject();
const json = obj.getJson()Inherited from
getObjectID
▸ getObjectID(): McObjectId
获取对象 ID。
Returns
对象 ID。
Example
import { McDbObject } from "mxcad";
const id = obj.getObjectID();Inherited from
getOwnerID
▸ getOwnerID(): number
得到对象拥用者的id
Returns
number
Example
//假设obj为一个数据库对象
const id = obj.getOwnerID();Inherited from
initTempObject
▸ initTempObject(imp): void
初始化临时对象。
Parameters
| Name | Type | Description |
|---|---|---|
imp | any | 内部实现对象。 |
Returns
void
Example
import { McRxObject } from 'mxcad';
let obj = new McRxObject();
obj.initTempObject()Inherited from
isErased
▸ isErased(): boolean
对象是否已经删除
Returns
boolean
Example
//假设obj为一个数据库对象
const res = obj.isErased();
console.log(res);Inherited from
isHaveExtensionDictionary
▸ isHaveExtensionDictionary(): boolean
是否有扩展字典数据.
Returns
boolean
Example
//假设obj为一个数据库对象
const res = obj.isHaveExtensionDictionary();Inherited from
McDbObject.isHaveExtensionDictionary
isKindOf
▸ isKindOf(sObjectName): boolean
判断对象类型
Parameters
| Name | Type | Description |
|---|---|---|
sObjectName | string | 类型名 |
Returns
boolean
返回对象是否是目标类型
Example
import { McRxObject } from 'mxcad';
let obj = new McRxObject();
let isKind = obj.isKindOf('SomeObjectType');
console.log(isKind); // 输出: true 或 falseInherited from
isNull
▸ isNull(): any
判断是否为空对象
Returns
any
Example
import { McRxObject } from 'mxcad';
let obj = new McRxObject();
console.log(obj.isNull()); // 输出: true 或 falseInherited from
moveGripPointsAt
▸ moveGripPointsAt(iIndex, dXOffset, dYOffset, dZOffset): any
移动对象的控制点
Parameters
| Name | Type | Description |
|---|---|---|
iIndex | number | 索引 |
dXOffset | number | X轴偏移量 |
dYOffset | number | Y轴偏移量 |
dZOffset | number | Z轴偏移量 |
Returns
any
Example
//假设obj为一个数据库对象
obj.moveGripPointsAt(1,10,10,10);Inherited from
setDashLengthAt
▸ setDashLengthAt(index, value): boolean
Parameters
| Name | Type |
|---|---|
index | number |
value | number |
Returns
boolean
setJson
▸ setJson(str): boolean
设置 JSON 格式的字符串。
Parameters
| Name | Type | Description |
|---|---|---|
str | string | JSON 格式的字符串。 |
Returns
boolean
是否设置成功。
Example
import { McRxObject } from 'mxcad';
let obj = new McRxObject();
const res = obj.setJson('{"key": "value"}');
console.log(res)Inherited from
setShapeIsUcsOrientedAt
▸ setShapeIsUcsOrientedAt(index, isUcsOriented): boolean
设置指定形状是否按照用户坐标系(UCS)方向排列。
Parameters
| Name | Type | Description |
|---|---|---|
index | number | 线型定义数组中索引。 |
isUcsOriented | boolean | 是否按照用户坐标系(UCS)方向排列 |
Returns
boolean
布尔值
Example
import { McDbLinetypeTableRecord } from "mxcad";
const linetypeRec = new McDbLinetypeTableRecord();
const res = linetypeRec.setShapeIsUcsOrientedAt(0, true);
if(res){
//设置成功
}else{
//设置失败
}setShapeNumberAt
▸ setShapeNumberAt(index, shapeNumber): boolean
Parameters
| Name | Type |
|---|---|
index | number |
shapeNumber | number |
Returns
boolean
setShapeOffsetAt
▸ setShapeOffsetAt(index, offset): boolean
Parameters
| Name | Type |
|---|---|
index | number |
offset | McGeVector3d |
Returns
boolean
setShapeRotationAt
▸ setShapeRotationAt(index, rotation): boolean
设置指定索引处的形状旋转角度。
Parameters
| Name | Type | Description |
|---|---|---|
index | number | 线型定义数组中索引。 |
rotation | number | 旋转角度 |
Returns
boolean
布尔值
Example
import { McDbLinetypeTableRecord } from "mxcad";
const linetypeRec = new McDbLinetypeTableRecord();
linetypeRec.setShapeRotationAt(0, Math.PI / 2);setShapeScaleAt
▸ setShapeScaleAt(index, scale): boolean
Parameters
| Name | Type |
|---|---|
index | number |
scale | number |
Returns
boolean
setShapeStyleAt
▸ setShapeStyleAt(index, value): boolean
Parameters
| Name | Type |
|---|---|
index | number |
value | number |
Returns
boolean
setTextAt
▸ setTextAt(index, text): boolean
设置指定索引处的文本信息。
Parameters
| Name | Type | Description |
|---|---|---|
index | number | 线型定义数组中索引。 |
text | string | 文本信息 |
Returns
boolean
布尔值
Example
import { McDbLinetypeTableRecord } from "mxcad";
const linetypeRec = new McDbLinetypeTableRecord();
linetypeRec.setTextAt(0, "测试文本");shapeIsUcsOrientedAt
▸ shapeIsUcsOrientedAt(index): boolean
获取指定形状是否按照用户坐标系(UCS)方向排列。
Parameters
| Name | Type | Description |
|---|---|---|
index | number | 线型定义数组中索引。 |
Returns
boolean
Example
import { McDbLinetypeTableRecord } from "mxcad";
const linetypeRec = new McDbLinetypeTableRecord();
console.log(linetypeRec.shapeIsUcsOrientedAt(0))shapeNumberAt
▸ shapeNumberAt(index): number
获取或设置指定索引处的形状编号。
Parameters
| Name | Type | Description |
|---|---|---|
index | number | 线型定义数组中索引。 |
Returns
number
Example
import { McDbLinetypeTableRecord } from "mxcad";
const linetypeRec = new McDbLinetypeTableRecord();
const shapeNumberAtIndex = linetypeRec.shapeNumberAt(0);
console.log(shapeNumberAtIndex);
// 设置指定索引处的形状编号为新值
const newIndex = 5;
const newValue = 10;
const isSetSuccessful = linetypeRec.setShapeNumberAt(newIndex, newValue);
if (isSetSuccessful) {
//设置成功
} else {
//设置失败
}shapeOffsetAt
▸ shapeOffsetAt(index): McGeVector3d
获取或设置指定索引处的形状偏移量。
Parameters
| Name | Type | Description |
|---|---|---|
index | number | 线型定义数组中索引。 |
Returns
偏移向量
Example
import { McDbLinetypeTableRecord, McGeVector3d } from "mxcad";
const linetypeRec = new McDbLinetypeTableRecord();
const vec = linetypeRec.shapeOffsetAt(0);
console.log(vec);
// 设置指定索引处的形状偏移量为新值
const isSetSuccessful = linetypeRec.setShapeNumberAt(0, new McGeVector3d(10, 10, 0));
if (isSetSuccessful) {
//设置成功
} else {
//设置失败
}shapeRotationAt
▸ shapeRotationAt(index): number
获取指定索引处的形状旋转角度。
Parameters
| Name | Type | Description |
|---|---|---|
index | number | 线型定义数组中索引。 |
Returns
number
旋转角度
Example
import { McDbLinetypeTableRecord } from "mxcad";
const linetypeRec = new McDbLinetypeTableRecord();
console.log(linetypeRec.shapeRotationAt(0))shapeScaleAt
▸ shapeScaleAt(index): number
获取或设置指定索引处的形状缩放比例。
Parameters
| Name | Type | Description |
|---|---|---|
index | number | 线型定义数组中索引。 |
Returns
number
Example
import { McDbLinetypeTableRecord } from "mxcad";
const linetypeRec = new McDbLinetypeTableRecord();
linetypeRec.setShapeScaleAt(0,0.8);
console.log(linetypeRec.shapeScaleAt(0));// 0.8shapeStyleAt
▸ shapeStyleAt(index): number
获取或设置指定索引处的形状样式。
Parameters
| Name | Type | Description |
|---|---|---|
index | number | 线型定义数组中索引。 |
Returns
number
Example
import { McDbLinetypeTableRecord } from "mxcad";
const linetypeRec = new McDbLinetypeTableRecord();
const shapeStyleAtIndex = linetypeRec.shapeStyleAt(0);
console.log(shapeStyleAtIndex);
// 设置指定索引处的形状样式为新值
const newIndex = 5;
const newValue = 10;
const isSetSuccessful = linetypeRec.setShapeStyleAt(newIndex, newValue);
if (isSetSuccessful) {
//设置成功
} else {
//设置失败
}textAt
▸ textAt(index): string
获取或设置指定索引处的文本信息。
Parameters
| Name | Type | Description |
|---|---|---|
index | number | 线型定义数组中索引。 |
Returns
string
文本信息
Example
import { McDbLinetypeTableRecord } from "mxcad";
const linetypeRec = new McDbLinetypeTableRecord();
const text = linetypeRec.textAt(0);
console.log(text)unErase
▸ unErase(): boolean
反删除对象。
Returns
boolean
Example
//假设obj为一个数据库对象
const res = obj.unErase();
console.log(res);