函数McDbObjectId CreateLine1(McGePoint3d pt1,McGePoint3d pt2)会返回新绘制的对象id。

// -------------------------------------------------------------------------​​
​​// Summary:​​
​​// 改变实体颜色​​
​​// Parameters:​​
​​// id - 实体的id​​
​​// color - 实体的新颜色​​
​​// Returns:​​
​​// 成功返回true​​
​​// -------------------------------------------------------------------------​​
​​bool ChangeColor(McDbObjectId id,const McCmColor& color)​​
​​{​​
​​// 用智能指针打开对象,写方式打开。智能指针会自动关闭对象.​​
​​McDbObjectPointer spEnt(id,McDb::kForWrite);​​
​​if​​​​(spEnt.openStatus() != Mcad::eOk)​​
​​{​​
​​// 如果对象,在其它地方打开,就会打开的失败.​​
​​return​​​ ​​false​​​​;​​
​​}​​

​​// 设置对象颜色​​
​​spEnt->setColor(color);​​

​​return​​​ ​​true​​​​;​​
​​}​​

COM接口调用方式,如C#代码:

​​// -------------------------------------------------------------------------​​
​​// Summary:​​
​​// 改变实体颜色​​
​​// Parameters:​​
​​// id - 实体的id.​​
​​// iR, iG,iB - 实体的颜色​​
​​// Returns:​​
​​// 成功返回true​​
​​// -------------------------------------------------------------------------​​
​​bool ChangeColor(Int64 id,int iR,int iG,int iB)​​
​​{​​
​​// 由id得到实体对象.​​
​​MxDrawEntity ent = (MxDrawEntity)axMxDrawX1.ObjectIdToObject(id);​​
​​if​​​ ​​(ent == ​​​​null​​​​)​​
​​return​​​ ​​false​​​​;​​
​​MxDrawMcCmColor color = ​​​​new​​​ ​​MxDrawMcCmColor();​​
​​color.SetRGB(iR, iG, iB);​​

​​// 设置实体颜色。​​
​​ent.TrueColor = color;​​
​​return​​​ ​​true​​​​;​​
​​}​​

COM接口调用方式,如js代码:

// 向当前空间增加直线 newline 是增加的新直线。​​
​​var​​​ ​​newline = curSpace.AddLine(point1.x,point1.y,point2.x,point2.y);​​

​​var​​​ ​​color = MxDrawXCtrl_Obj.NewComObject(​​​​"IMxDrawMcCmColor"​​​​);​​
​​color.SetRGB(255,77,0);​​
​​newline.TrueColor = color;​​