Skip to content
On this page

[mxcad_2d API documentation] (../README. md)/[2d] (../modules/2d. md)/MxCADSelectionSet

Class: MxCADSelectionSet

2d.MxCADSelectionSet

Selection set is used to select entities

Example

ts
For example, filtering and selecting all PL line objects on the graph by extending the data name DataName
 let ss = new MxCADSelectionSet();
         ss.allSelect(new MxCADResbuf([DxfCode.kAppName,0,1001,"DataName",DxfCode.kEntityType, "LWPOLYLINE"]));
         ss.forEach(id=>{
             let ent = id.getMcDbEntity();
             if(ent){
                 console.log(ent.getxDataString("DataName") ); 
             }
         })

Hierarchy

Table of contents

Constructors

Properties

Accessors

Methods

Constructors

constructor

new MxCADSelectionSet()

Constructor function

Example

ts
import { MxCADSelectionSet } from "mxcad";
  let ss = new MxCADSelectionSet();

Overrides

McRxObject.constructor

Properties

imp

imp: any = 0

Internal implementation object.

Inherited from

McRxObject.imp


isSelectHighlight

isSelectHighlight: boolean = true

Choose whether to highlight or not

Example

ts
import { MxCADSelectionSet } from "mxcad";

  let ss = new MxCADSelectionSet();
  ss.isSelectHighlight = true;

isWhileSelect

isWhileSelect: boolean = true

Is there a loop selection

Example

ts
import { MxCADSelectionSet } from "mxcad";

  let ss = new MxCADSelectionSet();
  ss.isWhileSelect = false;

Accessors

dxf0

get dxf0(): string

Obtain the type name of the object's DXF group code, which is the same as the DXF group code in AutoCAD. For example, the type name of the line is McDbLine, and the group code value for DXF0 is: LINE and DXF0 group code values can be used for type filtering when constructing sets.

Returns

string

Inherited from

McRxObject.dxf0


objectName

get objectName(): string

Get the object name.

Returns

string

Return object name

Example

ts
import { McRxObject } from 'mxcad';

let obj = new McRxObject();
console.log(obj.objectName);

Inherited from

McRxObject.objectName

Methods

allSelect

allSelect(filter?): number

Select All

Parameters

NameTypeDefault valueDescription
Filternull[MxCADResbuf] (2d. MxCADResbuf. md)null

Returns

number

Example

ts
import { MxCADSelectionSet } from "mxcad";

  let ss = new MxCADSelectionSet();
  ss.allSelect();
  ss.forEach((id) => {
       let ent: any = id.getMcDbEntity();
       if (!ent) return;
       ent = McDbEntityToJsonObject(ent);
       console.log(JSON.stringify(ent));
   })

Example

ts
import { MxCADSelectionSet } from "mxcad";
   let ss = new MxCADSelectionSet();
//Obtain objects on the graph, including straight lines, circles, arcs, polylines, and at level 0
   ss.allSelect(new MxCADResbuf([DxfCode.kEntityType, "LINE,ARC,CIRCLE,LWPOLYLINE",DxfCode.kLayer,"0"]));
Console.log ("Get number of objects: " + ss.count());

Example

ts
import { MxCADSelectionSet } from "mxcad";
   let ss = new MxCADSelectionSet();
//Obtain objects on layer 0
   ss.allSelect(new MxCADResbuf([DxfCode.kLayer,"0"]));
Console.log ("Get number of objects: " + ss.count());
//Traverse objects
    ss.forEach((id) => {
   let ent = id.getMcDbEntity();
   if (!ent) return;  
   let entBox = ent.getBoundingBox();   
 })

count

count(): number

Get the current selected number

Returns

number

The current number of selected entities

Example

ts
import { MxCADSelectionSet } from "mxcad";

  let ss = new MxCADSelectionSet();
If (! Await ss.userSelect) return;
  const count = ss.count();
  console.log(count);

crossingSelect

crossingSelect(dX1, dY1, dX2, dY2, filter?): number

Select an index for an entity object based on two diagonal points

Parameters

NameTypeDefault valueDescription
DX1numberundefinedX-axis value of corner 1
DY1numberundefinedY-axis value of corner 1
DX2numberundefinedX-axis value of corner 2
DY2numberundefinedY-axis value of corner 2
Filternull[MxCADResbuf] (2d. MxCADResbuf. md)null

Returns

number

Entity Object Index

Example

ts
import { MxCADSelectionSet } from "mxcad";

  let ss = new MxCADSelectionSet();
  const index = ss.pointSelect(0,0,20,10);

forEach

forEach(call): void

Traverse the selected entities

Parameters

NameType
call(val: McObjectId) => void

Returns

void

Example

ts
import { MxCADSelectionSet } from "mxcad";

  let ss = new MxCADSelectionSet();
  ss.allSelect();
  ss.forEach((id) => {
      let ent: any = id.getMcDbEntity();
  })

getIds

getIds(): McObjectId[]

Obtain the IDs of all currently selected objects

Returns

McObjectId[]

Select ID object array

Example

ts
import { MxCADSelectionSet } from "mxcad";

  let ss = new MxCADSelectionSet();
  ss.allSelect();
  const ids = ss.getIds();

getImp

getImp(): any

Retrieve internal implementation objects.

Returns

any

Internal implementation object.

Example

ts
import { McRxObject } from 'mxcad';

let obj = new McRxObject();
let imp = obj.getImp();

Inherited from

McRxObject.getImp


getJson

getJson(): string

Retrieve a string in JSON format.

Returns

string

A string in JSON format.

Example

ts
import { McRxObject } from 'mxcad';

let obj = new McRxObject();
const json = obj.getJson()

Inherited from

McRxObject.getJson


getSelectPoint

getSelectPoint(): Object

Obtain the two diagonal points formed by the selection

Returns

Object

Pt1 corner point 1 | pt2 corner point 2

NameType
pt1McGePoint3d
pt2McGePoint3d

Example

ts
import { MxCADSelectionSet } from "mxcad";

  let ss = new MxCADSelectionSet();
If (! Await ss.userSelect) return;
  const selectPt  = ss.getSelectPoint();
  console.log(selectPt.pt1, selectPt.pt2);

initTempObject

initTempObject(imp): void

Initialize temporary objects.

Parameters

NameTypeDescription
'imp''any'Internal implementation object

Returns

void

Example

ts
import { McRxObject } from 'mxcad';

let obj = new McRxObject();
obj.initTempObject()

Inherited from

McRxObject.initTempObject


isKindOf

isKindOf(sObjectName): boolean

Determine object type

Parameters

NameTypeDescription
SOrtNamestringType Name

Returns

boolean

Return whether the object is of the target type

Example

ts
import { McRxObject } from 'mxcad';

let obj = new McRxObject();
let isKind = obj.isKindOf('SomeObjectType');
console.log(isKind); //  Output: True or false

Inherited from

McRxObject.isKindOf


isNull

isNull(): boolean

Determine if the selection set is empty

Returns

boolean

Boolean value

Example

ts
import { MxCADSelectionSet } from "mxcad";
 
  let ss = new MxCADSelectionSet();
If (! Await ss.userSelect) return;
  const res = ss.isNull();

Overrides

McRxObject.isNull


item

item(lItem): McObjectId

Obtain the corresponding object ID based on the object index

Parameters

NameTypeDescription
ListNumberObject Index

Returns

McObjectId

Object ID

Example

ts
import { MxCADSelectionSet } from "mxcad";

  let ss = new MxCADSelectionSet();
  const objId = ss.item(2);

pointSelect

pointSelect(dX, dY, filter?, dTol?): number

Select an index for a physical object based on a coordinate point

Parameters

NameTypeDefault valueDescription
DXnumberundefinedcoordinate x
DYnumberundefinedcoordinate y
Filternull[MxCADResbuf] (2d. MxCADResbuf. md)null
dTolnumber-1-

Returns

number

Entity Object Index

Example

ts
import { MxCADSelectionSet } from "mxcad";
 
  let ss = new MxCADSelectionSet();
  const index = ss.pointSelect(20,10);

setJson

setJson(str): boolean

Set a string in JSON format.

Parameters

NameTypeDescription
StrstringJSON formatted string

Returns

boolean

Is the setting successful.

Example

ts
import { McRxObject } from 'mxcad';

let obj = new McRxObject();
const res = obj.setJson('{"key": "value"}');
console.log(res)

Inherited from

McRxObject.setJson


userSelect

userSelect(strPrompt?, filter?, init?): Promise<boolean>

User selection

Parameters

NameTypeDefault valueDescription
strPrompt?` StringundefinedString prompt
Filternull[MxCADResbuf] (2d. MxCADResbuf. md)null
init?(getPoint: MrxDBgUiPrPoint)=>anyundefinedInitialization operation before user selection

Returns

Promise<boolean>

Example

ts
import { MxCADResbuf, MxCADSelectionSet } from "mxcad";

  let filter = new MxCADResbuf();
  filter.AddMcDbEntityTypes("INSERT");
  let ss = new MxCADSelectionSet();
If (! Await ss. userSelect) "Select the target block to be flashed: ", filter)) return;
  if (ss.count() == 0) return;
  let ids = ss.getIds();
  console.log(ids);